source: trunk/src/ddraw/new/os2ddrawbase.h@ 10367

Last change on this file since 10367 was 3345, checked in by mike, 25 years ago

Experimental fullscreen DDraw

File size: 1.6 KB
Line 
1
2class OS2IDirectDraw
3{
4 public:
5 //this one has to go first!
6 IDirectDraw4Vtbl *lpVtbl;
7 IDirectDraw2Vtbl Vtbl;
8 // MS did it again with direct/X 6 they changed the behavior of the directdraw component
9 // So we now need 2 Virt. Tables one for the old and one for the new so we return the
10 // right interface if one creates a DX6 directdraw object but wants a DX2,3,5 interface
11 IDirectDraw4Vtbl Vtbl4;
12 IDirect3DVtbl Vtbl3D;
13
14 OS2IDirectDraw( GUID *lpGUID);
15 ~OS2IDirectDraw();
16
17 // Simple management for Surfaces should be good enougth for now
18 inline BOOL HasPrimarySurface() { return PrimaryExists;}
19 void SetPrimarySurface(BOOL NewStatus){PrimaryExists = NewStatus;}
20 int Referenced;
21 inline HRESULT GetLastError() { return lastError; }
22 inline char * GetFrameBuffer() { return pFrameBuffer; }
23 inline int GetScreenWidth() { return screenwidth; }
24 inline int GetScreenHeight() { return screenheight; }
25 inline int GetScreenBpp() { return screenbpp;}
26 inline FOURCC GetScreenFourCC() { return SupportedFourCCs[screenbpp>>3];}
27
28 protected:
29 HRESULT lastError;
30 FOURCC SupportedFourCCs[] = {FOURCC_LUT8,FOURCC_R565,FOURCC_RGB3,FOURCC_RGB4};
31
32 char *pFrameBuffer;
33 HWND hwndClient;
34 int screenwidth, screenheight, screenbpp;
35 BOOL PrimaryExists;
36
37 // Linked list management
38 OS2IDirectDraw* next; // Next OS2IDirectDraw
39 static OS2IDirectDraw* ddraw; // List of OS2IDirectDraw
40}
Note: See TracBrowser for help on using the repository browser.