Source code of Windows XP (NT5)
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 

165 lines
6.1 KiB

;----------------------------------------------------------------------------
;
; DCIDDI.INC
;
; Copyright (c) 1994 Microsoft Corporation
;
; DCI 1.0 Interface Definitions
;
;----------------------------------------------------------------------------
ifndef _INC_DCIDDI
_INC_DCIDDI equ 1
DCICOMMAND equ 3075 ; GDI Escape for DCI
DCI_VERSION equ 0x0100 ; version number of DCI 1.0
;----------------------------------------------------------------------------
; DCI command codes.
;----------------------------------------------------------------------------
DCICREATEPRIMARYSURFACE equ 1 ; used to create primary surface
DCICREATEOFFSCREENSURFACE equ 2 ; used to create offscreen surface
DCICREATEOVERLAYSURFACE equ 3
DCIENUMSURFACE equ 4 ; used to enumerate
DCIESCAPE equ 5
;----------------------------------------------------------------------------
; error codes
;----------------------------------------------------------------------------
DCI_OK equ 0
DCI_FAIL_GENERIC equ (-1)
DCI_FAIL_UNSUPPORTEDVERSION equ (-2)
DCI_FAIL_INVALIDSURFACE equ (-3)
DCI_FAIL_NOTSUPPORTED equ (-4)
DCI_ERR_CURRENTLYNOTAVAIL equ (-5)
DCI_ERR_INVALIDRECT equ (-6)
DCI_ERR_UNSUPPORTEDFORMAT equ (-7)
DCI_ERR_UNSUPPORTEDMASK equ (-8)
DCI_ERR_TOOBIGHEIGHT equ (-9)
DCI_ERR_TOOBIGWIDTH equ (-10)
DCI_ERR_TOOBIGSIZE equ (-11)
DCI_ERR_OUTOFMEMORY equ (-12)
DCI_ERR_INVALIDPOSITION equ (-13)
DCI_ERR_INVALIDSTRETCH equ (-14)
DCI_ERR_INVALIDCLIPLIST equ (-15)
DCI_ERR_SURFACEISOBSCURED equ (-16)
DCI_ERR_XALIGN equ (-18)
DCI_ERR_YALIGN equ (-19)
DCI_ERR_XYALIGN equ (-20)
DCI_ERR_WIDTHALIGN equ (-21)
DCI_ERR_HEIGHTALIGN equ (-22)
DCI_STATUS_POINTERCHANGED equ 1
DCI_STATUS_STRIDECHANGED equ 2
DCI_STATUS_FORMATCHANGED equ 4
DCI_STATUS_SURFACEINFOCHANGED equ 8
DCI_STATUS_CHROMAKEYCHANGED equ 16
DCI_STATUS_WASSTILLDRAWING equ 32
;----------------------------------------------------------------------------
; Definitions for DCISURFACE::dwFlags
;----------------------------------------------------------------------------
DCI_SURFACE_TYPE equ 0000000Fh ; 16 types
DCI_PRIMARY equ 00000000h ; primary surface
DCI_OFFSCREEN equ 00000001h ; offscreen surface
DCI_OVERLAY equ 00000002h ; overlay surface
DCI_VISIBLE equ 00000010h ; surface is visible
DCI_CHROMAKEY equ 00000020h ; chroma key surface
DCI_1632_ACCESS equ 00000040h ; must access using 16:32 pointers
DCI_DWORDSIZE equ 00000080h ; support only aligned dest. sizes
DCI_DWORDALIGN equ 00000100h ; support only aligned dest. positions
DCI_WRITEONLY equ 00000200h ; write access only.
DCI_ASYNC equ 00000400h ; supports async draw
DCI_CAN_STRETCHX equ 00001000h ; can stretchX
DCI_CAN_STRETCHY equ 00002000h ; can stretchY
DCI_CAN_STRETCHXY equ 00003000h ; can stretchXY
DCI_CAN_STRETCHXN equ 00004000h ; can stretchX by integer
DCI_CAN_STRETCHYN equ 00008000h ; can stretchY by integer
DCI_CAN_STRETCHXYN equ 0000C000h ; can stretchXY by integer
DCI_CAN_OVERLAY equ 00010000h ; supports overlay.
;----------------------------------------------------------------------------
; common DCI command structure
;----------------------------------------------------------------------------
DCICMD struc
dciCommandCode dd ? ; DCI command
dciDWParam1 dd ? ; dwParam1
dciDWParam2 dd ? ; dwParam2
dciVersion dd ? ; version
dd ? ; reserved
DCICMD ends
;----------------------------------------------------------------------------
; used in DCICREATE... calls
;----------------------------------------------------------------------------
DCICREATEINPUT struc
dcicCmd db size DCICMD dup (?)
dcicDWCompression dd ? ; biCompression
dcicDWMask dd 3 dup(?) ; BI_BITFIELD masks
dcicDWWidth dd ? ; width in pixels
dcicDWHeight dd ? ; height in pixels
dcicDWDCICaps dd ?
dcicDWSurface dd ?
DCICREATEINPUT ends
;----------------------------------------------------------------------------
; used with DCIENUMINPUT
;----------------------------------------------------------------------------
DCIENUMINPUT struc
dcieCmd db size DCICMD dup(?)
dcieSourceRect dw 4 dup(?) ; source
dcieDestRect dw 4 dup(?) ; dest
dcieDWCallback dd ? ; callback
dcieDWCallbackParam dd ? ; callback lParam
DCIENUMINPUT ends
;----------------------------------------------------------------------------
; DCISURFACE structure
;----------------------------------------------------------------------------
DCISURFACEINFO struc
dciDWSize dd ?
dciDWDCICaps dd ?
dciDWCompression dd ?
dciDWMasks dd 3 dup(?)
dciDWWidth dd ?
dciDWHeight dd ?
dciLStride dd ?
dciDWBitCount dd ?
dciDWOffSurface dd ?
dciWSelSurface dw ?
dciWReserved dw ?
dciDWReserved1 dd ?
dciDWReserved2 dd ?
dciDWReserved3 dd ?
dciDWBeginAccess dd ?
dciDWEndAccess dd ?
dciDWDestroySurface dd ?
DCISURFACEINFO ends
;----------------------------------------------------------------------------
; used with DCICREATEOFFSCREENSURFACE
;----------------------------------------------------------------------------
DCIOFFSCREEN struc
dcioInfo db size DCISURFACEINFO dup (?)
dcioDWDraw dd ?
dcioDWSetClipList dd ?
dcioDWSetDestination dd ?
DCIOFFSCREEN ends
;----------------------------------------------------------------------------
; used with DCICREATEOVERLAYSURFACE
;----------------------------------------------------------------------------
DCIOVERLAY struc
dcivInfo db size DCISURFACEINFO dup (?)
dcivDWChromaKeyValue dd (?)
dcivDWChromaKeyMask dd (?)
DCIOVERLAY ends
endif ; _INC_DCIDDI