| 1 | /* |
| 2 | SDL - Simple DirectMedia Layer |
| 3 | Copyright (C) 1997-2009 Sam Lantinga |
| 4 | |
| 5 | This library is free software; you can redistribute it and/or |
| 6 | modify it under the terms of the GNU Lesser General Public |
| 7 | License as published by the Free Software Foundation; either |
| 8 | version 2.1 of the License, or (at your option) any later version. |
| 9 | |
| 10 | This library is distributed in the hope that it will be useful, |
| 11 | but WITHOUT ANY WARRANTY; without even the implied warranty of |
| 12 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU |
| 13 | Lesser General Public License for more details. |
| 14 | |
| 15 | You should have received a copy of the GNU Lesser General Public |
| 16 | License along with this library; if not, write to the Free Software |
| 17 | Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA |
| 18 | |
| 19 | Sam Lantinga |
| 20 | slouken@libsdl.org |
| 21 | */ |
| 22 | #include "SDL_config.h" |
| 23 | |
| 24 | #ifndef _SDL_dx5video_h |
| 25 | #define _SDL_dx5video_h |
| 26 | |
| 27 | #include "directx.h" |
| 28 | |
| 29 | /* Private display data */ |
| 30 | struct SDL_PrivateVideoData { |
| 31 | LPDIRECTDRAW2 ddraw2; |
| 32 | LPDIRECTDRAWSURFACE3 SDL_primary; |
| 33 | LPDIRECTDRAWCLIPPER SDL_clipper; |
| 34 | LPDIRECTDRAWPALETTE SDL_palette; |
| 35 | PALETTEENTRY SDL_colors[256]; |
| 36 | int colorchange_expected; |
| 37 | |
| 38 | #define NUM_MODELISTS 4 /* 8, 16, 24, and 32 bits-per-pixel */ |
| 39 | int SDL_nummodes[NUM_MODELISTS]; |
| 40 | SDL_Rect **SDL_modelist[NUM_MODELISTS]; |
| 41 | int SDL_modeindex[NUM_MODELISTS]; |
| 42 | }; |
| 43 | /* Old variable names */ |
| 44 | #define ddraw2 (this->hidden->ddraw2) |
| 45 | #define SDL_primary (this->hidden->SDL_primary) |
| 46 | #define SDL_clipper (this->hidden->SDL_clipper) |
| 47 | #define SDL_palette (this->hidden->SDL_palette) |
| 48 | #define SDL_colors (this->hidden->SDL_colors) |
| 49 | #define colorchange_expected (this->hidden->colorchange_expected) |
| 50 | #define SDL_nummodes (this->hidden->SDL_nummodes) |
| 51 | #define SDL_modelist (this->hidden->SDL_modelist) |
| 52 | #define SDL_modeindex (this->hidden->SDL_modeindex) |
| 53 | |
| 54 | /* DirectX function pointers for video and events */ |
| 55 | extern HRESULT (WINAPI *DDrawCreate)( GUID FAR *lpGUID, LPDIRECTDRAW FAR *lplpDD, IUnknown FAR *pUnkOuter ); |
| 56 | extern HRESULT (WINAPI *DInputCreate)(HINSTANCE hinst, DWORD dwVersion, LPDIRECTINPUT *ppDI, LPUNKNOWN punkOuter); |
| 57 | |
| 58 | /* DirectDraw error reporting function */ |
| 59 | extern void SetDDerror(const char *function, int code); |
| 60 | |
| 61 | #endif /* _SDL_dx5video_h */ |