include/SDL_video.h
branchSDL-1.3
changeset 1668 4da1ee79c9af
parent 1662 782fd950bd46
child 1669 9857d21967bb
equal deleted inserted replaced
1667:1fddae038bc8 1668:4da1ee79c9af
   283  *
   283  *
   284  * \brief Get the number of video drivers compiled into SDL
   284  * \brief Get the number of video drivers compiled into SDL
   285  *
   285  *
   286  * \sa SDL_GetVideoDriver()
   286  * \sa SDL_GetVideoDriver()
   287  */
   287  */
   288 extern DECLSPEC int SDLCALL SDL_GetNumVideoDrivers (void);
   288 extern DECLSPEC int SDLCALL SDL_GetNumVideoDrivers(void);
   289 
   289 
   290 /**
   290 /**
   291  * \fn const char *SDL_GetVideoDriver(int index)
   291  * \fn const char *SDL_GetVideoDriver(int index)
   292  *
   292  *
   293  * \brief Get the name of a built in video driver.
   293  * \brief Get the name of a built in video driver.
   295  * \note The video drivers are presented in the order in which they are
   295  * \note The video drivers are presented in the order in which they are
   296  * normally checked during initialization.
   296  * normally checked during initialization.
   297  *
   297  *
   298  * \sa SDL_GetNumVideoDrivers()
   298  * \sa SDL_GetNumVideoDrivers()
   299  */
   299  */
   300 extern DECLSPEC const char *SDLCALL SDL_GetVideoDriver (int index);
   300 extern DECLSPEC const char *SDLCALL SDL_GetVideoDriver(int index);
   301 
   301 
   302 /**
   302 /**
   303  * \fn int SDL_VideoInit(const char *driver_name, Uint32 flags)
   303  * \fn int SDL_VideoInit(const char *driver_name, Uint32 flags)
   304  *
   304  *
   305  * \brief Initialize the video subsystem, optionally specifying a video driver.
   305  * \brief Initialize the video subsystem, optionally specifying a video driver.
   313  * to the window manager, etc, and determines the available display modes
   313  * to the window manager, etc, and determines the available display modes
   314  * and pixel formats, but does not initialize a window or graphics mode.
   314  * and pixel formats, but does not initialize a window or graphics mode.
   315  *
   315  *
   316  * \sa SDL_VideoQuit()
   316  * \sa SDL_VideoQuit()
   317  */
   317  */
   318 extern DECLSPEC int SDLCALL SDL_VideoInit (const char *driver_name,
   318 extern DECLSPEC int SDLCALL SDL_VideoInit(const char *driver_name,
   319                                            Uint32 flags);
   319                                           Uint32 flags);
   320 
   320 
   321 /**
   321 /**
   322  * \fn void SDL_VideoQuit(void)
   322  * \fn void SDL_VideoQuit(void)
   323  *
   323  *
   324  * \brief Shuts down the video subsystem.
   324  * \brief Shuts down the video subsystem.
   325  *
   325  *
   326  * This function closes all windows, and restores the original video mode.
   326  * This function closes all windows, and restores the original video mode.
   327  *
   327  *
   328  * \sa SDL_VideoInit()
   328  * \sa SDL_VideoInit()
   329  */
   329  */
   330 extern DECLSPEC void SDLCALL SDL_VideoQuit (void);
   330 extern DECLSPEC void SDLCALL SDL_VideoQuit(void);
   331 
   331 
   332 /**
   332 /**
   333  * \fn const char *SDL_GetCurrentVideoDriver(void)
   333  * \fn const char *SDL_GetCurrentVideoDriver(void)
   334  *
   334  *
   335  * \brief Returns the name of the currently initialized video driver.
   335  * \brief Returns the name of the currently initialized video driver.
   338  *         has been initialized
   338  *         has been initialized
   339  *
   339  *
   340  * \sa SDL_GetNumVideoDrivers()
   340  * \sa SDL_GetNumVideoDrivers()
   341  * \sa SDL_GetVideoDriver()
   341  * \sa SDL_GetVideoDriver()
   342  */
   342  */
   343 extern DECLSPEC const char *SDLCALL SDL_GetCurrentVideoDriver (void);
   343 extern DECLSPEC const char *SDLCALL SDL_GetCurrentVideoDriver(void);
   344 
   344 
   345 /**
   345 /**
   346  * \fn const SDL_VideoInfo *SDL_GetVideoInfo(void)
   346  * \fn const SDL_VideoInfo *SDL_GetVideoInfo(void)
   347  *
   347  *
   348  * \brief Returns information about the currently initialized video driver.
   348  * \brief Returns information about the currently initialized video driver.
   349  *
   349  *
   350  * \return A read-only pointer to information about the video hardware,
   350  * \return A read-only pointer to information about the video hardware,
   351  *         or NULL if no video driver has been initialized.
   351  *         or NULL if no video driver has been initialized.
   352  */
   352  */
   353 extern DECLSPEC const SDL_VideoInfo *SDLCALL SDL_GetVideoInfo (void);
   353 extern DECLSPEC const SDL_VideoInfo *SDLCALL SDL_GetVideoInfo(void);
   354 
   354 
   355 /**
   355 /**
   356  * \fn int SDL_GetNumVideoDisplays(void)
   356  * \fn int SDL_GetNumVideoDisplays(void)
   357  *
   357  *
   358  * \brief Returns the number of available video displays.
   358  * \brief Returns the number of available video displays.
   359  *
   359  *
   360  * \sa SDL_SelectVideoDisplay()
   360  * \sa SDL_SelectVideoDisplay()
   361  */
   361  */
   362 extern DECLSPEC int SDLCALL SDL_GetNumVideoDisplays (void);
   362 extern DECLSPEC int SDLCALL SDL_GetNumVideoDisplays(void);
   363 
   363 
   364 /**
   364 /**
   365  * \fn int SDL_SelectVideoDisplay(int index)
   365  * \fn int SDL_SelectVideoDisplay(int index)
   366  *
   366  *
   367  * \brief Set the index of the currently selected display.
   367  * \brief Set the index of the currently selected display.
   368  *
   368  *
   369  * \note You can query the currently selected display by passing an index of -1.
   369  * \note You can query the currently selected display by passing an index of -1.
   370  *
   370  *
   371  * \sa SDL_GetNumVideoDisplays()
   371  * \sa SDL_GetNumVideoDisplays()
   372  */
   372  */
   373 extern DECLSPEC int SDLCALL SDL_SelectVideoDisplay (int index);
   373 extern DECLSPEC int SDLCALL SDL_SelectVideoDisplay(int index);
   374 
   374 
   375 /**
   375 /**
   376  * \fn int SDL_GetNumDisplayModes(void)
   376  * \fn int SDL_GetNumDisplayModes(void)
   377  *
   377  *
   378  * \brief Returns the number of available display modes for the current display.
   378  * \brief Returns the number of available display modes for the current display.
   379  *
   379  *
   380  * \sa SDL_GetDisplayMode()
   380  * \sa SDL_GetDisplayMode()
   381  */
   381  */
   382 extern DECLSPEC int SDLCALL SDL_GetNumDisplayModes (void);
   382 extern DECLSPEC int SDLCALL SDL_GetNumDisplayModes(void);
   383 
   383 
   384 /**
   384 /**
   385  * \fn const SDL_DisplayMode *SDL_GetDisplayMode(int index)
   385  * \fn const SDL_DisplayMode *SDL_GetDisplayMode(int index)
   386  *
   386  *
   387  * \brief Retrieve information about a specific display mode.
   387  * \brief Retrieve information about a specific display mode.
   392  *       \li height -> largest to smallest
   392  *       \li height -> largest to smallest
   393  *       \li refresh rate -> highest to lowest
   393  *       \li refresh rate -> highest to lowest
   394  *
   394  *
   395  * \sa SDL_GetNumDisplayModes()
   395  * \sa SDL_GetNumDisplayModes()
   396  */
   396  */
   397 extern DECLSPEC const SDL_DisplayMode *SDLCALL SDL_GetDisplayMode (int index);
   397 extern DECLSPEC const SDL_DisplayMode *SDLCALL SDL_GetDisplayMode(int index);
   398 
   398 
   399 /**
   399 /**
   400  * \fn const SDL_DisplayMode *SDL_GetDesktopDisplayMode(void)
   400  * \fn const SDL_DisplayMode *SDL_GetDesktopDisplayMode(void)
   401  *
   401  *
   402  * \brief Retrieve information about the desktop display mode for the current display.
   402  * \brief Retrieve information about the desktop display mode for the current display.
   403  */
   403  */
   404 extern DECLSPEC const SDL_DisplayMode *SDLCALL
   404 extern DECLSPEC const SDL_DisplayMode *SDLCALL
   405 SDL_GetDesktopDisplayMode (void);
   405 SDL_GetDesktopDisplayMode(void);
   406 
   406 
   407 /**
   407 /**
   408  * \fn const SDL_DisplayMode *SDL_GetCurrentDisplayMode(void)
   408  * \fn const SDL_DisplayMode *SDL_GetCurrentDisplayMode(void)
   409  *
   409  *
   410  * \brief Retrieve information about the current display mode.
   410  * \brief Retrieve information about the current display mode.
   411  */
   411  */
   412 extern DECLSPEC const SDL_DisplayMode *SDLCALL
   412 extern DECLSPEC const SDL_DisplayMode *SDLCALL
   413 SDL_GetCurrentDisplayMode (void);
   413 SDL_GetCurrentDisplayMode(void);
   414 
   414 
   415 /**
   415 /**
   416  * \fn SDL_DisplayMode *SDL_GetClosestDisplayMode(const SDL_DisplayMode *mode, SDL_DisplayMode *closest)
   416  * \fn SDL_DisplayMode *SDL_GetClosestDisplayMode(const SDL_DisplayMode *mode, SDL_DisplayMode *closest)
   417  *
   417  *
   418  * \brief Get the closest match to the requested display mode.
   418  * \brief Get the closest match to the requested display mode.
   425  * The available display modes are scanned, and 'closest' is filled in with the closest mode matching the requested mode and returned.  The mode format and refresh_rate default to the desktop mode if they are 0.  The modes are scanned with size being first priority, format being second priority, and finally checking the refresh_rate.  If all the available modes are too small, then NULL is returned.
   425  * The available display modes are scanned, and 'closest' is filled in with the closest mode matching the requested mode and returned.  The mode format and refresh_rate default to the desktop mode if they are 0.  The modes are scanned with size being first priority, format being second priority, and finally checking the refresh_rate.  If all the available modes are too small, then NULL is returned.
   426  *
   426  *
   427  * \sa SDL_GetNumDisplayModes()
   427  * \sa SDL_GetNumDisplayModes()
   428  * \sa SDL_GetDisplayMode()
   428  * \sa SDL_GetDisplayMode()
   429  */
   429  */
   430 extern DECLSPEC SDL_DisplayMode *SDLCALL SDL_GetClosestDisplayMode (const
   430 extern DECLSPEC SDL_DisplayMode *SDLCALL SDL_GetClosestDisplayMode(const
   431                                                                     SDL_DisplayMode
   431                                                                    SDL_DisplayMode
   432                                                                     * mode,
   432                                                                    * mode,
   433                                                                     SDL_DisplayMode
   433                                                                    SDL_DisplayMode
   434                                                                     *
   434                                                                    * closest);
   435                                                                     closest);
       
   436 
   435 
   437 /**
   436 /**
   438  * \fn int SDL_SetDisplayMode(const SDL_DisplayMode *mode)
   437  * \fn int SDL_SetDisplayMode(const SDL_DisplayMode *mode)
   439  *
   438  *
   440  * \brief Set up the closest available mode on the current display.
   439  * \brief Set up the closest available mode on the current display.
   441  *
   440  *
   442  * \param mode The desired display mode
   441  * \param mode The desired display mode
   443  *
   442  *
   444  * \return 0 on success, or -1 if setting the display mode failed.
   443  * \return 0 on success, or -1 if setting the display mode failed.
   445  */
   444  */
   446 extern DECLSPEC int SDLCALL SDL_SetDisplayMode (const SDL_DisplayMode * mode);
   445 extern DECLSPEC int SDLCALL SDL_SetDisplayMode(const SDL_DisplayMode * mode);
   447 
   446 
   448 /**
   447 /**
   449  * \fn SDL_WindowID SDL_CreateWindow(const char *title, int x, int y, int w, int h, Uint32 flags)
   448  * \fn SDL_WindowID SDL_CreateWindow(const char *title, int x, int y, int w, int h, Uint32 flags)
   450  *
   449  *
   451  * \brief Create a window with the specified position, dimensions, and flags.
   450  * \brief Create a window with the specified position, dimensions, and flags.
   461  *
   460  *
   462  * \note Setting the position to -1, -1, indicates any position is fine.
   461  * \note Setting the position to -1, -1, indicates any position is fine.
   463  *
   462  *
   464  * \sa SDL_DestroyWindow()
   463  * \sa SDL_DestroyWindow()
   465  */
   464  */
   466 extern DECLSPEC SDL_WindowID SDLCALL SDL_CreateWindow (const char *title,
   465 extern DECLSPEC SDL_WindowID SDLCALL SDL_CreateWindow(const char *title,
   467                                                        int x, int y, int w,
   466                                                       int x, int y, int w,
   468                                                        int h, Uint32 flags);
   467                                                       int h, Uint32 flags);
   469 
   468 
   470 /**
   469 /**
   471  * \fn SDL_WindowID SDL_CreateWindowFrom(void *data)
   470  * \fn SDL_WindowID SDL_CreateWindowFrom(void *data)
   472  *
   471  *
   473  * \brief Create an SDL window struct from an existing native window.
   472  * \brief Create an SDL window struct from an existing native window.
   478  *
   477  *
   479  * \warning This function is NOT SUPPORTED, use at your own risk!
   478  * \warning This function is NOT SUPPORTED, use at your own risk!
   480  *
   479  *
   481  * \sa SDL_DestroyWindow()
   480  * \sa SDL_DestroyWindow()
   482  */
   481  */
   483 extern DECLSPEC SDL_WindowID SDLCALL SDL_CreateWindowFrom (void *data);
   482 extern DECLSPEC SDL_WindowID SDLCALL SDL_CreateWindowFrom(void *data);
   484 
   483 
   485 /**
   484 /**
   486  * \fn Uint32 SDL_GetWindowFlags(SDL_WindowID windowID)
   485  * \fn Uint32 SDL_GetWindowFlags(SDL_WindowID windowID)
   487  *
   486  *
   488  * \brief Get the window flags.
   487  * \brief Get the window flags.
   489  */
   488  */
   490 extern DECLSPEC Uint32 SDLCALL SDL_GetWindowFlags (SDL_WindowID windowID);
   489 extern DECLSPEC Uint32 SDLCALL SDL_GetWindowFlags(SDL_WindowID windowID);
   491 
   490 
   492 /**
   491 /**
   493  * \fn void SDL_SetWindowTitle(SDL_WindowID windowID, const char *title)
   492  * \fn void SDL_SetWindowTitle(SDL_WindowID windowID, const char *title)
   494  *
   493  *
   495  * \brief Set the title of the window, in UTF-8 format.
   494  * \brief Set the title of the window, in UTF-8 format.
   496  *
   495  *
   497  * \sa SDL_GetWindowTitle()
   496  * \sa SDL_GetWindowTitle()
   498  */
   497  */
   499 extern DECLSPEC void SDLCALL SDL_SetWindowTitle (SDL_WindowID windowID,
   498 extern DECLSPEC void SDLCALL SDL_SetWindowTitle(SDL_WindowID windowID,
   500                                                  const char *title);
   499                                                 const char *title);
   501 
   500 
   502 /**
   501 /**
   503  * \fn const char *SDL_GetWindowTitle(SDL_WindowID windowID)
   502  * \fn const char *SDL_GetWindowTitle(SDL_WindowID windowID)
   504  *
   503  *
   505  * \brief Get the title of the window, in UTF-8 format.
   504  * \brief Get the title of the window, in UTF-8 format.
   506  *
   505  *
   507  * \sa SDL_SetWindowTitle()
   506  * \sa SDL_SetWindowTitle()
   508  */
   507  */
   509 extern DECLSPEC const char *SDLCALL SDL_GetWindowTitle (SDL_WindowID
   508 extern DECLSPEC const char *SDLCALL SDL_GetWindowTitle(SDL_WindowID windowID);
   510                                                         windowID);
       
   511 
   509 
   512 /**
   510 /**
   513  * \fn void SDL_SetWindowIcon(SDL_Surface *icon)
   511  * \fn void SDL_SetWindowIcon(SDL_Surface *icon)
   514  *
   512  *
   515  * \brief Set the icon of the window.
   513  * \brief Set the icon of the window.
   516  *
   514  *
   517  * \param icon The icon for the window
   515  * \param icon The icon for the window
   518  *
   516  *
   519  * FIXME: The icon needs to be set before the window is first shown.  Should some icon representation be part of the window creation data?
   517  * FIXME: The icon needs to be set before the window is first shown.  Should some icon representation be part of the window creation data?
   520  */
   518  */
   521 extern DECLSPEC void SDLCALL SDL_SetWindowIcon (SDL_Surface * icon);
   519 extern DECLSPEC void SDLCALL SDL_SetWindowIcon(SDL_Surface * icon);
   522 
   520 
   523 /**
   521 /**
   524  * \fn void SDL_SetWindowData(SDL_WindowID windowID, void *userdata)
   522  * \fn void SDL_SetWindowData(SDL_WindowID windowID, void *userdata)
   525  *
   523  *
   526  * \brief Associate an arbitrary pointer with the window.
   524  * \brief Associate an arbitrary pointer with the window.
   527  *
   525  *
   528  * \sa SDL_GetWindowData()
   526  * \sa SDL_GetWindowData()
   529  */
   527  */
   530 extern DECLSPEC void SDLCALL SDL_SetWindowData (SDL_WindowID windowID,
   528 extern DECLSPEC void SDLCALL SDL_SetWindowData(SDL_WindowID windowID,
   531                                                 void *userdata);
   529                                                void *userdata);
   532 
   530 
   533 /**
   531 /**
   534  * \fn void *SDL_GetWindowData(SDL_WindowID windowID)
   532  * \fn void *SDL_GetWindowData(SDL_WindowID windowID)
   535  *
   533  *
   536  * \brief Retrieve the data pointer associated with the window.
   534  * \brief Retrieve the data pointer associated with the window.
   537  *
   535  *
   538  * \sa SDL_SetWindowData()
   536  * \sa SDL_SetWindowData()
   539  */
   537  */
   540 extern DECLSPEC void *SDLCALL SDL_GetWindowData (SDL_WindowID windowID);
   538 extern DECLSPEC void *SDLCALL SDL_GetWindowData(SDL_WindowID windowID);
   541 
   539 
   542 /**
   540 /**
   543  * \fn void SDL_SetWindowPosition(SDL_WindowID windowID, int x, int y)
   541  * \fn void SDL_SetWindowPosition(SDL_WindowID windowID, int x, int y)
   544  *
   542  *
   545  * \brief Set the position of the window.
   543  * \brief Set the position of the window.
   546  *
   544  *
   547  * \sa SDL_GetWindowPosition()
   545  * \sa SDL_GetWindowPosition()
   548  */
   546  */
   549 extern DECLSPEC void SDLCALL SDL_SetWindowPosition (SDL_WindowID windowID,
   547 extern DECLSPEC void SDLCALL SDL_SetWindowPosition(SDL_WindowID windowID,
   550                                                     int x, int y);
   548                                                    int x, int y);
   551 
   549 
   552 /**
   550 /**
   553  * \fn void SDL_GetWindowPosition(SDL_WindowID windowID, int *x, int *y)
   551  * \fn void SDL_GetWindowPosition(SDL_WindowID windowID, int *x, int *y)
   554  *
   552  *
   555  * \brief Get the position of the window.
   553  * \brief Get the position of the window.
   556  *
   554  *
   557  * \sa SDL_SetWindowPosition()
   555  * \sa SDL_SetWindowPosition()
   558  */
   556  */
   559 extern DECLSPEC void SDLCALL SDL_GetWindowPosition (SDL_WindowID windowID,
   557 extern DECLSPEC void SDLCALL SDL_GetWindowPosition(SDL_WindowID windowID,
   560                                                     int *x, int *y);
   558                                                    int *x, int *y);
   561 
   559 
   562 /**
   560 /**
   563  * \fn void SDL_SetWindowSize(SDL_WindowID windowID, int w, int w)
   561  * \fn void SDL_SetWindowSize(SDL_WindowID windowID, int w, int w)
   564  *
   562  *
   565  * \brief Set the size of the window's client area.
   563  * \brief Set the size of the window's client area.
   567  * \note You can't change the size of a fullscreen window, it automatically
   565  * \note You can't change the size of a fullscreen window, it automatically
   568  * matches the size of the display mode.
   566  * matches the size of the display mode.
   569  *
   567  *
   570  * \sa SDL_GetWindowSize()
   568  * \sa SDL_GetWindowSize()
   571  */
   569  */
   572 extern DECLSPEC void SDLCALL SDL_SetWindowSize (SDL_WindowID windowID, int w,
   570 extern DECLSPEC void SDLCALL SDL_SetWindowSize(SDL_WindowID windowID, int w,
   573                                                 int h);
   571                                                int h);
   574 
   572 
   575 /**
   573 /**
   576  * \fn void SDL_GetWindowSize(SDL_WindowID windowID, int *w, int *w)
   574  * \fn void SDL_GetWindowSize(SDL_WindowID windowID, int *w, int *w)
   577  *
   575  *
   578  * \brief Get the size of the window's client area.
   576  * \brief Get the size of the window's client area.
   579  *
   577  *
   580  * \sa SDL_SetWindowSize()
   578  * \sa SDL_SetWindowSize()
   581  */
   579  */
   582 extern DECLSPEC void SDLCALL SDL_GetWindowSize (SDL_WindowID windowID, int *w,
   580 extern DECLSPEC void SDLCALL SDL_GetWindowSize(SDL_WindowID windowID, int *w,
   583                                                 int *h);
   581                                                int *h);
   584 
   582 
   585 /**
   583 /**
   586  * \fn void SDL_ShowWindow(SDL_WindowID windowID)
   584  * \fn void SDL_ShowWindow(SDL_WindowID windowID)
   587  *
   585  *
   588  * \brief Show the window
   586  * \brief Show the window
   589  *
   587  *
   590  * \sa SDL_HideWindow()
   588  * \sa SDL_HideWindow()
   591  */
   589  */
   592 extern DECLSPEC void SDLCALL SDL_ShowWindow (SDL_WindowID windowID);
   590 extern DECLSPEC void SDLCALL SDL_ShowWindow(SDL_WindowID windowID);
   593 
   591 
   594 /**
   592 /**
   595  * \fn void SDL_HideWindow(SDL_WindowID windowID)
   593  * \fn void SDL_HideWindow(SDL_WindowID windowID)
   596  *
   594  *
   597  * \brief Hide the window
   595  * \brief Hide the window
   598  *
   596  *
   599  * \sa SDL_ShowWindow()
   597  * \sa SDL_ShowWindow()
   600  */
   598  */
   601 extern DECLSPEC void SDLCALL SDL_HideWindow (SDL_WindowID windowID);
   599 extern DECLSPEC void SDLCALL SDL_HideWindow(SDL_WindowID windowID);
   602 
   600 
   603 /**
   601 /**
   604  * \fn void SDL_RaiseWindow(SDL_WindowID windowID)
   602  * \fn void SDL_RaiseWindow(SDL_WindowID windowID)
   605  *
   603  *
   606  * \brief Raise the window so it's above other windows.
   604  * \brief Raise the window so it's above other windows.
   607  */
   605  */
   608 extern DECLSPEC void SDLCALL SDL_RaiseWindow (SDL_WindowID windowID);
   606 extern DECLSPEC void SDLCALL SDL_RaiseWindow(SDL_WindowID windowID);
   609 
   607 
   610 /**
   608 /**
   611  * \fn void SDL_MaximizeWindow(SDL_WindowID windowID)
   609  * \fn void SDL_MaximizeWindow(SDL_WindowID windowID)
   612  *
   610  *
   613  * \brief Make the window as large as possible.
   611  * \brief Make the window as large as possible.
   614  *
   612  *
   615  * \sa SDL_RestoreWindow()
   613  * \sa SDL_RestoreWindow()
   616  */
   614  */
   617 extern DECLSPEC void SDLCALL SDL_MaximizeWindow (SDL_WindowID windowID);
   615 extern DECLSPEC void SDLCALL SDL_MaximizeWindow(SDL_WindowID windowID);
   618 
   616 
   619 /**
   617 /**
   620  * \fn void SDL_MinimizeWindow(SDL_WindowID windowID)
   618  * \fn void SDL_MinimizeWindow(SDL_WindowID windowID)
   621  *
   619  *
   622  * \brief Minimize the window to an iconic representation.
   620  * \brief Minimize the window to an iconic representation.
   623  *
   621  *
   624  * \sa SDL_RestoreWindow()
   622  * \sa SDL_RestoreWindow()
   625  */
   623  */
   626 extern DECLSPEC void SDLCALL SDL_MinimizeWindow (SDL_WindowID windowID);
   624 extern DECLSPEC void SDLCALL SDL_MinimizeWindow(SDL_WindowID windowID);
   627 
   625 
   628 /**
   626 /**
   629  * \fn void SDL_RestoreWindow(SDL_WindowID windowID)
   627  * \fn void SDL_RestoreWindow(SDL_WindowID windowID)
   630  *
   628  *
   631  * \brief Restore the size and position of a minimized or maximized window.
   629  * \brief Restore the size and position of a minimized or maximized window.
   632  *
   630  *
   633  * \sa SDL_MaximizeWindow()
   631  * \sa SDL_MaximizeWindow()
   634  * \sa SDL_MinimizeWindow()
   632  * \sa SDL_MinimizeWindow()
   635  */
   633  */
   636 extern DECLSPEC void SDLCALL SDL_RestoreWindow (SDL_WindowID windowID);
   634 extern DECLSPEC void SDLCALL SDL_RestoreWindow(SDL_WindowID windowID);
   637 
   635 
   638 /**
   636 /**
   639  * \fn void SDL_SetWindowGrab(SDL_WindowID windowID, int mode)
   637  * \fn void SDL_SetWindowGrab(SDL_WindowID windowID, int mode)
   640  *
   638  *
   641  * \brief Set the window's input grab mode.
   639  * \brief Set the window's input grab mode.
   643  * \param mode This is 1 to grab input, and 0 to release input.
   641  * \param mode This is 1 to grab input, and 0 to release input.
   644  *
   642  *
   645  * \sa SDL_GrabMode
   643  * \sa SDL_GrabMode
   646  * \sa SDL_GetWindowGrab()
   644  * \sa SDL_GetWindowGrab()
   647  */
   645  */
   648 extern DECLSPEC void SDLCALL SDL_SetWindowGrab (SDL_WindowID windowID,
   646 extern DECLSPEC void SDLCALL SDL_SetWindowGrab(SDL_WindowID windowID,
   649                                                 int mode);
   647                                                int mode);
   650 
   648 
   651 /**
   649 /**
   652  * \fn int SDL_GetWindowGrab(SDL_WindowID windowID)
   650  * \fn int SDL_GetWindowGrab(SDL_WindowID windowID)
   653  *
   651  *
   654  * \brief Get the window's input grab mode.
   652  * \brief Get the window's input grab mode.
   656  * \return This returns 1 if input is grabbed, and 0 otherwise.
   654  * \return This returns 1 if input is grabbed, and 0 otherwise.
   657  *
   655  *
   658  * \sa SDL_GrabMode
   656  * \sa SDL_GrabMode
   659  * \sa SDL_SetWindowGrab()
   657  * \sa SDL_SetWindowGrab()
   660  */
   658  */
   661 extern DECLSPEC int SDLCALL SDL_GetWindowGrab (SDL_WindowID windowID);
   659 extern DECLSPEC int SDLCALL SDL_GetWindowGrab(SDL_WindowID windowID);
   662 
   660 
   663 /**
   661 /**
   664  * \fn void SDL_DestroyWindow(SDL_WindowID windowID)
   662  * \fn void SDL_DestroyWindow(SDL_WindowID windowID)
   665  *
   663  *
   666  * \brief Destroy a window.
   664  * \brief Destroy a window.
   667  */
   665  */
   668 extern DECLSPEC void SDLCALL SDL_DestroyWindow (SDL_WindowID windowID);
   666 extern DECLSPEC void SDLCALL SDL_DestroyWindow(SDL_WindowID windowID);
   669 
   667 
   670 /**
   668 /**
   671  * \fn SDL_Surface *SDL_CreateWindowSurface (SDL_WindowID windowID, Uint32 format, Uint32 flags)
   669  * \fn SDL_Surface *SDL_CreateWindowSurface (SDL_WindowID windowID, Uint32 format, Uint32 flags)
   672  *
   670  *
   673  * \brief Create an SDL_Surface representing the drawing area of the window.
   671  * \brief Create an SDL_Surface representing the drawing area of the window.
   674  */
   672  */
   675 extern DECLSPEC SDL_Surface *SDLCALL SDL_CreateWindowSurface (SDL_WindowID
   673 extern DECLSPEC SDL_Surface *SDLCALL SDL_CreateWindowSurface(SDL_WindowID
   676                                                               windowID,
   674                                                              windowID,
   677                                                               Uint32 format,
   675                                                              Uint32 format,
   678                                                               Uint32 flags);
   676                                                              Uint32 flags);
   679 
   677 
   680 /*
   678 /*
   681  * Makes sure the given list of rectangles is updated on the given screen.
   679  * Makes sure the given list of rectangles is updated on the given screen.
   682  * If 'x', 'y', 'w' and 'h' are all 0, SDL_UpdateRect will update the entire
   680  * If 'x', 'y', 'w' and 'h' are all 0, SDL_UpdateRect will update the entire
   683  * screen.
   681  * screen.
   696  * to calling SDL_UpdateRect(screen, 0, 0, 0, 0);
   694  * to calling SDL_UpdateRect(screen, 0, 0, 0, 0);
   697  * The SDL_DOUBLEBUF flag must have been passed to SDL_SetVideoMode() when
   695  * The SDL_DOUBLEBUF flag must have been passed to SDL_SetVideoMode() when
   698  * setting the video mode for this function to perform hardware flipping.
   696  * setting the video mode for this function to perform hardware flipping.
   699  * This function returns 0 if successful, or -1 if there was an error.
   697  * This function returns 0 if successful, or -1 if there was an error.
   700  */
   698  */
   701 extern DECLSPEC int SDLCALL SDL_Flip (SDL_Surface * screen);
   699 extern DECLSPEC int SDLCALL SDL_Flip(SDL_Surface * screen);
   702 
   700 
   703 /*
   701 /*
   704  * Set the gamma correction for each of the color channels.
   702  * Set the gamma correction for each of the color channels.
   705  * The gamma values range (approximately) between 0.1 and 10.0
   703  * The gamma values range (approximately) between 0.1 and 10.0
   706  * 
   704  * 
   707  * If this function isn't supported directly by the hardware, it will
   705  * If this function isn't supported directly by the hardware, it will
   708  * be emulated using gamma ramps, if available.  If successful, this
   706  * be emulated using gamma ramps, if available.  If successful, this
   709  * function returns 0, otherwise it returns -1.
   707  * function returns 0, otherwise it returns -1.
   710  */
   708  */
   711 extern DECLSPEC int SDLCALL SDL_SetGamma (float red, float green, float blue);
   709 extern DECLSPEC int SDLCALL SDL_SetGamma(float red, float green, float blue);
   712 
   710 
   713 /*
   711 /*
   714  * Set the gamma translation table for the red, green, and blue channels
   712  * Set the gamma translation table for the red, green, and blue channels
   715  * of the video hardware.  Each table is an array of 256 16-bit quantities,
   713  * of the video hardware.  Each table is an array of 256 16-bit quantities,
   716  * representing a mapping between the input and output for that channel.
   714  * representing a mapping between the input and output for that channel.
   720  * You may pass NULL for any of the channels to leave it unchanged.
   718  * You may pass NULL for any of the channels to leave it unchanged.
   721  * If the call succeeds, it will return 0.  If the display driver or
   719  * If the call succeeds, it will return 0.  If the display driver or
   722  * hardware does not support gamma translation, or otherwise fails,
   720  * hardware does not support gamma translation, or otherwise fails,
   723  * this function will return -1.
   721  * this function will return -1.
   724  */
   722  */
   725 extern DECLSPEC int SDLCALL SDL_SetGammaRamp (const Uint16 * red,
   723 extern DECLSPEC int SDLCALL SDL_SetGammaRamp(const Uint16 * red,
   726                                               const Uint16 * green,
   724                                              const Uint16 * green,
   727                                               const Uint16 * blue);
   725                                              const Uint16 * blue);
   728 
   726 
   729 /*
   727 /*
   730  * Retrieve the current values of the gamma translation tables.
   728  * Retrieve the current values of the gamma translation tables.
   731  * 
   729  * 
   732  * You must pass in valid pointers to arrays of 256 16-bit quantities.
   730  * You must pass in valid pointers to arrays of 256 16-bit quantities.
   733  * Any of the pointers may be NULL to ignore that channel.
   731  * Any of the pointers may be NULL to ignore that channel.
   734  * If the call succeeds, it will return 0.  If the display driver or
   732  * If the call succeeds, it will return 0.  If the display driver or
   735  * hardware does not support gamma translation, or otherwise fails,
   733  * hardware does not support gamma translation, or otherwise fails,
   736  * this function will return -1.
   734  * this function will return -1.
   737  */
   735  */
   738 extern DECLSPEC int SDLCALL SDL_GetGammaRamp (Uint16 * red, Uint16 * green,
   736 extern DECLSPEC int SDLCALL SDL_GetGammaRamp(Uint16 * red, Uint16 * green,
   739                                               Uint16 * blue);
   737                                              Uint16 * blue);
   740 
   738 
   741 /*
   739 /*
   742  * Sets a portion of the colormap for the given 8-bit surface.  If 'surface'
   740  * Sets a portion of the colormap for the given 8-bit surface.  If 'surface'
   743  * is not a palettized surface, this function does nothing, returning 0.
   741  * is not a palettized surface, this function does nothing, returning 0.
   744  * If all of the colors were set as passed to SDL_SetColors(), it will
   742  * If all of the colors were set as passed to SDL_SetColors(), it will
   751  * SDL_HWPALETTE was set in SDL_SetVideoMode() flags, SDL_SetColors()
   749  * SDL_HWPALETTE was set in SDL_SetVideoMode() flags, SDL_SetColors()
   752  * will always return 1, and the palette is guaranteed to be set the way
   750  * will always return 1, and the palette is guaranteed to be set the way
   753  * you desire, even if the window colormap has to be warped or run under
   751  * you desire, even if the window colormap has to be warped or run under
   754  * emulation.
   752  * emulation.
   755  */
   753  */
   756 extern DECLSPEC int SDLCALL SDL_SetColors (SDL_Surface * surface,
   754 extern DECLSPEC int SDLCALL SDL_SetColors(SDL_Surface * surface,
   757                                            SDL_Color * colors, int firstcolor,
   755                                           SDL_Color * colors, int firstcolor,
   758                                            int ncolors);
   756                                           int ncolors);
   759 
   757 
   760 /*
   758 /*
   761  * Maps an RGB triple to an opaque pixel value for a given pixel format
   759  * Maps an RGB triple to an opaque pixel value for a given pixel format
   762  */
   760  */
   763 extern DECLSPEC Uint32 SDLCALL SDL_MapRGB
   761 extern DECLSPEC Uint32 SDLCALL SDL_MapRGB
   764     (SDL_PixelFormat * format, Uint8 r, Uint8 g, Uint8 b);
   762     (SDL_PixelFormat * format, Uint8 r, Uint8 g, Uint8 b);
   765 
   763 
   766 /*
   764 /*
   767  * Maps an RGBA quadruple to a pixel value for a given pixel format
   765  * Maps an RGBA quadruple to a pixel value for a given pixel format
   768  */
   766  */
   769 extern DECLSPEC Uint32 SDLCALL SDL_MapRGBA (SDL_PixelFormat * format,
   767 extern DECLSPEC Uint32 SDLCALL SDL_MapRGBA(SDL_PixelFormat * format,
   770                                             Uint8 r, Uint8 g, Uint8 b,
   768                                            Uint8 r, Uint8 g, Uint8 b,
   771                                             Uint8 a);
   769                                            Uint8 a);
   772 
   770 
   773 /*
   771 /*
   774  * Maps a pixel value into the RGB components for a given pixel format
   772  * Maps a pixel value into the RGB components for a given pixel format
   775  */
   773  */
   776 extern DECLSPEC void SDLCALL SDL_GetRGB (Uint32 pixel, SDL_PixelFormat * fmt,
   774 extern DECLSPEC void SDLCALL SDL_GetRGB(Uint32 pixel, SDL_PixelFormat * fmt,
   777                                          Uint8 * r, Uint8 * g, Uint8 * b);
   775                                         Uint8 * r, Uint8 * g, Uint8 * b);
   778 
   776 
   779 /*
   777 /*
   780  * Maps a pixel value into the RGBA components for a given pixel format
   778  * Maps a pixel value into the RGBA components for a given pixel format
   781  */
   779  */
   782 extern DECLSPEC void SDLCALL SDL_GetRGBA (Uint32 pixel, SDL_PixelFormat * fmt,
   780 extern DECLSPEC void SDLCALL SDL_GetRGBA(Uint32 pixel, SDL_PixelFormat * fmt,
   783                                           Uint8 * r, Uint8 * g, Uint8 * b,
   781                                          Uint8 * r, Uint8 * g, Uint8 * b,
   784                                           Uint8 * a);
   782                                          Uint8 * a);
   785 
   783 
   786 /*
   784 /*
   787  * Allocate and free an RGB surface (must be called after SDL_SetVideoMode)
   785  * Allocate and free an RGB surface (must be called after SDL_SetVideoMode)
   788  * If the depth is 4 or 8 bits, an empty palette is allocated for the surface.
   786  * If the depth is 4 or 8 bits, an empty palette is allocated for the surface.
   789  * If the depth is greater than 8 bits, the pixel format is set using the
   787  * If the depth is greater than 8 bits, the pixel format is set using the
   819  */
   817  */
   820 #define SDL_AllocSurface    SDL_CreateRGBSurface
   818 #define SDL_AllocSurface    SDL_CreateRGBSurface
   821 extern DECLSPEC SDL_Surface *SDLCALL SDL_CreateRGBSurface
   819 extern DECLSPEC SDL_Surface *SDLCALL SDL_CreateRGBSurface
   822     (Uint32 flags, int width, int height, int depth,
   820     (Uint32 flags, int width, int height, int depth,
   823      Uint32 Rmask, Uint32 Gmask, Uint32 Bmask, Uint32 Amask);
   821      Uint32 Rmask, Uint32 Gmask, Uint32 Bmask, Uint32 Amask);
   824 extern DECLSPEC SDL_Surface *SDLCALL SDL_CreateRGBSurfaceFrom (void *pixels,
   822 extern DECLSPEC SDL_Surface *SDLCALL SDL_CreateRGBSurfaceFrom(void *pixels,
   825                                                                int width,
   823                                                               int width,
   826                                                                int height,
   824                                                               int height,
   827                                                                int depth,
   825                                                               int depth,
   828                                                                int pitch,
   826                                                               int pitch,
   829                                                                Uint32 Rmask,
   827                                                               Uint32 Rmask,
   830                                                                Uint32 Gmask,
   828                                                               Uint32 Gmask,
   831                                                                Uint32 Bmask,
   829                                                               Uint32 Bmask,
   832                                                                Uint32 Amask);
   830                                                               Uint32 Amask);
   833 extern DECLSPEC void SDLCALL SDL_FreeSurface (SDL_Surface * surface);
   831 extern DECLSPEC void SDLCALL SDL_FreeSurface(SDL_Surface * surface);
   834 
   832 
   835 /*
   833 /*
   836  * SDL_LockSurface() sets up a surface for directly accessing the pixels.
   834  * SDL_LockSurface() sets up a surface for directly accessing the pixels.
   837  * Between calls to SDL_LockSurface()/SDL_UnlockSurface(), you can write
   835  * Between calls to SDL_LockSurface()/SDL_UnlockSurface(), you can write
   838  * to and read from 'surface->pixels', using the pixel format stored in 
   836  * to and read from 'surface->pixels', using the pixel format stored in 
   848  * No operating system or library calls should be made between lock/unlock
   846  * No operating system or library calls should be made between lock/unlock
   849  * pairs, as critical system locks may be held during this time.
   847  * pairs, as critical system locks may be held during this time.
   850  *
   848  *
   851  * SDL_LockSurface() returns 0, or -1 if the surface couldn't be locked.
   849  * SDL_LockSurface() returns 0, or -1 if the surface couldn't be locked.
   852  */
   850  */
   853 extern DECLSPEC int SDLCALL SDL_LockSurface (SDL_Surface * surface);
   851 extern DECLSPEC int SDLCALL SDL_LockSurface(SDL_Surface * surface);
   854 extern DECLSPEC void SDLCALL SDL_UnlockSurface (SDL_Surface * surface);
   852 extern DECLSPEC void SDLCALL SDL_UnlockSurface(SDL_Surface * surface);
   855 
   853 
   856 /*
   854 /*
   857  * Load a surface from a seekable SDL data source (memory or file.)
   855  * Load a surface from a seekable SDL data source (memory or file.)
   858  * If 'freesrc' is non-zero, the source will be closed after being read.
   856  * If 'freesrc' is non-zero, the source will be closed after being read.
   859  * Returns the new surface, or NULL if there was an error.
   857  * Returns the new surface, or NULL if there was an error.
   860  * The new surface should be freed with SDL_FreeSurface().
   858  * The new surface should be freed with SDL_FreeSurface().
   861  */
   859  */
   862 extern DECLSPEC SDL_Surface *SDLCALL SDL_LoadBMP_RW (SDL_RWops * src,
   860 extern DECLSPEC SDL_Surface *SDLCALL SDL_LoadBMP_RW(SDL_RWops * src,
   863                                                      int freesrc);
   861                                                     int freesrc);
   864 
   862 
   865 /* Convenience macro -- load a surface from a file */
   863 /* Convenience macro -- load a surface from a file */
   866 #define SDL_LoadBMP(file)	SDL_LoadBMP_RW(SDL_RWFromFile(file, "rb"), 1)
   864 #define SDL_LoadBMP(file)	SDL_LoadBMP_RW(SDL_RWFromFile(file, "rb"), 1)
   867 
   865 
   868 /*
   866 /*
   902  * OR:ing the flag with SDL_RLEACCEL requests RLE acceleration for the
   900  * OR:ing the flag with SDL_RLEACCEL requests RLE acceleration for the
   903  * surface; if SDL_RLEACCEL is not specified, the RLE accel will be removed.
   901  * surface; if SDL_RLEACCEL is not specified, the RLE accel will be removed.
   904  *
   902  *
   905  * The 'alpha' parameter is ignored for surfaces that have an alpha channel.
   903  * The 'alpha' parameter is ignored for surfaces that have an alpha channel.
   906  */
   904  */
   907 extern DECLSPEC int SDLCALL SDL_SetAlpha (SDL_Surface * surface, Uint32 flag,
   905 extern DECLSPEC int SDLCALL SDL_SetAlpha(SDL_Surface * surface, Uint32 flag,
   908                                           Uint8 alpha);
   906                                          Uint8 alpha);
   909 
   907 
   910 /*
   908 /*
   911  * Sets the clipping rectangle for the destination surface in a blit.
   909  * Sets the clipping rectangle for the destination surface in a blit.
   912  *
   910  *
   913  * If the clip rectangle is NULL, clipping will be disabled.
   911  * If the clip rectangle is NULL, clipping will be disabled.
   917  * the intersection of the surface area and the clipping rectangle.
   915  * the intersection of the surface area and the clipping rectangle.
   918  *
   916  *
   919  * Note that blits are automatically clipped to the edges of the source
   917  * Note that blits are automatically clipped to the edges of the source
   920  * and destination surfaces.
   918  * and destination surfaces.
   921  */
   919  */
   922 extern DECLSPEC SDL_bool SDLCALL SDL_SetClipRect (SDL_Surface * surface,
   920 extern DECLSPEC SDL_bool SDLCALL SDL_SetClipRect(SDL_Surface * surface,
   923                                                   const SDL_Rect * rect);
   921                                                  const SDL_Rect * rect);
   924 
   922 
   925 /*
   923 /*
   926  * Gets the clipping rectangle for the destination surface in a blit.
   924  * Gets the clipping rectangle for the destination surface in a blit.
   927  * 'rect' must be a pointer to a valid rectangle which will be filled
   925  * 'rect' must be a pointer to a valid rectangle which will be filled
   928  * with the correct values.
   926  * with the correct values.
   929  */
   927  */
   930 extern DECLSPEC void SDLCALL SDL_GetClipRect (SDL_Surface * surface,
   928 extern DECLSPEC void SDLCALL SDL_GetClipRect(SDL_Surface * surface,
   931                                               SDL_Rect * rect);
   929                                              SDL_Rect * rect);
   932 
   930 
   933 /*
   931 /*
   934  * Creates a new surface of the specified format, and then copies and maps 
   932  * Creates a new surface of the specified format, and then copies and maps 
   935  * the given surface to it so the blit of the converted surface will be as 
   933  * the given surface to it so the blit of the converted surface will be as 
   936  * fast as possible.  If this function fails, it returns NULL.
   934  * fast as possible.  If this function fails, it returns NULL.
  1050  * acceleration, you should set the colorkey and alpha value before
  1048  * acceleration, you should set the colorkey and alpha value before
  1051  * calling this function.
  1049  * calling this function.
  1052  *
  1050  *
  1053  * If the conversion fails or runs out of memory, it returns NULL
  1051  * If the conversion fails or runs out of memory, it returns NULL
  1054  */
  1052  */
  1055 extern DECLSPEC SDL_Surface *SDLCALL SDL_DisplayFormat (SDL_Surface *
  1053 extern DECLSPEC SDL_Surface *SDLCALL SDL_DisplayFormat(SDL_Surface * surface);
  1056                                                         surface);
       
  1057 
  1054 
  1058 /* 
  1055 /* 
  1059  * This function takes a surface and copies it to a new surface of the
  1056  * This function takes a surface and copies it to a new surface of the
  1060  * pixel format and colors of the video framebuffer (if possible),
  1057  * pixel format and colors of the video framebuffer (if possible),
  1061  * suitable for fast alpha blitting onto the display surface.
  1058  * suitable for fast alpha blitting onto the display surface.
  1065  * acceleration, you should set the colorkey and alpha value before
  1062  * acceleration, you should set the colorkey and alpha value before
  1066  * calling this function.
  1063  * calling this function.
  1067  *
  1064  *
  1068  * If the conversion fails or runs out of memory, it returns NULL
  1065  * If the conversion fails or runs out of memory, it returns NULL
  1069  */
  1066  */
  1070 extern DECLSPEC SDL_Surface *SDLCALL SDL_DisplayFormatAlpha (SDL_Surface *
  1067 extern DECLSPEC SDL_Surface *SDLCALL SDL_DisplayFormatAlpha(SDL_Surface *
  1071                                                              surface);
  1068                                                             surface);
  1072 
  1069 
  1073 
  1070 
  1074 /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
  1071 /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
  1075 /* YUV video surface overlay functions                                       */
  1072 /* YUV video surface overlay functions                                       */
  1076 /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
  1073 /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
  1078 /* This function creates a video output overlay
  1075 /* This function creates a video output overlay
  1079    Calling the returned surface an overlay is something of a misnomer because
  1076    Calling the returned surface an overlay is something of a misnomer because
  1080    the contents of the display surface underneath the area where the overlay
  1077    the contents of the display surface underneath the area where the overlay
  1081    is shown is undefined - it may be overwritten with the converted YUV data.
  1078    is shown is undefined - it may be overwritten with the converted YUV data.
  1082 */
  1079 */
  1083 extern DECLSPEC SDL_Overlay *SDLCALL SDL_CreateYUVOverlay (int width,
  1080 extern DECLSPEC SDL_Overlay *SDLCALL SDL_CreateYUVOverlay(int width,
  1084                                                            int height,
  1081                                                           int height,
  1085                                                            Uint32 format,
  1082                                                           Uint32 format,
  1086                                                            SDL_Surface *
  1083                                                           SDL_Surface *
  1087                                                            display);
  1084                                                           display);
  1088 
  1085 
  1089 /* Lock an overlay for direct access, and unlock it when you are done */
  1086 /* Lock an overlay for direct access, and unlock it when you are done */
  1090 extern DECLSPEC int SDLCALL SDL_LockYUVOverlay (SDL_Overlay * overlay);
  1087 extern DECLSPEC int SDLCALL SDL_LockYUVOverlay(SDL_Overlay * overlay);
  1091 extern DECLSPEC void SDLCALL SDL_UnlockYUVOverlay (SDL_Overlay * overlay);
  1088 extern DECLSPEC void SDLCALL SDL_UnlockYUVOverlay(SDL_Overlay * overlay);
  1092 
  1089 
  1093 /* Blit a video overlay to the display surface.
  1090 /* Blit a video overlay to the display surface.
  1094    The contents of the video surface underneath the blit destination are
  1091    The contents of the video surface underneath the blit destination are
  1095    not defined.  
  1092    not defined.  
  1096    The width and height of the destination rectangle may be different from
  1093    The width and height of the destination rectangle may be different from
  1097    that of the overlay, but currently only 2x scaling is supported.
  1094    that of the overlay, but currently only 2x scaling is supported.
  1098 */
  1095 */
  1099 extern DECLSPEC int SDLCALL SDL_DisplayYUVOverlay (SDL_Overlay * overlay,
  1096 extern DECLSPEC int SDLCALL SDL_DisplayYUVOverlay(SDL_Overlay * overlay,
  1100                                                    SDL_Rect * dstrect);
  1097                                                   SDL_Rect * dstrect);
  1101 
  1098 
  1102 /* Free a video overlay */
  1099 /* Free a video overlay */
  1103 extern DECLSPEC void SDLCALL SDL_FreeYUVOverlay (SDL_Overlay * overlay);
  1100 extern DECLSPEC void SDLCALL SDL_FreeYUVOverlay(SDL_Overlay * overlay);
  1104 
  1101 
  1105 
  1102 
  1106 /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
  1103 /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
  1107 /* OpenGL support functions.                                                 */
  1104 /* OpenGL support functions.                                                 */
  1108 /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
  1105 /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
  1111  * Dynamically load an OpenGL library, or the default one if path is NULL
  1108  * Dynamically load an OpenGL library, or the default one if path is NULL
  1112  *
  1109  *
  1113  * If you do this, you need to retrieve all of the GL functions used in
  1110  * If you do this, you need to retrieve all of the GL functions used in
  1114  * your program from the dynamic library using SDL_GL_GetProcAddress().
  1111  * your program from the dynamic library using SDL_GL_GetProcAddress().
  1115  */
  1112  */
  1116 extern DECLSPEC int SDLCALL SDL_GL_LoadLibrary (const char *path);
  1113 extern DECLSPEC int SDLCALL SDL_GL_LoadLibrary(const char *path);
  1117 
  1114 
  1118 /*
  1115 /*
  1119  * Get the address of a GL function
  1116  * Get the address of a GL function
  1120  */
  1117  */
  1121 extern DECLSPEC void *SDLCALL SDL_GL_GetProcAddress (const char *proc);
  1118 extern DECLSPEC void *SDLCALL SDL_GL_GetProcAddress(const char *proc);
  1122 
  1119 
  1123 /*
  1120 /*
  1124  * Set an attribute of the OpenGL subsystem before window creation.
  1121  * Set an attribute of the OpenGL subsystem before window creation.
  1125  */
  1122  */
  1126 extern DECLSPEC int SDLCALL SDL_GL_SetAttribute (SDL_GLattr attr, int value);
  1123 extern DECLSPEC int SDLCALL SDL_GL_SetAttribute(SDL_GLattr attr, int value);
  1127 
  1124 
  1128 /*
  1125 /*
  1129  * Get an attribute of the OpenGL subsystem from the windowing
  1126  * Get an attribute of the OpenGL subsystem from the windowing
  1130  * interface, such as glX. This is of course different from getting
  1127  * interface, such as glX. This is of course different from getting
  1131  * the values from SDL's internal OpenGL subsystem, which only
  1128  * the values from SDL's internal OpenGL subsystem, which only
  1132  * stores the values you request before initialization.
  1129  * stores the values you request before initialization.
  1133  *
  1130  *
  1134  * Developers should track the values they pass into SDL_GL_SetAttribute
  1131  * Developers should track the values they pass into SDL_GL_SetAttribute
  1135  * themselves if they want to retrieve these values.
  1132  * themselves if they want to retrieve these values.
  1136  */
  1133  */
  1137 extern DECLSPEC int SDLCALL SDL_GL_GetAttribute (SDL_GLattr attr, int *value);
  1134 extern DECLSPEC int SDLCALL SDL_GL_GetAttribute(SDL_GLattr attr, int *value);
  1138 
  1135 
  1139 /*
  1136 /*
  1140  * Swap the OpenGL buffers, if double-buffering is supported.
  1137  * Swap the OpenGL buffers, if double-buffering is supported.
  1141  */
  1138  */
  1142 extern DECLSPEC void SDLCALL SDL_GL_SwapBuffers (void);
  1139 extern DECLSPEC void SDLCALL SDL_GL_SwapBuffers(void);
  1143 
  1140 
  1144 /* Not in public API at the moment - do not use! */
  1141 /* Not in public API at the moment - do not use! */
  1145 extern DECLSPEC int SDLCALL SDL_SoftStretch (SDL_Surface * src,
  1142 extern DECLSPEC int SDLCALL SDL_SoftStretch(SDL_Surface * src,
  1146                                              SDL_Rect * srcrect,
  1143                                             SDL_Rect * srcrect,
  1147                                              SDL_Surface * dst,
  1144                                             SDL_Surface * dst,
  1148                                              SDL_Rect * dstrect);
  1145                                             SDL_Rect * dstrect);
  1149 
  1146 
  1150 /* Ends C function definitions when using C++ */
  1147 /* Ends C function definitions when using C++ */
  1151 #ifdef __cplusplus
  1148 #ifdef __cplusplus
  1152 /* *INDENT-OFF* */
  1149 /* *INDENT-OFF* */
  1153 }
  1150 }