deb79a4f490cc12624d20c9ac6591c2db38138d8
[reactos.git] / reactos / lib / ddraw / rosdraw.h
1 #ifndef __DDRAW_PRIVATE
2 #define __DDRAW_PRIVATE
3
4 /********* Includes *********/
5
6
7 #include <windows.h>
8 #include <stdio.h>
9 #include <ddraw.h>
10 #include <ddk/ddrawi.h>
11 #include <ddk/d3dhal.h>
12 #include <ddrawgdi.h>
13
14
15
16
17
18 /******** Main Object ********/
19
20 typedef struct
21 {
22 IDirectDraw7Vtbl* lpVtbl;
23 DDRAWI_DIRECTDRAW_GBL DirectDrawGlobal;
24 DDHALINFO HalInfo;
25
26 HWND window;
27 DWORD cooperative_level;
28 HDC hdc;
29 int Height, Width, Bpp;
30
31 GUID* lpGUID;
32
33 } IDirectDrawImpl;
34
35 /******** Surface Object ********/
36
37 typedef struct
38 {
39 IDirectDrawSurface7Vtbl* lpVtbl;
40 LONG ref;
41
42 IDirectDrawImpl* owner;
43
44 } IDirectDrawSurfaceImpl;
45
46 /******** Clipper Object ********/
47
48 typedef struct
49 {
50 IDirectDrawClipperVtbl* lpVtbl;
51 LONG ref;
52
53 IDirectDrawImpl* owner;
54
55 } IDirectDrawClipperImpl;
56
57 /******** Palette Object ********/
58
59 typedef struct
60 {
61 IDirectDrawPaletteVtbl* lpVtbl;
62 LONG ref;
63
64 IDirectDrawImpl* owner;
65
66 } IDirectDrawPaletteImpl;
67
68 /*********** VTables ************/
69
70 extern IDirectDraw7Vtbl DirectDraw_VTable;
71 extern IDirectDrawSurface7Vtbl DDrawSurface_VTable;
72
73 /********* Prototypes **********/
74
75 HRESULT Hal_DirectDraw_Initialize (LPDIRECTDRAW7 iface);
76 HRESULT Hal_DirectDraw_SetCooperativeLevel (LPDIRECTDRAW7 iface);
77 VOID Hal_DirectDraw_Release (LPDIRECTDRAW7 iface);
78
79 HRESULT Hel_DirectDraw_Initialize (LPDIRECTDRAW7 iface);
80 HRESULT Hel_DirectDraw_SetCooperativeLevel (LPDIRECTDRAW7 iface);
81 VOID Hel_DirectDraw_Release (LPDIRECTDRAW7 iface);
82
83 /*********** Macros ***********/
84
85 #define DX_STUB return DDERR_UNSUPPORTED;
86
87 #endif /* __DDRAW_PRIVATE */