source: trunk/include/win/dciddi.h@ 10367

Last change on this file since 10367 was 5826, checked in by sandervl, 24 years ago

added DCI headers

File size: 4.6 KB
Line 
1#ifndef __DCIDDI_H__
2#define __DCIDDI_H__
3
4#define DCICOMMAND 3075
5#define DCI_VERSION 0x0100
6
7#define DCICREATEPRIMARYSURFACE 1
8#define DCICREATEOFFSCREENSURFACE 2
9#define DCICREATEOVERLAYSURFACE 3
10#define DCIENUMSURFACE 4
11#define DCIESCAPE 5
12
13#define DCI_OK
14
15#define DCI_FAIL_GENERIC -1
16#define DCI_FAIL_UNSUPPORTEDVERSION -2
17#define DCI_FAIL_INVALIDSURFACE -3
18#define DCI_FAIL_UNSUPPORTED -4
19
20#define DCI_ERR_CURRENTLYNOTAVAIL -5
21#define DCI_ERR_INVALIDRECT -6
22#define DCI_ERR_UNSUPPORTEDFORMAT -7
23#define DCI_ERR_UNSUPPORTEDMASK -8
24#define DCI_ERR_TOOBIGHEIGHT -9
25#define DCI_ERR_TOOBIGWIDTH -10
26#define DCI_ERR_TOOBIGSIZE -11
27#define DCI_ERR_OUTOFMEMORY -12
28#define DCI_ERR_INVALIDPOSITION -13
29#define DCI_ERR_INVALIDSTRETCH -14
30#define DCI_ERR_INVALIDCLIPLIST -15
31#define DCI_ERR_SURFACEISOBSCURED -16
32#define DCI_ERR_XALIGN -17
33#define DCI_ERR_YALIGN -18
34#define DCI_ERR_XYALIGN -19
35#define DCI_ERR_WIDTHALIGN -20
36#define DCI_ERR_HEIGHTALIGN -21
37
38#define DCI_STATUS_POINTERCHANGED 1
39#define DCI_STATUS_STRIDECHANGED 2
40#define DCI_STATUS_FORMATCHANGED 4
41#define DCI_STATUS_SURFACEINFOCHANGED 8
42#define DCI_STATUS_CHROMAKEYCHANGED 16
43#define DCI_STATUS_WASSTILLDRAWING 32
44
45#define DCI_SUCCESS(error) (((DCIRVAL)error) >= 0)
46
47#define DCI_SURFACE_TYPE 0x0000000F
48#define DCI_PRIMARY 0x00000000
49#define DCI_OFFSCREEN 0x00000001
50#define DCI_OVERLAY 0x00000002
51
52#define DCI_VISIBLE 0x00000010
53#define DCI_CHROMAKEY 0x00000020
54#define DCI_1632_ACCESS 0x00000040
55#define DCI_DWORDSIZE 0x00000080
56#define DCI_DWORDALIGN 0x00000100
57#define DCI_WRITEONLY 0x00000200
58#define DCI_ASYNC 0x00000400
59
60#define DCI_CAN_STRETCHX 0x00001000
61#define DCI_CAN_STRETCHY 0x00002000
62#define DCI_CAN_STRETCHXY (DCI_CAN_STRETCHX | DCI_CAN_STRETCHY)
63
64#define DCI_CAN_STRETCHXN 0x00004000
65#define DCI_CAN_STRETCHYN 0x00008000
66#define DCI_CAN_STRETCHXYN (DCI_CAN_STRETCHXN | DCI_CAN_STRETCHYN)
67
68#define DCI_CANOVERLAY 0x00010000
69
70typedef int DCIRVAL;
71
72typedef struct _DCICMD {
73 DWORD dwCommand;
74 DWORD dwParam1;
75 DWORD dwParam2;
76 DWORD dwVersion;
77 DWORD dwReserved;
78} DCICMD;
79
80typedef struct _DCICREATEINPUT {
81 DCICMD cmd;
82 DWORD dwCompression;
83 DWORD dwMask[3];
84 DWORD dwWidth;
85 DWORD dwHeight;
86 DWORD dwDCICaps;
87 DWORD dwBitCount;
88 LPVOID lpSurface;
89} DCICREATEINPUT, *LPDCICREATEINPUT;
90
91typedef struct _DCISURFACEINFO {
92 DWORD dwSize;
93 DWORD dwDCICaps;
94 DWORD dwCompression;
95 DWORD dwMask[3];
96 DWORD dwWidth;
97 DWORD dwHeight;
98 LONG lStride;
99 DWORD dwBitCount;
100 DWORD dwOffSurface;
101 WORD wSelSurface;
102 WORD wReserved;
103 DWORD dwReserved1;
104 DWORD dwReserved2;
105 DWORD dwReserved3;
106 DCIRVAL (CALLBACK *BeginAccess) (LPVOID, LPRECT);
107 void (CALLBACK *EndAccess) (LPVOID);
108 void (CALLBACK *DestroySurface) (LPVOID);
109} DCISURFACEINFO, *LPDCISURFACEINFO;
110
111typedef void (*ENUM_CALLBACK) (LPDCISURFACEINFO lpSurfaceInfo, LPVOID lpContext);
112
113typedef struct _DCIENUMINPUT {
114 DCICMD cmd;
115 RECT rSrc;
116 RECT rDst;
117 void (CALLBACK *EnumCallback)(LPDCISURFACEINFO, LPVOID);
118 LPVOID lpContext;
119} DCIENUMINPUT, *LPDCIENUMINPUT;
120
121
122typedef DCISURFACEINFO DCIPRIMARY, *LPDCIPRIMARY;
123
124typedef struct _DCIOFFSCREEN {
125 DCISURFACEINFO dciInfo;
126 DCIRVAL (CALLBACK *Draw) (LPVOID);
127 DCIRVAL (CALLBACK *SetClipList) (LPVOID, LPRGNDATA);
128 DCIRVAL (CALLBACK *SetDestination) (LPVOID, LPRECT, LPRECT);
129} DCIOFFSCREEN, *LPDCIOFFSCREEN;
130
131
132typedef struct _DCIOVERLAY{
133 DCISURFACEINFO dciInfo;
134 DWORD dwChromakeyValue;
135 DWORD dwChromakeyMask;
136} DCIOVERLAY, *LPDCIOVERLAY;
137
138#endif // __DCIDDI_H__
Note: See TracBrowser for help on using the repository browser.