2014-11-25 21:07:13 -05:00
|
|
|
#pragma once
|
|
|
|
|
|
|
|
#include "wx/window.h"
|
|
|
|
|
|
|
|
class MouseTracker {
|
|
|
|
public:
|
2015-01-03 17:07:39 -05:00
|
|
|
MouseTracker(wxWindow *target);
|
|
|
|
MouseTracker();
|
2014-11-25 21:07:13 -05:00
|
|
|
|
|
|
|
void OnMouseMoved(wxMouseEvent& event);
|
|
|
|
void OnMouseWheelMoved(wxMouseEvent& event);
|
2015-01-03 17:07:39 -05:00
|
|
|
void OnMouseDown(wxMouseEvent& event);
|
2014-11-25 21:07:13 -05:00
|
|
|
void OnMouseReleased(wxMouseEvent& event);
|
2015-01-03 17:07:39 -05:00
|
|
|
void OnMouseRightDown(wxMouseEvent& event);
|
|
|
|
void OnMouseRightReleased(wxMouseEvent& event);
|
2014-11-25 22:51:14 -05:00
|
|
|
void OnMouseEnterWindow(wxMouseEvent& event);
|
2014-11-25 21:07:13 -05:00
|
|
|
void OnMouseLeftWindow(wxMouseEvent& event);
|
|
|
|
|
2014-11-25 22:51:14 -05:00
|
|
|
float getOriginMouseX();
|
|
|
|
float getOriginMouseY();
|
|
|
|
float getOriginDeltaMouseX();
|
|
|
|
float getOriginDeltaMouseY();
|
2014-11-25 21:07:13 -05:00
|
|
|
float getDeltaMouseX();
|
|
|
|
float getDeltaMouseY();
|
|
|
|
float getLastMouseX();
|
|
|
|
float getLastMouseY();
|
|
|
|
float getMouseX();
|
|
|
|
float getMouseY();
|
|
|
|
|
|
|
|
void setVertDragLock(bool dragLock);
|
2014-11-26 21:05:19 -05:00
|
|
|
void setHorizDragLock(bool dragLock);
|
2014-11-25 21:07:13 -05:00
|
|
|
bool mouseDown();
|
2015-01-03 17:07:39 -05:00
|
|
|
bool mouseRightDown();
|
2014-11-25 22:51:14 -05:00
|
|
|
bool mouseInView();
|
|
|
|
void setTarget(wxWindow *target_in);
|
2014-11-25 21:07:13 -05:00
|
|
|
|
|
|
|
private:
|
|
|
|
float mouseX, mouseY;
|
|
|
|
float lastMouseX, lastMouseY;
|
2014-11-25 22:51:14 -05:00
|
|
|
float originMouseX, originMouseY;
|
2014-12-23 01:12:14 -05:00
|
|
|
float deltaMouseX, deltaMouseY;
|
2014-11-25 22:51:14 -05:00
|
|
|
|
2014-11-26 21:05:19 -05:00
|
|
|
bool vertDragLock, horizDragLock;
|
2015-01-03 17:07:39 -05:00
|
|
|
bool isMouseDown, isMouseRightDown, isMouseInView;
|
2014-11-25 21:07:13 -05:00
|
|
|
wxWindow *target;
|
|
|
|
};
|