From 6313c5597ade08e6f35d5e83a03cbd4bb3671ea1 Mon Sep 17 00:00:00 2001 From: Sam Lantinga Date: Wed, 2 Aug 2006 03:20:52 +0000 Subject: [PATCH] Added SDL_GetCurrentVideoDisplay() --- include/SDL_video.h | 17 ++++++++++++++--- src/video/SDL_video.c | 22 +++++++++++++++------- 2 files changed, 29 insertions(+), 10 deletions(-) diff --git a/include/SDL_video.h b/include/SDL_video.h index 6148d8853..a0085fe5a 100644 --- a/include/SDL_video.h +++ b/include/SDL_video.h @@ -403,14 +403,25 @@ extern DECLSPEC int SDLCALL SDL_GetNumVideoDisplays(void); * * \brief Set the index of the currently selected display. * - * \return The index of the currently selected display. - * - * \note You can query the currently selected display by passing an index of -1. + * \return 0 on success, or -1 if the index is out of range. * * \sa SDL_GetNumVideoDisplays() + * \sa SDL_GetCurrentVideoDisplay() */ extern DECLSPEC int SDLCALL SDL_SelectVideoDisplay(int index); +/** + * \fn int SDL_GetCurrentVideoDisplay(void) + * + * \brief Get the index of the currently selected display. + * + * \return The index of the currently selected display. + * + * \sa SDL_GetNumVideoDisplays() + * \sa SDL_SelectVideoDisplay() + */ +extern DECLSPEC int SDLCALL SDL_GetCurrentVideoDisplay(void); + /** * \fn int SDL_GetNumDisplayModes(void) * diff --git a/src/video/SDL_video.c b/src/video/SDL_video.c index 42eee3a2c..9d3980d23 100644 --- a/src/video/SDL_video.c +++ b/src/video/SDL_video.c @@ -355,13 +355,21 @@ SDL_SelectVideoDisplay(int index) SDL_UninitializedVideo(); return (-1); } - if (index >= 0) { - if (index >= _this->num_displays) { - SDL_SetError("index must be in the range 0 - %d", - _this->num_displays - 1); - return -1; - } - _this->current_display = index; + if (index < 0 || index >= _this->num_displays) { + SDL_SetError("index must be in the range 0 - %d", + _this->num_displays - 1); + return -1; + } + _this->current_display = index; + return 0; +} + +int +SDL_GetCurrentVideoDisplay(void) +{ + if (!_this) { + SDL_UninitializedVideo(); + return (-1); } return _this->current_display; }