| 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 |