Added SDL_GetCurrentVideoDisplay()

This commit is contained in:
Sam Lantinga
2006-08-02 03:20:52 +00:00
parent d20c00db5b
commit c6ca286be1
2 changed files with 29 additions and 10 deletions

View File

@@ -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)
*

View File

@@ -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;
}