aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/ginput/touch/QWidget/gmouse_lld_QWidget.c
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/ginput/touch/QWidget/gmouse_lld_QWidget.c')
-rw-r--r--drivers/ginput/touch/QWidget/gmouse_lld_QWidget.c74
1 files changed, 74 insertions, 0 deletions
diff --git a/drivers/ginput/touch/QWidget/gmouse_lld_QWidget.c b/drivers/ginput/touch/QWidget/gmouse_lld_QWidget.c
new file mode 100644
index 00000000..d79da2a2
--- /dev/null
+++ b/drivers/ginput/touch/QWidget/gmouse_lld_QWidget.c
@@ -0,0 +1,74 @@
+/*
+ * This file is subject to the terms of the GFX License. If a copy of
+ * the license was not distributed with this file, you can obtain one at:
+ *
+ * http://ugfx.org/license.html
+ */
+
+#include "ugfx/gfx.h"
+
+
+#if GFX_USE_GINPUT && GINPUT_NEED_MOUSE
+
+#define GMOUSE_DRIVER_VMT GMOUSEVMT_QWidget
+#include "../../../../src/ginput/ginput_driver_mouse.h"
+
+GMouse* qwidgetMouse;
+coord_t qwidgetMouseX;
+coord_t qwidgetMouseY;
+coord_t qwidgetMouseZ;
+uint16_t qwidgetMouseButtons;
+
+static bool_t _init(GMouse* m, unsigned driverinstance)
+{
+ (void)driverinstance;
+
+ qwidgetMouse = m;
+
+ return TRUE;
+}
+
+static bool_t _read(GMouse* m, GMouseReading* pdr)
+{
+ (void)m;
+
+ pdr->x = qwidgetMouseX;
+ pdr->y = qwidgetMouseY;
+ pdr->z = qwidgetMouseZ;
+ pdr->buttons = qwidgetMouseButtons;
+
+ return TRUE;
+}
+
+const GMouseVMT GMOUSE_DRIVER_VMT[1] = {{
+ {
+ GDRIVER_TYPE_MOUSE,
+ 0,
+ sizeof(GMouse),
+ _gmouseInitDriver,
+ _gmousePostInitDriver,
+ _gmouseDeInitDriver
+ },
+ 1, // z_max
+ 0, // z_min
+ 1, // z_touchon
+ 0, // z_touchoff
+ { // pen_jitter
+ 1, // calibrate
+ 1, // click
+ 1 // move
+ },
+ { // finger_jitter
+ 1, // calibrate
+ 1, // click
+ 1 // move
+ },
+ _init, // init
+ 0, // deinit
+ _read, // get
+ 0, // calsave
+ 0 // calload
+}};
+
+#endif /* GFX_USE_GINPUT && GINPUT_NEED_MOUSE */
+