mirror of
https://github.com/cjcliffe/CubicSDR.git
synced 2024-09-27 15:56:48 -04:00
51 lines
1.3 KiB
C++
51 lines
1.3 KiB
C++
#pragma once
|
|
|
|
#include "wx/window.h"
|
|
#include "cubic_math.h"
|
|
|
|
class MouseTracker {
|
|
public:
|
|
MouseTracker(wxWindow *target);
|
|
MouseTracker();
|
|
|
|
void OnMouseMoved(wxMouseEvent& event);
|
|
void OnMouseWheelMoved(wxMouseEvent& event);
|
|
void OnMouseDown(wxMouseEvent& event);
|
|
void OnMouseReleased(wxMouseEvent& event);
|
|
void OnMouseRightDown(wxMouseEvent& event);
|
|
void OnMouseRightReleased(wxMouseEvent& event);
|
|
void OnMouseEnterWindow(wxMouseEvent& event);
|
|
void OnMouseLeftWindow(wxMouseEvent& event);
|
|
|
|
float getOriginMouseX();
|
|
float getOriginMouseY();
|
|
float getOriginDeltaMouseX();
|
|
float getOriginDeltaMouseY();
|
|
float getDeltaMouseX();
|
|
float getDeltaMouseY();
|
|
float getLastMouseX();
|
|
float getLastMouseY();
|
|
CubicVR::vec2 getGLXY();
|
|
float getMouseX();
|
|
float getMouseY();
|
|
|
|
void setVertDragLock(bool dragLock);
|
|
void setHorizDragLock(bool dragLock);
|
|
bool getVertDragLock();
|
|
bool getHorizDragLock();
|
|
bool mouseDown();
|
|
bool mouseRightDown();
|
|
bool mouseInView();
|
|
void setTarget(wxWindow *target_in);
|
|
|
|
private:
|
|
float mouseX, mouseY;
|
|
float lastMouseX, lastMouseY;
|
|
float originMouseX, originMouseY;
|
|
float deltaMouseX, deltaMouseY;
|
|
|
|
bool vertDragLock, horizDragLock;
|
|
bool isMouseDown, isMouseRightDown, isMouseInView;
|
|
wxWindow *target;
|
|
};
|