Fix DD_Cleanup that will make Contry Strike not crashing when it does not found right...
[reactos.git] / reactos / subsys / win32k / include / intddraw.h
1 #ifndef _INT_W32k_DDRAW
2 #define _INT_W32k_DDRAW
3
4 #define GDI_OBJECT_TYPE_DIRECTDRAW 0x00600000
5 #define GDI_OBJECT_TYPE_DD_SURFACE 0x00610000
6 #define GDI_OBJECT_TYPE_DD_VIDEOPORT 0x00620000
7 #define GDI_OBJECT_TYPE_DD_PALETTE 0x00630000
8 #define GDI_OBJECT_TYPE_DD_CLIPPER 0x00640000
9 #define GDI_OBJECT_TYPE_DD_MOTIONCOMP 0x00650000
10
11
12
13 typedef struct
14 {
15 DD_SURFACE_LOCAL Local;
16 DD_SURFACE_MORE More;
17 DD_SURFACE_GLOBAL Global;
18 DD_ATTACHLIST AttachList;
19 DD_ATTACHLIST AttachListFrom;
20 BOOL bComplete;
21 } DD_SURFACE, *PDD_SURFACE;
22
23 typedef struct
24 {
25 DD_DIRECTDRAW_LOCAL Local;
26 DD_DIRECTDRAW_GLOBAL Global;
27 // Drv callbacks
28 PGD_GETDIRECTDRAWINFO DrvGetDirectDrawInfo;
29 PGD_DISABLEDIRECTDRAW DrvDisableDirectDraw;
30
31 // DD callbacks
32 DD_CALLBACKS DD;
33
34 // Surface callbacks
35 DD_SURFACECALLBACKS Surf;
36
37 // Palette callbacks
38 DD_PALETTECALLBACKS Pal;
39
40 // HAL
41 DD_HALINFO Hal;
42
43 // Color Control Callback
44 DD_COLORCONTROLCALLBACKS Color;
45
46 // D3DHAL_CALLBACKS
47 //D3DHAL_CALLBACKS D3dHal;
48 //D3DHAL_CALLBACKS3 D3dHal3;
49 //D3DHAL_D3DEXTENDEDCAPS D3dHal3Ext;
50
51 // Heap Callback
52 //DD_GETHEAPALIGNMENTDATA HeapData;
53
54 // Kernel Callback
55 //DD_KERNELCALLBACKS Kernel;
56 //DDKERNELCAPS KernelCaps;
57
58 // Miscellaneous Callback
59 DD_MISCELLANEOUSCALLBACKS Misc;
60
61
62 // NT-based Callback
63 PDD_FLIPTOGDISURFACE DdFlipToGDISurface;
64 PDD_FREEDRIVERMEMORY DdFreeDriverMemory;
65 PDD_SETEXCLUSIVEMODE DdSetExclusiveMode;
66 // Motion Compensation
67 PDD_MOCOMPCB_BEGINFRAME DdMoCompBeginFrame;
68 PDD_MOCOMPCB_CREATE DdMoCompCreate;
69 PDD_MOCOMPCB_DESTROY DdMoCompDestroy;
70 PDD_MOCOMPCB_ENDFRAME DdMoCompEndFrame;
71 PDD_MOCOMPCB_GETCOMPBUFFINFO DdMoCompGetBuffInfo;
72 PDD_MOCOMPCB_GETFORMATS DdMoCompGetFormats;
73 PDD_MOCOMPCB_GETGUIDS DdMoCompGetGuids;
74 PDD_MOCOMPCB_GETINTERNALINFO DdMoCompGetInternalInfo;
75 PDD_MOCOMPCB_QUERYSTATUS DdMoCompQueryStatus;
76 PDD_MOCOMPCB_RENDER DdMoCompRender;
77 // Video Port Callback
78 PDD_VPORTCB_CANCREATEVIDEOPORT DdVideoPortCanCreate;
79 PDD_VPORTCB_COLORCONTROL DdVideoPortColorControl;
80 PDD_VPORTCB_CREATEVIDEOPORT DdVideoPortCreate;
81 PDD_VPORTCB_DESTROYVPORT DdVideoPortDestroy;
82 PDD_VPORTCB_FLIP DdVideoPortFlip;
83 PDD_VPORTCB_GETBANDWIDTH DdVideoPortGetBandwidth;
84 PDD_VPORTCB_GETVPORTCONNECT DdVideoPortGetConnectInfo;
85 PDD_VPORTCB_GETFIELD DdVideoPortGetField;
86 PDD_VPORTCB_GETFLIPSTATUS DdVideoPortGetFlipStatus;
87 PDD_VPORTCB_GETINPUTFORMATS DdVideoPortGetInputFormats;
88 PDD_VPORTCB_GETLINE DdVideoPortGetLine;
89 PDD_VPORTCB_GETOUTPUTFORMATS DdVideoPortGetOutputFormats;
90 PDD_VPORTCB_GETSIGNALSTATUS DdVideoPortGetSignalStatus;
91 PDD_VPORTCB_UPDATE DdVideoPortUpdate;
92 PDD_VPORTCB_WAITFORSYNC DdVideoPortWaitForSync;
93 // Notify Callback
94 //LPDD_NOTIFYCALLBACK NotifyCallback
95
96
97
98
99
100 } DD_DIRECTDRAW, *PDD_DIRECTDRAW;
101
102 BOOL INTERNAL_CALL DD_Cleanup(PVOID pDD);
103 BOOL INTERNAL_CALL DDSURF_Cleanup(PVOID pDDSurf);
104
105 #endif /* _INT_W32k_DDRAW */