private void handleMouseEvent(object sender, MouseEventArgs e) { if (!mouseInWindow) { return; } handleState(new OpenTKEventMouseState(e.Mouse, host.IsActive, null)); }
private void handleMouseEvent(object sender, OpenTK.Input.MouseEventArgs e) { if (!mouseInWindow) { return; } if (e.Mouse.X < 0 || e.Mouse.Y < 0) { // todo: investigate further why we are getting negative values from OpenTK events // on windows when crossing centre screen boundaries (width/2 or height/2). return; } handleState(new OpenTKEventMouseState(e.Mouse, host.IsActive, null)); }
private void OnMouseUp(object sender, TkMouseArgs args) { if (TopScreen == null) { return; } MouseButton buttons = MouseButton.None; if (args.Mouse.IsButtonUp(TkMouseButton.Left) && (_mouseButtons & MouseButton.Left) > 0) { buttons |= MouseButton.Left; } if (args.Mouse.IsButtonUp(TkMouseButton.Right) && (_mouseButtons & MouseButton.Right) > 0) { buttons |= MouseButton.Right; } TopScreen.MouseUp(new ScreenEventArgs(_mouseX, _mouseY, buttons)); }
private void OnMouseDown(object sender, TkMouseArgs args) { if (TopScreen == null) { return; } MouseButton buttons = MouseButton.None; if (args.Mouse.IsButtonDown(TkMouseButton.Left)) { buttons |= MouseButton.Left; } if (args.Mouse.IsButtonDown(TkMouseButton.Right)) { buttons = MouseButton.Right; } _mouseButtons = buttons; TopScreen.MouseDown(new ScreenEventArgs(_mouseX, _mouseY, buttons)); }