2 * This file has no copyright assigned and is placed in the Public Domain.
3 * This file is part of the w64 mingw-runtime package.
4 * No warranty is given; refer to the file DISCLAIMER.PD within this package.
13 #define DCICOMMAND 3075
14 #define DCI_VERSION 0x0100
16 #define DCICREATEPRIMARYSURFACE 1
17 #define DCICREATEOFFSCREENSURFACE 2
18 #define DCICREATEOVERLAYSURFACE 3
19 #define DCIENUMSURFACE 4
23 #define DCI_FAIL_GENERIC -1
24 #define DCI_FAIL_UNSUPPORTEDVERSION -2
25 #define DCI_FAIL_INVALIDSURFACE -3
26 #define DCI_FAIL_UNSUPPORTED -4
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
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
53 #define DCI_SUCCESS(error) (((DCIRVAL)error) >= 0)
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
67 #define DCI_CAN_STRETCHX 0x00001000
68 #define DCI_CAN_STRETCHY 0x00002000
69 #define DCI_CAN_STRETCHXY (DCI_CAN_STRETCHX | DCI_CAN_STRETCHY)
71 #define DCI_CAN_STRETCHXN 0x00004000
72 #define DCI_CAN_STRETCHYN 0x00008000
73 #define DCI_CAN_STRETCHXYN (DCI_CAN_STRETCHXN | DCI_CAN_STRETCHYN)
75 #define DCI_CANOVERLAY 0x00010000
79 typedef struct _DCICMD
{
87 typedef struct _DCICREATEINPUT
{
96 } DCICREATEINPUT
,*LPDCICREATEINPUT
;
98 typedef struct _DCISURFACEINFO
{
107 ULONG_PTR dwOffSurface
;
113 DCIRVAL (CALLBACK
*BeginAccess
) (LPVOID
,LPRECT
);
114 void (CALLBACK
*EndAccess
) (LPVOID
);
115 void (CALLBACK
*DestroySurface
) (LPVOID
);
116 } DCISURFACEINFO
,*LPDCISURFACEINFO
;
118 typedef void (*ENUM_CALLBACK
)(LPDCISURFACEINFO lpSurfaceInfo
,LPVOID lpContext
);
120 typedef struct _DCIENUMINPUT
{
124 void (CALLBACK
*EnumCallback
)(LPDCISURFACEINFO
,LPVOID
);
126 } DCIENUMINPUT
,*LPDCIENUMINPUT
;
128 typedef DCISURFACEINFO DCIPRIMARY
,*LPDCIPRIMARY
;
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
;
137 typedef struct _DCIOVERLAY
{
138 DCISURFACEINFO dciInfo
;
139 DWORD dwChromakeyValue
;
140 DWORD dwChromakeyMask
;
141 } DCIOVERLAY
,*LPDCIOVERLAY
;
144 #define YVU9 mmioFOURCC('Y','V','U','9')
147 #define Y411 mmioFOURCC('Y','4','1','1')
150 #define YUY2 mmioFOURCC('Y','U','Y','2')
153 #define YVYU mmioFOURCC('Y','V','Y','U')
156 #define UYVY mmioFOURCC('U','Y','V','Y')
159 #define Y211 mmioFOURCC('Y','2','1','1')