diff --git a/include/SDL_video.h b/include/SDL_video.h index 78c3fca41934bd17817aee2ffa79c50927247d68..9a9f905c5a1b6494b6ea7b5c0bc3f5b4e552ea58 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 ff1e9eb7e47bcb3c2b8502738ae2cbdb1e56a12f..c2a01191640661e67b9185652293eb77615c76c0 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);