dd.bmx 69 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989990991992993994995996997998999100010011002100310041005100610071008100910101011101210131014101510161017101810191020102110221023102410251026102710281029103010311032103310341035103610371038103910401041104210431044104510461047104810491050105110521053105410551056105710581059106010611062106310641065106610671068106910701071107210731074107510761077107810791080108110821083108410851086108710881089109010911092109310941095109610971098109911001101110211031104110511061107110811091110111111121113111411151116111711181119112011211122112311241125112611271128112911301131113211331134113511361137113811391140114111421143114411451146114711481149115011511152115311541155115611571158115911601161116211631164116511661167116811691170117111721173117411751176117711781179118011811182118311841185118611871188118911901191119211931194119511961197119811991200120112021203120412051206120712081209121012111212121312141215121612171218121912201221122212231224122512261227122812291230123112321233123412351236123712381239124012411242124312441245124612471248124912501251125212531254125512561257125812591260126112621263126412651266126712681269127012711272127312741275127612771278127912801281128212831284128512861287128812891290129112921293129412951296129712981299130013011302130313041305130613071308130913101311131213131314131513161317131813191320132113221323132413251326132713281329133013311332133313341335133613371338133913401341134213431344134513461347134813491350135113521353135413551356135713581359136013611362136313641365136613671368136913701371137213731374137513761377137813791380138113821383138413851386138713881389139013911392139313941395139613971398139914001401140214031404140514061407140814091410141114121413141414151416141714181419142014211422142314241425142614271428142914301431143214331434143514361437143814391440144114421443144414451446144714481449145014511452145314541455145614571458145914601461146214631464146514661467146814691470147114721473147414751476147714781479148014811482148314841485148614871488148914901491149214931494149514961497149814991500150115021503150415051506150715081509151015111512151315141515151615171518151915201521152215231524152515261527152815291530153115321533153415351536153715381539154015411542154315441545154615471548154915501551155215531554155515561557155815591560156115621563156415651566156715681569157015711572157315741575157615771578157915801581158215831584158515861587158815891590159115921593159415951596159715981599160016011602160316041605160616071608160916101611161216131614161516161617161816191620162116221623162416251626162716281629163016311632163316341635163616371638163916401641164216431644164516461647164816491650165116521653165416551656165716581659166016611662166316641665166616671668166916701671167216731674167516761677167816791680168116821683168416851686168716881689169016911692169316941695169616971698169917001701170217031704170517061707170817091710171117121713171417151716171717181719172017211722172317241725172617271728172917301731173217331734173517361737173817391740174117421743174417451746174717481749175017511752175317541755175617571758175917601761176217631764
  1. Strict
  2. Import Pub.Win32
  3. Const DIRECTDRAW_VERSION=$0700
  4. Const _FACDD=$876
  5. Const FOURCC_DXT1$="DXT1" 'TODO: convert to 32 bit hex
  6. Const FOURCC_DXT2$="DXT2"
  7. Const FOURCC_DXT3$="DXT3"
  8. Const FOURCC_DXT4$="DXT4"
  9. Const DDENUM_ATTACHEDSECONDARYDEVICES=1
  10. Const DDENUM_DETACHEDSECONDARYDEVICES=2
  11. Const DDENUM_NONDISPLAYDEVICES=4
  12. Const REGSTR_KEY_DDHW_DESCRIPTION$="Description"
  13. Const REGSTR_KEY_DDHW_DRIVERNAME$="DriverName"
  14. Const REGSTR_PATH_DDHW$="Hardware\\DirectDrawDrivers"
  15. Const DDCREATE_HARDWAREONLY=$11
  16. Const DDCREATE_EMULATIONONLY=$21
  17. Const DDSD_CAPS=$1
  18. Const DDSD_HEIGHT=$2
  19. Const DDSD_WIDTH=$4
  20. Const DDSD_PITCH=$8
  21. Const DDSD_BACKBUFFERCOUNT=$20
  22. Const DDSD_ZBUFFERBITDEPTH=$40
  23. Const DDSD_ALPHABITDEPTH=$80
  24. Const DDSD_LPSURFACE=$800
  25. Const DDSD_PIXELFORMAT=$1000
  26. Const DDSD_CKDESTOVERLAY=$2000
  27. Const DDSD_CKDESTBLT=$4000
  28. Const DDSD_CKSRCOVERLAY=$8000
  29. Const DDSD_CKSRCBLT=$10000
  30. Const DDSD_MIPMAPCOUNT=$20000
  31. Const DDSD_REFRESHRATE=$40000
  32. Const DDSD_LINEARSIZE=$80000
  33. Const DDSD_TEXTURESTAGE=$100000
  34. Const DDSD_FVF=$200000
  35. Const DDSD_SRCVBHANDLE=$400000
  36. Const DDSD_ALL=$7ff9ee
  37. Const DDOSD_GUID=$1
  38. Const DDOSD_COMPRESSION_RATIO=$2
  39. Const DDOSD_SCAPS=$4
  40. Const DDOSD_OSCAPS=$8
  41. Const DDOSD_ALL=$f
  42. Const DDOSDCAPS_OPTCOMPRESSED=$1
  43. Const DDOSDCAPS_OPTREORDERED=$2
  44. Const DDOSDCAPS_MONOLITHICMIPMAP=$4
  45. Const DDOSDCAPS_VALIDSCAPS=$30004800
  46. Const DDOSDCAPS_VALIDOSCAPS=$7
  47. Const DDCOLOR_BRIGHTNESS=$1
  48. Const DDCOLOR_CONTRAST=$2
  49. Const DDCOLOR_HUE=$4
  50. Const DDCOLOR_SATURATION=$8
  51. Const DDCOLOR_SHARPNESS=$10
  52. Const DDCOLOR_GAMMA=$20
  53. Const DDCOLOR_COLORENABLE=$40
  54. Const DDSCAPS_RESERVED1=$1
  55. Const DDSCAPS_ALPHA=$2
  56. Const DDSCAPS_BACKBUFFER=$4
  57. Const DDSCAPS_COMPLEX=$8
  58. Const DDSCAPS_FLIP=$10
  59. Const DDSCAPS_FRONTBUFFER=$20
  60. Const DDSCAPS_OFFSCREENPLAIN=$40
  61. Const DDSCAPS_OVERLAY=$80
  62. Const DDSCAPS_PALETTE=$100
  63. Const DDSCAPS_PRIMARYSURFACE=$200
  64. Const DDSCAPS_RESERVED3=$400
  65. Const DDSCAPS_SYSTEMMEMORY=$800
  66. Const DDSCAPS_TEXTURE=$1000
  67. Const DDSCAPS_3DDEVICE=$2000
  68. Const DDSCAPS_VIDEOMEMORY=$4000
  69. Const DDSCAPS_VISIBLE=$8000
  70. Const DDSCAPS_WRITEONLY=$10000
  71. Const DDSCAPS_ZBUFFER=$20000
  72. Const DDSCAPS_OWNDC=$40000
  73. Const DDSCAPS_LIVEVIDEO=$80000
  74. Const DDSCAPS_HWCODEC=$100000
  75. Const DDSCAPS_MODEX=$200000
  76. Const DDSCAPS_MIPMAP=$400000
  77. Const DDSCAPS_RESERVED2=$800000
  78. Const DDSCAPS_ALLOCONLOAD=$4000000
  79. Const DDSCAPS_VIDEOPORT=$8000000
  80. Const DDSCAPS_LOCALVIDMEM=$10000000
  81. Const DDSCAPS_NONLOCALVIDMEM=$20000000
  82. Const DDSCAPS_STANDARDVGAMODE=$40000000
  83. Const DDSCAPS_OPTIMIZED=$80000000
  84. Const DDSCAPS2_HARDWAREDEINTERLACE=$2
  85. Const DDSCAPS2_HINTDYNAMIC=$4
  86. Const DDSCAPS2_HINTSTATIC=$8
  87. Const DDSCAPS2_TEXTUREMANAGE=$10
  88. Const DDSCAPS2_RESERVED1=$20
  89. Const DDSCAPS2_RESERVED2=$40
  90. Const DDSCAPS2_OPAQUE=$80
  91. Const DDSCAPS2_HINTANTIALIASING=$100
  92. Const DDSCAPS2_CUBEMAP=$200
  93. Const DDSCAPS2_CUBEMAP_POSITIVEX=$400
  94. Const DDSCAPS2_CUBEMAP_NEGATIVEX=$800
  95. Const DDSCAPS2_CUBEMAP_POSITIVEY=$1000
  96. Const DDSCAPS2_CUBEMAP_NEGATIVEY=$2000
  97. Const DDSCAPS2_CUBEMAP_POSITIVEZ=$4000
  98. Const DDSCAPS2_CUBEMAP_NEGATIVEZ=$8000
  99. Const DDSCAPS2_CUBEMAP_ALLFACES=DDSCAPS2_CUBEMAP_POSITIVEX|DDSCAPS2_CUBEMAP_NEGATIVEX|DDSCAPS2_CUBEMAP_POSITIVEY|DDSCAPS2_CUBEMAP_NEGATIVEY|DDSCAPS2_CUBEMAP_POSITIVEZ|DDSCAPS2_CUBEMAP_NEGATIVEZ
  100. Const DDSCAPS2_MIPMAPSUBLEVEL=$10000
  101. Const DDSCAPS2_D3DTEXTUREMANAGE=$20000
  102. Const DDSCAPS2_DONOTPERSIST=$40000
  103. Const DDSCAPS2_STEREOSURFACELEFT=$80000
  104. Const DDCAPS_3D=$1
  105. Const DDCAPS_ALIGNBOUNDARYDEST=$2
  106. Const DDCAPS_ALIGNSIZEDEST=$4
  107. Const DDCAPS_ALIGNBOUNDARYSRC=$8
  108. Const DDCAPS_ALIGNSIZESRC=$10
  109. Const DDCAPS_ALIGNSTRIDE=$20
  110. Const DDCAPS_BLT=$40
  111. Const DDCAPS_BLTQUEUE=$80
  112. Const DDCAPS_BLTFOURCC=$100
  113. Const DDCAPS_BLTSTRETCH=$200
  114. Const DDCAPS_GDI=$400
  115. Const DDCAPS_OVERLAY=$800
  116. Const DDCAPS_OVERLAYCANTCLIP=$1000
  117. Const DDCAPS_OVERLAYFOURCC=$2000
  118. Const DDCAPS_OVERLAYSTRETCH=$4000
  119. Const DDCAPS_PALETTE=$8000
  120. Const DDCAPS_PALETTEVSYNC=$10000
  121. Const DDCAPS_READSCANLINE=$20000
  122. Const DDCAPS_RESERVED1=$40000
  123. Const DDCAPS_VBI=$80000
  124. Const DDCAPS_ZBLTS=$100000
  125. Const DDCAPS_ZOVERLAYS=$200000
  126. Const DDCAPS_COLORKEY=$400000
  127. Const DDCAPS_ALPHA=$800000
  128. Const DDCAPS_COLORKEYHWASSIST=$1000000
  129. Const DDCAPS_NOHARDWARE=$2000000
  130. Const DDCAPS_BLTCOLORFILL=$4000000
  131. Const DDCAPS_BANKSWITCHED=$8000000
  132. Const DDCAPS_BLTDEPTHFILL=$10000000
  133. Const DDCAPS_CANCLIP=$20000000
  134. Const DDCAPS_CANCLIPSTRETCHED=$40000000
  135. Const DDCAPS_CANBLTSYSMEM=$80000000
  136. Const DDCAPS2_CERTIFIED=$1
  137. Const DDCAPS2_NO2DDURING3DSCENE=$2
  138. Const DDCAPS2_VIDEOPORT=$4
  139. Const DDCAPS2_AUTOFLIPOVERLAY=$8
  140. Const DDCAPS2_CANBOBINTERLEAVED=$10
  141. Const DDCAPS2_CANBOBNONINTERLEAVED=$20
  142. Const DDCAPS2_COLORCONTROLOVERLAY=$40
  143. Const DDCAPS2_COLORCONTROLPRIMARY=$80
  144. Const DDCAPS2_CANDROPZ16BIT=$100
  145. Const DDCAPS2_NONLOCALVIDMEM=$200
  146. Const DDCAPS2_NONLOCALVIDMEMCAPS=$400
  147. Const DDCAPS2_NOPAGELOCKREQUIRED=$800
  148. Const DDCAPS2_WIDESURFACES=$1000
  149. Const DDCAPS2_CANFLIPODDEVEN=$2000
  150. Const DDCAPS2_CANBOBHARDWARE=$4000
  151. Const DDCAPS2_COPYFOURCC=$8000
  152. Const DDCAPS2_PRIMARYGAMMA=$20000
  153. Const DDCAPS2_CANRENDERWINDOWED=$80000
  154. Const DDCAPS2_CANCALIBRATEGAMMA=$100000
  155. Const DDCAPS2_FLIPINTERVAL=$200000
  156. Const DDCAPS2_FLIPNOVSYNC=$400000
  157. Const DDCAPS2_CANMANAGETEXTURE=$800000
  158. Const DDCAPS2_TEXMANINNONLOCALVIDMEM=$1000000
  159. Const DDCAPS2_STEREO=$2000000
  160. Const DDCAPS2_SYSTONONLOCAL_AS_SYSTOLOCAL=$4000000
  161. Const DDFXALPHACAPS_BLTALPHAEDGEBLEND=$1
  162. Const DDFXALPHACAPS_BLTALPHAPIXELS=$2
  163. Const DDFXALPHACAPS_BLTALPHAPIXELSNEG=$4
  164. Const DDFXALPHACAPS_BLTALPHASURFACES=$8
  165. Const DDFXALPHACAPS_BLTALPHASURFACESNEG=$10
  166. Const DDFXALPHACAPS_OVERLAYALPHAEDGEBLEND=$20
  167. Const DDFXALPHACAPS_OVERLAYALPHAPIXELS=$40
  168. Const DDFXALPHACAPS_OVERLAYALPHAPIXELSNEG=$80
  169. Const DDFXALPHACAPS_OVERLAYALPHASURFACES=$100
  170. Const DDFXALPHACAPS_OVERLAYALPHASURFACESNEG=$200
  171. Const DDFXCAPS_BLTARITHSTRETCHY=$20
  172. Const DDFXCAPS_BLTARITHSTRETCHYN=$10
  173. Const DDFXCAPS_BLTMIRRORLEFTRIGHT=$40
  174. Const DDFXCAPS_BLTMIRRORUPDOWN=$80
  175. Const DDFXCAPS_BLTROTATION=$100
  176. Const DDFXCAPS_BLTROTATION90=$200
  177. Const DDFXCAPS_BLTSHRINKX=$400
  178. Const DDFXCAPS_BLTSHRINKXN=$800
  179. Const DDFXCAPS_BLTSHRINKY=$1000
  180. Const DDFXCAPS_BLTSHRINKYN=$2000
  181. Const DDFXCAPS_BLTSTRETCHX=$4000
  182. Const DDFXCAPS_BLTSTRETCHXN=$8000
  183. Const DDFXCAPS_BLTSTRETCHY=$10000
  184. Const DDFXCAPS_BLTSTRETCHYN=$20000
  185. Const DDFXCAPS_OVERLAYARITHSTRETCHY=$40000
  186. Const DDFXCAPS_OVERLAYARITHSTRETCHYN=$8
  187. Const DDFXCAPS_OVERLAYSHRINKX=$80000
  188. Const DDFXCAPS_OVERLAYSHRINKXN=$100000
  189. Const DDFXCAPS_OVERLAYSHRINKY=$200000
  190. Const DDFXCAPS_OVERLAYSHRINKYN=$400000
  191. Const DDFXCAPS_OVERLAYSTRETCHX=$800000
  192. Const DDFXCAPS_OVERLAYSTRETCHXN=$1000000
  193. Const DDFXCAPS_OVERLAYSTRETCHY=$2000000
  194. Const DDFXCAPS_OVERLAYSTRETCHYN=$4000000
  195. Const DDFXCAPS_OVERLAYMIRRORLEFTRIGHT=$8000000
  196. Const DDFXCAPS_OVERLAYMIRRORUPDOWN=$10000000
  197. Const DDFXCAPS_BLTALPHA=$1
  198. Const DDFXCAPS_BLTFILTER=DDFXCAPS_BLTARITHSTRETCHY
  199. Const DDFXCAPS_OVERLAYALPHA=$4
  200. Const DDFXCAPS_OVERLAYFILTER=DDFXCAPS_OVERLAYARITHSTRETCHY
  201. Const DDSVCAPS_RESERVED1=$1
  202. Const DDSVCAPS_RESERVED2=$2
  203. Const DDSVCAPS_RESERVED3=$4
  204. Const DDSVCAPS_RESERVED4=$8
  205. Const DDSVCAPS_STEREOSEQUENTIAL=$10
  206. Const DDPCAPS_4BIT=$1
  207. Const DDPCAPS_8BITENTRIES=$2
  208. Const DDPCAPS_8BIT=$4
  209. Const DDPCAPS_INITIALIZE=$0
  210. Const DDPCAPS_PRIMARYSURFACE=$10
  211. Const DDPCAPS_PRIMARYSURFACELEFT=$20
  212. Const DDPCAPS_ALLOW256=$40
  213. Const DDPCAPS_VSYNC=$80
  214. Const DDPCAPS_1BIT=$100
  215. Const DDPCAPS_2BIT=$200
  216. Const DDPCAPS_ALPHA=$400
  217. Const DDSPD_IUNKNOWNPOINTER=$1
  218. Const DDSPD_VOLATILE=$2
  219. Const DDBD_1=$4000
  220. Const DDBD_2=$2000
  221. Const DDBD_4=$1000
  222. Const DDBD_8=$800
  223. Const DDBD_16=$400
  224. Const DDBD_24=$200
  225. Const DDBD_32=$100
  226. Const DDCKEY_COLORSPACE=$1
  227. Const DDCKEY_DESTBLT=$2
  228. Const DDCKEY_DESTOVERLAY=$4
  229. Const DDCKEY_SRCBLT=$8
  230. Const DDCKEY_SRCOVERLAY=$10
  231. Const DDCKEYCAPS_DESTBLT=$1
  232. Const DDCKEYCAPS_DESTBLTCLRSPACE=$2
  233. Const DDCKEYCAPS_DESTBLTCLRSPACEYUV=$4
  234. Const DDCKEYCAPS_DESTBLTYUV=$8
  235. Const DDCKEYCAPS_DESTOVERLAY=$10
  236. Const DDCKEYCAPS_DESTOVERLAYCLRSPACE=$20
  237. Const DDCKEYCAPS_DESTOVERLAYCLRSPACEYUV=$40
  238. Const DDCKEYCAPS_DESTOVERLAYONEACTIVE=$80
  239. Const DDCKEYCAPS_DESTOVERLAYYUV=$100
  240. Const DDCKEYCAPS_SRCBLT=$200
  241. Const DDCKEYCAPS_SRCBLTCLRSPACE=$400
  242. Const DDCKEYCAPS_SRCBLTCLRSPACEYUV=$800
  243. Const DDCKEYCAPS_SRCBLTYUV=$1000
  244. Const DDCKEYCAPS_SRCOVERLAY=$2000
  245. Const DDCKEYCAPS_SRCOVERLAYCLRSPACE=$4000
  246. Const DDCKEYCAPS_SRCOVERLAYCLRSPACEYUV=$8000
  247. Const DDCKEYCAPS_SRCOVERLAYONEACTIVE=$10000
  248. Const DDCKEYCAPS_SRCOVERLAYYUV=$20000
  249. Const DDCKEYCAPS_NOCOSTOVERLAY=$40000
  250. Const DDPF_ALPHAPIXELS=$1
  251. Const DDPF_ALPHA=$2
  252. Const DDPF_FOURCC=$4
  253. Const DDPF_PALETTEINDEXED4=$8
  254. Const DDPF_PALETTEINDEXEDTO8=$10
  255. Const DDPF_PALETTEINDEXED8=$20
  256. Const DDPF_RGB=$40
  257. Const DDPF_COMPRESSED=$80
  258. Const DDPF_RGBTOYUV=$100
  259. Const DDPF_YUV=$200
  260. Const DDPF_ZBUFFER=$400
  261. Const DDPF_PALETTEINDEXED1=$800
  262. Const DDPF_PALETTEINDEXED2=$1000
  263. Const DDPF_ZPIXELS=$2000
  264. Const DDPF_STENCILBUFFER=$4000
  265. Const DDPF_ALPHAPREMULT=$8000
  266. Const DDPF_LUMINANCE=$20000
  267. Const DDPF_BUMPLUMINANCE=$40000
  268. Const DDPF_BUMPDUDV=$80000
  269. Const DDENUMSURFACES_ALL=$1
  270. Const DDENUMSURFACES_MATCH=$2
  271. Const DDENUMSURFACES_NOMATCH=$4
  272. Const DDENUMSURFACES_CANBECREATED=$8
  273. Const DDENUMSURFACES_DOESEXIST=$10
  274. Const DDSDM_STANDARDVGAMODE=$1
  275. Const DDEDM_REFRESHRATES=$1
  276. Const DDEDM_STANDARDVGAMODES=$2
  277. Const DDSCL_FULLSCREEN=$1
  278. Const DDSCL_ALLOWREBOOT=$2
  279. Const DDSCL_NOWINDOWCHANGES=$4
  280. Const DDSCL_NORMAL=$8
  281. Const DDSCL_EXCLUSIVE=$10
  282. Const DDSCL_ALLOWMODEX=$40
  283. Const DDSCL_SETFOCUSWINDOW=$80
  284. Const DDSCL_SETDEVICEWINDOW=$100
  285. Const DDSCL_CREATEDEVICEWINDOW=$200
  286. Const DDSCL_MULTITHREADED=$400
  287. Const DDSCL_FPUSETUP=$800
  288. Const DDSCL_FPUPRESERVE=$1000
  289. Const DDBLT_ALPHADEST=$1
  290. Const DDBLT_ALPHADESTCONSTOVERRIDE=$2
  291. Const DDBLT_ALPHADESTNEG=$4
  292. Const DDBLT_ALPHADESTSURFACEOVERRIDE=$8
  293. Const DDBLT_ALPHAEDGEBLEND=$10
  294. Const DDBLT_ALPHASRC=$20
  295. Const DDBLT_ALPHASRCCONSTOVERRIDE=$40
  296. Const DDBLT_ALPHASRCNEG=$80
  297. Const DDBLT_ALPHASRCSURFACEOVERRIDE=$100
  298. Const DDBLT_ASYNC=$200
  299. Const DDBLT_COLORFILL=$400
  300. Const DDBLT_DDFX=$800
  301. Const DDBLT_DDROPS=$1000
  302. Const DDBLT_KEYDEST=$2000
  303. Const DDBLT_KEYDESTOVERRIDE=$4000
  304. Const DDBLT_KEYSRC=$8000
  305. Const DDBLT_KEYSRCOVERRIDE=$10000
  306. Const DDBLT_ROP=$20000
  307. Const DDBLT_ROTATIONANGLE=$40000
  308. Const DDBLT_ZBUFFER=$80000
  309. Const DDBLT_ZBUFFERDESTCONSTOVERRIDE=$100000
  310. Const DDBLT_ZBUFFERDESTOVERRIDE=$200000
  311. Const DDBLT_ZBUFFERSRCCONSTOVERRIDE=$400000
  312. Const DDBLT_ZBUFFERSRCOVERRIDE=$800000
  313. Const DDBLT_WAIT=$1000000
  314. Const DDBLT_DEPTHFILL=$2000000
  315. Const DDBLT_DONOTWAIT=$8000000
  316. Const DDBLTFAST_NOCOLORKEY=$0
  317. Const DDBLTFAST_SRCCOLORKEY=$1
  318. Const DDBLTFAST_DESTCOLORKEY=$2
  319. Const DDBLTFAST_WAIT=$10
  320. Const DDBLTFAST_DONOTWAIT=$20
  321. Const DDFLIP_WAIT=$1
  322. Const DDFLIP_EVEN=$2
  323. Const DDFLIP_ODD=$4
  324. Const DDFLIP_NOVSYNC=$8
  325. Const DDFLIP_INTERVAL2=$2000000
  326. Const DDFLIP_INTERVAL3=$3000000
  327. Const DDFLIP_INTERVAL4=$4000000
  328. Const DDFLIP_STEREO=$10
  329. Const DDFLIP_DONOTWAIT=$20
  330. Const DDOVER_ALPHADEST=$1
  331. Const DDOVER_ALPHADESTCONSTOVERRIDE=$2
  332. Const DDOVER_ALPHADESTNEG=$4
  333. Const DDOVER_ALPHADESTSURFACEOVERRIDE=$8
  334. Const DDOVER_ALPHAEDGEBLEND=$10
  335. Const DDOVER_ALPHASRC=$20
  336. Const DDOVER_ALPHASRCCONSTOVERRIDE=$40
  337. Const DDOVER_ALPHASRCNEG=$80
  338. Const DDOVER_ALPHASRCSURFACEOVERRIDE=$100
  339. Const DDOVER_HIDE=$200
  340. Const DDOVER_KEYDEST=$400
  341. Const DDOVER_KEYDESTOVERRIDE=$800
  342. Const DDOVER_KEYSRC=$1000
  343. Const DDOVER_KEYSRCOVERRIDE=$2000
  344. Const DDOVER_SHOW=$4000
  345. Const DDOVER_ADDDIRTYRECT=$8000
  346. Const DDOVER_REFRESHDIRTYRECTS=$10000
  347. Const DDOVER_REFRESHALL=$20000
  348. Const DDOVER_DDFX=$80000
  349. Const DDOVER_AUTOFLIP=$100000
  350. Const DDOVER_BOB=$200000
  351. Const DDOVER_OVERRIDEBOBWEAVE=$400000
  352. Const DDOVER_INTERLEAVED=$800000
  353. Const DDOVER_BOBHARDWARE=$1000000
  354. Const DDOVER_ARGBSCALEFACTORS=$2000000
  355. Const DDOVER_DEGRADEARGBSCALING=$4000000
  356. Const DDLOCK_SURFACEMEMORYPTR=$0
  357. Const DDLOCK_WAIT=$1
  358. Const DDLOCK_EVENT=$2
  359. Const DDLOCK_READONLY=$10
  360. Const DDLOCK_WRITEONLY=$20
  361. Const DDLOCK_NOSYSLOCK=$800
  362. Const DDLOCK_NOOVERWRITE=$1000
  363. Const DDLOCK_DISCARDCONTENTS=$2000
  364. Const DDLOCK_OKTOSWAP=$2000
  365. Const DDLOCK_DONOTWAIT=$4000
  366. Const DDBLTFX_ARITHSTRETCHY=$1
  367. Const DDBLTFX_MIRRORLEFTRIGHT=$2
  368. Const DDBLTFX_MIRRORUPDOWN=$4
  369. Const DDBLTFX_NOTEARING=$8
  370. Const DDBLTFX_ROTATE180=$10
  371. Const DDBLTFX_ROTATE270=$20
  372. Const DDBLTFX_ROTATE90=$40
  373. Const DDBLTFX_ZBUFFERRANGE=$80
  374. Const DDBLTFX_ZBUFFERBASEDEST=$100
  375. Const DDOVERFX_ARITHSTRETCHY=$1
  376. Const DDOVERFX_MIRRORLEFTRIGHT=$2
  377. Const DDOVERFX_MIRRORUPDOWN=$4
  378. Const DDWAITVB_BLOCKBEGIN=$1
  379. Const DDWAITVB_BLOCKBEGINEVENT=$2
  380. Const DDWAITVB_BLOCKEND=$4
  381. Const DDGFS_CANFLIP=$1
  382. Const DDGFS_ISFLIPDONE=$2
  383. Const DDGBS_CANBLT=$1
  384. Const DDGBS_ISBLTDONE=$2
  385. Const DDENUMOVERLAYZ_BACKTOFRONT=$0
  386. Const DDENUMOVERLAYZ_FRONTTOBACK=$1
  387. Const DDOVERZ_SENDTOFRONT=$1
  388. Const DDOVERZ_SENDTOBACK=$1
  389. Const DDOVERZ_MOVEFORWARD=$2
  390. Const DDOVERZ_MOVEBACKWARD=$3
  391. Const DDOVERZ_INSERTINFRONTOF=$4
  392. Const DDOVERZ_INSERTINBACKOF=$5
  393. Const DDSGR_CALIBRATE=1
  394. Const DDSMT_ISTESTREQUIRED=1
  395. Const DDEM_MODEPASSED=1
  396. Const DDEM_MODEFAILED=2
  397. Const DD_OK=0
  398. Const DD_FALSE=1
  399. Const DDENUMRET_CANCEL=0
  400. Const DDENUMRET_OK=1
  401. ' DIRECTDRAW ERRORS
  402. Const DDERR=$88760000
  403. Const DDERR_ALREADYINITIALIZED=DDERR+5
  404. Const DDERR_CANNOTATTACHSURFACE=DDERR+10
  405. Const DDERR_CANNOTDETACHSURFACE=DDERR+20
  406. Const DDERR_CURRENTLYNOTAVAIL=DDERR+40
  407. Const DDERR_EXCEPTION=DDERR+55
  408. Const DDERR_GENERIC=$80004005 'E_FAIL
  409. Const DDERR_HEIGHTALIGN=DDERR+90
  410. Const DDERR_INCOMPATIBLEPRIMARY=DDERR+95
  411. Const DDERR_INVALIDCAPS=DDERR+100
  412. Const DDERR_INVALIDCLIPLIST=DDERR+110
  413. Const DDERR_INVALIDMODE=DDERR+120
  414. Const DDERR_INVALIDOBJECT=DDERR+130
  415. Const DDERR_INVALIDPARAMS=$80070057 ' E_INVALIDARG
  416. Const DDERR_INVALIDPIXELFORMAT=DDERR+145
  417. Const DDERR_INVALIDRECT=DDERR+150
  418. Const DDERR_LOCKEDSURFACES=DDERR+160
  419. Const DDERR_NO3D=DDERR+170
  420. Const DDERR_NOALPHAHW=DDERR+180
  421. Const DDERR_NOSTEREOHARDWARE=DDERR+181
  422. Const DDERR_NOSURFACELEFT=DDERR+182
  423. Const DDERR_NOCLIPLIST=DDERR+205
  424. Const DDERR_NOCOLORCONVHW=DDERR+210
  425. Const DDERR_NOCOOPERATIVELEVELSET=DDERR+212
  426. Const DDERR_NOCOLORKEY=DDERR+215
  427. Const DDERR_NOCOLORKEYHW=DDERR+220
  428. Const DDERR_NODIRECTDRAWSUPPORT=DDERR+222
  429. Const DDERR_NOEXCLUSIVEMODE=DDERR+225
  430. Const DDERR_NOFLIPHW=DDERR+230
  431. Const DDERR_NOGDI=DDERR+240
  432. Const DDERR_NOMIRRORHW=DDERR+250
  433. Const DDERR_NOTFOUND=DDERR+255
  434. Const DDERR_NOOVERLAYHW=DDERR+260
  435. Const DDERR_OVERLAPPINGRECTS=DDERR+270
  436. Const DDERR_NORASTEROPHW=DDERR+280
  437. Const DDERR_NOROTATIONHW=DDERR+290
  438. Const DDERR_NOSTRETCHHW=DDERR+310
  439. Const DDERR_NOT4BITCOLOR=DDERR+316
  440. Const DDERR_NOT4BITCOLORINDEX=DDERR+317
  441. Const DDERR_NOT8BITCOLOR=DDERR+320
  442. Const DDERR_NOTEXTUREHW=DDERR+330
  443. Const DDERR_NOVSYNCHW=DDERR+335
  444. Const DDERR_NOZBUFFERHW=DDERR+340
  445. Const DDERR_NOZOVERLAYHW=DDERR+350
  446. Const DDERR_OUTOFCAPS=DDERR+360
  447. Const DDERR_OUTOFMEMORY=$8007000E ' E_OUTOFMEMORY
  448. Const DDERR_OUTOFVIDEOMEMORY=DDERR+380
  449. Const DDERR_OVERLAYCANTCLIP=DDERR+382
  450. Const DDERR_OVERLAYCOLORKEYONLYONEACTIVE=DDERR+384
  451. Const DDERR_PALETTEBUSY=DDERR+387
  452. Const DDERR_COLORKEYNOTSET=DDERR+400
  453. Const DDERR_SURFACEALREADYATTACHED=DDERR+410
  454. Const DDERR_SURFACEALREADYDEPENDENT=DDERR+420
  455. Const DDERR_SURFACEBUSY=DDERR+430
  456. Const DDERR_CANTLOCKSURFACE=DDERR+435
  457. Const DDERR_SURFACEISOBSCURED=DDERR+440
  458. Const DDERR_SURFACELOST=DDERR+450
  459. Const DDERR_SURFACENOTATTACHED=DDERR+460
  460. Const DDERR_TOOBIGHEIGHT=DDERR+470
  461. Const DDERR_TOOBIGSIZE=DDERR+480
  462. Const DDERR_TOOBIGWIDTH=DDERR+490
  463. Const DDERR_UNSUPPORTED=$80000001 ' E_NOTIMPL
  464. Const DDERR_UNSUPPORTEDFORMAT=DDERR+510
  465. Const DDERR_UNSUPPORTEDMASK=DDERR+520
  466. Const DDERR_INVALIDSTREAM=DDERR+521
  467. Const DDERR_VERTICALBLANKINPROGRESS=DDERR+537
  468. Const DDERR_WASSTILLDRAWING=DDERR+540
  469. Const DDERR_DDSCAPSCOMPLEXREQUIRED=DDERR+542
  470. Const DDERR_XALIGN=DDERR+560
  471. Const DDERR_INVALIDDIRECTDRAWGUID=DDERR+561
  472. Const DDERR_DIRECTDRAWALREADYCREATED=DDERR+562
  473. Const DDERR_NODIRECTDRAWHW=DDERR+563
  474. Const DDERR_PRIMARYSURFACEALREADYEXISTS=DDERR+564
  475. Const DDERR_NOEMULATION=DDERR+565
  476. Const DDERR_REGIONTOOSMALL=DDERR+566
  477. Const DDERR_CLIPPERISUSINGHWND=DDERR+567
  478. Const DDERR_NOCLIPPERATTACHED=DDERR+568
  479. Const DDERR_NOHWND=DDERR+569
  480. Const DDERR_HWNDSUBCLASSED=DDERR+570
  481. Const DDERR_HWNDALREADYSET=DDERR+571
  482. Const DDERR_NOPALETTEATTACHED=DDERR+572
  483. Const DDERR_NOPALETTEHW=DDERR+573
  484. Const DDERR_BLTFASTCANTCLIP=DDERR+574
  485. Const DDERR_NOBLTHW=DDERR+575
  486. Const DDERR_NODDROPSHW=DDERR+576
  487. Const DDERR_OVERLAYNOTVISIBLE=DDERR+577
  488. Const DDERR_NOOVERLAYDEST=DDERR+578
  489. Const DDERR_INVALIDPOSITION=DDERR+579
  490. Const DDERR_NOTAOVERLAYSURFACE=DDERR+580
  491. Const DDERR_EXCLUSIVEMODEALREADYSET=DDERR+581
  492. Const DDERR_NOTFLIPPABLE=DDERR+582
  493. Const DDERR_CANTDUPLICATE=DDERR+583
  494. Const DDERR_NOTLOCKED=DDERR+584
  495. Const DDERR_CANTCREATEDC=DDERR+585
  496. Const DDERR_NODC=DDERR+586
  497. Const DDERR_WRONGMODE=DDERR+587
  498. Const DDERR_IMPLICITLYCREATED=DDERR+588
  499. Const DDERR_NOTPALETTIZED=DDERR+589
  500. Const DDERR_UNSUPPORTEDMODE=DDERR+590
  501. Const DDERR_NOMIPMAPHW=DDERR+591
  502. Const DDERR_INVALIDSURFACETYPE=DDERR+592
  503. Const DDERR_NOOPTIMIZEHW=DDERR+600
  504. Const DDERR_NOTLOADED=DDERR+601
  505. Const DDERR_NOFOCUSWINDOW=DDERR+602
  506. Const DDERR_NOTONMIPMAPSUBLEVEL=DDERR+603
  507. Const DDERR_DCALREADYCREATED=DDERR+620
  508. Const DDERR_NONONLOCALVIDMEM=DDERR+630
  509. Const DDERR_CANTPAGELOCK=DDERR+640
  510. Const DDERR_CANTPAGEUNLOCK=DDERR+660
  511. Const DDERR_NOTPAGELOCKED=DDERR+680
  512. Const DDERR_MOREDATA=DDERR+690
  513. Const DDERR_EXPIRED=DDERR+691
  514. Const DDERR_TESTFINISHED=DDERR+692
  515. Const DDERR_NEWMODE=DDERR+693
  516. Const DDERR_D3DNOTINITIALIZED=DDERR+694
  517. Const DDERR_VIDEONOTACTIVE=DDERR+695
  518. Const DDERR_NOMONITORINFORMATION=DDERR+696
  519. Const DDERR_NODRIVERSUPPORT=DDERR+697
  520. Const DDERR_DEVICEDOESNTOWNSURFACE=DDERR+699
  521. Const DDERR_NOTINITIALIZED=$800401F0 ' CO_E_NOTINITIALIZED
  522. Rem
  523. DEFINE_GUID( CLSID_DirectDraw,=$D7B70EE0,0x4340,0x11CF,0xB0,0x63,0x00,0x20,0xAF,0xC2,0xCD,0x35 );
  524. DEFINE_GUID( CLSID_DirectDraw7,=$3c305196,0x50db,0x11d3,0x9c,0xfe,0x00,0xc0,0x4f,0xd9,0x30,0xc5 );
  525. DEFINE_GUID( CLSID_DirectDrawClipper,=$593817A0,0x7DB3,0x11CF,0xA2,0xDE,0x00,0xAA,0x00,0xb9,0x33,0x56 );
  526. DEFINE_GUID( IID_IDirectDraw,=$6C14DB80,0xA733,0x11CE,0xA5,0x21,0x00,0x20,0xAF,0x0B,0xE5,0x60 );
  527. DEFINE_GUID( IID_IDirectDraw2,=$B3A6F3E0,0x2B43,0x11CF,0xA2,0xDE,0x00,0xAA,0x00,0xB9,0x33,0x56 );
  528. DEFINE_GUID( IID_IDirectDraw4,=$9c59509a,0x39bd,0x11d1,0x8c,0x4a,0x00,0xc0,0x4f,0xd9,0x30,0xc5 );
  529. DEFINE_GUID( IID_IDirectDraw7,=$15e65ec0,0x3b9c,0x11d2,0xb9,0x2f,0x00,0x60,0x97,0x97,0xea,0x5b );
  530. DEFINE_GUID( IID_IDirectDrawSurface,=$6C14DB81,0xA733,0x11CE,0xA5,0x21,0x00,0x20,0xAF,0x0B,0xE5,0x60 );
  531. DEFINE_GUID( IID_IDirectDrawSurface2,=$57805885,0x6eec,0x11cf,0x94,0x41,0xa8,0x23,0x03,0xc1,0x0e,0x27 );
  532. DEFINE_GUID( IID_IDirectDrawSurface3,=$DA044E00,0x69B2,0x11D0,0xA1,0xD5,0x00,0xAA,0x00,0xB8,0xDF,0xBB );
  533. DEFINE_GUID( IID_IDirectDrawSurface4,=$B2B8630,0xAD35,0x11D0,0x8E,0xA6,0x00,0x60,0x97,0x97,0xEA,0x5B );
  534. DEFINE_GUID( IID_IDirectDrawSurface7,=$6675a80,0x3b9b,0x11d2,0xb9,0x2f,0x00,0x60,0x97,0x97,0xea,0x5b );
  535. DEFINE_GUID( IID_IDirectDrawPalette,=$6C14DB84,0xA733,0x11CE,0xA5,0x21,0x00,0x20,0xAF,0x0B,0xE5,0x60 );
  536. DEFINE_GUID( IID_IDirectDrawClipper,=$6C14DB85,0xA733,0x11CE,0xA5,0x21,0x00,0x20,0xAF,0x0B,0xE5,0x60 );
  537. DEFINE_GUID( IID_IDirectDrawColorControl,=$4B9F0EE0,0x0D7E,0x11D0,0x9B,0x06,0x00,0xA0,0xC9,0x03,0xA3,0xB8 );
  538. DEFINE_GUID( IID_IDirectDrawGammaControl,=$69C11C3E,0xB46B,0x11D1,0xAD,0x7A,0x00,0xC0,0x4F,0xC2,0x9B,0x4E );
  539. typedef BOOL (FAR PASCAL * LPDDENUMCALLBACKA)(GUID FAR *, LPSTR, LPSTR, LPVOID);
  540. typedef BOOL (FAR PASCAL * LPDDENUMCALLBACKW)(GUID FAR *, LPWSTR, LPWSTR, LPVOID);
  541. Extern HRESULT WINAPI DirectDrawEnumerateW( LPDDENUMCALLBACKW lpCallback, LPVOID lpContext );
  542. Extern HRESULT WINAPI DirectDrawEnumerateA( LPDDENUMCALLBACKA lpCallback, LPVOID lpContext );
  543. EndRem
  544. Type DDSURFACEDESC
  545. Field dwSize' size of the DDSURFACEDESC structure
  546. Field dwFlags' determines what fields are valid
  547. Field dwHeight' height of surface To be created
  548. Field dwWidth' width of Input surface
  549. ' union Field dwLinearSize' Formless late-allocated optimized surface size
  550. Field lPitch' distance To start of Next line (Return value only)
  551. Field dwBackBufferCount' number of back buffers requested
  552. 'union Field dwMipMapCount' number of mip-map levels requested
  553. 'union Field dwZBufferBitDepth' depth of Z buffer requested
  554. Field dwRefreshRate' refresh rate (used when display mode is described)
  555. Field dwAlphaBitDepth' depth of alpha buffer requested
  556. Field dwReserved' reserved
  557. Field lpSurface:Byte Ptr' pointer To the associated surface memory
  558. ' DDCOLORKEYs
  559. Field ddckCKDestOverlay:Long' color key For destination overlay use
  560. Field ddckCKDestBlt:Long' color key For destination blt use
  561. Field ddckCKSrcOverlay:Long' color key For source overlay use
  562. Field ddckCKSrcBlt:Long' color key For source blt use
  563. ' DDPIXELFORMAT
  564. Field ddpf_dwSize' size of structure
  565. Field ddpf_dwFlags' pixel format flags
  566. Field ddpf_dwFourCC' (FOURCC code)
  567. Field ddpf_BitCount
  568. Field ddpf_BitMask_0
  569. Field ddpf_BitMask_1
  570. Field ddpf_BitMask_2
  571. Field ddpf_BitMask_3
  572. ' DDSCAPS
  573. Field ddsCaps' direct draw surface capabilities
  574. End Type
  575. Type DDSURFACEDESC2
  576. Field dwSize' size of the DDSURFACEDESC structure
  577. Field dwFlags' determines what fields are valid
  578. Field dwHeight' height of surface To be created
  579. Field dwWidth' width of Input surface
  580. ' union dwLinearSize
  581. Field lPitch' distance To start of Next line (Return value only)
  582. Field dwBackBufferCount' number of back buffers requested
  583. ' union dwRefreshRate,dwSrcVBHandle
  584. Field dwMipMapCount' number of mip-map levels requestde
  585. Field dwAlphaBitDepth' depth of alpha buffer requested
  586. Field dwReserved' reserved
  587. Field lpSurface:Byte Ptr' pointer To the associated surface memory
  588. ' union dwEmptyFaceColor
  589. ' DDCOLORKEYs
  590. Field dddckCKDestOverlay:Long' color key For destination overlay use
  591. Field ddckCKDestBlt:Long' color key For destination blt use
  592. Field ddckCKSrcOverlay:Long' color key For source overlay use
  593. Field ddckCKSrcBlt:Long' color key For source blt use
  594. ' union dwFVF
  595. ' DDPFPIXELFORMAT
  596. Field ddpf_dwSize' size of structure
  597. Field ddpf_dwFlags' pixel format flags
  598. Field ddpf_dwFourCC' (FOURCC code)
  599. Field ddpf_BitCount
  600. Field ddpf_BitMask_0
  601. Field ddpf_BitMask_1
  602. Field ddpf_BitMask_2
  603. Field ddpf_BitMask_3
  604. ' DDSCAPS2
  605. Field ddsCaps' capabilities of surface wanted
  606. Field ddsCaps2
  607. Field ddsCaps3
  608. Field ddsCaps4
  609. Field dwTextureStage' stage in multitexture cascade
  610. End Type
  611. Type DDOPTSURFACEDESC
  612. Field dwSize' size of the DDOPTSURFACEDESC structure
  613. Field dwFlags' determines what fields are valid
  614. ' DDSCAPS2
  615. Field ddSCaps_0' Common caps like: Memory Type
  616. Field ddsCaps_1
  617. Field ddsCaps_2
  618. Field ddsCaps_3
  619. Field ddOSCaps' Common caps like: Memory Type
  620. ' GUID
  621. Field guid_0' Compression technique GUID
  622. Field guid_1
  623. Field guid_2
  624. Field guid_3
  625. Field dwCompressionRatio' Compression ratio
  626. End Type
  627. Type DDCOLORCONTROL
  628. Field dwSize
  629. Field dwFlags
  630. Field lBrightness
  631. Field lContrast
  632. Field lHue
  633. Field lSaturation
  634. Field lSharpness
  635. Field lGamma
  636. Field lColorEnable
  637. Field dwReserved1
  638. End Type
  639. Type DDARGB
  640. Field blue:Byte,green:Byte,red:Byte,alpha:Byte
  641. End Type
  642. Type DDRGBA
  643. Field red:Byte,green:Byte,blue:Byte,alpha:Byte
  644. End Type
  645. Type DDCOLORKEY
  646. Field dwColorSpaceLowValue ' low boundary of color space that is to be treated as Color Key, inclusive
  647. Field dwColorSpaceHighValue ' high boundary of color space that is to be treated as Color Key, inclusive
  648. End Type
  649. Type DDBLTFX
  650. Field dwSize' size of structure
  651. Field dwDDFX' FX operations
  652. Field dwROP' Win32 raster operations
  653. Field dwDDROP' Raster operations New For DirectDraw
  654. Field dwRotationAngle' Rotation angle For blt
  655. Field dwZBufferOpCode' ZBuffer compares
  656. Field dwZBufferLow' Low limit of Z buffer
  657. Field dwZBufferHigh' High limit of Z buffer
  658. Field dwZBufferBaseDest' Destination base value
  659. Field dwZDestConstBitDepth' Bit depth used To specify Z constant For destination
  660. ' union LPDIRECTDRAWSURFACE lpDDSZBufferDest
  661. Field dwZDestConst' Constant To use as Z buffer For dest
  662. Field dwZSrcConstBitDepth' Bit depth used To specify Z constant For source
  663. ' union LPDIRECTDRAWSURFACE lpDDSZBufferSrc
  664. Field dwZSrcConst' Constant To use as Z buffer For src
  665. Field dwAlphaEdgeBlendBitDepth' Bit depth used To specify constant For alpha edge blend
  666. Field dwAlphaEdgeBlend' Alpha For edge blending
  667. Field dwReserved
  668. Field dwAlphaDestConstBitDepth' Bit depth used To specify alpha constant For destination
  669. ' union LPDIRECTDRAWSURFACE lpDDSAlphaDest
  670. Field dwAlphaDestConst' Constant To use as Alpha Channel
  671. Field dwAlphaSrcConstBitDepth' Bit depth used To specify alpha constant For source
  672. ' union LPDIRECTDRAWSURFACE lpDDSAlphaSrc
  673. Field dwAlphaSrcConst' Constant To use as Alpha Channel
  674. ' union dwFillDepth,dwFillPixel,LPDIRECTDRAWSURFACE lpDDSPattern
  675. Field dwFillColor' color in RGB Or Palettized
  676. ' DDCOLORKEYs
  677. Field ddckDestColorkeyLo,ddckDestColorkeyHi ' DestColorkey override
  678. Field ddckSrcColorkeyLo,ddckSrcColorkeyHi ' SrcColorkey override
  679. End Type
  680. Type DDSCAPS
  681. Field dwCaps ' capabilities of surface wanted
  682. End Type
  683. Type DDOSCAPS
  684. Field dwCaps ' capabilities of surface wanted
  685. End Type
  686. Type DDSCAPSEX
  687. Field dwCaps2
  688. Field dwCaps3
  689. Field dwCaps4
  690. End Type
  691. Type DDSCAPS2
  692. Field dwCaps' capabilities of surface wanted
  693. Field dwCaps2
  694. Field dwCaps3
  695. Field dwCaps4
  696. End Type
  697. Const DD_ROP_SPACE=(256/32) ' space required To store ROP array
  698. Type DDCAPS_DX1
  699. Field dwSize' size of the DDDRIVERCAPS structure
  700. Field dwCaps' driver specific capabilities
  701. Field dwCaps2' more driver specific capabilites
  702. Field dwCKeyCaps' color key capabilities of the surface
  703. Field dwFXCaps' driver specific stretching And effects capabilites
  704. Field dwFXAlphaCaps' alpha driver specific capabilities
  705. Field dwPalCaps' palette capabilities
  706. Field dwSVCaps' stereo vision capabilities
  707. Field dwAlphaBltConstBitDepths' DDBD_2,4,8
  708. Field dwAlphaBltPixelBitDepths' DDBD_1,2,4,8
  709. Field dwAlphaBltSurfaceBitDepths' DDBD_1,2,4,8
  710. Field dwAlphaOverlayConstBitDepths' DDBD_2,4,8
  711. Field dwAlphaOverlayPixelBitDepths' DDBD_1,2,4,8
  712. Field dwAlphaOverlaySurfaceBitDepths' DDBD_1,2,4,8
  713. Field dwZBufferBitDepths' DDBD_8,16,24,32
  714. Field dwVidMemTotal' total amount of video memory
  715. Field dwVidMemFree' amount of free video memory
  716. Field dwMaxVisibleOverlays' maximum number of visible overlays
  717. Field dwCurrVisibleOverlays' current number of visible overlays
  718. Field dwNumFourCCCodes' number of four cc codes
  719. Field dwAlignBoundarySrc' source rectangle alignment
  720. Field dwAlignSizeSrc' source rectangle Byte size
  721. Field dwAlignBoundaryDest' dest rectangle alignment
  722. Field dwAlignSizeDest' dest rectangle Byte size
  723. Field dwAlignStrideAlign' stride alignment
  724. Field dwRops_0' ROPS supported
  725. Field dwRops_1
  726. Field dwRops_2
  727. Field dwRops_3
  728. Field dwRops_4
  729. Field dwRops_5
  730. Field dwRops_6
  731. Field dwRops_7
  732. ' DDSCAPS
  733. Field ddsCaps' DDSCAPS structure has all the general capabilities
  734. Field dwMinOverlayStretch' minimum overlay stretch factor multiplied by 1000, eg 1000 == 1.0, 1300 == 1.3
  735. Field dwMaxOverlayStretch' maximum overlay stretch factor multiplied by 1000, eg 1000 == 1.0, 1300 == 1.3
  736. Field dwMinLiveVideoStretch' OBSOLETE! This Field remains For compatability reasons only
  737. Field dwMaxLiveVideoStretch' OBSOLETE! This Field remains For compatability reasons only
  738. Field dwMinHwCodecStretch' OBSOLETE! This Field remains For compatability reasons only
  739. Field dwMaxHwCodecStretch' OBSOLETE! This Field remains For compatability reasons only
  740. Field dwReserved1' reserved
  741. Field dwReserved2' reserved
  742. Field dwReserved3' reserved
  743. End Type
  744. Type DDCAPS_DX3
  745. Field dwSize' size of the DDDRIVERCAPS structure
  746. Field dwCaps' driver specific capabilities
  747. Field dwCaps2' more driver specific capabilites
  748. Field dwCKeyCaps' color key capabilities of the surface
  749. Field dwFXCaps' driver specific stretching And effects capabilites
  750. Field dwFXAlphaCaps' alpha driver specific capabilities
  751. Field dwPalCaps' palette capabilities
  752. Field dwSVCaps' stereo vision capabilities
  753. Field dwAlphaBltConstBitDepths' DDBD_2,4,8
  754. Field dwAlphaBltPixelBitDepths' DDBD_1,2,4,8
  755. Field dwAlphaBltSurfaceBitDepths' DDBD_1,2,4,8
  756. Field dwAlphaOverlayConstBitDepths' DDBD_2,4,8
  757. Field dwAlphaOverlayPixelBitDepths' DDBD_1,2,4,8
  758. Field dwAlphaOverlaySurfaceBitDepths' DDBD_1,2,4,8
  759. Field dwZBufferBitDepths' DDBD_8,16,24,32
  760. Field dwVidMemTotal' total amount of video memory
  761. Field dwVidMemFree' amount of free video memory
  762. Field dwMaxVisibleOverlays' maximum number of visible overlays
  763. Field dwCurrVisibleOverlays' current number of visible overlays
  764. Field dwNumFourCCCodes' number of four cc codes
  765. Field dwAlignBoundarySrc' source rectangle alignment
  766. Field dwAlignSizeSrc' source rectangle Byte size
  767. Field dwAlignBoundaryDest' dest rectangle alignment
  768. Field dwAlignSizeDest' dest rectangle Byte size
  769. Field dwAlignStrideAlign' stride alignment
  770. Field dwRops_0' ROPS supported
  771. Field dwRops_1
  772. Field dwRops_2
  773. Field dwRops_3
  774. Field dwRops_4
  775. Field dwRops_5
  776. Field dwRops_6
  777. Field dwRops_7
  778. ' DDSCAPS
  779. Field ddsCaps' DDSCAPS structure has all the general capabilities
  780. Field dwMinOverlayStretch' minimum overlay stretch factor multiplied by 1000, eg 1000 == 1.0, 1300 == 1.3
  781. Field dwMaxOverlayStretch' maximum overlay stretch factor multiplied by 1000, eg 1000 == 1.0, 1300 == 1.3
  782. Field dwMinLiveVideoStretch' minimum live video stretch factor multiplied by 1000, eg 1000 == 1.0, 1300 == 1.3
  783. Field dwMaxLiveVideoStretch' maximum live video stretch factor multiplied by 1000, eg 1000 == 1.0, 1300 == 1.3
  784. Field dwMinHwCodecStretch' minimum hardware codec stretch factor multiplied by 1000, eg 1000 == 1.0, 1300 == 1.3
  785. Field dwMaxHwCodecStretch' maximum hardware codec stretch factor multiplied by 1000, eg 1000 == 1.0, 1300 == 1.3
  786. Field dwReserved1' reserved
  787. Field dwReserved2' reserved
  788. Field dwReserved3' reserved
  789. Field dwSVBCaps' driver specific capabilities For System->Vmem blts
  790. Field dwSVBCKeyCaps' driver color key capabilities For System->Vmem blts
  791. Field dwSVBFXCaps' driver FX capabilities For System->Vmem blts
  792. Field dwSVBRops_0 ' ROPS supported For System->Vmem blts
  793. Field dwSVBRops_1
  794. Field dwSVBRops_2
  795. Field dwSVBRops_3
  796. Field dwSVBRops_4
  797. Field dwSVBRops_5
  798. Field dwSVBRops_6
  799. Field dwSVBRops_7
  800. Field dwVSBCaps' driver specific capabilities For Vmem->System blts
  801. Field dwVSBCKeyCaps' driver color key capabilities For Vmem->System blts
  802. Field dwVSBFXCaps' driver FX capabilities For Vmem->System blts
  803. Field dwVSBRops_0' ROPS supported For Vmem->System blts
  804. Field dwVSBRops_1
  805. Field dwVSBRops_2
  806. Field dwVSBRops_3
  807. Field dwVSBRops_4
  808. Field dwVSBRops_5
  809. Field dwVSBRops_6
  810. Field dwVSBRops_7
  811. Field dwSSBCaps' driver specific capabilities For System->System blts
  812. Field dwSSBCKeyCaps' driver color key capabilities For System->System blts
  813. Field dwSSBFXCaps' driver FX capabilities For System->System blts
  814. Field dwSSBRops_0' ROPS supported For System->System blts
  815. Field dwSSBRops_1
  816. Field dwSSBRops_2
  817. Field dwSSBRops_3
  818. Field dwSSBRops_4
  819. Field dwSSBRops_5
  820. Field dwSSBRops_6
  821. Field dwSSBRops_7
  822. Field dwReserved4' reserved
  823. Field dwReserved5' reserved
  824. Field dwReserved6' reserved
  825. End Type
  826. Type DDCAPS_DX5
  827. Field dwSize' size of the DDDRIVERCAPS structure
  828. Field dwCaps' driver specific capabilities
  829. Field dwCaps2' more driver specific capabilites
  830. Field dwCKeyCaps' color key capabilities of the surface
  831. Field dwFXCaps' driver specific stretching And effects capabilites
  832. Field dwFXAlphaCaps' alpha driver specific capabilities
  833. Field dwPalCaps' palette capabilities
  834. Field dwSVCaps' stereo vision capabilities
  835. Field dwAlphaBltConstBitDepths' DDBD_2,4,8
  836. Field dwAlphaBltPixelBitDepths' DDBD_1,2,4,8
  837. Field dwAlphaBltSurfaceBitDepths' DDBD_1,2,4,8
  838. Field dwAlphaOverlayConstBitDepths' DDBD_2,4,8
  839. Field dwAlphaOverlayPixelBitDepths' DDBD_1,2,4,8
  840. Field dwAlphaOverlaySurfaceBitDepths' DDBD_1,2,4,8
  841. Field dwZBufferBitDepths' DDBD_8,16,24,32
  842. Field dwVidMemTotal' total amount of video memory
  843. Field dwVidMemFree' amount of free video memory
  844. Field dwMaxVisibleOverlays' maximum number of visible overlays
  845. Field dwCurrVisibleOverlays' current number of visible overlays
  846. Field dwNumFourCCCodes' number of four cc codes
  847. Field dwAlignBoundarySrc' source rectangle alignment
  848. Field dwAlignSizeSrc' source rectangle Byte size
  849. Field dwAlignBoundaryDest' dest rectangle alignment
  850. Field dwAlignSizeDest' dest rectangle Byte size
  851. Field dwAlignStrideAlign' stride alignment
  852. Field dwRops_0' ROPS supported
  853. Field dwRops_1
  854. Field dwRops_2
  855. Field dwRops_3
  856. Field dwRops_4
  857. Field dwRops_5
  858. Field dwRops_6
  859. Field dwRops_7
  860. ' DDSCAPS
  861. Field ddsCaps' DDSCAPS structure has all the general capabilities
  862. Field dwMinOverlayStretch' minimum overlay stretch factor multiplied by 1000, eg 1000 == 1.0, 1300 == 1.3
  863. Field dwMaxOverlayStretch' maximum overlay stretch factor multiplied by 1000, eg 1000 == 1.0, 1300 == 1.3
  864. Field dwMinLiveVideoStretch' minimum live video stretch factor multiplied by 1000, eg 1000 == 1.0, 1300 == 1.3
  865. Field dwMaxLiveVideoStretch' maximum live video stretch factor multiplied by 1000, eg 1000 == 1.0, 1300 == 1.3
  866. Field dwMinHwCodecStretch' minimum hardware codec stretch factor multiplied by 1000, eg 1000 == 1.0, 1300 == 1.3
  867. Field dwMaxHwCodecStretch' maximum hardware codec stretch factor multiplied by 1000, eg 1000 == 1.0, 1300 == 1.3
  868. Field dwReserved1' reserved
  869. Field dwReserved2' reserved
  870. Field dwReserved3' reserved
  871. Field dwSVBCaps' driver specific capabilities For System->Vmem blts
  872. Field dwSVBCKeyCaps' driver color key capabilities For System->Vmem blts
  873. Field dwSVBFXCaps' driver FX capabilities For System->Vmem blts
  874. Field dwSVBRops_0' ROPS supported For System->Vmem blts
  875. Field dwSVBRops_1
  876. Field dwSVBRops_2
  877. Field dwSVBRops_3
  878. Field dwSVBRops_4
  879. Field dwSVBRops_5
  880. Field dwSVBRops_6
  881. Field dwSVBRops_7
  882. Field dwVSBCaps' driver specific capabilities For Vmem->System blts
  883. Field dwVSBCKeyCaps' driver color key capabilities For Vmem->System blts
  884. Field dwVSBFXCaps' driver FX capabilities For Vmem->System blts
  885. Field dwVSBRops_0' ROPS supported For Vmem->System blts
  886. Field dwVSBRops_1
  887. Field dwVSBRops_2
  888. Field dwVSBRops_3
  889. Field dwVSBRops_4
  890. Field dwVSBRops_5
  891. Field dwVSBRops_6
  892. Field dwVSBRops_7
  893. Field dwSSBCaps' driver specific capabilities For System->System blts
  894. Field dwSSBCKeyCaps' driver color key capabilities For System->System blts
  895. Field dwSSBFXCaps' driver FX capabilities For System->System blts
  896. Field dwSSBRops_0' ROPS supported For System->System blts
  897. Field dwSSBRops_1
  898. Field dwSSBRops_2
  899. Field dwSSBRops_3
  900. Field dwSSBRops_4
  901. Field dwSSBRops_5
  902. Field dwSSBRops_6
  903. Field dwSSBRops_7
  904. ' Members added For DX5:
  905. Field dwMaxVideoPorts' maximum number of usable video ports
  906. Field dwCurrVideoPorts' current number of video ports used
  907. Field dwSVBCaps2' more driver specific capabilities For System->Vmem blts
  908. Field dwNLVBCaps' driver specific capabilities For non-Local->Local vidmem blts
  909. Field dwNLVBCaps2' more driver specific capabilities non-Local->Local vidmem blts
  910. Field dwNLVBCKeyCaps' driver color key capabilities For non-Local->Local vidmem blts
  911. Field dwNLVBFXCaps' driver FX capabilities For non-Local->Local blts
  912. Field dwNLVBRops_0' ROPS supported For non-Local->Local blts
  913. Field dwNLVBRops_1
  914. Field dwNLVBRops_2
  915. Field dwNLVBRops_3
  916. Field dwNLVBRops_4
  917. Field dwNLVBRops_5
  918. Field dwNLVBRops_6
  919. Field dwNLVBRops_7
  920. End Type
  921. Type DDCAPS_DX6
  922. Field dwSize' size of the DDDRIVERCAPS structure
  923. Field dwCaps' driver specific capabilities
  924. Field dwCaps2' more driver specific capabilites
  925. Field dwCKeyCaps' color key capabilities of the surface
  926. Field dwFXCaps' driver specific stretching And effects capabilites
  927. Field dwFXAlphaCaps' alpha caps
  928. Field dwPalCaps' palette capabilities
  929. Field dwSVCaps' stereo vision capabilities
  930. Field dwAlphaBltConstBitDepths' DDBD_2,4,8
  931. Field dwAlphaBltPixelBitDepths' DDBD_1,2,4,8
  932. Field dwAlphaBltSurfaceBitDepths' DDBD_1,2,4,8
  933. Field dwAlphaOverlayConstBitDepths' DDBD_2,4,8
  934. Field dwAlphaOverlayPixelBitDepths' DDBD_1,2,4,8
  935. Field dwAlphaOverlaySurfaceBitDepths' DDBD_1,2,4,8
  936. Field dwZBufferBitDepths' DDBD_8,16,24,32
  937. Field dwVidMemTotal' total amount of video memory
  938. Field dwVidMemFree' amount of free video memory
  939. Field dwMaxVisibleOverlays' maximum number of visible overlays
  940. Field dwCurrVisibleOverlays' current number of visible overlays
  941. Field dwNumFourCCCodes' number of four cc codes
  942. Field dwAlignBoundarySrc' source rectangle alignment
  943. Field dwAlignSizeSrc' source rectangle Byte size
  944. Field dwAlignBoundaryDest' dest rectangle alignment
  945. Field dwAlignSizeDest' dest rectangle Byte size
  946. Field dwAlignStrideAlign' stride alignment
  947. Field dwRops_0' ROPS supported
  948. Field dwRops_1
  949. Field dwRops_2
  950. Field dwRops_3
  951. Field dwRops_4
  952. Field dwRops_5
  953. Field dwRops_6
  954. Field dwRops_7
  955. ' DDSCAPS
  956. Field ddsOldCaps' Was DDSCAPS ddsCaps. ddsCaps is of Type DDSCAPS2 For DX6
  957. Field dwMinOverlayStretch' minimum overlay stretch factor multiplied by 1000, eg 1000 == 1.0, 1300 == 1.3
  958. Field dwMaxOverlayStretch' maximum overlay stretch factor multiplied by 1000, eg 1000 == 1.0, 1300 == 1.3
  959. Field dwMinLiveVideoStretch' minimum live video stretch factor multiplied by 1000, eg 1000 == 1.0, 1300 == 1.3
  960. Field dwMaxLiveVideoStretch' maximum live video stretch factor multiplied by 1000, eg 1000 == 1.0, 1300 == 1.3
  961. Field dwMinHwCodecStretch' minimum hardware codec stretch factor multiplied by 1000, eg 1000 == 1.0, 1300 == 1.3
  962. Field dwMaxHwCodecStretch' maximum hardware codec stretch factor multiplied by 1000, eg 1000 == 1.0, 1300 == 1.3
  963. Field dwReserved1' reserved
  964. Field dwReserved2' reserved
  965. Field dwReserved3' reserved
  966. Field dwSVBCaps' driver specific capabilities For System->Vmem blts
  967. Field dwSVBCKeyCaps' driver color key capabilities For System->Vmem blts
  968. Field dwSVBFXCaps' driver FX capabilities For System->Vmem blts
  969. Field dwSVBRops_0' ROPS supported for System->Vmem blts
  970. Field dwSVBRops_1
  971. Field dwSVBRops_2
  972. Field dwSVBRops_3
  973. Field dwSVBRops_4
  974. Field dwSVBRops_5
  975. Field dwSVBRops_6
  976. Field dwSVBRops_7
  977. Field dwVSBCaps' driver specific capabilities For Vmem->System blts
  978. Field dwVSBCKeyCaps' driver color key capabilities For Vmem->System blts
  979. Field dwVSBFXCaps' driver FX capabilities For Vmem->System blts
  980. Field dwVSBRops_0' ROPS supported for Vmem->System blts
  981. Field dwVSBRops_1
  982. Field dwVSBRops_2
  983. Field dwVSBRops_3
  984. Field dwVSBRops_4
  985. Field dwVSBRops_5
  986. Field dwVSBRops_6
  987. Field dwVSBRops_7
  988. Field dwSSBCaps' driver specific capabilities For System->System blts
  989. Field dwSSBCKeyCaps' driver color key capabilities For System->System blts
  990. Field dwSSBFXCaps' driver FX capabilities For System->System blts
  991. Field dwSSBRops_0' ROPS supported for System->System blts
  992. Field dwSSBRops_1
  993. Field dwSSBRops_2
  994. Field dwSSBRops_3
  995. Field dwSSBRops_4
  996. Field dwSSBRops_5
  997. Field dwSSBRops_6
  998. Field dwSSBRops_7
  999. Field dwMaxVideoPorts' maximum number of usable video ports
  1000. Field dwCurrVideoPorts' current number of video ports used
  1001. Field dwSVBCaps2' more driver specific capabilities For System->Vmem blts
  1002. Field dwNLVBCaps' driver specific capabilities For non-Local->Local vidmem blts
  1003. Field dwNLVBCaps2' more driver specific capabilities non-Local->Local vidmem blts
  1004. Field dwNLVBCKeyCaps' driver color key capabilities For non-Local->Local vidmem blts
  1005. Field dwNLVBFXCaps' driver FX capabilities For non-Local->Local blts
  1006. Field dwNLVBRops_0' ROPS supported For non-Local->Local blts
  1007. Field dwNLVBRops_1
  1008. Field dwNLVBRops_2
  1009. Field dwNLVBRops_3
  1010. Field dwNLVBRops_4
  1011. Field dwNLVBRops_5
  1012. Field dwNLVBRops_6
  1013. Field dwNLVBRops_7
  1014. ' Members added For DX6 Release
  1015. ' DDSCAPS2
  1016. Field ddsCaps_0' Surface Caps
  1017. Field ddsCaps_1
  1018. Field ddsCaps_2
  1019. Field ddsCaps_3
  1020. End Type
  1021. Type DDCAPS_DX7
  1022. Field dwSize' size of the DDDRIVERCAPS structure
  1023. Field dwCaps' driver specific capabilities
  1024. Field dwCaps2' more driver specific capabilites
  1025. Field dwCKeyCaps' color key capabilities of the surface
  1026. Field dwFXCaps' driver specific stretching And effects capabilites
  1027. Field dwFXAlphaCaps' alpha driver specific capabilities
  1028. Field dwPalCaps' palette capabilities
  1029. Field dwSVCaps' stereo vision capabilities
  1030. Field dwAlphaBltConstBitDepths' DDBD_2,4,8
  1031. Field dwAlphaBltPixelBitDepths' DDBD_1,2,4,8
  1032. Field dwAlphaBltSurfaceBitDepths' DDBD_1,2,4,8
  1033. Field dwAlphaOverlayConstBitDepths' DDBD_2,4,8
  1034. Field dwAlphaOverlayPixelBitDepths' DDBD_1,2,4,8
  1035. Field dwAlphaOverlaySurfaceBitDepths' DDBD_1,2,4,8
  1036. Field dwZBufferBitDepths' DDBD_8,16,24,32
  1037. Field dwVidMemTotal' total amount of video memory
  1038. Field dwVidMemFree' amount of free video memory
  1039. Field dwMaxVisibleOverlays' maximum number of visible overlays
  1040. Field dwCurrVisibleOverlays' current number of visible overlays
  1041. Field dwNumFourCCCodes' number of four cc codes
  1042. Field dwAlignBoundarySrc' source rectangle alignment
  1043. Field dwAlignSizeSrc' source rectangle Byte size
  1044. Field dwAlignBoundaryDest' dest rectangle alignment
  1045. Field dwAlignSizeDest' dest rectangle Byte size
  1046. Field dwAlignStrideAlign' stride alignment
  1047. Field dwRops_0' ROPS supported
  1048. Field dwRops_1
  1049. Field dwRops_2
  1050. Field dwRops_3
  1051. Field dwRops_4
  1052. Field dwRops_5
  1053. Field dwRops_6
  1054. Field dwRops_7
  1055. ' DDSCAPS
  1056. Field ddsOldCaps' Was DDSCAPS ddsCaps. ddsCaps is of Type DDSCAPS2 For DX6
  1057. Field dwMinOverlayStretch' minimum overlay stretch factor multiplied by 1000, eg 1000 == 1.0, 1300 == 1.3
  1058. Field dwMaxOverlayStretch' maximum overlay stretch factor multiplied by 1000, eg 1000 == 1.0, 1300 == 1.3
  1059. Field dwMinLiveVideoStretch' minimum live video stretch factor multiplied by 1000, eg 1000 == 1.0, 1300 == 1.3
  1060. Field dwMaxLiveVideoStretch' maximum live video stretch factor multiplied by 1000, eg 1000 == 1.0, 1300 == 1.3
  1061. Field dwMinHwCodecStretch' minimum hardware codec stretch factor multiplied by 1000, eg 1000 == 1.0, 1300 == 1.3
  1062. Field dwMaxHwCodecStretch' maximum hardware codec stretch factor multiplied by 1000, eg 1000 == 1.0, 1300 == 1.3
  1063. Field dwReserved1' reserved
  1064. Field dwReserved2' reserved
  1065. Field dwReserved3' reserved
  1066. Field dwSVBCaps' driver specific capabilities For System->Vmem blts
  1067. Field dwSVBCKeyCaps' driver color key capabilities For System->Vmem blts
  1068. Field dwSVBFXCaps' driver FX capabilities For System->Vmem blts
  1069. Field dwSVBRops_0' ROPS supported For System->Vmem blts
  1070. Field dwSVBRops_1
  1071. Field dwSVBRops_2
  1072. Field dwSVBRops_3
  1073. Field dwSVBRops_4
  1074. Field dwSVBRops_5
  1075. Field dwSVBRops_6
  1076. Field dwSVBRops_7
  1077. Field dwVSBCaps' driver specific capabilities For Vmem->System blts
  1078. Field dwVSBCKeyCaps' driver color key capabilities For Vmem->System blts
  1079. Field dwVSBFXCaps' driver FX capabilities For Vmem->System blts
  1080. Field dwVSBRops_0' ROPS supported For Vmem->System blts
  1081. Field dwVSBRops_1
  1082. Field dwVSBRops_2
  1083. Field dwVSBRops_3
  1084. Field dwVSBRops_4
  1085. Field dwVSBRops_5
  1086. Field dwVSBRops_6
  1087. Field dwVSBRops_7
  1088. Field dwSSBCaps' driver specific capabilities For System->System blts
  1089. Field dwSSBCKeyCaps' driver color key capabilities For System->System blts
  1090. Field dwSSBFXCaps' driver FX capabilities For System->System blts
  1091. Field dwSSBRops_0' ROPS supported For System->System blts
  1092. Field dwSSBRops_1
  1093. Field dwSSBRops_2
  1094. Field dwSSBRops_3
  1095. Field dwSSBRops_4
  1096. Field dwSSBRops_5
  1097. Field dwSSBRops_6
  1098. Field dwSSBRops_7
  1099. Field dwMaxVideoPorts' maximum number of usable video ports
  1100. Field dwCurrVideoPorts' current number of video ports used
  1101. Field dwSVBCaps2' more driver specific capabilities For System->Vmem blts
  1102. Field dwNLVBCaps' driver specific capabilities For non-Local->Local vidmem blts
  1103. Field dwNLVBCaps2' more driver specific capabilities non-Local->Local vidmem blts
  1104. Field dwNLVBCKeyCaps' driver color key capabilities For non-Local->Local vidmem blts
  1105. Field dwNLVBFXCaps' driver FX capabilities For non-Local->Local blts
  1106. Field dwNLVBRops_0' ROPS supported For non-Local->Local blts
  1107. Field dwNLVBRops_1
  1108. Field dwNLVBRops_2
  1109. Field dwNLVBRops_3
  1110. Field dwNLVBRops_4
  1111. Field dwNLVBRops_5
  1112. Field dwNLVBRops_6
  1113. Field dwNLVBRops_7
  1114. ' Members added For DX6 Release
  1115. ' DDSCAPS2
  1116. Field ddsCaps_0' Surface Caps
  1117. Field ddsCaps_1
  1118. Field ddsCaps_2
  1119. Field ddsCaps_3
  1120. End Type
  1121. Type DDPIXELFORMAT
  1122. Field dwSize' size of structure
  1123. Field dwFlags' pixel format flags
  1124. Field dwFourCC' (FOURCC code)
  1125. Field BitCount
  1126. Field BitMask_0
  1127. Field BitMask_1
  1128. Field BitMask_2
  1129. Field BitMask_3
  1130. End Type
  1131. Type DDOVERLAYFX
  1132. Field dwSize' size of structure
  1133. Field dwAlphaEdgeBlendBitDepth' Bit depth used To specify constant For alpha edge blend
  1134. Field dwAlphaEdgeBlend' Constant To use as alpha For edge blend
  1135. Field dwReserved
  1136. Field dwAlphaDestConstBitDepth' Bit depth used To specify alpha constant For destination
  1137. ' union LPDIRECTDRAWSURFACE lpDDSAlphaDest
  1138. Field dwAlphaDestConst' Constant To use as alpha channel For dest
  1139. Field dwAlphaSrcConstBitDepth' Bit depth used To specify alpha constant For source
  1140. ' union LPDIRECTDRAWSURFACE lpDDSAlphaSrc
  1141. Field dwAlphaSrcConst' Constant To use as alpha channel For src
  1142. ' DDCOLORKEYs
  1143. Field dckDestColorkey:Long' DestColorkey override
  1144. Field dckSrcColorkey:Long' DestColorkey override
  1145. Field dwDDFX' Overlay FX
  1146. Field dwFlags' flags
  1147. End Type
  1148. Rem
  1149. Type DDBLTBATCH
  1150. LPRECT lprDest
  1151. LPDIRECTDRAWSURFACE lpDDSSrc
  1152. LPRECT lprSrc
  1153. Field dwFlags
  1154. LPDDBLTFX lpDDBltFx;
  1155. End Type
  1156. Type DDGAMMARAMP
  1157. WORD red[256];
  1158. WORD green[256];
  1159. WORD blue[256];
  1160. End Type
  1161. Const MAX_DDDEVICEID_STRING=512
  1162. Type tagDDDEVICEIDENTIFIER
  1163. char szDriver[MAX_DDDEVICEID_STRING];
  1164. char szDescription[MAX_DDDEVICEID_STRING];
  1165. LARGE_INTEGER liDriverVersion; /* Defined For applications And other 32 bit components */
  1166. Field dwVendorId;
  1167. Field dwDeviceId;
  1168. Field dwSubSysId;
  1169. Field dwRevision;
  1170. GUID guidDeviceIdentifier;
  1171. End Type
  1172. Type tagDDDEVICEIDENTIFIER2
  1173. char szDriver[MAX_DDDEVICEID_STRING];
  1174. char szDescription[MAX_DDDEVICEID_STRING];
  1175. LARGE_INTEGER liDriverVersion; /* Defined For applications And other 32 bit components */
  1176. Field dwVendorId;
  1177. Field dwDeviceId;
  1178. Field dwSubSysId;
  1179. Field dwRevision;
  1180. GUID guidDeviceIdentifier;
  1181. Field dwWHQLLevel;
  1182. End Type
  1183. endrem
  1184. 'Const DDGDI_GETHOSTIDENTIFIER=$1
  1185. 'typedef DWORD (FAR PASCAL *LPCLIPPERCALLBACK)(LPDIRECTDRAWCLIPPER lpDDClipper, HWND hWnd, DWORD code, LPVOID lpContext );
  1186. 'typedef DWORD (FAR PASCAL *LPSURFACESTREAMINGCALLBACK)(DWORD);
  1187. Extern "win32"
  1188. Type IDirectDraw Extends IUnknown
  1189. Method Compact()
  1190. Method CreateClipper()
  1191. Method CreatePalette()
  1192. Method CreateSurface(surfacedesc:Byte Ptr,surf:IDirectDrawSurface Ptr,outer:Byte Ptr)
  1193. Method DuplicateSurface()
  1194. Method EnumDisplayModes( flags,surf:Byte Ptr,context:Object,callback(surf:Byte Ptr,context:Object)) 'surf:DDSurfaceDesc
  1195. Method EnumSurfaces()
  1196. Method FlipToGDISurface()
  1197. Method GetCaps( driverCaps:Byte Ptr,helCaps:Byte Ptr )
  1198. Method GetDisplayMode()
  1199. Method GetFourCCCodes()
  1200. Method GetGDISurface()
  1201. Method GetMonitorFrequency()
  1202. Method GetScanLine()
  1203. Method GetVerticalBlankStatus()
  1204. Method Initialize()
  1205. Method RestoreDisplayMode()
  1206. Method SetCooperativeLevel(hwnd,flags)
  1207. Method SetDisplayMode(width,height,bpp)
  1208. Method WaitForVerticalBlank(flags,event)
  1209. Rem
  1210. STDMETHOD(Compact)(THIS) PURE;
  1211. STDMETHOD(CreateClipper)(THIS_ DWORD, LPDIRECTDRAWCLIPPER FAR*, IUnknown FAR * ) PURE;
  1212. STDMETHOD(CreatePalette)(THIS_ DWORD, LPPALETTEENTRY, LPDIRECTDRAWPALETTE FAR*, IUnknown FAR * ) PURE;
  1213. STDMETHOD(CreateSurface)(THIS_ LPDDSURFACEDESC, LPDIRECTDRAWSURFACE FAR *, IUnknown FAR *) PURE;
  1214. STDMETHOD(DuplicateSurface)( THIS_ LPDIRECTDRAWSURFACE, LPDIRECTDRAWSURFACE FAR * ) PURE;
  1215. STDMETHOD(EnumDisplayModes)( THIS_ DWORD, LPDDSURFACEDESC, LPVOID, LPDDENUMMODESCALLBACK ) PURE;
  1216. STDMETHOD(EnumSurfaces)(THIS_ DWORD, LPDDSURFACEDESC, LPVOID,LPDDENUMSURFACESCALLBACK ) PURE;
  1217. STDMETHOD(FlipToGDISurface)(THIS) PURE;
  1218. STDMETHOD(GetCaps)( THIS_ LPDDCAPS, LPDDCAPS) PURE;
  1219. STDMETHOD(GetDisplayMode)( THIS_ LPDDSURFACEDESC) PURE;
  1220. STDMETHOD(GetFourCCCodes)(THIS_ LPDWORD, LPDWORD ) PURE;
  1221. STDMETHOD(GetGDISurface)(THIS_ LPDIRECTDRAWSURFACE FAR *) PURE;
  1222. STDMETHOD(GetMonitorFrequency)(THIS_ LPDWORD) PURE;
  1223. STDMETHOD(GetScanLine)(THIS_ LPDWORD) PURE;
  1224. STDMETHOD(GetVerticalBlankStatus)(THIS_ LPBOOL ) PURE;
  1225. STDMETHOD(Initialize)(THIS_ GUID FAR *) PURE;
  1226. STDMETHOD(RestoreDisplayMode)(THIS) PURE;
  1227. STDMETHOD(SetCooperativeLevel)(THIS_ HWND, DWORD) PURE;
  1228. STDMETHOD(SetDisplayMode)(THIS_ DWORD, DWORD,DWORD) PURE;
  1229. STDMETHOD(WaitForVerticalBlank)(THIS_ DWORD, HANDLE ) PURE;
  1230. End Rem
  1231. End Type
  1232. Type IDirectDraw2 Extends IUnknown
  1233. Rem
  1234. STDMETHOD(Compact)(THIS) PURE;
  1235. STDMETHOD(CreateClipper)(THIS_ DWORD, LPDIRECTDRAWCLIPPER FAR*, IUnknown FAR * ) PURE;
  1236. STDMETHOD(CreatePalette)(THIS_ DWORD, LPPALETTEENTRY, LPDIRECTDRAWPALETTE FAR*, IUnknown FAR * ) PURE;
  1237. STDMETHOD(CreateSurface)(THIS_ LPDDSURFACEDESC, LPDIRECTDRAWSURFACE FAR *, IUnknown FAR *) PURE;
  1238. STDMETHOD(DuplicateSurface)( THIS_ LPDIRECTDRAWSURFACE, LPDIRECTDRAWSURFACE FAR * ) PURE;
  1239. STDMETHOD(EnumDisplayModes)( THIS_ DWORD, LPDDSURFACEDESC, LPVOID, LPDDENUMMODESCALLBACK ) PURE;
  1240. STDMETHOD(EnumSurfaces)(THIS_ DWORD, LPDDSURFACEDESC, LPVOID,LPDDENUMSURFACESCALLBACK ) PURE;
  1241. STDMETHOD(FlipToGDISurface)(THIS) PURE;
  1242. STDMETHOD(GetCaps)( THIS_ LPDDCAPS, LPDDCAPS) PURE;
  1243. STDMETHOD(GetDisplayMode)( THIS_ LPDDSURFACEDESC) PURE;
  1244. STDMETHOD(GetFourCCCodes)(THIS_ LPDWORD, LPDWORD ) PURE;
  1245. STDMETHOD(GetGDISurface)(THIS_ LPDIRECTDRAWSURFACE FAR *) PURE;
  1246. STDMETHOD(GetMonitorFrequency)(THIS_ LPDWORD) PURE;
  1247. STDMETHOD(GetScanLine)(THIS_ LPDWORD) PURE;
  1248. STDMETHOD(GetVerticalBlankStatus)(THIS_ LPBOOL ) PURE;
  1249. STDMETHOD(Initialize)(THIS_ GUID FAR *) PURE;
  1250. STDMETHOD(RestoreDisplayMode)(THIS) PURE;
  1251. STDMETHOD(SetCooperativeLevel)(THIS_ HWND, DWORD) PURE;
  1252. STDMETHOD(SetDisplayMode)(THIS_ DWORD, DWORD,DWORD, DWORD, DWORD) PURE;
  1253. STDMETHOD(WaitForVerticalBlank)(THIS_ DWORD, HANDLE ) PURE;
  1254. ' Added in the v2 interface
  1255. STDMETHOD(GetAvailableVidMem)(THIS_ LPDDSCAPS, LPDWORD, LPDWORD) PURE;
  1256. End Rem
  1257. End Type
  1258. Type IDirectDraw4 Extends IUnknown
  1259. Rem
  1260. STDMETHOD(Compact)(THIS) PURE;
  1261. STDMETHOD(CreateClipper)(THIS_ DWORD, LPDIRECTDRAWCLIPPER FAR*, IUnknown FAR * ) PURE;
  1262. STDMETHOD(CreatePalette)(THIS_ DWORD, LPPALETTEENTRY, LPDIRECTDRAWPALETTE FAR*, IUnknown FAR * ) PURE;
  1263. STDMETHOD(CreateSurface)(THIS_ LPDDSURFACEDESC2, LPDIRECTDRAWSURFACE4 FAR *, IUnknown FAR *) PURE;
  1264. STDMETHOD(DuplicateSurface)( THIS_ LPDIRECTDRAWSURFACE4, LPDIRECTDRAWSURFACE4 FAR * ) PURE;
  1265. STDMETHOD(EnumDisplayModes)( THIS_ DWORD, LPDDSURFACEDESC2, LPVOID, LPDDENUMMODESCALLBACK2 ) PURE;
  1266. STDMETHOD(EnumSurfaces)(THIS_ DWORD, LPDDSURFACEDESC2, LPVOID,LPDDENUMSURFACESCALLBACK2 ) PURE;
  1267. STDMETHOD(FlipToGDISurface)(THIS) PURE;
  1268. STDMETHOD(GetCaps)( THIS_ LPDDCAPS, LPDDCAPS) PURE;
  1269. STDMETHOD(GetDisplayMode)( THIS_ LPDDSURFACEDESC2) PURE;
  1270. STDMETHOD(GetFourCCCodes)(THIS_ LPDWORD, LPDWORD ) PURE;
  1271. STDMETHOD(GetGDISurface)(THIS_ LPDIRECTDRAWSURFACE4 FAR *) PURE;
  1272. STDMETHOD(GetMonitorFrequency)(THIS_ LPDWORD) PURE;
  1273. STDMETHOD(GetScanLine)(THIS_ LPDWORD) PURE;
  1274. STDMETHOD(GetVerticalBlankStatus)(THIS_ LPBOOL ) PURE;
  1275. STDMETHOD(Initialize)(THIS_ GUID FAR *) PURE;
  1276. STDMETHOD(RestoreDisplayMode)(THIS) PURE;
  1277. STDMETHOD(SetCooperativeLevel)(THIS_ HWND, DWORD) PURE;
  1278. STDMETHOD(SetDisplayMode)(THIS_ DWORD, DWORD,DWORD, DWORD, DWORD) PURE;
  1279. STDMETHOD(WaitForVerticalBlank)(THIS_ DWORD, HANDLE ) PURE;
  1280. ' /*** Added in the v2 interface ***/
  1281. STDMETHOD(GetAvailableVidMem)(THIS_ LPDDSCAPS2, LPDWORD, LPDWORD) PURE;
  1282. ' /*** Added in the V4 Interface ***/
  1283. STDMETHOD(GetSurfaceFromDC) (THIS_ HDC, LPDIRECTDRAWSURFACE4 *) PURE;
  1284. STDMETHOD(RestoreAllSurfaces)(THIS) PURE;
  1285. STDMETHOD(TestCooperativeLevel)(THIS) PURE;
  1286. STDMETHOD(GetDeviceIdentifier)(THIS_ LPDDDEVICEIDENTIFIER, DWORD ) PURE;
  1287. End Rem
  1288. End Type
  1289. Type IDirectDraw7 Extends IUnknown
  1290. Method Compact()
  1291. Method CreateClipper(flags,clipper:Byte Ptr,outer:Byte Ptr)
  1292. Method CreatePalette()
  1293. Method CreateSurface(surfdesc2:Byte Ptr,surf:IDirectDrawSurface7 Ptr,outer:Byte Ptr)
  1294. Method DuplicateSurface()
  1295. Method EnumDisplayModes(flags,surfdesc2:Byte Ptr,context:Object,callback(surfdesc2:Byte Ptr,context:Object)) 'surf:DDSurfaceDesc
  1296. Method EnumSurfaces()
  1297. Method FlipToGDISurface()
  1298. Method GetCaps( driverCaps:Byte Ptr,helCaps:Byte Ptr )
  1299. Method GetDisplayMode()
  1300. Method GetFourCCCodes()
  1301. Method GetGDISurface()
  1302. Method GetMonitorFrequency()
  1303. Method GetScanLine()
  1304. Method GetVerticalBlankStatus()
  1305. Method Initialize()
  1306. Method RestoreDisplayMode()
  1307. Method SetCooperativeLevel(hwnd,flags)
  1308. Method SetDisplayMode(width,height,bpp,rate,flags)
  1309. Method WaitForVerticalBlank(flags,event)
  1310. Method GetAvailableVidMem(Caps:Byte Ptr, Total:Int Ptr, Free: Int Ptr)
  1311. Method GetSurfaceFromDC(HDC :Int, surf:IDirectDrawSurface7)
  1312. Method RestoreAllSurfaces()
  1313. Method TestCooperativeLevel()
  1314. Rem
  1315. STDMETHOD(Compact)(THIS) PURE;
  1316. STDMETHOD(CreateClipper)(THIS_ DWORD, LPDIRECTDRAWCLIPPER FAR*, IUnknown FAR * ) PURE;
  1317. STDMETHOD(CreatePalette)(THIS_ DWORD, LPPALETTEENTRY, LPDIRECTDRAWPALETTE FAR*, IUnknown FAR * ) PURE;
  1318. STDMETHOD(CreateSurface)(THIS_ LPDDSURFACEDESC2, LPDIRECTDRAWSURFACE7 FAR *, IUnknown FAR *) PURE;
  1319. STDMETHOD(DuplicateSurface)( THIS_ LPDIRECTDRAWSURFACE7, LPDIRECTDRAWSURFACE7 FAR * ) PURE;
  1320. STDMETHOD(EnumDisplayModes)( THIS_ DWORD, LPDDSURFACEDESC2, LPVOID, LPDDENUMMODESCALLBACK2 ) PURE;
  1321. STDMETHOD(EnumSurfaces)(THIS_ DWORD, LPDDSURFACEDESC2, LPVOID,LPDDENUMSURFACESCALLBACK7 ) PURE;
  1322. STDMETHOD(FlipToGDISurface)(THIS) PURE;
  1323. STDMETHOD(GetCaps)( THIS_ LPDDCAPS, LPDDCAPS) PURE;
  1324. STDMETHOD(GetDisplayMode)( THIS_ LPDDSURFACEDESC2) PURE;
  1325. STDMETHOD(GetFourCCCodes)(THIS_ LPDWORD, LPDWORD ) PURE;
  1326. STDMETHOD(GetGDISurface)(THIS_ LPDIRECTDRAWSURFACE7 FAR *) PURE;
  1327. STDMETHOD(GetMonitorFrequency)(THIS_ LPDWORD) PURE;
  1328. STDMETHOD(GetScanLine)(THIS_ LPDWORD) PURE;
  1329. STDMETHOD(GetVerticalBlankStatus)(THIS_ LPBOOL ) PURE;
  1330. STDMETHOD(Initialize)(THIS_ GUID FAR *) PURE;
  1331. STDMETHOD(RestoreDisplayMode)(THIS) PURE;
  1332. STDMETHOD(SetCooperativeLevel)(THIS_ HWND, DWORD) PURE;
  1333. STDMETHOD(SetDisplayMode)(THIS_ DWORD, DWORD,DWORD, DWORD, DWORD) PURE;
  1334. STDMETHOD(WaitForVerticalBlank)(THIS_ DWORD, HANDLE ) PURE;
  1335. ' /*** Added in the v2 interface ***/
  1336. STDMETHOD(GetAvailableVidMem)(THIS_ LPDDSCAPS2, LPDWORD, LPDWORD) PURE;
  1337. ' /*** Added in the V4 Interface ***/
  1338. STDMETHOD(GetSurfaceFromDC) (THIS_ HDC, LPDIRECTDRAWSURFACE7 *) PURE;
  1339. STDMETHOD(RestoreAllSurfaces)(THIS) PURE;
  1340. STDMETHOD(TestCooperativeLevel)(THIS) PURE;
  1341. STDMETHOD(GetDeviceIdentifier)(THIS_ LPDDDEVICEIDENTIFIER2, DWORD ) PURE;
  1342. STDMETHOD(StartModeTest)(THIS_ LPSIZE, DWORD, DWORD ) PURE;
  1343. STDMETHOD(EvaluateMode)(THIS_ DWORD, DWORD * ) PURE;
  1344. End Rem
  1345. End Type
  1346. Type IDirectDrawPalette Extends IUnknown
  1347. Rem
  1348. STDMETHOD(GetCaps)(THIS_ LPDWORD) PURE;
  1349. STDMETHOD(GetEntries)(THIS_ DWORD,DWORD,DWORD,LPPALETTEENTRY) PURE;
  1350. STDMETHOD(Initialize)(THIS_ LPDIRECTDRAW, DWORD, LPPALETTEENTRY) PURE;
  1351. STDMETHOD(SetEntries)(THIS_ DWORD,DWORD,DWORD,LPPALETTEENTRY) PURE;
  1352. End Rem
  1353. End Type
  1354. Type IDirectDrawClipper Extends IUnknown
  1355. Method GetClipList(rect:Byte Ptr,region:Byte Ptr,flags)
  1356. Method GetHWnd()
  1357. Method Initialize()
  1358. Method IsClipListChanged()
  1359. Method SetClipList()
  1360. Method SetHWnd(flags,hwnd)
  1361. Rem
  1362. STDMETHOD(GetClipList)(THIS_ LPRECT, LPRGNDATA, LPDWORD) PURE;
  1363. STDMETHOD(GetHWnd)(THIS_ HWND FAR *) PURE;
  1364. STDMETHOD(Initialize)(THIS_ LPDIRECTDRAW, DWORD) PURE;
  1365. STDMETHOD(IsClipListChanged)(THIS_ BOOL FAR *) PURE;
  1366. STDMETHOD(SetClipList)(THIS_ LPRGNDATA,DWORD) PURE;
  1367. STDMETHOD(SetHWnd)(THIS_ DWORD, HWND ) PURE;
  1368. End Rem
  1369. End Type
  1370. Type IDirectDrawSurface Extends IUnknown
  1371. Method AddAttachedSurface(surface:Byte Ptr)
  1372. Method AddOverlayDirtyRect(rect:Byte Ptr)
  1373. Method Blt(destrect:Byte Ptr,srcsurface:Byte Ptr,srcrect:Byte Ptr,flags,blitfx:Byte Ptr)
  1374. Method BltBatch(bltbatch:Byte Ptr,count,flags)
  1375. Method BltFast(x,y,srcsurface:Byte Ptr,srcrect:Byte Ptr,trans)
  1376. Method DeleteAttachedSurface(flags,surface:Byte Ptr)
  1377. Method EnumAttachedSurfaces()
  1378. Method EnumOverlayZOrders()
  1379. Method Flip(target:Byte Ptr,flags)
  1380. Method GetAttachedSurface(caps:Byte Ptr,surface:IDirectDrawSurface Ptr)
  1381. Rem
  1382. STDMETHOD(AddAttachedSurface)(THIS_ LPDIRECTDRAWSURFACE) PURE;
  1383. STDMETHOD(AddOverlayDirtyRect)(THIS_ LPRECT) PURE;
  1384. STDMETHOD(Blt)(THIS_ LPRECT,LPDIRECTDRAWSURFACE, LPRECT,DWORD, LPDDBLTFX) PURE;
  1385. STDMETHOD(BltBatch)(THIS_ LPDDBLTBATCH, DWORD, DWORD ) PURE;
  1386. STDMETHOD(BltFast)(THIS_ DWORD,DWORD,LPDIRECTDRAWSURFACE, LPRECT,DWORD) PURE;
  1387. STDMETHOD(DeleteAttachedSurface)(THIS_ DWORD,LPDIRECTDRAWSURFACE) PURE;
  1388. STDMETHOD(EnumAttachedSurfaces)(THIS_ LPVOID,LPDDENUMSURFACESCALLBACK) PURE;
  1389. STDMETHOD(EnumOverlayZOrders)(THIS_ DWORD,LPVOID,LPDDENUMSURFACESCALLBACK) PURE;
  1390. STDMETHOD(Flip)(THIS_ LPDIRECTDRAWSURFACE, DWORD) PURE;
  1391. STDMETHOD(GetAttachedSurface)(THIS_ LPDDSCAPS, LPDIRECTDRAWSURFACE FAR *) PURE;
  1392. STDMETHOD(GetBltStatus)(THIS_ DWORD) PURE;
  1393. STDMETHOD(GetCaps)(THIS_ LPDDSCAPS) PURE;
  1394. STDMETHOD(GetClipper)(THIS_ LPDIRECTDRAWCLIPPER FAR*) PURE;
  1395. STDMETHOD(GetColorKey)(THIS_ DWORD, LPDDCOLORKEY) PURE;
  1396. STDMETHOD(GetDC)(THIS_ HDC FAR *) PURE;
  1397. STDMETHOD(GetFlipStatus)(THIS_ DWORD) PURE;
  1398. STDMETHOD(GetOverlayPosition)(THIS_ LPLONG, LPLONG ) PURE;
  1399. STDMETHOD(GetPalette)(THIS_ LPDIRECTDRAWPALETTE FAR*) PURE;
  1400. STDMETHOD(GetPixelFormat)(THIS_ LPDDPIXELFORMAT) PURE;
  1401. STDMETHOD(GetSurfaceDesc)(THIS_ LPDDSURFACEDESC) PURE;
  1402. STDMETHOD(Initialize)(THIS_ LPDIRECTDRAW, LPDDSURFACEDESC) PURE;
  1403. STDMETHOD(IsLost)(THIS) PURE;
  1404. STDMETHOD(Lock)(THIS_ LPRECT,LPDDSURFACEDESC,DWORD,HANDLE) PURE;
  1405. STDMETHOD(ReleaseDC)(THIS_ HDC) PURE;
  1406. STDMETHOD(Restore)(THIS) PURE;
  1407. STDMETHOD(SetClipper)(THIS_ LPDIRECTDRAWCLIPPER) PURE;
  1408. STDMETHOD(SetColorKey)(THIS_ DWORD, LPDDCOLORKEY) PURE;
  1409. STDMETHOD(SetOverlayPosition)(THIS_ Long, Long ) PURE;
  1410. STDMETHOD(SetPalette)(THIS_ LPDIRECTDRAWPALETTE) PURE;
  1411. STDMETHOD(Unlock)(THIS_ LPVOID) PURE;
  1412. STDMETHOD(UpdateOverlay)(THIS_ LPRECT, LPDIRECTDRAWSURFACE,LPRECT,DWORD, LPDDOVERLAYFX) PURE;
  1413. STDMETHOD(UpdateOverlayDisplay)(THIS_ DWORD) PURE;
  1414. STDMETHOD(UpdateOverlayZOrder)(THIS_ DWORD, LPDIRECTDRAWSURFACE) PURE;
  1415. End Rem
  1416. End Type
  1417. Type IDirectDrawSUrface2 Extends IUnknown
  1418. Rem
  1419. STDMETHOD(AddAttachedSurface)(THIS_ LPDIRECTDRAWSURFACE2) PURE;
  1420. STDMETHOD(AddOverlayDirtyRect)(THIS_ LPRECT) PURE;
  1421. STDMETHOD(Blt)(THIS_ LPRECT,LPDIRECTDRAWSURFACE2, LPRECT,DWORD, LPDDBLTFX) PURE;
  1422. STDMETHOD(BltBatch)(THIS_ LPDDBLTBATCH, DWORD, DWORD ) PURE;
  1423. STDMETHOD(BltFast)(THIS_ DWORD,DWORD,LPDIRECTDRAWSURFACE2, LPRECT,DWORD) PURE;
  1424. STDMETHOD(DeleteAttachedSurface)(THIS_ DWORD,LPDIRECTDRAWSURFACE2) PURE;
  1425. STDMETHOD(EnumAttachedSurfaces)(THIS_ LPVOID,LPDDENUMSURFACESCALLBACK) PURE;
  1426. STDMETHOD(EnumOverlayZOrders)(THIS_ DWORD,LPVOID,LPDDENUMSURFACESCALLBACK) PURE;
  1427. STDMETHOD(Flip)(THIS_ LPDIRECTDRAWSURFACE2, DWORD) PURE;
  1428. STDMETHOD(GetAttachedSurface)(THIS_ LPDDSCAPS, LPDIRECTDRAWSURFACE2 FAR *) PURE;
  1429. STDMETHOD(GetBltStatus)(THIS_ DWORD) PURE;
  1430. STDMETHOD(GetCaps)(THIS_ LPDDSCAPS) PURE;
  1431. STDMETHOD(GetClipper)(THIS_ LPDIRECTDRAWCLIPPER FAR*) PURE;
  1432. STDMETHOD(GetColorKey)(THIS_ DWORD, LPDDCOLORKEY) PURE;
  1433. STDMETHOD(GetDC)(THIS_ HDC FAR *) PURE;
  1434. STDMETHOD(GetFlipStatus)(THIS_ DWORD) PURE;
  1435. STDMETHOD(GetOverlayPosition)(THIS_ LPLONG, LPLONG ) PURE;
  1436. STDMETHOD(GetPalette)(THIS_ LPDIRECTDRAWPALETTE FAR*) PURE;
  1437. STDMETHOD(GetPixelFormat)(THIS_ LPDDPIXELFORMAT) PURE;
  1438. STDMETHOD(GetSurfaceDesc)(THIS_ LPDDSURFACEDESC) PURE;
  1439. STDMETHOD(Initialize)(THIS_ LPDIRECTDRAW, LPDDSURFACEDESC) PURE;
  1440. STDMETHOD(IsLost)(THIS) PURE;
  1441. STDMETHOD(Lock)(THIS_ LPRECT,LPDDSURFACEDESC,DWORD,HANDLE) PURE;
  1442. STDMETHOD(ReleaseDC)(THIS_ HDC) PURE;
  1443. STDMETHOD(Restore)(THIS) PURE;
  1444. STDMETHOD(SetClipper)(THIS_ LPDIRECTDRAWCLIPPER) PURE;
  1445. STDMETHOD(SetColorKey)(THIS_ DWORD, LPDDCOLORKEY) PURE;
  1446. STDMETHOD(SetOverlayPosition)(THIS_ Long, Long ) PURE;
  1447. STDMETHOD(SetPalette)(THIS_ LPDIRECTDRAWPALETTE) PURE;
  1448. STDMETHOD(Unlock)(THIS_ LPVOID) PURE;
  1449. STDMETHOD(UpdateOverlay)(THIS_ LPRECT, LPDIRECTDRAWSURFACE2,LPRECT,DWORD, LPDDOVERLAYFX) PURE;
  1450. STDMETHOD(UpdateOverlayDisplay)(THIS_ DWORD) PURE;
  1451. STDMETHOD(UpdateOverlayZOrder)(THIS_ DWORD, LPDIRECTDRAWSURFACE2) PURE;
  1452. ' /*** Added in the v2 interface ***/
  1453. STDMETHOD(GetDDInterface)(THIS_ LPVOID FAR *) PURE;
  1454. STDMETHOD(PageLock)(THIS_ DWORD) PURE;
  1455. STDMETHOD(PageUnlock)(THIS_ DWORD) PURE;
  1456. End Rem
  1457. End Type
  1458. Type IDirectDrawSurface3 Extends IUnknown
  1459. Rem
  1460. STDMETHOD(AddAttachedSurface)(THIS_ LPDIRECTDRAWSURFACE3) PURE;
  1461. STDMETHOD(AddOverlayDirtyRect)(THIS_ LPRECT) PURE;
  1462. STDMETHOD(Blt)(THIS_ LPRECT,LPDIRECTDRAWSURFACE3, LPRECT,DWORD, LPDDBLTFX) PURE;
  1463. STDMETHOD(BltBatch)(THIS_ LPDDBLTBATCH, DWORD, DWORD ) PURE;
  1464. STDMETHOD(BltFast)(THIS_ DWORD,DWORD,LPDIRECTDRAWSURFACE3, LPRECT,DWORD) PURE;
  1465. STDMETHOD(DeleteAttachedSurface)(THIS_ DWORD,LPDIRECTDRAWSURFACE3) PURE;
  1466. STDMETHOD(EnumAttachedSurfaces)(THIS_ LPVOID,LPDDENUMSURFACESCALLBACK) PURE;
  1467. STDMETHOD(EnumOverlayZOrders)(THIS_ DWORD,LPVOID,LPDDENUMSURFACESCALLBACK) PURE;
  1468. STDMETHOD(Flip)(THIS_ LPDIRECTDRAWSURFACE3, DWORD) PURE;
  1469. STDMETHOD(GetAttachedSurface)(THIS_ LPDDSCAPS, LPDIRECTDRAWSURFACE3 FAR *) PURE;
  1470. STDMETHOD(GetBltStatus)(THIS_ DWORD) PURE;
  1471. STDMETHOD(GetCaps)(THIS_ LPDDSCAPS) PURE;
  1472. STDMETHOD(GetClipper)(THIS_ LPDIRECTDRAWCLIPPER FAR*) PURE;
  1473. STDMETHOD(GetColorKey)(THIS_ DWORD, LPDDCOLORKEY) PURE;
  1474. STDMETHOD(GetDC)(THIS_ HDC FAR *) PURE;
  1475. STDMETHOD(GetFlipStatus)(THIS_ DWORD) PURE;
  1476. STDMETHOD(GetOverlayPosition)(THIS_ LPLONG, LPLONG ) PURE;
  1477. STDMETHOD(GetPalette)(THIS_ LPDIRECTDRAWPALETTE FAR*) PURE;
  1478. STDMETHOD(GetPixelFormat)(THIS_ LPDDPIXELFORMAT) PURE;
  1479. STDMETHOD(GetSurfaceDesc)(THIS_ LPDDSURFACEDESC) PURE;
  1480. STDMETHOD(Initialize)(THIS_ LPDIRECTDRAW, LPDDSURFACEDESC) PURE;
  1481. STDMETHOD(IsLost)(THIS) PURE;
  1482. STDMETHOD(Lock)(THIS_ LPRECT,LPDDSURFACEDESC,DWORD,HANDLE) PURE;
  1483. STDMETHOD(ReleaseDC)(THIS_ HDC) PURE;
  1484. STDMETHOD(Restore)(THIS) PURE;
  1485. STDMETHOD(SetClipper)(THIS_ LPDIRECTDRAWCLIPPER) PURE;
  1486. STDMETHOD(SetColorKey)(THIS_ DWORD, LPDDCOLORKEY) PURE;
  1487. STDMETHOD(SetOverlayPosition)(THIS_ Long, Long ) PURE;
  1488. STDMETHOD(SetPalette)(THIS_ LPDIRECTDRAWPALETTE) PURE;
  1489. STDMETHOD(Unlock)(THIS_ LPVOID) PURE;
  1490. STDMETHOD(UpdateOverlay)(THIS_ LPRECT, LPDIRECTDRAWSURFACE3,LPRECT,DWORD, LPDDOVERLAYFX) PURE;
  1491. STDMETHOD(UpdateOverlayDisplay)(THIS_ DWORD) PURE;
  1492. STDMETHOD(UpdateOverlayZOrder)(THIS_ DWORD, LPDIRECTDRAWSURFACE3) PURE;
  1493. ' /*** Added in the v2 interface ***/
  1494. STDMETHOD(GetDDInterface)(THIS_ LPVOID FAR *) PURE;
  1495. STDMETHOD(PageLock)(THIS_ DWORD) PURE;
  1496. STDMETHOD(PageUnlock)(THIS_ DWORD) PURE;
  1497. ' /*** Added in the V3 interface ***/
  1498. STDMETHOD(SetSurfaceDesc)(THIS_ LPDDSURFACEDESC, DWORD) PURE;
  1499. End Rem
  1500. End Type
  1501. Type IDirectDrawSurface4 Extends IUnknown
  1502. Rem
  1503. STDMETHOD(AddAttachedSurface)(THIS_ LPDIRECTDRAWSURFACE4) PURE;
  1504. STDMETHOD(AddOverlayDirtyRect)(THIS_ LPRECT) PURE;
  1505. STDMETHOD(Blt)(THIS_ LPRECT,LPDIRECTDRAWSURFACE4, LPRECT,DWORD, LPDDBLTFX) PURE;
  1506. STDMETHOD(BltBatch)(THIS_ LPDDBLTBATCH, DWORD, DWORD ) PURE;
  1507. STDMETHOD(BltFast)(THIS_ DWORD,DWORD,LPDIRECTDRAWSURFACE4, LPRECT,DWORD) PURE;
  1508. STDMETHOD(DeleteAttachedSurface)(THIS_ DWORD,LPDIRECTDRAWSURFACE4) PURE;
  1509. STDMETHOD(EnumAttachedSurfaces)(THIS_ LPVOID,LPDDENUMSURFACESCALLBACK2) PURE;
  1510. STDMETHOD(EnumOverlayZOrders)(THIS_ DWORD,LPVOID,LPDDENUMSURFACESCALLBACK2) PURE;
  1511. STDMETHOD(Flip)(THIS_ LPDIRECTDRAWSURFACE4, DWORD) PURE;
  1512. STDMETHOD(GetAttachedSurface)(THIS_ LPDDSCAPS2, LPDIRECTDRAWSURFACE4 FAR *) PURE;
  1513. STDMETHOD(GetBltStatus)(THIS_ DWORD) PURE;
  1514. STDMETHOD(GetCaps)(THIS_ LPDDSCAPS2) PURE;
  1515. STDMETHOD(GetClipper)(THIS_ LPDIRECTDRAWCLIPPER FAR*) PURE;
  1516. STDMETHOD(GetColorKey)(THIS_ DWORD, LPDDCOLORKEY) PURE;
  1517. STDMETHOD(GetDC)(THIS_ HDC FAR *) PURE;
  1518. STDMETHOD(GetFlipStatus)(THIS_ DWORD) PURE;
  1519. STDMETHOD(GetOverlayPosition)(THIS_ LPLONG, LPLONG ) PURE;
  1520. STDMETHOD(GetPalette)(THIS_ LPDIRECTDRAWPALETTE FAR*) PURE;
  1521. STDMETHOD(GetPixelFormat)(THIS_ LPDDPIXELFORMAT) PURE;
  1522. STDMETHOD(GetSurfaceDesc)(THIS_ LPDDSURFACEDESC2) PURE;
  1523. STDMETHOD(Initialize)(THIS_ LPDIRECTDRAW, LPDDSURFACEDESC2) PURE;
  1524. STDMETHOD(IsLost)(THIS) PURE;
  1525. STDMETHOD(Lock)(THIS_ LPRECT,LPDDSURFACEDESC2,DWORD,HANDLE) PURE;
  1526. STDMETHOD(ReleaseDC)(THIS_ HDC) PURE;
  1527. STDMETHOD(Restore)(THIS) PURE;
  1528. STDMETHOD(SetClipper)(THIS_ LPDIRECTDRAWCLIPPER) PURE;
  1529. STDMETHOD(SetColorKey)(THIS_ DWORD, LPDDCOLORKEY) PURE;
  1530. STDMETHOD(SetOverlayPosition)(THIS_ Long, Long ) PURE;
  1531. STDMETHOD(SetPalette)(THIS_ LPDIRECTDRAWPALETTE) PURE;
  1532. STDMETHOD(Unlock)(THIS_ LPRECT) PURE;
  1533. STDMETHOD(UpdateOverlay)(THIS_ LPRECT, LPDIRECTDRAWSURFACE4,LPRECT,DWORD, LPDDOVERLAYFX) PURE;
  1534. STDMETHOD(UpdateOverlayDisplay)(THIS_ DWORD) PURE;
  1535. STDMETHOD(UpdateOverlayZOrder)(THIS_ DWORD, LPDIRECTDRAWSURFACE4) PURE;
  1536. ' /*** Added in the v2 interface ***/
  1537. STDMETHOD(GetDDInterface)(THIS_ LPVOID FAR *) PURE;
  1538. STDMETHOD(PageLock)(THIS_ DWORD) PURE;
  1539. STDMETHOD(PageUnlock)(THIS_ DWORD) PURE;
  1540. ' /*** Added in the v3 interface ***/
  1541. STDMETHOD(SetSurfaceDesc)(THIS_ LPDDSURFACEDESC2, DWORD) PURE;
  1542. ' /*** Added in the v4 interface ***/
  1543. STDMETHOD(SetPrivateData)(THIS_ REFGUID, LPVOID, DWORD, DWORD) PURE;
  1544. STDMETHOD(GetPrivateData)(THIS_ REFGUID, LPVOID, LPDWORD) PURE;
  1545. STDMETHOD(FreePrivateData)(THIS_ REFGUID) PURE;
  1546. STDMETHOD(GetUniquenessValue)(THIS_ LPDWORD) PURE;
  1547. STDMETHOD(ChangeUniquenessValue)(THIS) PURE;
  1548. End Rem
  1549. End Type
  1550. Type IDirectDrawSurface7 Extends IUnknown
  1551. Method AddAttachedSurface(surface:Byte Ptr)
  1552. Method AddOverlayDirtyRect(rect:Byte Ptr)
  1553. Method Blt(destrect:Byte Ptr,srcsurface:Byte Ptr,srcrect:Byte Ptr,flags,blitfx:Byte Ptr)
  1554. Method BltBatch(bltbatch:Byte Ptr,count,flags)
  1555. Method BltFast(x,y,srcsurface:Byte Ptr,srcrect:Byte Ptr,trans)
  1556. Method DeleteAttachedSurface(flags,surface:Byte Ptr)
  1557. Method EnumAttachedSurfaces()
  1558. Method EnumOverlayZOrders()
  1559. Method Flip(target:Byte Ptr,flags)
  1560. Method GetAttachedSurface(caps:Byte Ptr,surface:IDirectDrawSurface7 Ptr)
  1561. Method GetBltStatus()
  1562. Method GetCaps()
  1563. Method GetClipper()
  1564. Method GetColorKey()
  1565. Method GetDC(hdc:Int Ptr)
  1566. Method GetFlipStatus()
  1567. Method GetOverlayPosition()
  1568. Method GetPalette()
  1569. Method GetPixelFormat()
  1570. Method GetSurfaceDesc(surfdesc:Byte Ptr)
  1571. Method Initialize()
  1572. Method IsLost()
  1573. Method Lock(rect:Byte Ptr,surfacedesc2:Byte Ptr,flags,handle)
  1574. Method ReleaseDC(hdc)
  1575. Method Restore()
  1576. Method SetClipper(clipper:Byte Ptr)
  1577. Method SetColorKey()
  1578. Method SetOverlayPosition()
  1579. Method SetPalette()
  1580. Method Unlock(rect:Byte Ptr)
  1581. Method UpdateOverlay()
  1582. Method UpdateOverlayDisplay()
  1583. Method UpdateOverlayZOrder()
  1584. Method GetDDInterface(ddinterface:Byte Ptr)
  1585. Method PageLock(flags)
  1586. Method PageUnlock(flags)
  1587. Rem
  1588. STDMETHOD(AddAttachedSurface)(THIS_ LPDIRECTDRAWSURFACE7) PURE;
  1589. STDMETHOD(AddOverlayDirtyRect)(THIS_ LPRECT) PURE;
  1590. STDMETHOD(Blt)(THIS_ LPRECT,LPDIRECTDRAWSURFACE7, LPRECT,DWORD, LPDDBLTFX) PURE;
  1591. STDMETHOD(BltBatch)(THIS_ LPDDBLTBATCH, DWORD, DWORD ) PURE;
  1592. STDMETHOD(BltFast)(THIS_ DWORD,DWORD,LPDIRECTDRAWSURFACE7, LPRECT,DWORD) PURE;
  1593. STDMETHOD(DeleteAttachedSurface)(THIS_ DWORD,LPDIRECTDRAWSURFACE7) PURE;
  1594. STDMETHOD(EnumAttachedSurfaces)(THIS_ LPVOID,LPDDENUMSURFACESCALLBACK7) PURE;
  1595. STDMETHOD(EnumOverlayZOrders)(THIS_ DWORD,LPVOID,LPDDENUMSURFACESCALLBACK7) PURE;
  1596. STDMETHOD(Flip)(THIS_ LPDIRECTDRAWSURFACE7, DWORD) PURE;
  1597. STDMETHOD(GetAttachedSurface)(THIS_ LPDDSCAPS2, LPDIRECTDRAWSURFACE7 FAR *) PURE;
  1598. STDMETHOD(GetBltStatus)(THIS_ DWORD) PURE;
  1599. STDMETHOD(GetCaps)(THIS_ LPDDSCAPS2) PURE;
  1600. STDMETHOD(GetClipper)(THIS_ LPDIRECTDRAWCLIPPER FAR*) PURE;
  1601. STDMETHOD(GetColorKey)(THIS_ DWORD, LPDDCOLORKEY) PURE;
  1602. STDMETHOD(GetDC)(THIS_ HDC FAR *) PURE;
  1603. STDMETHOD(GetFlipStatus)(THIS_ DWORD) PURE;
  1604. STDMETHOD(GetOverlayPosition)(THIS_ LPLONG, LPLONG ) PURE;
  1605. STDMETHOD(GetPalette)(THIS_ LPDIRECTDRAWPALETTE FAR*) PURE;
  1606. STDMETHOD(GetPixelFormat)(THIS_ LPDDPIXELFORMAT) PURE;
  1607. STDMETHOD(GetSurfaceDesc)(THIS_ LPDDSURFACEDESC2) PURE;
  1608. STDMETHOD(Initialize)(THIS_ LPDIRECTDRAW, LPDDSURFACEDESC2) PURE;
  1609. STDMETHOD(IsLost)(THIS) PURE;
  1610. STDMETHOD(Lock)(THIS_ LPRECT,LPDDSURFACEDESC2,DWORD,HANDLE) PURE;
  1611. STDMETHOD(ReleaseDC)(THIS_ HDC) PURE;
  1612. STDMETHOD(Restore)(THIS) PURE;
  1613. STDMETHOD(SetClipper)(THIS_ LPDIRECTDRAWCLIPPER) PURE;
  1614. STDMETHOD(SetColorKey)(THIS_ DWORD, LPDDCOLORKEY) PURE;
  1615. STDMETHOD(SetOverlayPosition)(THIS_ Long, Long ) PURE;
  1616. STDMETHOD(SetPalette)(THIS_ LPDIRECTDRAWPALETTE) PURE;
  1617. STDMETHOD(Unlock)(THIS_ LPRECT) PURE;
  1618. STDMETHOD(UpdateOverlay)(THIS_ LPRECT, LPDIRECTDRAWSURFACE7,LPRECT,DWORD, LPDDOVERLAYFX) PURE;
  1619. STDMETHOD(UpdateOverlayDisplay)(THIS_ DWORD) PURE;
  1620. STDMETHOD(UpdateOverlayZOrder)(THIS_ DWORD, LPDIRECTDRAWSURFACE7) PURE;
  1621. ' /*** Added in the v2 interface ***/
  1622. STDMETHOD(GetDDInterface)(THIS_ LPVOID FAR *) PURE;
  1623. STDMETHOD(PageLock)(THIS_ DWORD) PURE;
  1624. STDMETHOD(PageUnlock)(THIS_ DWORD) PURE;
  1625. ' /*** Added in the v3 interface ***/
  1626. STDMETHOD(SetSurfaceDesc)(THIS_ LPDDSURFACEDESC2, DWORD) PURE;
  1627. ' /*** Added in the v4 interface ***/
  1628. STDMETHOD(SetPrivateData)(THIS_ REFGUID, LPVOID, DWORD, DWORD) PURE;
  1629. STDMETHOD(GetPrivateData)(THIS_ REFGUID, LPVOID, LPDWORD) PURE;
  1630. STDMETHOD(FreePrivateData)(THIS_ REFGUID) PURE;
  1631. STDMETHOD(GetUniquenessValue)(THIS_ LPDWORD) PURE;
  1632. STDMETHOD(ChangeUniquenessValue)(THIS) PURE;
  1633. ' /*** Moved Texture7 methods here ***/
  1634. STDMETHOD(SetPriority)(THIS_ DWORD) PURE;
  1635. STDMETHOD(GetPriority)(THIS_ LPDWORD) PURE;
  1636. STDMETHOD(SetLOD)(THIS_ DWORD) PURE;
  1637. STDMETHOD(GetLOD)(THIS_ LPDWORD) PURE;
  1638. End Rem
  1639. End Type
  1640. Type IDirectDrawColorControl Extends IUnknown
  1641. Rem
  1642. DECLARE_INTERFACE_( IDirectDrawColorControl, IUnknown )
  1643. STDMETHOD(GetColorControls)(THIS_ LPDDCOLORCONTROL) PURE;
  1644. STDMETHOD(SetColorControls)(THIS_ LPDDCOLORCONTROL) PURE;
  1645. End Rem
  1646. End Type
  1647. Type IDirectDrawGammaControl Extends IUnknown
  1648. Rem
  1649. STDMETHOD(GetGammaRamp)(THIS_ DWORD, LPDDGAMMARAMP) PURE;
  1650. STDMETHOD(SetGammaRamp)(THIS_ DWORD, LPDDGAMMARAMP) PURE;
  1651. End Rem
  1652. End Type
  1653. End Extern
  1654. Global ddLib:Byte Ptr=LoadLibraryA( "ddraw" )
  1655. If Not ddLib Return
  1656. Global IID_IDirectDraw7[]=[$15e65ec0,$11d23b9c,$60002fb9,$5bea9797]
  1657. Global DirectDrawCreate( guid Ptr,ddraw:IDirectDraw Ptr,outer Ptr )"win32"=GetProcAddress( ddLib,"DirectDrawCreate" )
  1658. Global DirectDrawCreateEx( guid:Byte Ptr,ddraw:Byte Ptr,iid Ptr,outer:Byte Ptr )"win32"=GetProcAddress( ddLib,"DirectDrawCreateEx" )
  1659. Global DirectDrawEnumerate( callback(guid Ptr,desc:Byte Ptr,name:Byte Ptr,context Ptr),context Ptr )"win32"=GetProcAddress( ddLib,"DirectDrawEnumerateA" )