java鼠标删除直线_将鼠标光标限制为直线

我想知道是否可以准确地将鼠标光标限制在一条线上 . 一般的想法是,我想创建一个标尺/法国曲线应用程序,我可以拖出一条线,并使其像我想要的bezier点弯曲,然后按住一个热键限制我的鼠标,所以我可以画与wacom平板电脑在photoshop中类似的一行 .

到目前为止我尝试的是以下内容 . 我现在正用对角线测试它 . 虽然它似乎正确地将我的鼠标限制在线上,但是当我在photoshop中绘制一条线时,看起来在将事件“捕捉”到我的对角线的事件之间会发送鼠标事件 . 例如,如果我将鼠标快速向上移动到右侧,鼠标将向上移动并向右移动一个事件循环,然后快速回到我的对角线 . 这显然不适用于绘画目的 . 是否有一些较低级别的鼠标接口,我可以利用它来拦截所有鼠标事件,并可能阻止它们被发送到其他应用程序之前被分派 .

[NSEvent addGlobalMonitorForEventsMatchingMask:NSMouseMovedMask handler:^(NSEvent * mouseEvent) {

[self mouseMoved:mouseEvent];

}];

[NSEvent addGlobalMonitorForEventsMatchingMask:NSLeftMouseDraggedMask handler:^(NSEvent * mouseEvent) {

[self mouseMoved:mouseEvent];

}];

- (void)mouseMoved:(NSEvent *)evt {

NSLog(@"Mouse moved: %@", NSStringFromPoint([evt locationInWindow]));

NSPoint mousePos = [evt locationInWindow];

CGSetLocalEventsSuppressionInterval(0.0f);

CGWarpMouseCursorPosition(CGPointMake(mousePos.x, mousePos.x));

}


本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!

相关文章

立即
投稿

微信公众账号

微信扫一扫加关注

返回
顶部