Correct some prototypes and struct, Adding some missing struct for d3d Thx Alex Iones...
[reactos.git] / reactos / subsys / win32k / include / intddraw.h
1 #ifndef _INT_W32k_DDRAW
2 #define _INT_W32k_DDRAW
3
4 #include <ddkernel.h>
5
6 #define GDI_OBJECT_TYPE_DIRECTDRAW 0x00600000
7 #define GDI_OBJECT_TYPE_DD_SURFACE 0x00610000
8 #define GDI_OBJECT_TYPE_DD_VIDEOPORT 0x00620000
9 #define GDI_OBJECT_TYPE_DD_PALETTE 0x00630000
10 #define GDI_OBJECT_TYPE_DD_CLIPPER 0x00640000
11 #define GDI_OBJECT_TYPE_DD_MOTIONCOMP 0x00650000
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 PDD_GETHEAPALIGNMENTDATA HeapData;
53
54 // Kernel Callback
55 DD_KERNELCALLBACKS Kernel;
56 DDKERNELCAPS KernelCaps;
57
58 // Miscellaneous Callback
59 DD_MISCELLANEOUSCALLBACKS Misc;
60
61
62
63 // NT-based Callback
64 PDD_FLIPTOGDISURFACE DdFlipToGDISurface;
65 PDD_FREEDRIVERMEMORY DdFreeDriverMemory;
66 PDD_SETEXCLUSIVEMODE DdSetExclusiveMode;
67 // Motion Compensation
68 PDD_MOCOMPCB_BEGINFRAME DdMoCompBeginFrame;
69 PDD_MOCOMPCB_CREATE DdMoCompCreate;
70 PDD_MOCOMPCB_DESTROY DdMoCompDestroy;
71 PDD_MOCOMPCB_ENDFRAME DdMoCompEndFrame;
72 PDD_MOCOMPCB_GETCOMPBUFFINFO DdMoCompGetBuffInfo;
73 PDD_MOCOMPCB_GETFORMATS DdMoCompGetFormats;
74 PDD_MOCOMPCB_GETGUIDS DdMoCompGetGuids;
75 PDD_MOCOMPCB_GETINTERNALINFO DdMoCompGetInternalInfo;
76 PDD_MOCOMPCB_QUERYSTATUS DdMoCompQueryStatus;
77 PDD_MOCOMPCB_RENDER DdMoCompRender;
78 // Video Port Callback
79 PDD_VPORTCB_CANCREATEVIDEOPORT DdVideoPortCanCreate;
80 PDD_VPORTCB_COLORCONTROL DdVideoPortColorControl;
81 PDD_VPORTCB_CREATEVIDEOPORT DdVideoPortCreate;
82 PDD_VPORTCB_DESTROYVPORT DdVideoPortDestroy;
83 PDD_VPORTCB_FLIP DdVideoPortFlip;
84 PDD_VPORTCB_GETBANDWIDTH DdVideoPortGetBandwidth;
85 PDD_VPORTCB_GETVPORTCONNECT DdVideoPortGetConnectInfo;
86 PDD_VPORTCB_GETFIELD DdVideoPortGetField;
87 PDD_VPORTCB_GETFLIPSTATUS DdVideoPortGetFlipStatus;
88 PDD_VPORTCB_GETINPUTFORMATS DdVideoPortGetInputFormats;
89 PDD_VPORTCB_GETLINE DdVideoPortGetLine;
90 PDD_VPORTCB_GETOUTPUTFORMATS DdVideoPortGetOutputFormats;
91 PDD_VPORTCB_GETSIGNALSTATUS DdVideoPortGetSignalStatus;
92 PDD_VPORTCB_UPDATE DdVideoPortUpdate;
93 PDD_VPORTCB_WAITFORSYNC DdVideoPortWaitForSync;
94 // Notify Callback
95 //LPDD_NOTIFYCALLBACK NotifyCallback
96
97
98
99
100
101 } DD_DIRECTDRAW, *PDD_DIRECTDRAW;
102
103 BOOL INTERNAL_CALL DD_Cleanup(PVOID pDD);
104 BOOL INTERNAL_CALL DDSURF_Cleanup(PVOID pDDSurf);
105
106 #endif /* _INT_W32k_DDRAW */