cleanup
This commit is contained in:
@@ -296,187 +296,122 @@ static CVReturn MyDisplayLinkCallback(CVDisplayLinkRef displayLink, const CVTime
|
|||||||
}
|
}
|
||||||
- (void)mouseDown:(NSEvent *)theEvent
|
- (void)mouseDown:(NSEvent *)theEvent
|
||||||
{
|
{
|
||||||
// CGLLockContext([[self openGLContext] CGLContextObj]);
|
|
||||||
auto mouseLoc = [self convertPoint:[theEvent locationInWindow] fromView:nil];
|
auto mouseLoc = [self convertPoint:[theEvent locationInWindow] fromView:nil];
|
||||||
// App::I.mouse_down(0, mouseLoc.x, App::I.height - mouseLoc.y - 1, theEvent.pressure, kEventSource::Mouse);
|
std::lock_guard<std::mutex> lock(task_mutex);
|
||||||
// CGLUnlockContext([[self openGLContext] CGLContextObj]);
|
tasklist.emplace_back([mouseLoc,p=theEvent.pressure] {
|
||||||
{
|
App::I.mouse_down(0, mouseLoc.x, App::I.height - mouseLoc.y - 1, p, kEventSource::Mouse);
|
||||||
std::lock_guard<std::mutex> lock(task_mutex);
|
});
|
||||||
tasklist.emplace_back([mouseLoc,p=theEvent.pressure] {
|
|
||||||
App::I.mouse_down(0, mouseLoc.x, App::I.height - mouseLoc.y - 1, p, kEventSource::Mouse);
|
|
||||||
});
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
- (void)rightMouseDown:(NSEvent *)theEvent
|
- (void)rightMouseDown:(NSEvent *)theEvent
|
||||||
{
|
{
|
||||||
// CGLLockContext([[self openGLContext] CGLContextObj]);
|
|
||||||
auto mouseLoc = [self convertPoint:[theEvent locationInWindow] fromView:nil];
|
auto mouseLoc = [self convertPoint:[theEvent locationInWindow] fromView:nil];
|
||||||
// App::I.mouse_down(1, mouseLoc.x, App::I.height - mouseLoc.y - 1, theEvent.pressure, kEventSource::Mouse);
|
std::lock_guard<std::mutex> lock(task_mutex);
|
||||||
// CGLUnlockContext([[self openGLContext] CGLContextObj]);
|
tasklist.emplace_back([mouseLoc,p=theEvent.pressure] {
|
||||||
{
|
App::I.mouse_down(1, mouseLoc.x, App::I.height - mouseLoc.y - 1, p, kEventSource::Mouse);
|
||||||
std::lock_guard<std::mutex> lock(task_mutex);
|
});
|
||||||
tasklist.emplace_back([mouseLoc,p=theEvent.pressure] {
|
|
||||||
App::I.mouse_down(1, mouseLoc.x, App::I.height - mouseLoc.y - 1, p, kEventSource::Mouse);
|
|
||||||
});
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
- (void)mouseUp:(NSEvent *)theEvent
|
- (void)mouseUp:(NSEvent *)theEvent
|
||||||
{
|
{
|
||||||
// CGLLockContext([[self openGLContext] CGLContextObj]);
|
|
||||||
auto mouseLoc = [self convertPoint:[theEvent locationInWindow] fromView:nil];
|
auto mouseLoc = [self convertPoint:[theEvent locationInWindow] fromView:nil];
|
||||||
// App::I.mouse_up(0, mouseLoc.x, App::I.height - mouseLoc.y - 1, kEventSource::Mouse);
|
std::lock_guard<std::mutex> lock(task_mutex);
|
||||||
// CGLUnlockContext([[self openGLContext] CGLContextObj]);
|
tasklist.emplace_back([mouseLoc] {
|
||||||
{
|
App::I.mouse_up(0, mouseLoc.x, App::I.height - mouseLoc.y - 1, kEventSource::Mouse);
|
||||||
std::lock_guard<std::mutex> lock(task_mutex);
|
});
|
||||||
tasklist.emplace_back([mouseLoc] {
|
|
||||||
App::I.mouse_up(0, mouseLoc.x, App::I.height - mouseLoc.y - 1, kEventSource::Mouse);
|
|
||||||
});
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
- (void)rightMouseUp:(NSEvent *)theEvent
|
- (void)rightMouseUp:(NSEvent *)theEvent
|
||||||
{
|
{
|
||||||
// CGLLockContext([[self openGLContext] CGLContextObj]);
|
|
||||||
auto mouseLoc = [self convertPoint:[theEvent locationInWindow] fromView:nil];
|
auto mouseLoc = [self convertPoint:[theEvent locationInWindow] fromView:nil];
|
||||||
// App::I.mouse_up(1, mouseLoc.x, App::I.height - mouseLoc.y - 1, kEventSource::Mouse);
|
std::lock_guard<std::mutex> lock(task_mutex);
|
||||||
// CGLUnlockContext([[self openGLContext] CGLContextObj]);
|
tasklist.emplace_back([mouseLoc] {
|
||||||
{
|
App::I.mouse_up(1, mouseLoc.x, App::I.height - mouseLoc.y - 1, kEventSource::Mouse);
|
||||||
std::lock_guard<std::mutex> lock(task_mutex);
|
});
|
||||||
tasklist.emplace_back([mouseLoc] {
|
|
||||||
App::I.mouse_up(1, mouseLoc.x, App::I.height - mouseLoc.y - 1, kEventSource::Mouse);
|
|
||||||
});
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
- (void)mouseMoved:(NSEvent *)theEvent
|
- (void)mouseMoved:(NSEvent *)theEvent
|
||||||
{
|
{
|
||||||
// CGLLockContext([[self openGLContext] CGLContextObj]);
|
|
||||||
auto mouseLoc = [self convertPoint:[theEvent locationInWindow] fromView:nil];
|
auto mouseLoc = [self convertPoint:[theEvent locationInWindow] fromView:nil];
|
||||||
// App::I.mouse_move(mouseLoc.x, App::I.height - mouseLoc.y - 1, theEvent.pressure, kEventSource::Mouse);
|
std::lock_guard<std::mutex> lock(task_mutex);
|
||||||
// CGLUnlockContext([[self openGLContext] CGLContextObj]);
|
tasklist.emplace_back([mouseLoc,p=theEvent.pressure] {
|
||||||
{
|
App::I.mouse_move(mouseLoc.x, App::I.height - mouseLoc.y - 1, p, kEventSource::Mouse);
|
||||||
std::lock_guard<std::mutex> lock(task_mutex);
|
});
|
||||||
tasklist.emplace_back([mouseLoc,p=theEvent.pressure] {
|
|
||||||
App::I.mouse_move(mouseLoc.x, App::I.height - mouseLoc.y - 1, p, kEventSource::Mouse);
|
|
||||||
});
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
-(void)mouseDragged:(NSEvent *)theEvent
|
-(void)mouseDragged:(NSEvent *)theEvent
|
||||||
{
|
{
|
||||||
// CGLLockContext([[self openGLContext] CGLContextObj]);
|
|
||||||
auto mouseLoc = [self convertPoint:[theEvent locationInWindow] fromView:nil];
|
auto mouseLoc = [self convertPoint:[theEvent locationInWindow] fromView:nil];
|
||||||
// App::I.mouse_move(mouseLoc.x, App::I.height - mouseLoc.y - 1, theEvent.pressure, kEventSource::Mouse);
|
std::lock_guard<std::mutex> lock(task_mutex);
|
||||||
// CGLUnlockContext([[self openGLContext] CGLContextObj]);
|
tasklist.emplace_back([mouseLoc,p=theEvent.pressure] {
|
||||||
{
|
App::I.mouse_move(mouseLoc.x, App::I.height - mouseLoc.y - 1, p, kEventSource::Mouse);
|
||||||
std::lock_guard<std::mutex> lock(task_mutex);
|
});
|
||||||
tasklist.emplace_back([mouseLoc,p=theEvent.pressure] {
|
|
||||||
App::I.mouse_move(mouseLoc.x, App::I.height - mouseLoc.y - 1, p, kEventSource::Mouse);
|
|
||||||
});
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
- (void)rightMouseDragged:(NSEvent *)theEvent
|
- (void)rightMouseDragged:(NSEvent *)theEvent
|
||||||
{
|
{
|
||||||
// CGLLockContext([[self openGLContext] CGLContextObj]);
|
|
||||||
auto mouseLoc = [self convertPoint:[theEvent locationInWindow] fromView:nil];
|
auto mouseLoc = [self convertPoint:[theEvent locationInWindow] fromView:nil];
|
||||||
// App::I.mouse_move(mouseLoc.x, App::I.height - mouseLoc.y - 1, theEvent.pressure, kEventSource::Mouse);
|
std::lock_guard<std::mutex> lock(task_mutex);
|
||||||
// CGLUnlockContext([[self openGLContext] CGLContextObj]);
|
tasklist.emplace_back([mouseLoc,p=theEvent.pressure] {
|
||||||
{
|
App::I.mouse_move(mouseLoc.x, App::I.height - mouseLoc.y - 1, p, kEventSource::Mouse);
|
||||||
std::lock_guard<std::mutex> lock(task_mutex);
|
});
|
||||||
tasklist.emplace_back([mouseLoc,p=theEvent.pressure] {
|
|
||||||
App::I.mouse_move(mouseLoc.x, App::I.height - mouseLoc.y - 1, p, kEventSource::Mouse);
|
|
||||||
});
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
- (void)scrollWheel:(NSEvent *)theEvent
|
- (void)scrollWheel:(NSEvent *)theEvent
|
||||||
{
|
{
|
||||||
// CGLLockContext([[self openGLContext] CGLContextObj]);
|
|
||||||
auto mouseLoc = [self convertPoint:[theEvent locationInWindow] fromView:nil];
|
auto mouseLoc = [self convertPoint:[theEvent locationInWindow] fromView:nil];
|
||||||
// App::I.mouse_scroll(mouseLoc.x, App::I.height - mouseLoc.y - 1, [theEvent deltaY]);
|
std::lock_guard<std::mutex> lock(task_mutex);
|
||||||
// CGLUnlockContext([[self openGLContext] CGLContextObj]);
|
tasklist.emplace_back([mouseLoc,d=[theEvent deltaY]] {
|
||||||
{
|
App::I.mouse_scroll(mouseLoc.x, App::I.height - mouseLoc.y - 1, d);
|
||||||
std::lock_guard<std::mutex> lock(task_mutex);
|
});
|
||||||
tasklist.emplace_back([mouseLoc,d=[theEvent deltaY]] {
|
|
||||||
App::I.mouse_scroll(mouseLoc.x, App::I.height - mouseLoc.y - 1, d);
|
|
||||||
});
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
- (void)keyDown:(NSEvent *)theEvent
|
- (void)keyDown:(NSEvent *)theEvent
|
||||||
{
|
{
|
||||||
// CGLLockContext([[self openGLContext] CGLContextObj]);
|
|
||||||
auto keyCode = [theEvent keyCode];
|
auto keyCode = [theEvent keyCode];
|
||||||
auto chars = [theEvent characters];
|
auto chars = [theEvent characters];
|
||||||
// if (App::I.keys[(int)kKey::KeyCtrl])
|
|
||||||
// {
|
|
||||||
// App::I.key_down(convert_key(keyCode));
|
|
||||||
// App::I.key_up(convert_key(keyCode));
|
|
||||||
// }
|
|
||||||
// else
|
|
||||||
// {
|
|
||||||
// App::I.key_down(convert_key(keyCode));
|
|
||||||
// if (const char* cstr = [chars cStringUsingEncoding:NSASCIIStringEncoding])
|
|
||||||
// App::I.key_char(cstr[0]);
|
|
||||||
// }
|
|
||||||
// CGLUnlockContext([[self openGLContext] CGLContextObj]);
|
|
||||||
std::string s = [chars cStringUsingEncoding:NSASCIIStringEncoding];
|
std::string s = [chars cStringUsingEncoding:NSASCIIStringEncoding];
|
||||||
{
|
std::lock_guard<std::mutex> lock(task_mutex);
|
||||||
std::lock_guard<std::mutex> lock(task_mutex);
|
tasklist.emplace_back([keyCode, s] {
|
||||||
tasklist.emplace_back([keyCode, s] {
|
if (App::I.keys[(int)kKey::KeyCtrl])
|
||||||
if (App::I.keys[(int)kKey::KeyCtrl])
|
{
|
||||||
{
|
App::I.key_down(convert_key(keyCode));
|
||||||
App::I.key_down(convert_key(keyCode));
|
App::I.key_up(convert_key(keyCode));
|
||||||
App::I.key_up(convert_key(keyCode));
|
}
|
||||||
}
|
else
|
||||||
else
|
{
|
||||||
{
|
App::I.key_down(convert_key(keyCode));
|
||||||
App::I.key_down(convert_key(keyCode));
|
if (!s.empty())
|
||||||
if (!s.empty())
|
App::I.key_char(s[0]);
|
||||||
App::I.key_char(s[0]);
|
}
|
||||||
}
|
});
|
||||||
});
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
- (void)keyUp:(NSEvent *)theEvent
|
- (void)keyUp:(NSEvent *)theEvent
|
||||||
{
|
{
|
||||||
// CGLLockContext([[self openGLContext] CGLContextObj]);
|
|
||||||
auto keyCode = [theEvent keyCode];
|
auto keyCode = [theEvent keyCode];
|
||||||
// App::I.key_up(convert_key(keyCode));
|
std::lock_guard<std::mutex> lock(task_mutex);
|
||||||
// CGLUnlockContext([[self openGLContext] CGLContextObj]);
|
tasklist.emplace_back([keyCode] {
|
||||||
{
|
App::I.key_up(convert_key(keyCode));
|
||||||
std::lock_guard<std::mutex> lock(task_mutex);
|
});
|
||||||
tasklist.emplace_back([keyCode] {
|
|
||||||
App::I.key_up(convert_key(keyCode));
|
|
||||||
});
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
- (void)flagsChanged:(NSEvent *)event
|
- (void)flagsChanged:(NSEvent *)event
|
||||||
{
|
{
|
||||||
[super flagsChanged:event];
|
[super flagsChanged:event];
|
||||||
|
|
||||||
// CGLLockContext([[self openGLContext] CGLContextObj]);
|
|
||||||
auto flags = [event modifierFlags];
|
auto flags = [event modifierFlags];
|
||||||
{
|
std::lock_guard<std::mutex> lock(task_mutex);
|
||||||
std::lock_guard<std::mutex> lock(task_mutex);
|
tasklist.emplace_back([flags] {
|
||||||
tasklist.emplace_back([flags] {
|
static bool pressed_shift = false;
|
||||||
static bool pressed_shift = false;
|
if (pressed_shift != (flags & NSShiftKeyMask))
|
||||||
if (pressed_shift != (flags & NSShiftKeyMask))
|
{
|
||||||
{
|
pressed_shift = (flags & NSShiftKeyMask);
|
||||||
pressed_shift = (flags & NSShiftKeyMask);
|
pressed_shift ? App::I.key_down(kKey::KeyShift) : App::I.key_up(kKey::KeyShift);
|
||||||
pressed_shift ? App::I.key_down(kKey::KeyShift) : App::I.key_up(kKey::KeyShift);
|
}
|
||||||
}
|
static bool pressed_alt = false;
|
||||||
static bool pressed_alt = false;
|
if (pressed_alt != (flags & NSAlternateKeyMask))
|
||||||
if (pressed_alt != (flags & NSAlternateKeyMask))
|
{
|
||||||
{
|
pressed_alt = (flags & NSAlternateKeyMask);
|
||||||
pressed_alt = (flags & NSAlternateKeyMask);
|
pressed_alt ? App::I.key_down(kKey::KeyAlt) : App::I.key_up(kKey::KeyAlt);
|
||||||
pressed_alt ? App::I.key_down(kKey::KeyAlt) : App::I.key_up(kKey::KeyAlt);
|
}
|
||||||
}
|
static bool pressed_cmd = false;
|
||||||
static bool pressed_cmd = false;
|
if (pressed_cmd != (flags & NSCommandKeyMask))
|
||||||
if (pressed_cmd != (flags & NSCommandKeyMask))
|
{
|
||||||
{
|
pressed_cmd = (flags & NSCommandKeyMask);
|
||||||
pressed_cmd = (flags & NSCommandKeyMask);
|
pressed_cmd ? App::I.key_down(kKey::KeyCtrl) : App::I.key_up(kKey::KeyCtrl);
|
||||||
pressed_cmd ? App::I.key_down(kKey::KeyCtrl) : App::I.key_up(kKey::KeyCtrl);
|
}
|
||||||
}
|
});
|
||||||
});
|
|
||||||
}
|
|
||||||
|
|
||||||
// CGLUnlockContext([[self openGLContext] CGLContextObj]);
|
|
||||||
}
|
}
|
||||||
@end
|
@end
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user