mirror of
				https://github.com/PabloMK7/citra.git
				synced 2025-10-30 21:30:04 +00:00 
			
		
		
		
	EmuWindow: Made pad/touch functions non-static.
This commit is contained in:
		
							parent
							
								
									a1a1a5c6c5
								
							
						
					
					
						commit
						953e09ddb5
					
				
					 3 changed files with 20 additions and 24 deletions
				
			
		|  | @ -16,35 +16,36 @@ EmuWindow_GLFW* EmuWindow_GLFW::GetEmuWindow(GLFWwindow* win) { | ||||||
|     return static_cast<EmuWindow_GLFW*>(glfwGetWindowUserPointer(win)); |     return static_cast<EmuWindow_GLFW*>(glfwGetWindowUserPointer(win)); | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| void EmuWindow_GLFW::OnMouseButtonEvent(GLFWwindow* window, int button, int action, int mods) { | void EmuWindow_GLFW::OnMouseButtonEvent(GLFWwindow* win, int button, int action, int mods) { | ||||||
|     if (button == GLFW_MOUSE_BUTTON_LEFT) { |     if (button == GLFW_MOUSE_BUTTON_LEFT) { | ||||||
|         auto layout = GetEmuWindow(window)->GetFramebufferLayout(); |         auto emu_window = GetEmuWindow(win); | ||||||
|  |         auto layout = emu_window->GetFramebufferLayout(); | ||||||
|         double x, y; |         double x, y; | ||||||
|         glfwGetCursorPos(window, &x, &y); |         glfwGetCursorPos(win, &x, &y); | ||||||
| 
 | 
 | ||||||
|         if (action == GLFW_PRESS) { |         if (action == GLFW_PRESS) { | ||||||
|             EmuWindow::TouchPressed(layout, static_cast<u16>(x), static_cast<u16>(y)); |             emu_window->TouchPressed(layout, static_cast<u16>(x), static_cast<u16>(y)); | ||||||
|         } else if (action == GLFW_RELEASE) { |         } else if (action == GLFW_RELEASE) { | ||||||
|             EmuWindow::TouchReleased(layout, static_cast<u16>(x), static_cast<u16>(y)); |             emu_window->TouchReleased(layout, static_cast<u16>(x), static_cast<u16>(y)); | ||||||
|         } |         } | ||||||
|     } |     } | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| void EmuWindow_GLFW::OnCursorPosEvent(GLFWwindow* window, double x, double y) { | void EmuWindow_GLFW::OnCursorPosEvent(GLFWwindow* win, double x, double y) { | ||||||
| 
 |     auto emu_window = GetEmuWindow(win); | ||||||
|     auto layout = GetEmuWindow(window)->GetFramebufferLayout(); |     auto layout = emu_window->GetFramebufferLayout(); | ||||||
|     EmuWindow::TouchMoved(layout, static_cast<u16>(x), static_cast<u16>(y)); |     emu_window->TouchMoved(layout, static_cast<u16>(x), static_cast<u16>(y)); | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| /// Called by GLFW when a key event occurs
 | /// Called by GLFW when a key event occurs
 | ||||||
| void EmuWindow_GLFW::OnKeyEvent(GLFWwindow* win, int key, int scancode, int action, int mods) { | void EmuWindow_GLFW::OnKeyEvent(GLFWwindow* win, int key, int scancode, int action, int mods) { | ||||||
| 
 |     auto emu_window = GetEmuWindow(win); | ||||||
|     int keyboard_id = GetEmuWindow(win)->keyboard_id; |     int keyboard_id = emu_window->keyboard_id; | ||||||
| 
 | 
 | ||||||
|     if (action == GLFW_PRESS) { |     if (action == GLFW_PRESS) { | ||||||
|         EmuWindow::KeyPressed({key, keyboard_id}); |         emu_window->KeyPressed({key, keyboard_id}); | ||||||
|     } else if (action == GLFW_RELEASE) { |     } else if (action == GLFW_RELEASE) { | ||||||
|         EmuWindow::KeyReleased({key, keyboard_id}); |         emu_window->KeyReleased({ key, keyboard_id }); | ||||||
|     } |     } | ||||||
| 
 | 
 | ||||||
|     Service::HID::PadUpdateComplete(); |     Service::HID::PadUpdateComplete(); | ||||||
|  |  | ||||||
|  | @ -5,8 +5,6 @@ | ||||||
| #include "emu_window.h" | #include "emu_window.h" | ||||||
| #include "video_core/video_core.h" | #include "video_core/video_core.h" | ||||||
| 
 | 
 | ||||||
| bool EmuWindow::touch_pressed = false; |  | ||||||
| 
 |  | ||||||
| void EmuWindow::KeyPressed(KeyMap::HostDeviceKey key) { | void EmuWindow::KeyPressed(KeyMap::HostDeviceKey key) { | ||||||
|     Service::HID::PadState mapped_key = KeyMap::GetPadKey(key); |     Service::HID::PadState mapped_key = KeyMap::GetPadKey(key); | ||||||
| 
 | 
 | ||||||
|  |  | ||||||
|  | @ -71,10 +71,10 @@ public: | ||||||
|     virtual void ReloadSetKeymaps() = 0; |     virtual void ReloadSetKeymaps() = 0; | ||||||
| 
 | 
 | ||||||
|     /// Signals a key press action to the HID module
 |     /// Signals a key press action to the HID module
 | ||||||
|     static void KeyPressed(KeyMap::HostDeviceKey key); |     void KeyPressed(KeyMap::HostDeviceKey key); | ||||||
| 
 | 
 | ||||||
|     /// Signals a key release action to the HID module
 |     /// Signals a key release action to the HID module
 | ||||||
|     static void KeyReleased(KeyMap::HostDeviceKey key); |     void KeyReleased(KeyMap::HostDeviceKey key); | ||||||
| 
 | 
 | ||||||
|     /**
 |     /**
 | ||||||
|      * Signal that a touch pressed event has occurred (e.g. mouse click pressed) |      * Signal that a touch pressed event has occurred (e.g. mouse click pressed) | ||||||
|  | @ -82,8 +82,7 @@ public: | ||||||
|      * @param framebuffer_x Framebuffer x-coordinate that was pressed |      * @param framebuffer_x Framebuffer x-coordinate that was pressed | ||||||
|      * @param framebuffer_y Framebuffer y-coordinate that was pressed |      * @param framebuffer_y Framebuffer y-coordinate that was pressed | ||||||
|      */ |      */ | ||||||
|     static void TouchPressed(const FramebufferLayout& layout, unsigned framebuffer_x, |     void TouchPressed(const FramebufferLayout& layout, unsigned framebuffer_x, unsigned framebuffer_y); | ||||||
|         unsigned framebuffer_y); |  | ||||||
| 
 | 
 | ||||||
|     /**
 |     /**
 | ||||||
|      * Signal that a touch released event has occurred (e.g. mouse click released) |      * Signal that a touch released event has occurred (e.g. mouse click released) | ||||||
|  | @ -91,8 +90,7 @@ public: | ||||||
|      * @param framebuffer_x Framebuffer x-coordinate that was released |      * @param framebuffer_x Framebuffer x-coordinate that was released | ||||||
|      * @param framebuffer_y Framebuffer y-coordinate that was released |      * @param framebuffer_y Framebuffer y-coordinate that was released | ||||||
|      */ |      */ | ||||||
|     static void TouchReleased(const FramebufferLayout& layout, unsigned framebuffer_x, |     void TouchReleased(const FramebufferLayout& layout, unsigned framebuffer_x, unsigned framebuffer_y); | ||||||
|         unsigned framebuffer_y); |  | ||||||
| 
 | 
 | ||||||
|     /**
 |     /**
 | ||||||
|      * Signal that a touch movement event has occurred (e.g. mouse was moved over the emu window) |      * Signal that a touch movement event has occurred (e.g. mouse was moved over the emu window) | ||||||
|  | @ -100,8 +98,7 @@ public: | ||||||
|      * @param framebuffer_x Framebuffer x-coordinate |      * @param framebuffer_x Framebuffer x-coordinate | ||||||
|      * @param framebuffer_y Framebuffer y-coordinate |      * @param framebuffer_y Framebuffer y-coordinate | ||||||
|      */ |      */ | ||||||
|     static void TouchMoved(const FramebufferLayout& layout, unsigned framebuffer_x, |     void TouchMoved(const FramebufferLayout& layout, unsigned framebuffer_x, unsigned framebuffer_y); | ||||||
|         unsigned framebuffer_y); |  | ||||||
| 
 | 
 | ||||||
|     /**
 |     /**
 | ||||||
|      * Returns currently active configuration. |      * Returns currently active configuration. | ||||||
|  | @ -196,5 +193,5 @@ private: | ||||||
|     WindowConfig config;         ///< Internal configuration (changes pending for being applied in ProcessConfigurationChanges)
 |     WindowConfig config;         ///< Internal configuration (changes pending for being applied in ProcessConfigurationChanges)
 | ||||||
|     WindowConfig active_config;  ///< Internal active configuration
 |     WindowConfig active_config;  ///< Internal active configuration
 | ||||||
| 
 | 
 | ||||||
|     static bool touch_pressed;   ///< True if touchpad area is currently pressed, otherwise false
 |     bool touch_pressed;          ///< True if touchpad area is currently pressed, otherwise false
 | ||||||
| }; | }; | ||||||
|  |  | ||||||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue