From 543232436fae8d1d0f9fdd94baf0ca88d4eea067 Mon Sep 17 00:00:00 2001 From: bunnei Date: Sun, 8 Mar 2015 03:13:26 -0400 Subject: EmuWindow: Added infrastructure code to enable touchpad support. --- src/common/emu_window.h | 29 +++++++++++++++++++++++++++++ 1 file changed, 29 insertions(+) (limited to 'src/common/emu_window.h') diff --git a/src/common/emu_window.h b/src/common/emu_window.h index f6099fdb6..df81e9e0f 100644 --- a/src/common/emu_window.h +++ b/src/common/emu_window.h @@ -76,6 +76,33 @@ public: /// Signals a key release action to the HID module static void KeyReleased(KeyMap::HostDeviceKey key); + /** + * Signal that a touch pressed event has occurred (e.g. mouse click pressed) + * @param layout FramebufferLayout object describing the framebuffer size and screen positions + * @param framebuffer_x Framebuffer x-coordinate that was pressed + * @param framebuffer_y Framebuffer y-coordinate that was pressed + */ + static void TouchPressed(const FramebufferLayout& layout, unsigned framebuffer_x, + unsigned framebuffer_y); + + /** + * Signal that a touch released event has occurred (e.g. mouse click released) + * @param layout FramebufferLayout object describing the framebuffer size and screen positions + * @param framebuffer_x Framebuffer x-coordinate that was released + * @param framebuffer_y Framebuffer y-coordinate that was released + */ + static void TouchReleased(const FramebufferLayout& layout, unsigned framebuffer_x, + unsigned framebuffer_y); + + /** + * Signal that a touch movement event has occurred (e.g. mouse was moved over the emu window) + * @param layout FramebufferLayout object describing the framebuffer size and screen positions + * @param framebuffer_x Framebuffer x-coordinate + * @param framebuffer_y Framebuffer y-coordinate + */ + static void TouchMoved(const FramebufferLayout& layout, unsigned framebuffer_x, + unsigned framebuffer_y); + /** * Returns currently active configuration. * @note Accesses to the returned object need not be consistent because it may be modified in another thread @@ -168,4 +195,6 @@ private: WindowConfig config; ///< Internal configuration (changes pending for being applied in ProcessConfigurationChanges) WindowConfig active_config; ///< Internal active configuration + + static bool touch_pressed; ///< True if touchpad area is currently pressed, otherwise false }; -- cgit v1.2.3