mirror of
				https://github.com/glfw/glfw.git
				synced 2025-10-31 12:42:26 +00:00 
			
		
		
		
	Merged cursor enter/leave callbacks.
This commit is contained in:
		
							parent
							
								
									e5d85a5cc4
								
							
						
					
					
						commit
						c4806b9532
					
				| @ -474,8 +474,7 @@ typedef void (* GLFWwindowfocusfun)(GLFWwindow,int); | ||||
| typedef void (* GLFWwindowiconifyfun)(GLFWwindow,int); | ||||
| typedef void (* GLFWmousebuttonfun)(GLFWwindow,int,int); | ||||
| typedef void (* GLFWmouseposfun)(GLFWwindow,int,int); | ||||
| typedef void (* GLFWcursorenterfun)(GLFWwindow); | ||||
| typedef void (* GLFWcursorleavefun)(GLFWwindow); | ||||
| typedef void (* GLFWcursorenterfun)(GLFWwindow,int); | ||||
| typedef void (* GLFWscrollfun)(GLFWwindow,int,int); | ||||
| typedef void (* GLFWkeyfun)(GLFWwindow,int,int); | ||||
| typedef void (* GLFWcharfun)(GLFWwindow,int); | ||||
| @ -576,7 +575,6 @@ GLFWAPI void glfwSetCharCallback(GLFWcharfun cbfun); | ||||
| GLFWAPI void glfwSetMouseButtonCallback(GLFWmousebuttonfun cbfun); | ||||
| GLFWAPI void glfwSetMousePosCallback(GLFWmouseposfun cbfun); | ||||
| GLFWAPI void glfwSetCursorEnterCallback(GLFWcursorenterfun cbfun); | ||||
| GLFWAPI void glfwSetCursorLeaveCallback(GLFWcursorleavefun cbfun); | ||||
| GLFWAPI void glfwSetScrollCallback(GLFWscrollfun cbfun); | ||||
| 
 | ||||
| /* Joystick input */ | ||||
|  | ||||
							
								
								
									
										35
									
								
								src/input.c
									
									
									
									
									
								
							
							
						
						
									
										35
									
								
								src/input.c
									
									
									
									
									
								
							| @ -147,24 +147,13 @@ void _glfwInputCursorMotion(_GLFWwindow* window, int x, int y) | ||||
| 
 | ||||
| 
 | ||||
| //========================================================================
 | ||||
| // Register cursor enter events
 | ||||
| // Register cursor enter/leave events
 | ||||
| //========================================================================
 | ||||
| 
 | ||||
| void _glfwInputCursorEnter(_GLFWwindow* window) | ||||
| void _glfwInputCursorEnter(_GLFWwindow* window, int entered) | ||||
| { | ||||
|     if (_glfwLibrary.cursorEnterCallback) | ||||
|         _glfwLibrary.cursorEnterCallback(window); | ||||
| } | ||||
| 
 | ||||
| 
 | ||||
| //========================================================================
 | ||||
| // Register cursor leave events
 | ||||
| //========================================================================
 | ||||
| 
 | ||||
| void _glfwInputCursorLeave(_GLFWwindow* window) | ||||
| { | ||||
|     if (_glfwLibrary.cursorLeaveCallback) | ||||
|         _glfwLibrary.cursorLeaveCallback(window); | ||||
|         _glfwLibrary.cursorEnterCallback(window, entered); | ||||
| } | ||||
| 
 | ||||
| 
 | ||||
| @ -443,7 +432,7 @@ GLFWAPI void glfwSetMousePosCallback(GLFWmouseposfun cbfun) | ||||
| 
 | ||||
| 
 | ||||
| //========================================================================
 | ||||
| // Set callback function for cursor enter events
 | ||||
| // Set callback function for cursor enter/leave events
 | ||||
| //========================================================================
 | ||||
| 
 | ||||
| GLFWAPI void glfwSetCursorEnterCallback(GLFWcursorenterfun cbfun) | ||||
| @ -458,22 +447,6 @@ GLFWAPI void glfwSetCursorEnterCallback(GLFWcursorenterfun cbfun) | ||||
| } | ||||
| 
 | ||||
| 
 | ||||
| //========================================================================
 | ||||
| // Set callback function for cursor enter events
 | ||||
| //========================================================================
 | ||||
| 
 | ||||
