mirror of
				https://github.com/glfw/glfw.git
				synced 2025-11-03 22:04:15 +00:00 
			
		
		
		
	Added window parameter to callbacks, handled NULL argument to glfwIsWindow.
This commit is contained in:
		
							parent
							
								
									29a0ca47f9
								
							
						
					
					
						commit
						e229ccd7c4
					
				@ -364,14 +364,14 @@ typedef struct {
 | 
			
		||||
} GLFWvidmode;
 | 
			
		||||
 | 
			
		||||
/* Function pointer types */
 | 
			
		||||
typedef void (* GLFWwindowsizefun)(int,int);
 | 
			
		||||
typedef int  (* GLFWwindowclosefun)(void);
 | 
			
		||||
typedef void (* GLFWwindowrefreshfun)(void);
 | 
			
		||||
typedef void (* GLFWmousebuttonfun)(int,int);
 | 
			
		||||
typedef void (* GLFWmouseposfun)(int,int);
 | 
			
		||||
typedef void (* GLFWmousewheelfun)(int);
 | 
			
		||||
typedef void (* GLFWkeyfun)(int,int);
 | 
			
		||||
typedef void (* GLFWcharfun)(int,int);
 | 
			
		||||
typedef void (* GLFWwindowsizefun)(GLFWwindow,int,int);
 | 
			
		||||
typedef int  (* GLFWwindowclosefun)(GLFWwindow);
 | 
			
		||||
typedef void (* GLFWwindowrefreshfun)(GLFWwindow);
 | 
			
		||||
typedef void (* GLFWmousebuttonfun)(GLFWwindow,int,int);
 | 
			
		||||
typedef void (* GLFWmouseposfun)(GLFWwindow,int,int);
 | 
			
		||||
typedef void (* GLFWmousewheelfun)(GLFWwindow,int);
 | 
			
		||||
typedef void (* GLFWkeyfun)(GLFWwindow,int,int);
 | 
			
		||||
