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

  1. ;----------------------------------------------------------------------------
  2. ;
  3. ; DCIDDI.INC
  4. ;
  5. ; Copyright (c) 1994 Microsoft Corporation
  6. ;
  7. ; DCI 1.0 Interface Definitions
  8. ;
  9. ;----------------------------------------------------------------------------
  10. ifndef _INC_DCIDDI
  11. _INC_DCIDDI equ 1
  12. DCICOMMAND equ 3075 ; GDI Escape for DCI
  13. DCI_VERSION equ 0x0100 ; version number of DCI 1.0
  14. ;----------------------------------------------------------------------------
  15. ; DCI command codes.
  16. ;----------------------------------------------------------------------------
  17. DCICREATEPRIMARYSURFACE equ 1 ; used to create primary surface
  18. DCICREATEOFFSCREENSURFACE equ 2 ; used to create offscreen surface
  19. DCICREATEOVERLAYSURFACE equ 3
  20. DCIENUMSURFACE equ 4 ; used to enumerate
  21. DCIESCAPE equ 5
  22. ;----------------------------------------------------------------------------
  23. ; error codes
  24. ;----------------------------------------------------------------------------
  25. DCI_OK equ 0
  26. DCI_FAIL_GENERIC equ (-1)
  27. DCI_FAIL_UNSUPPORTEDVERSION equ (-2)
  28. DCI_FAIL_INVALIDSURFACE equ (-3)
  29. DCI_FAIL_NOTSUPPORTED equ (-4)
  30. DCI_ERR_CURRENTLYNOTAVAIL equ (-5)
  31. DCI_ERR_INVALIDRECT equ (-6)
  32. DCI_ERR_UNSUPPORTEDFORMAT equ (-7)
  33. DCI_ERR_UNSUPPORTEDMASK equ (-8)
  34. DCI_ERR_TOOBIGHEIGHT equ (-9)
  35. DCI_ERR_TOOBIGWIDTH equ (-10)
  36. DCI_ERR_TOOBIGSIZE equ (-11)
  37. DCI_ERR_OUTOFMEMORY equ (-12)
  38. DCI_ERR_INVALIDPOSITION equ (-13)
  39. DCI_ERR_INVALIDSTRETCH equ (-14)
  40. DCI_ERR_INVALIDCLIPLIST equ (-15)
  41. DCI_ERR_SURFACEISOBSCURED equ (-16)
  42. DCI_ERR_XALIGN equ (-18)
  43. DCI_ERR_YALIGN equ (-19)
  44. DCI_ERR_XYALIGN equ (-20)
  45. DCI_ERR_WIDTHALIGN equ (-21)
  46. DCI_ERR_HEIGHTALIGN equ (-22)
  47. DCI_STATUS_POINTERCHANGED equ 1
  48. DCI_STATUS_STRIDECHANGED equ 2
  49. DCI_STATUS_FORMATCHANGED equ 4
  50. DCI_STATUS_SURFACEINFOCHANGED equ 8
  51. DCI_STATUS_CHROMAKEYCHANGED equ 16
  52. DCI_STATUS_WASSTILLDRAWING equ 32
  53. ;----------------------------------------------------------------------------
  54. ; Definitions for DCISURFACE::dwFlags
  55. ;----------------------------------------------------------------------------
  56. DCI_SURFACE_TYPE equ 0000000Fh ; 16 types
  57. DCI_PRIMARY equ 00000000h ; primary surface
  58. DCI_OFFSCREEN equ 00000001h ; offscreen surface
  59. DCI_OVERLAY equ 00000002h ; overlay surface
  60. DCI_VISIBLE equ 00000010h ; surface is visible
  61. DCI_CHROMAKEY equ 00000020h ; chroma key surface
  62. DCI_1632_ACCESS equ 00000040h ; must access using 16:32 pointers
  63. DCI_DWORDSIZE equ 00000080h ; support only aligned dest. sizes
  64. DCI_DWORDALIGN equ 00000100h ; support only aligned dest. positions
  65. DCI_WRITEONLY equ 00000200h ; write access only.
  66. DCI_ASYNC equ 00000400h ; supports async draw
  67. DCI_CAN_STRETCHX equ 00001000h ; can stretchX
  68. DCI_CAN_STRETCHY equ 00002000h ; can stretchY
  69. DCI_CAN_STRETCHXY equ 00003000h ; can stretchXY
  70. DCI_CAN_STRETCHXN equ 00004000h ; can stretchX by integer
  71. DCI_CAN_STRETCHYN equ 00008000h ; can stretchY by integer
  72. DCI_CAN_STRETCHXYN equ 0000C000h ; can stretchXY by integer
  73. DCI_CAN_OVERLAY equ 00010000h ; supports overlay.
  74. ;----------------------------------------------------------------------------
  75. ; common DCI command structure
  76. ;----------------------------------------------------------------------------
  77. DCICMD struc
  78. dciCommandCode dd ? ; DCI command
  79. dciDWParam1 dd ? ; dwParam1
  80. dciDWParam2 dd ? ; dwParam2
  81. dciVersion dd ? ; version
  82. dd ? ; reserved
  83. DCICMD ends
  84. ;----------------------------------------------------------------------------
  85. ; used in DCICREATE... calls
  86. ;----------------------------------------------------------------------------
  87. DCICREATEINPUT struc
  88. dcicCmd db size DCICMD dup (?)
  89. dcicDWCompression dd ? ; biCompression
  90. dcicDWMask dd 3 dup(?) ; BI_BITFIELD masks
  91. dcicDWWidth dd ? ; width in pixels
  92. dcicDWHeight dd ? ; height in pixels
  93. dcicDWDCICaps dd ?
  94. dcicDWSurface dd ?
  95. DCICREATEINPUT ends
  96. ;----------------------------------------------------------------------------
  97. ; used with DCIENUMINPUT
  98. ;----------------------------------------------------------------------------
  99. DCIENUMINPUT struc
  100. dcieCmd db size DCICMD dup(?)
  101. dcieSourceRect dw 4 dup(?) ; source
  102. dcieDestRect dw 4 dup(?) ; dest
  103. dcieDWCallback dd ? ; callback
  104. dcieDWCallbackParam dd ? ; callback lParam
  105. DCIENUMINPUT ends
  106. ;----------------------------------------------------------------------------
  107. ; DCISURFACE structure
  108. ;----------------------------------------------------------------------------
  109. DCISURFACEINFO struc
  110. dciDWSize dd ?
  111. dciDWDCICaps dd ?
  112. dciDWCompression dd ?
  113. dciDWMasks dd 3 dup(?)
  114. dciDWWidth dd ?
  115. dciDWHeight dd ?
  116. dciLStride dd ?
  117. dciDWBitCount dd ?
  118. dciDWOffSurface dd ?
  119. dciWSelSurface dw ?
  120. dciWReserved dw ?
  121. dciDWReserved1 dd ?
  122. dciDWReserved2 dd ?
  123. dciDWReserved3 dd ?
  124. dciDWBeginAccess dd ?
  125. dciDWEndAccess dd ?
  126. dciDWDestroySurface dd ?
  127. DCISURFACEINFO ends
  128. ;----------------------------------------------------------------------------
  129. ; used with DCICREATEOFFSCREENSURFACE
  130. ;----------------------------------------------------------------------------
  131. DCIOFFSCREEN struc
  132. dcioInfo db size DCISURFACEINFO dup (?)
  133. dcioDWDraw dd ?
  134. dcioDWSetClipList dd ?
  135. dcioDWSetDestination dd ?
  136. DCIOFFSCREEN ends
  137. ;----------------------------------------------------------------------------
  138. ; used with DCICREATEOVERLAYSURFACE
  139. ;----------------------------------------------------------------------------
  140. DCIOVERLAY struc
  141. dcivInfo db size DCISURFACEINFO dup (?)
  142. dcivDWChromaKeyValue dd (?)
  143. dcivDWChromaKeyMask dd (?)
  144. DCIOVERLAY ends
  145. endif ; _INC_DCIDDI