| GLFWAPI void glfwSetCursorLeaveCallback(GLFWcursorleavefun cbfun) | ||||
| { | ||||
|     if (!_glfwInitialized) | ||||
|     { | ||||
|         _glfwSetError(GLFW_NOT_INITIALIZED, NULL); | ||||
|         return; | ||||
|     } | ||||
| 
 | ||||
|     _glfwLibrary.cursorLeaveCallback = cbfun; | ||||
| } | ||||
| 
 | ||||
| 
 | ||||
| //========================================================================
 | ||||
| // Set callback function for scroll events
 | ||||
| //========================================================================
 | ||||
|  | ||||
| @ -238,7 +238,6 @@ struct _GLFWlibrary | ||||
|     GLFWmousebuttonfun   mouseButtonCallback; | ||||
|     GLFWmouseposfun      mousePosCallback; | ||||
|     GLFWcursorenterfun   cursorEnterCallback; | ||||
|     GLFWcursorleavefun   cursorLeaveCallback; | ||||
|     GLFWscrollfun        scrollCallback; | ||||
|     GLFWkeyfun           keyCallback; | ||||
|     GLFWcharfun          charCallback; | ||||
| @ -354,8 +353,7 @@ void _glfwInputChar(_GLFWwindow* window, int character); | ||||
| void _glfwInputScroll(_GLFWwindow* window, int x, int y); | ||||
| void _glfwInputMouseClick(_GLFWwindow* window, int button, int action); | ||||
| void _glfwInputCursorMotion(_GLFWwindow* window, int x, int y); | ||||
| void _glfwInputCursorEnter(_GLFWwindow* window); | ||||
| void _glfwInputCursorLeave(_GLFWwindow* window); | ||||
| void _glfwInputCursorEnter(_GLFWwindow* window, int entered); | ||||
| 
 | ||||
| // OpenGL context helpers (opengl.c)
 | ||||
| int _glfwStringInExtensionString(const char* string, const GLubyte* extensions); | ||||
|  | ||||
| @ -1194,7 +1194,7 @@ static void processSingleEvent(void) | ||||
|             if (window->cursorMode == GLFW_CURSOR_HIDDEN) | ||||
|                 hideMouseCursor(window); | ||||
| 
 | ||||
|             _glfwInputCursorEnter(window); | ||||
|             _glfwInputCursorEnter(window, GL_TRUE); | ||||
|             break; | ||||
|         } | ||||
| 
 | ||||
| @ -1211,7 +1211,7 @@ static void processSingleEvent(void) | ||||
|             if (window->cursorMode == GLFW_CURSOR_HIDDEN) | ||||
|                 showMouseCursor(window); | ||||
| 
 | ||||
|             _glfwInputCursorLeave(window); | ||||
|             _glfwInputCursorEnter(window, GL_FALSE); | ||||
|             break; | ||||
|         } | ||||
| 
 | ||||
|  | ||||
| @ -274,14 +274,12 @@ static void mouse_position_callback(GLFWwindow window, int x, int y) | ||||
|     printf("%08x at %0.3f: Mouse position: %i %i\n", counter++, glfwGetTime(), x, y); | ||||
| } | ||||
| 
 | ||||
| static void cursor_enter_callback(GLFWwindow window) | ||||
| static void cursor_enter_callback(GLFWwindow window, int entered) | ||||
| { | ||||
|     printf("%08x at %0.3f: Cursor entered window\n", counter++, glfwGetTime()); | ||||
| } | ||||
| 
 | ||||
| static void cursor_leave_callback(GLFWwindow window) | ||||
| { | ||||
|     printf("%08x at %0.3f: Cursor left window\n", counter++, glfwGetTime()); | ||||
|     printf("%08x at %0.3f: Cursor %s window\n", | ||||
|            counter++, | ||||
|            glfwGetTime(), | ||||
|            entered ? "entered" : "left"); | ||||
| } | ||||
| 
 | ||||
| static void scroll_callback(GLFWwindow window, int x, int y) | ||||
| @ -362,7 +360,6 @@ int main(void) | ||||
|     glfwSetMouseButtonCallback(mouse_button_callback); | ||||
|     glfwSetMousePosCallback(mouse_position_callback); | ||||
|     glfwSetCursorEnterCallback(cursor_enter_callback); | ||||
|     glfwSetCursorLeaveCallback(cursor_leave_callback); | ||||
|     glfwSetScrollCallback(scroll_callback); | ||||
|     glfwSetKeyCallback(key_callback); | ||||
|     glfwSetCharCallback(char_callback); | ||||
|  | ||||
		Loading…
	
		Reference in New Issue
	
	Block a user