ft2_mouse.h (1423B)
1 #pragma once 2 3 #include <stdint.h> 4 #include <stdbool.h> 5 6 enum 7 { 8 MOUSE_MODE_NORMAL = 0, 9 MOUSE_MODE_DELETE = 1, 10 MOUSE_MODE_RENAME = 2, 11 12 MOUSE_WHEEL_DOWN = 0, 13 MOUSE_WHEEL_UP = 1 14 }; 15 16 typedef struct mouse_t 17 { 18 volatile bool setPosFlag; 19 bool leftButtonPressed, rightButtonPressed, leftButtonReleased, rightButtonReleased; 20 bool firstTimePressingButton, mouseOverTextBox; 21 int8_t buttonCounter, mode; 22 int16_t lastUsedObjectID, lastUsedObjectType, lastEditBox; 23 int32_t absX, absY, rawX, rawY, x, y, lastX, lastY, xBias, yBias, setPosX, setPosY; 24 uint32_t buttonState; 25 } mouse_t; 26 27 extern mouse_t mouse; // ft2_mouse.c 28 29 // do not change these! 30 #define MOUSE_CURSOR_W 26 31 #define MOUSE_CURSOR_H 23 32 #define MOUSE_GLASS_ANI_FRAMES 22 33 #define MOUSE_CLOCK_ANI_FRAMES 5 34 35 #if defined __APPLE__ && defined __aarch64__ 36 void armMacGhostMouseCursorFix(void); 37 #endif 38 39 void freeMouseCursors(void); 40 bool createMouseCursors(void); 41 void setMousePosToCenter(void); 42 void setMouseShape(int16_t shape); 43 void setMouseMode(uint8_t mode); 44 void mouseWheelHandler(bool directionUp); 45 void mouseButtonUpHandler(uint8_t mouseButton); 46 void mouseButtonDownHandler(uint8_t mouseButton); 47 void updateMouseScaling(void); 48 void setMouseBusy(bool busy); // can be called from other threads 49 void mouseAnimOn(void); 50 void mouseAnimOff(void); 51 void animateBusyMouse(void); 52 void handleLastGUIObjectDown(void); 53 void readMouseXY(void); 54 void resetMouseBusyAnimation(void);