From 58788f31b429414c01cac4de494fb8202e74d4ea Mon Sep 17 00:00:00 2001 From: Sam Lantinga Date: Sun, 27 Feb 2011 20:06:45 -0800 Subject: [PATCH] Use boolean value for input grab mode, like we do for fullscreen mode. --- include/SDL_video.h | 8 ++++---- src/video/SDL_video.c | 27 ++++++++++++--------------- 2 files changed, 16 insertions(+), 19 deletions(-) diff --git a/include/SDL_video.h b/include/SDL_video.h index 78c3fca41..9a9f905c5 100644 --- a/include/SDL_video.h +++ b/include/SDL_video.h @@ -588,21 +588,21 @@ extern DECLSPEC int SDLCALL SDL_UpdateWindowSurfaceRects(SDL_Window * window, /** * \brief Set a window's input grab mode. * - * \param mode This is 1 to grab input, and 0 to release input. + * \param grabbed This is SDL_TRUE to grab input, and SDL_FALSE to release input. * * \sa SDL_GetWindowGrab() */ extern DECLSPEC void SDLCALL SDL_SetWindowGrab(SDL_Window * window, - int mode); + SDL_bool grabbed); /** * \brief Get a window's input grab mode. * - * \return This returns 1 if input is grabbed, and 0 otherwise. + * \return This returns SDL_TRUE if input is grabbed, and SDL_FALSE otherwise. * * \sa SDL_SetWindowGrab() */ -extern DECLSPEC int SDLCALL SDL_GetWindowGrab(SDL_Window * window); +extern DECLSPEC SDL_bool SDLCALL SDL_GetWindowGrab(SDL_Window * window); /** * \brief Destroy a window. diff --git a/src/video/SDL_video.c b/src/video/SDL_video.c index ff1e9eb7e..c2a011916 100644 --- a/src/video/SDL_video.c +++ b/src/video/SDL_video.c @@ -108,9 +108,6 @@ static SDL_VideoDevice *_this = NULL; return retval; \ } -/* Various local functions */ -static void SDL_UpdateWindowGrab(SDL_Window * window); - /* Support for framebuffer emulation using an accelerated renderer */ #define SDL_WINDOWTEXTUREDATA "_SDL_WindowTextureData" @@ -1672,15 +1669,23 @@ SDL_UpdateWindowSurfaceRects(SDL_Window * window, SDL_Rect * rects, return _this->UpdateWindowFramebuffer(_this, window, rects, numrects); } +static void +SDL_UpdateWindowGrab(SDL_Window * window) +{ + if ((window->flags & SDL_WINDOW_INPUT_FOCUS) && _this->SetWindowGrab) { + _this->SetWindowGrab(_this, window); + } +} + void -SDL_SetWindowGrab(SDL_Window * window, int mode) +SDL_SetWindowGrab(SDL_Window * window, SDL_bool grabbed) { CHECK_WINDOW_MAGIC(window, ); - if ((!!mode == !!(window->flags & SDL_WINDOW_INPUT_GRABBED))) { + if ((!!grabbed == !!(window->flags & SDL_WINDOW_INPUT_GRABBED))) { return; } - if (mode) { + if (grabbed) { window->flags |= SDL_WINDOW_INPUT_GRABBED; } else { window->flags &= ~SDL_WINDOW_INPUT_GRABBED; @@ -1688,15 +1693,7 @@ SDL_SetWindowGrab(SDL_Window * window, int mode) SDL_UpdateWindowGrab(window); } -static void -SDL_UpdateWindowGrab(SDL_Window * window) -{ - if ((window->flags & SDL_WINDOW_INPUT_FOCUS) && _this->SetWindowGrab) { - _this->SetWindowGrab(_this, window); - } -} - -int +SDL_bool SDL_GetWindowGrab(SDL_Window * window) { CHECK_WINDOW_MAGIC(window, 0);