1 | /**
|
---|
2 | * This file has no copyright assigned and is placed in the Public Domain.
|
---|
3 | * This file is part of the mingw-w64 runtime package.
|
---|
4 | * No warranty is given; refer to the file DISCLAIMER.PD within this package.
|
---|
5 | */
|
---|
6 | #ifndef _INC_DCIDDI
|
---|
7 | #define _INC_DCIDDI
|
---|
8 |
|
---|
9 | #ifdef __cplusplus
|
---|
10 | extern "C" {
|
---|
11 | #endif
|
---|
12 |
|
---|
13 | #define DCICOMMAND 3075
|
---|
14 | #define DCI_VERSION 0x0100
|
---|
15 |
|
---|
16 | #define DCICREATEPRIMARYSURFACE 1
|
---|
17 | #define DCICREATEOFFSCREENSURFACE 2
|
---|
18 | #define DCICREATEOVERLAYSURFACE 3
|
---|
19 | #define DCIENUMSURFACE 4
|
---|
20 | #define DCIESCAPE 5
|
---|
21 |
|
---|
22 | #define DCI_OK 0
|
---|
23 | #define DCI_FAIL_GENERIC -1
|
---|
24 | #define DCI_FAIL_UNSUPPORTEDVERSION -2
|
---|
25 | #define DCI_FAIL_INVALIDSURFACE -3
|
---|
26 | #define DCI_FAIL_UNSUPPORTED -4
|
---|
27 |
|
---|
28 | #define DCI_ERR_CURRENTLYNOTAVAIL -5
|
---|
29 | #define DCI_ERR_INVALIDRECT -6
|
---|
30 | #define DCI_ERR_UNSUPPORTEDFORMAT -7
|
---|
31 | #define DCI_ERR_UNSUPPORTEDMASK -8
|
---|
32 | #define DCI_ERR_TOOBIGHEIGHT -9
|
---|
33 | #define DCI_ERR_TOOBIGWIDTH -10
|
---|
34 | #define DCI_ERR_TOOBIGSIZE -11
|
---|
35 | #define DCI_ERR_OUTOFMEMORY -12
|
---|
36 | #define DCI_ERR_INVALIDPOSITION -13
|
---|
37 | #define DCI_ERR_INVALIDSTRETCH -14
|
---|
38 | #define DCI_ERR_INVALIDCLIPLIST -15
|
---|
39 | #define DCI_ERR_SURFACEISOBSCURED -16
|
---|
40 | #define DCI_ERR_XALIGN -17
|
---|
41 | #define DCI_ERR_YALIGN -18
|
---|
42 | #define DCI_ERR_XYALIGN -19
|
---|
43 | #define DCI_ERR_WIDTHALIGN -20
|
---|
44 | #define DCI_ERR_HEIGHTALIGN -21
|
---|
45 |
|
---|
46 | #define DCI_STATUS_POINTERCHANGED 1
|
---|
47 | #define DCI_STATUS_STRIDECHANGED 2
|
---|
48 | #define DCI_STATUS_FORMATCHANGED 4
|
---|
49 | #define DCI_STATUS_SURFACEINFOCHANGED 8
|
---|
50 | #define DCI_STATUS_CHROMAKEYCHANGED 16
|
---|
51 | #define DCI_STATUS_WASSTILLDRAWING 32
|
---|
52 |
|
---|
53 | #define DCI_SUCCESS(error) (((DCIRVAL)error) >= 0)
|
---|
54 |
|
---|
55 | #define DCI_SURFACE_TYPE 0x0000000F
|
---|
56 | #define DCI_PRIMARY 0x00000000
|
---|
57 | #define DCI_OFFSCREEN 0x00000001
|
---|
58 | #define DCI_OVERLAY 0x00000002
|
---|
59 | #define DCI_VISIBLE 0x00000010
|
---|
60 | #define DCI_CHROMAKEY 0x00000020
|
---|
61 | #define DCI_1632_ACCESS 0x00000040
|
---|
62 | #define DCI_DWORDSIZE 0x00000080
|
---|
63 | #define DCI_DWORDALIGN 0x00000100
|
---|
64 | #define DCI_WRITEONLY 0x00000200
|
---|
65 | #define DCI_ASYNC 0x00000400
|
---|
66 |
|
---|
67 | #define DCI_CAN_STRETCHX 0x00001000
|
---|
68 | #define DCI_CAN_STRETCHY 0x00002000
|
---|
69 | #define DCI_CAN_STRETCHXY (DCI_CAN_STRETCHX | DCI_CAN_STRETCHY)
|
---|
70 |
|
---|
71 | #define DCI_CAN_STRETCHXN 0x00004000
|
---|
72 | #define DCI_CAN_STRETCHYN 0x00008000
|
---|
73 | #define DCI_CAN_STRETCHXYN (DCI_CAN_STRETCHXN | DCI_CAN_STRETCHYN)
|
---|
74 |
|
---|
75 | #define DCI_CANOVERLAY 0x00010000
|
---|
76 |
|
---|
77 | typedef int DCIRVAL;
|
---|
78 |
|
---|
79 | typedef struct _DCICMD {
|
---|
80 | DWORD dwCommand;
|
---|
81 | DWORD dwParam1;
|
---|
82 | DWORD dwParam2;
|
---|
83 | DWORD dwVersion;
|
---|
84 | DWORD dwReserved;
|
---|
85 | } DCICMD;
|
---|
86 |
|
---|
87 | typedef struct _DCICREATEINPUT {
|
---|
88 | DCICMD cmd;
|
---|
89 | DWORD dwCompression;
|
---|
90 | DWORD dwMask[3];
|
---|
91 | DWORD dwWidth;
|
---|
92 | DWORD dwHeight;
|
---|
93 | DWORD dwDCICaps;
|
---|
94 | DWORD dwBitCount;
|
---|
95 | LPVOID lpSurface;
|
---|
96 | } DCICREATEINPUT,*LPDCICREATEINPUT;
|
---|
97 |
|
---|
98 | typedef struct _DCISURFACEINFO {
|
---|
99 | DWORD dwSize;
|
---|
100 | DWORD dwDCICaps;
|
---|
101 | DWORD dwCompression;
|
---|
102 | DWORD dwMask[3];
|
---|
103 | DWORD dwWidth;
|
---|
104 | DWORD dwHeight;
|
---|
105 | LONG lStride;
|
---|
106 | DWORD dwBitCount;
|
---|
107 | ULONG_PTR dwOffSurface;
|
---|
108 | WORD wSelSurface;
|
---|
109 | WORD wReserved;
|
---|
110 | DWORD dwReserved1;
|
---|
111 | DWORD dwReserved2;
|
---|
112 | DWORD dwReserved3;
|
---|
113 | DCIRVAL (CALLBACK *BeginAccess) (LPVOID,LPRECT);
|
---|
114 | void (CALLBACK *EndAccess) (LPVOID);
|
---|
115 | void (CALLBACK *DestroySurface) (LPVOID);
|
---|
116 | } DCISURFACEINFO,*LPDCISURFACEINFO;
|
---|
117 |
|
---|
118 | typedef void (*ENUM_CALLBACK)(LPDCISURFACEINFO lpSurfaceInfo,LPVOID lpContext);
|
---|
119 |
|
---|
120 | typedef struct _DCIENUMINPUT {
|
---|
121 | DCICMD cmd;
|
---|
122 | RECT rSrc;
|
---|
123 | RECT rDst;
|
---|
124 | void (CALLBACK *EnumCallback)(LPDCISURFACEINFO,LPVOID);
|
---|
125 | LPVOID lpContext;
|
---|
126 | } DCIENUMINPUT,*LPDCIENUMINPUT;
|
---|
127 |
|
---|
128 | typedef DCISURFACEINFO DCIPRIMARY,*LPDCIPRIMARY;
|
---|
129 |
|
---|
130 | typedef struct _DCIOFFSCREEN {
|
---|
131 | DCISURFACEINFO dciInfo;
|
---|
132 | DCIRVAL (CALLBACK *Draw) (LPVOID);
|
---|
133 | DCIRVAL (CALLBACK *SetClipList) (LPVOID,LPRGNDATA);
|
---|
134 | DCIRVAL (CALLBACK *SetDestination) (LPVOID,LPRECT,LPRECT);
|
---|
135 | } DCIOFFSCREEN,*LPDCIOFFSCREEN;
|
---|
136 |
|
---|
137 | typedef struct _DCIOVERLAY {
|
---|
138 | DCISURFACEINFO dciInfo;
|
---|
139 | DWORD dwChromakeyValue;
|
---|
140 | DWORD dwChromakeyMask;
|
---|
141 | } DCIOVERLAY,*LPDCIOVERLAY;
|
---|
142 |
|
---|
143 | #ifndef YVU9
|
---|
144 | #define YVU9 mmioFOURCC('Y','V','U','9')
|
---|
145 | #endif
|
---|
146 | #ifndef Y411
|
---|
147 | #define Y411 mmioFOURCC('Y','4','1','1')
|
---|
148 | #endif
|
---|
149 | #ifndef YUY2
|
---|
150 | #define YUY2 mmioFOURCC('Y','U','Y','2')
|
---|
151 | #endif
|
---|
152 | #ifndef YVYU
|
---|
153 | #define YVYU mmioFOURCC('Y','V','Y','U')
|
---|
154 | #endif
|
---|
155 | #ifndef UYVY
|
---|
156 | #define UYVY mmioFOURCC('U','Y','V','Y')
|
---|
157 | #endif
|
---|
158 | #ifndef Y211
|
---|
159 | #define Y211 mmioFOURCC('Y','2','1','1')
|
---|
160 | #endif
|
---|
161 |
|
---|
162 | #ifdef __cplusplus
|
---|
163 | }
|
---|
164 | #endif
|
---|
165 | #endif
|
---|