commit change to ddraw to use the new headers that will come in next commit
[reactos.git] / reactos / lib / ddraw / rosdraw.h
1 #ifndef __DDRAW_PRIVATE
2 #define __DDRAW_PRIVATE
3
4 /********* Includes *********/
5
6 #include <windows.h>
7 #include <stdio.h>
8 #include <ddraw.h>
9 #include <ddk/ddrawi.h>
10 #include <ddk/d3dhal.h>
11 #include <ddrawgdi.h>
12
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
36 /******** Surface Object ********/
37
38 typedef struct
39 {
40 IDirectDrawSurface7Vtbl* lpVtbl;
41 LONG ref;
42
43 IDirectDrawImpl* owner;
44
45 } IDirectDrawSurfaceImpl;
46
47
48 /******** Clipper Object ********/
49
50 typedef struct
51 {
52 IDirectDrawClipperVtbl* lpVtbl;
53 LONG ref;
54
55 IDirectDrawImpl* owner;
56
57 } IDirectDrawClipperImpl;
58
59
60 /******** Palette Object ********/
61
62 typedef struct
63 {
64 IDirectDrawPaletteVtbl* lpVtbl;
65 LONG ref;
66
67 IDirectDrawImpl* owner;
68
69 } IDirect3DDeviceImpl;
70
71
72 /*********** VTables ************/
73
74 extern IDirectDraw7Vtbl DirectDraw_VTable;
75 extern IDirectDrawSurface7Vtbl DDrawSurface_VTable;
76
77
78 /********* Prototypes **********/
79
80 HRESULT Hal_DirectDraw_Initialize (LPDIRECTDRAW7 iface);
81 HRESULT Hal_DirectDraw_SetCooperativeLevel (LPDIRECTDRAW7 iface);
82 VOID Hal_DirectDraw_Release (LPDIRECTDRAW7 iface);
83
84 HRESULT Hel_DirectDraw_Initialize (LPDIRECTDRAW7 iface);
85 HRESULT Hel_DirectDraw_SetCooperativeLevel (LPDIRECTDRAW7 iface);
86 VOID Hel_DirectDraw_Release (LPDIRECTDRAW7 iface);
87
88 #endif /* __DDRAW_PRIVATE */