Added glfwGetWindowPos.

This commit is contained in:
Camilla Berglund
2010-09-14 03:53:22 +02:00
parent f0033aa47f
commit 318f731e3e
6 changed files with 34 additions and 0 deletions
+1
View File
@@ -157,6 +157,7 @@ typedef struct _GLFWwindow
GLboolean iconified; // GL_TRUE if this window is iconified
GLboolean closed; // GL_TRUE if this window should be closed
int width, height;
int positionX, positionY;
int mode; // GLFW_WINDOW or GLFW_FULLSCREEN
GLboolean sysKeysDisabled; // system keys disabled flag
GLboolean windowNoResize; // resize- and maximize gadgets disabled flag
+3
View File
@@ -906,6 +906,9 @@ static LRESULT CALLBACK windowProc(HWND hWnd, UINT uMsg,
case WM_MOVE:
{
window->positionX = LOWORD(lParam);
window->positionY = HIWORD(lParam);
// If the mouse is locked, update the clipping rect
if (window == _glfwLibrary.cursorLockWindow)
{
+20
View File
@@ -807,6 +807,26 @@ GLFWAPI void glfwSetWindowSize(GLFWwindow window, int width, int height)
}
//========================================================================
// Get the window position
//========================================================================
GLFWAPI void glfwGetWindowPos(GLFWwindow window, int* x, int* y)
{
if (!_glfwInitialized)
{
_glfwSetError(GLFW_NOT_INITIALIZED);
return;
}
if (x != NULL)
*x = window->positionX;
if (y != NULL)
*y = window->positionY;
}
//========================================================================
// Set the window position
//========================================================================
+8
View File
@@ -1215,6 +1215,14 @@ static void processSingleEvent(void)
window->height);
}
}
if (event.xconfigure.x != window->positionX ||
event.xconfigure.y != window->positionY)
{
window->positionX = event.xconfigure.x;
window->positionY = event.xconfigure.y;
}
break;
}