Add software
This commit is contained in:
53
Software/CubicSDR/src/util/MouseTracker.h
Normal file
53
Software/CubicSDR/src/util/MouseTracker.h
Normal file
@ -0,0 +1,53 @@
|
||||
// Copyright (c) Charles J. Cliffe
|
||||
// SPDX-License-Identifier: GPL-2.0+
|
||||
|
||||
#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() const;
|
||||
float getOriginMouseY() const;
|
||||
float getOriginDeltaMouseX() const;
|
||||
float getOriginDeltaMouseY() const;
|
||||
float getDeltaMouseX() const;
|
||||
float getDeltaMouseY() const;
|
||||
float getLastMouseX() const;
|
||||
float getLastMouseY() const;
|
||||
CubicVR::vec2 getGLXY() const;
|
||||
float getMouseX() const;
|
||||
float getMouseY() const;
|
||||
|
||||
void setVertDragLock(bool dragLock);
|
||||
void setHorizDragLock(bool dragLock);
|
||||
bool getVertDragLock() const;
|
||||
bool getHorizDragLock() const;
|
||||
bool mouseDown() const;
|
||||
bool mouseRightDown() const;
|
||||
bool mouseInView() const;
|
||||
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;
|
||||
};
|
Reference in New Issue
Block a user