typedef void (* GLFWcharfun)(GLFWwindow,int,int);
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
/*************************************************************************
 | 
			
		||||
 | 
			
		||||
@ -61,7 +61,8 @@ static void enableMouseCursor(_GLFWwindow* window)
 | 
			
		||||
 | 
			
		||||
        if (window->mousePosCallback)
 | 
			
		||||
        {
 | 
			
		||||
            window->mousePosCallback(window->mousePosX,
 | 
			
		||||
            window->mousePosCallback(window,
 | 
			
		||||
                                     window->mousePosX,
 | 
			
		||||
                                     window->mousePosY);
 | 
			
		||||
        }
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
@ -203,7 +203,7 @@ GLFWAPI void glfwSetMousePosCallback(GLFWwindow window, GLFWmouseposfun cbfun)
 | 
			
		||||
    // Call the callback function to let the application know the current
 | 
			
		||||
    // mouse position
 | 
			
		||||
    if (cbfun)
 | 
			
		||||
        cbfun(window->mousePosX, window->mousePosY);
 | 
			
		||||
        cbfun(window, window->mousePosX, window->mousePosY);
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
@ -222,6 +222,6 @@ GLFWAPI void glfwSetMouseWheelCallback(GLFWwindow window, GLFWmousewheelfun cbfu
 | 
			
		||||
    // Call the callback function to let the application know the current
 | 
			
		||||
    // mouse wheel position
 | 
			
		||||
    if (cbfun)
 | 
			
		||||
        cbfun(window->wheelPos);
 | 
			
		||||
        cbfun(window, window->wheelPos);
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
							
								
								
									
										15
									
								
								lib/window.c
									
									
									
									
									
								
							
							
						
						
									
										15
									
								
								lib/window.c
									
									
									
									
									
								
							@ -141,7 +141,7 @@ void _glfwInputKey(_GLFWwindow* window, int key, int action)
 | 
			
		||||
 | 
			
		||||
    // Call user callback function
 | 
			
		||||
    if (window->keyCallback && (window->keyRepeat || !keyrepeat) )
 | 
			
		||||
        window->keyCallback(key, action);
 | 
			
		||||
        window->keyCallback(window, key, action);
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
@ -186,7 +186,7 @@ void _glfwInputChar(_GLFWwindow* window, int character, int action)
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    if (window->charCallback && (window->keyRepeat || !keyrepeat))
 | 
			
		||||
        window->charCallback(character, action);
 | 
			
		||||
        window->charCallback(window, character, action);
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
@ -206,7 +206,7 @@ void _glfwInputMouseClick(_GLFWwindow* window, int button, int action)
 | 
			
		||||
        window->mouseButton[button] = (char) action;
 | 
			
		||||
 | 
			
		||||
    if (window->mouseButtonCallback)
 | 
			
		||||
        window->mouseButtonCallback(button, action);
 | 
			
		||||
        window->mouseButtonCallback(window, button, action);
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
@ -580,9 +580,12 @@ GLFWAPI void glfwMakeWindowCurrent(GLFWwindow window)
 | 
			
		||||
GLFWAPI int glfwIsWindow(GLFWwindow window)
 | 
			
		||||
{
 | 
			
		||||
    if (!_glfwInitialized)
 | 
			
		||||
        return;
 | 
			
		||||
        return GL_FALSE;
 | 
			
		||||
 | 
			
		||||
    return window == _glfwLibrary.window;
 | 
			
		||||
    if (window == NULL)
 | 
			
		||||
        return GL_FALSE;
 | 
			
		||||
 | 
			
		||||
    return (window == _glfwLibrary.window) ? GL_TRUE : GL_FALSE;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
@ -873,7 +876,7 @@ GLFWAPI void glfwSetWindowSizeCallback(GLFWwindow window, GLFWwindowsizefun cbfu
 | 
			
		||||
    // Call the callback function to let the application know the current
 | 
			
		||||
    // window size
 | 
			
		||||
    if (cbfun)
 | 
			
		||||
        cbfun(window->width, window->height);
 | 
			
		||||
        cbfun(window, window->width, window->height);
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
//========================================================================
 | 
			
		||||
 | 
			
		||||
@ -1088,13 +1088,13 @@ static GLboolean processSingleEvent(void)
 | 
			
		||||
            {
 | 
			
		||||
                window->wheelPos++;  // To verify: is this up or down?
 | 
			
		||||
                if (window->mouseWheelCallback)
 | 
			
		||||
                    window->mouseWheelCallback(window->wheelPos);
 | 
			
		||||
                    window->mouseWheelCallback(window, window->wheelPos);
 | 
			
		||||
            }
 | 
			
		||||
            else if (event.xbutton.button == Button5)
 | 
			
		||||
            {
 | 
			
		||||
                window->wheelPos--;
 | 
			
		||||
                if (window->mouseWheelCallback)
 | 
			
		||||
                    window->mouseWheelCallback(window->wheelPos);
 | 
			
		||||
                    window->mouseWheelCallback(window, window->wheelPos);
 | 
			
		||||
            }
 | 
			
		||||
            break;
 | 
			
		||||
        }
 | 
			
		||||
@ -1155,7 +1155,8 @@ static GLboolean processSingleEvent(void)
 | 
			
		||||
 | 
			
		||||
                if (window->mousePosCallback)
 | 
			
		||||
                {
 | 
			
		||||
                    window->mousePosCallback(window->mousePosX,
 | 
			
		||||
                    window->mousePosCallback(window,
 | 
			
		||||
                                             window->mousePosX,
 | 
			
		||||
                                             window->mousePosY);
 | 
			
		||||
                }
 | 
			
		||||
            }
 | 
			
		||||
@ -1173,7 +1174,8 @@ static GLboolean processSingleEvent(void)
 | 
			
		||||
                window->height = event.xconfigure.height;
 | 
			
		||||
                if (window->windowSizeCallback)
 | 
			
		||||
                {
 | 
			
		||||
                    window->windowSizeCallback(window->width,
 | 
			
		||||
                    window->windowSizeCallback(window,
 | 
			
		||||
                                               window->width,
 | 
			
		||||
                                               window->height);
 | 
			
		||||
                }
 | 
			
		||||
            }
 | 
			
		||||
@ -1252,7 +1254,7 @@ static GLboolean processSingleEvent(void)
 | 
			
		||||
            // The window's contents was damaged
 | 
			
		||||
 | 
			
		||||
            if (window->windowRefreshCallback)
 | 
			
		||||
                window->windowRefreshCallback();
 | 
			
		||||
                window->windowRefreshCallback(window);
 | 
			
		||||
 | 
			
		||||
            break;
 | 
			
		||||
        }
 | 
			
		||||
@ -1697,7 +1699,7 @@ void _glfwPlatformPollEvents(void)
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    if (closeRequested && window->windowCloseCallback)
 | 
			
		||||
        closeRequested = window->windowCloseCallback();
 | 
			
		||||
        closeRequested = window->windowCloseCallback(window);
 | 
			
		||||
 | 
			
		||||
    if (closeRequested)
 | 
			
		||||
        glfwCloseWindow(window);
 | 
			
		||||
 | 
			
		||||
		Loading…
	
		Reference in New Issue
	
	Block a user