Removed glfwGetScrollOffset.
Scroll events do not represent an absolute state, but rather an interpretation
of a relative change in state, like character input. So, like character input,
there is no sane 'current state' to return. The here removed solution, that of
accumulating an offset since the last call to event processing, is at best
mildly confusing. If a user wishes to implement this solution, it is better for
it to be explicit in client code than implicit in GLFW calls.
diff --git a/include/GL/glfw3.h b/include/GL/glfw3.h
index c76077f..2f21e5f 100644
--- a/include/GL/glfw3.h
+++ b/include/GL/glfw3.h
@@ -1377,10 +1377,6 @@
*/
GLFWAPI void glfwSetCursorPos(GLFWwindow* window, int xpos, int ypos);
-/*! @ingroup input
- */
-GLFWAPI void glfwGetScrollOffset(GLFWwindow* window, double* xoffset, double* yoffset);
-
/*! @brief Sets the key callback.
* @param[in] window The window whose callback to set.
* @param[in] cbfun The new key callback, or @c NULL to remove the currently
diff --git a/src/input.c b/src/input.c
index ddd909f..a45a622 100644
--- a/src/input.c
+++ b/src/input.c
@@ -160,9 +160,6 @@
void _glfwInputScroll(_GLFWwindow* window, double xoffset, double yoffset)
{
- window->scrollX += xoffset;
- window->scrollY += yoffset;
-
if (window->callbacks.scroll)
window->callbacks.scroll((GLFWwindow*) window, xoffset, yoffset);
}
@@ -370,23 +367,6 @@
_glfwPlatformSetCursorPos(window, xpos, ypos);
}
-GLFWAPI void glfwGetScrollOffset(GLFWwindow* handle, double* xoffset, double* yoffset)
-{
- _GLFWwindow* window = (_GLFWwindow*) handle;
-
- if (!_glfwInitialized)
- {
- _glfwInputError(GLFW_NOT_INITIALIZED, NULL);
- return;
- }
-
- if (xoffset)
- *xoffset = window->scrollX;
-
- if (yoffset)
- *yoffset = window->scrollY;
-}
-
GLFWAPI void glfwSetKeyCallback(GLFWwindow* handle, GLFWkeyfun cbfun)
{
_GLFWwindow* window = (_GLFWwindow*) handle;
diff --git a/src/internal.h b/src/internal.h
index f0e4a78..8ddcfa8 100644
--- a/src/internal.h
+++ b/src/internal.h
@@ -221,7 +221,6 @@
GLboolean stickyMouseButtons;
int cursorPosX, cursorPosY;
int cursorMode;
- double scrollX, scrollY;
char mouseButton[GLFW_MOUSE_BUTTON_LAST + 1];
char key[GLFW_KEY_LAST + 1];
diff --git a/src/window.c b/src/window.c
index 0780b2c..e61041c 100644
--- a/src/window.c
+++ b/src/window.c
@@ -48,22 +48,6 @@
}
-//========================================================================
-// Clear scroll offsets for all windows
-//========================================================================
-
-static void clearScrollOffsets(void)
-{
- _GLFWwindow* window;
-
- for (window = _glfw.windowListHead; window; window = window->next)
- {
- window->scrollX = 0;
- window->scrollY = 0;
- }
-}
-
-
//////////////////////////////////////////////////////////////////////////
////// GLFW event API //////
//////////////////////////////////////////////////////////////////////////
@@ -746,8 +730,6 @@
return;
}
- clearScrollOffsets();
-
_glfwPlatformPollEvents();
}
@@ -759,8 +741,6 @@
return;
}
- clearScrollOffsets();
-
_glfwPlatformWaitEvents();
}