• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 /* $Id$
2  *
3  * COPYRIGHT:            This file is in the public domain.
4  * PROJECT:              ReactOS kernel
5  * FILE:
6  * PURPOSE:              Directx headers
7  * PROGRAMMER:           Magnus Olsen (greatlrd)
8  *
9  */
10 
11 #ifndef __DDKM_INCLUDED__
12 #define __DDKM_INCLUDED__
13 
14 #ifdef __cplusplus
15 extern "C" {
16 #endif
17 
18 #if defined (_WIN32) && !defined (_NO_COM)
19 DEFINE_GUID (IID_IDirectDrawKernel,        0x8D56C120,0x6A08,0x11D0,0x9B,0x06,0x00,0xA0,0xC9,0x03,0xA3,0xB8);
20 DEFINE_GUID (IID_IDirectDrawSurfaceKernel, 0x60755DA0,0x6A40,0x11D0,0x9B,0x06,0x00,0xA0,0xC9,0x03,0xA3,0xB8);
21 #endif
22 
23 typedef struct _DDKERNELCAPS {
24   DWORD dwSize;
25   DWORD dwCaps;
26   DWORD dwIRQCaps;
27 } DDKERNELCAPS, *LPDDKERNELCAPS;
28 
29 #define DDKERNELCAPS_SKIPFIELDS			0x00000001
30 #define DDKERNELCAPS_AUTOFLIP			0x00000002
31 #define DDKERNELCAPS_SETSTATE			0x00000004
32 #define DDKERNELCAPS_LOCK			0x00000008
33 #define DDKERNELCAPS_FLIPVIDEOPORT		0x00000010
34 #define DDKERNELCAPS_FLIPOVERLAY		0x00000020
35 #define DDKERNELCAPS_CAPTURE_SYSMEM		0x00000040
36 #define DDKERNELCAPS_CAPTURE_NONLOCALVIDMEM	0x00000080
37 #define DDKERNELCAPS_FIELDPOLARITY		0x00000100
38 #define DDKERNELCAPS_CAPTURE_INVERTED		0x00000200
39 #define DDIRQ_DISPLAY_VSYNC			0x00000001
40 #define DDIRQ_RESERVED1				0x00000002
41 #define DDIRQ_VPORT0_VSYNC			0x00000004
42 #define DDIRQ_VPORT0_LINE			0x00000008
43 #define DDIRQ_VPORT1_VSYNC			0x00000010
44 #define DDIRQ_VPORT1_LINE			0x00000020
45 #define DDIRQ_VPORT2_VSYNC			0x00000040
46 #define DDIRQ_VPORT2_LINE			0x00000080
47 #define DDIRQ_VPORT3_VSYNC			0x00000100
48 #define DDIRQ_VPORT3_LINE			0x00000200
49 #define DDIRQ_VPORT4_VSYNC			0x00000400
50 #define DDIRQ_VPORT4_LINE			0x00000800
51 #define DDIRQ_VPORT5_VSYNC			0x00001000
52 #define DDIRQ_VPORT5_LINE			0x00002000
53 #define DDIRQ_VPORT6_VSYNC			0x00004000
54 #define DDIRQ_VPORT6_LINE			0x00008000
55 #define DDIRQ_VPORT7_VSYNC			0x00010000
56 #define DDIRQ_VPORT7_LINE			0x00020000
57 #define DDIRQ_VPORT8_VSYNC			0x00040000
58 #define DDIRQ_VPORT8_LINE			0x00080000
59 #define DDIRQ_VPORT9_VSYNC			0x00010000
60 #define DDIRQ_VPORT9_LINE			0x00020000
61 
62 typedef struct IDirectDrawKernel* LPDIRECTDRAWKERNEL;
63 typedef struct IDirectDrawSurfaceKernel* LPDIRECTDRAWSURFACEKERNEL;
64 
65 #if defined(_WIN32) && !defined(_NO_COM)
66 
67 #undef INTERFACE
68 #define INTERFACE IDirectDrawKernel
DECLARE_INTERFACE_(IDirectDrawKernel,IUnknown)69 DECLARE_INTERFACE_ (IDirectDrawKernel, IUnknown)
70 {
71 	STDMETHOD(QueryInterface) (THIS_ REFIID riid, LPVOID* ppvObj) PURE;
72 	STDMETHOD_(ULONG,AddRef) (THIS) PURE;
73 	STDMETHOD_(ULONG,Release) (THIS) PURE;
74 	STDMETHOD(GetKernelHandle) (THIS_ ULONG*) PURE;
75 	STDMETHOD(ReleaseKernelHandle) (THIS) PURE;
76 };
77 
78 #undef INTERFACE
79 #define INTERFACE IDirectDrawSurfaceKernel
DECLARE_INTERFACE_(IDirectDrawSurfaceKernel,IUnknown)80 DECLARE_INTERFACE_ (IDirectDrawSurfaceKernel, IUnknown)
81 {
82 	STDMETHOD(QueryInterface) (THIS_ REFIID riid, LPVOID* ppvObj) PURE;
83 	STDMETHOD_(ULONG,AddRef) (THIS) PURE;
84 	STDMETHOD_(ULONG,Release) (THIS) PURE;
85 	STDMETHOD(GetKernelHandle) (THIS_ ULONG*) PURE;
86 	STDMETHOD(ReleaseKernelHandle) (THIS) PURE;
87 };
88 
89 #undef INTERFACE
90 #endif /* defined(_WIN32) && !defined(_NO_COM) */
91 
92 #ifdef __cplusplus
93 }
94 #endif
95 
96 #endif
97 
98