Quake-2

Quake 2 GPL Source Release
Log | Files | Refs

rw_win.h (2159B)


      1 /*
      2 Copyright (C) 1997-2001 Id Software, Inc.
      3 
      4 This program is free software; you can redistribute it and/or
      5 modify it under the terms of the GNU General Public License
      6 as published by the Free Software Foundation; either version 2
      7 of the License, or (at your option) any later version.
      8 
      9 This program is distributed in the hope that it will be useful,
     10 but WITHOUT ANY WARRANTY; without even the implied warranty of
     11 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  
     12 
     13 See the GNU General Public License for more details.
     14 
     15 You should have received a copy of the GNU General Public License
     16 along with this program; if not, write to the Free Software
     17 Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA  02111-1307, USA.
     18 
     19 */
     20 #ifndef __RW_WIN_H__
     21 #define __RW_WIN_H__
     22 
     23 #include <windows.h>
     24 #include <ddraw.h>
     25 
     26 typedef struct
     27 {
     28 	HINSTANCE		hInstance;
     29 	void			*wndproc;
     30 	HDC				hDC;				// global DC we're using
     31 	HWND			hWnd;				// HWND of parent window
     32 
     33 	HDC				hdcDIBSection;		// DC compatible with DIB section
     34 	HBITMAP			hDIBSection;		// DIB section
     35 	unsigned char	*pDIBBase;			// DIB base pointer, NOT used directly for rendering!
     36 
     37 	HPALETTE		hPal;				// palette we're using
     38 	HPALETTE		hpalOld;			// original system palette
     39 	COLORREF		oldsyscolors[20];	// original system colors
     40 
     41 	HINSTANCE		hinstDDRAW;			// library instance for DDRAW.DLL
     42 	LPDIRECTDRAW 	lpDirectDraw;		// pointer to DirectDraw object
     43 
     44 	LPDIRECTDRAWSURFACE lpddsFrontBuffer;	// video card display memory front buffer
     45 	LPDIRECTDRAWSURFACE lpddsBackBuffer;	// system memory backbuffer
     46 	LPDIRECTDRAWSURFACE lpddsOffScreenBuffer;	// system memory backbuffer
     47 	LPDIRECTDRAWPALETTE	lpddpPalette;		// DirectDraw palette
     48 
     49 	qboolean		palettized;			// true if desktop is paletted
     50 	qboolean		modex;
     51 
     52 	qboolean		initializing;
     53 } swwstate_t;
     54 
     55 extern swwstate_t sww_state;
     56 
     57 /*
     58 ** DIB code
     59 */
     60 qboolean DIB_Init( unsigned char **ppbuffer, int *ppitch );
     61 void     DIB_Shutdown( void );
     62 void     DIB_SetPalette( const unsigned char *palette );
     63 
     64 qboolean DDRAW_Init( unsigned char **ppbuffer, int *ppitch );
     65 void     DDRAW_Shutdown( void );
     66 void     DDRAW_SetPalette( const unsigned char *palette );
     67 
     68 #endif