Home | Info | Community | Development | myReactOS | Contact Us
ReactOS Development > Doxygenddraw.h
Go to the documentation of this file.
00001 00002 #ifndef __DDRAW_INCLUDED__ 00003 #define __DDRAW_INCLUDED__ 00004 00005 #if defined(_WIN32) && !defined(_NO_COM ) 00006 #define COM_NO_WINDOWS_H 00007 #include <objbase.h> 00008 #else 00009 #define IUnknown void 00010 #if !defined(NT_BUILD_ENVIRONMENT) && !defined(_WINNT_H) 00011 #define CO_E_NOTINITIALIZED 0x800401F0L 00012 #endif 00013 #endif 00014 00015 #define _FACDD 0x876 00016 #define MAKE_DDHRESULT(c) MAKE_HRESULT(1,_FACDD,c) 00017 00018 #ifndef DIRECTDRAW_VERSION 00019 #define DIRECTDRAW_VERSION 0x0700 00020 #endif 00021 00022 #undef ENABLE_NAMELESS_UNION_PRAGMA 00023 #ifdef DIRECTX_REDIST 00024 #define ENABLE_NAMELESS_UNION_PRAGMA 00025 #endif 00026 00027 #ifdef ENABLE_NAMELESS_UNION_PRAGMA 00028 #pragma warning(disable:4201) 00029 #endif 00030 00031 #ifndef DUMMYUNIONNAMEN 00032 #if defined(__cplusplus) || !defined(NONAMELESSUNION) 00033 #define DUMMYUNIONNAMEN(n) 00034 #else 00035 #define DUMMYUNIONNAMEN(n) u##n 00036 #endif 00037 #endif 00038 00039 #if defined(WINNT) || !defined(WIN32) 00040 #ifndef _HRESULT_DEFINED 00041 #define _HRESULT_DEFINED 00042 typedef long HRESULT; 00043 #endif 00044 #endif 00045 00046 /* Helper macro to enable gcc's extension. */ 00047 #ifndef __GNU_EXTENSION 00048 #ifdef __GNUC__ 00049 #define __GNU_EXTENSION __extension__ 00050 #else 00051 #define __GNU_EXTENSION 00052 #endif 00053 #endif 00054 00055 #ifdef __cplusplus 00056 extern "C" { 00057 #endif 00058 00059 /* This define are obsolete in ms ddk, but are use internal in Windows NT4/2000/XP/2003/ReactOS */ 00060 #define DDCAPS_STEREOVIEW 0x00040000 00061 00062 00063 /* Orgnal */ 00064 #define DDERR_ALREADYINITIALIZED MAKE_DDHRESULT( 5) 00065 #define DDERR_CANNOTATTACHSURFACE MAKE_DDHRESULT(10) 00066 #define DDERR_CANNOTDETACHSURFACE MAKE_DDHRESULT(20) 00067 #define DDERR_CURRENTLYNOTAVAIL MAKE_DDHRESULT(40) 00068 #define DDERR_EXCEPTION MAKE_DDHRESULT(55) 00069 #define DDERR_GENERIC E_FAIL 00070 #define DDERR_HEIGHTALIGN MAKE_DDHRESULT( 90) 00071 #define DDERR_INCOMPATIBLEPRIMARY MAKE_DDHRESULT( 95) 00072 #define DDERR_INVALIDCAPS MAKE_DDHRESULT(100) 00073 #define DDERR_INVALIDCLIPLIST MAKE_DDHRESULT(110) 00074 #define DDERR_INVALIDMODE MAKE_DDHRESULT(120) 00075 #define DDERR_INVALIDOBJECT MAKE_DDHRESULT(130) 00076 #define DDERR_INVALIDPARAMS E_INVALIDARG 00077 #define DDERR_INVALIDPIXELFORMAT MAKE_DDHRESULT(145) 00078 #define DDERR_INVALIDRECT MAKE_DDHRESULT(150) 00079 #define DDERR_LOCKEDSURFACES MAKE_DDHRESULT(160) 00080 #define DDERR_NO3D MAKE_DDHRESULT(170) 00081 #define DDERR_NOALPHAHW MAKE_DDHRESULT(180) 00082 #define DDERR_NOSTEREOHARDWARE MAKE_DDHRESULT(181) 00083 #define DDERR_NOSURFACELEFT MAKE_DDHRESULT(182) 00084 #define DDERR_NOCLIPLIST MAKE_DDHRESULT(205) 00085 #define DDERR_NOCOLORCONVHW MAKE_DDHRESULT(210) 00086 #define DDERR_NOCOOPERATIVELEVELSET MAKE_DDHRESULT(212) 00087 #define DDERR_NOCOLORKEY MAKE_DDHRESULT(215) 00088 #define DDERR_NOCOLORKEYHW MAKE_DDHRESULT(220) 00089 #define DDERR_NODIRECTDRAWSUPPORT MAKE_DDHRESULT(222) 00090 #define DDERR_NOEXCLUSIVEMODE MAKE_DDHRESULT(225) 00091 #define DDERR_NOFLIPHW MAKE_DDHRESULT(230) 00092 #define DDERR_NOGDI MAKE_DDHRESULT(240) 00093 #define DDERR_NOMIRRORHW MAKE_DDHRESULT(250) 00094 #define DDERR_NOTFOUND MAKE_DDHRESULT(255) 00095 #define DDERR_NOOVERLAYHW MAKE_DDHRESULT(260) 00096 #define DDERR_OVERLAPPINGRECTS MAKE_DDHRESULT(270) 00097 #define DDERR_NORASTEROPHW MAKE_DDHRESULT(280) 00098 #define DDERR_NOROTATIONHW MAKE_DDHRESULT(290) 00099 #define DDERR_NOSTRETCHHW MAKE_DDHRESULT(310) 00100 #define DDERR_NOT4BITCOLOR MAKE_DDHRESULT(316) 00101 #define DDERR_NOT4BITCOLORINDEX MAKE_DDHRESULT(317) 00102 #define DDERR_NOT8BITCOLOR MAKE_DDHRESULT(320) 00103 #define DDERR_NOTEXTUREHW MAKE_DDHRESULT(330) 00104 #define DDERR_NOVSYNCHW MAKE_DDHRESULT(335) 00105 #define DDERR_NOZBUFFERHW MAKE_DDHRESULT(340) 00106 #define DDERR_NOZOVERLAYHW MAKE_DDHRESULT(350) 00107 #define DDERR_OUTOFCAPS MAKE_DDHRESULT(360) 00108 #define DDERR_OUTOFMEMORY E_OUTOFMEMORY 00109 #define DDERR_OUTOFVIDEOMEMORY MAKE_DDHRESULT(380) 00110 #define DDERR_OVERLAYCANTCLIP MAKE_DDHRESULT(382) 00111 #define DDERR_OVERLAYCOLORKEYONLYONEACTIVE MAKE_DDHRESULT(384) 00112 #define DDERR_PALETTEBUSY MAKE_DDHRESULT(387) 00113 #define DDERR_COLORKEYNOTSET MAKE_DDHRESULT(400) 00114 #define DDERR_SURFACEALREADYATTACHED MAKE_DDHRESULT(410) 00115 #define DDERR_SURFACEALREADYDEPENDENT MAKE_DDHRESULT(420) 00116 #define DDERR_SURFACEBUSY MAKE_DDHRESULT(430) 00117 #define DDERR_CANTLOCKSURFACE MAKE_DDHRESULT(435) 00118 #define DDERR_SURFACEISOBSCURED MAKE_DDHRESULT(440) 00119 #define DDERR_SURFACELOST MAKE_DDHRESULT(450) 00120 #define DDERR_SURFACENOTATTACHED MAKE_DDHRESULT(460) 00121 #define DDERR_TOOBIGHEIGHT MAKE_DDHRESULT(470) 00122 #define DDERR_TOOBIGSIZE MAKE_DDHRESULT(480) 00123 #define DDERR_TOOBIGWIDTH MAKE_DDHRESULT(490) 00124 #define DDERR_UNSUPPORTED E_NOTIMPL 00125 #define DDERR_UNSUPPORTEDFORMAT MAKE_DDHRESULT(510) 00126 #define DDERR_UNSUPPORTEDMASK MAKE_DDHRESULT(520) 00127 #define DDERR_INVALIDSTREAM MAKE_DDHRESULT(521) 00128 #define DDERR_VERTICALBLANKINPROGRESS MAKE_DDHRESULT(537) 00129 #define DDERR_WASSTILLDRAWING MAKE_DDHRESULT(540) 00130 #define DDERR_DDSCAPSCOMPLEXREQUIRED MAKE_DDHRESULT(542) 00131 #define DDERR_XALIGN MAKE_DDHRESULT(560) 00132 #define DDERR_INVALIDDIRECTDRAWGUID MAKE_DDHRESULT(561) 00133 #define DDERR_DIRECTDRAWALREADYCREATED MAKE_DDHRESULT(562) 00134 #define DDERR_NODIRECTDRAWHW MAKE_DDHRESULT(563) 00135 #define DDERR_PRIMARYSURFACEALREADYEXISTS MAKE_DDHRESULT(564) 00136 #define DDERR_NOEMULATION MAKE_DDHRESULT(565) 00137 #define DDERR_REGIONTOOSMALL MAKE_DDHRESULT(566) 00138 #define DDERR_CLIPPERISUSINGHWND MAKE_DDHRESULT(567) 00139 #define DDERR_NOCLIPPERATTACHED MAKE_DDHRESULT(568) 00140 #define DDERR_NOHWND MAKE_DDHRESULT(569) 00141 #define DDERR_HWNDSUBCLASSED MAKE_DDHRESULT(570) 00142 #define DDERR_HWNDALREADYSET MAKE_DDHRESULT(571) 00143 #define DDERR_NOPALETTEATTACHED MAKE_DDHRESULT(572) 00144 #define DDERR_NOPALETTEHW MAKE_DDHRESULT(573) 00145 #define DDERR_BLTFASTCANTCLIP MAKE_DDHRESULT(574) 00146 #define DDERR_NOBLTHW MAKE_DDHRESULT(575) 00147 #define DDERR_NODDROPSHW MAKE_DDHRESULT(576) 00148 #define DDERR_OVERLAYNOTVISIBLE MAKE_DDHRESULT(577) 00149 #define DDERR_NOOVERLAYDEST MAKE_DDHRESULT(578) 00150 #define DDERR_INVALIDPOSITION MAKE_DDHRESULT(579) 00151 #define DDERR_NOTAOVERLAYSURFACE MAKE_DDHRESULT(580) 00152 #define DDERR_EXCLUSIVEMODEALREADYSET MAKE_DDHRESULT(581) 00153 #define DDERR_NOTFLIPPABLE MAKE_DDHRESULT(582) 00154 #define DDERR_CANTDUPLICATE MAKE_DDHRESULT(583) 00155 #define DDERR_NOTLOCKED MAKE_DDHRESULT(584) 00156 #define DDERR_CANTCREATEDC MAKE_DDHRESULT(585) 00157 #define DDERR_NODC MAKE_DDHRESULT(586) 00158 #define DDERR_WRONGMODE MAKE_DDHRESULT(587) 00159 #define DDERR_IMPLICITLYCREATED MAKE_DDHRESULT(588) 00160 #define DDERR_NOTPALETTIZED MAKE_DDHRESULT(589) 00161 #define DDERR_UNSUPPORTEDMODE MAKE_DDHRESULT(590) 00162 #define DDERR_NOMIPMAPHW MAKE_DDHRESULT(591) 00163 #define DDERR_INVALIDSURFACETYPE MAKE_DDHRESULT(592) 00164 #define DDERR_NOOPTIMIZEHW MAKE_DDHRESULT(600) 00165 #define DDERR_NOTLOADED MAKE_DDHRESULT(601) 00166 #define DDERR_NOFOCUSWINDOW MAKE_DDHRESULT(602) 00167 #define DDERR_NOTONMIPMAPSUBLEVEL MAKE_DDHRESULT(603) 00168 #define DDERR_DCALREADYCREATED MAKE_DDHRESULT(620) 00169 #define DDERR_NONONLOCALVIDMEM MAKE_DDHRESULT(630) 00170 #define DDERR_CANTPAGELOCK MAKE_DDHRESULT(640) 00171 #define DDERR_CANTPAGEUNLOCK MAKE_DDHRESULT(660) 00172 #define DDERR_NOTPAGELOCKED MAKE_DDHRESULT(680) 00173 #define DDERR_MOREDATA MAKE_DDHRESULT(690) 00174 #define DDERR_EXPIRED MAKE_DDHRESULT(691) 00175 #define DDERR_TESTFINISHED MAKE_DDHRESULT(692) 00176 #define DDERR_NEWMODE MAKE_DDHRESULT(693) 00177 #define DDERR_D3DNOTINITIALIZED MAKE_DDHRESULT(694) 00178 #define DDERR_VIDEONOTACTIVE MAKE_DDHRESULT(695) 00179 #define DDERR_NOMONITORINFORMATION MAKE_DDHRESULT(696) 00180 #define DDERR_NODRIVERSUPPORT MAKE_DDHRESULT(697) 00181 #define DDERR_DEVICEDOESNTOWNSURFACE MAKE_DDHRESULT(699) 00182 #define DDERR_NOTINITIALIZED CO_E_NOTINITIALIZED 00183 #define DD_OK S_OK 00184 #define DD_FALSE S_FALSE 00185 #define DDENUMRET_CANCEL 0 00186 #define DDENUMRET_OK 1 00187 00188 #define DDENUM_ATTACHEDSECONDARYDEVICES 0x00000001 00189 #define DDENUM_DETACHEDSECONDARYDEVICES 0x00000002 00190 #define DDENUM_NONDISPLAYDEVICES 0x00000004 00191 00192 #define REGSTR_KEY_DDHW_DESCRIPTION "Description" 00193 #define REGSTR_KEY_DDHW_DRIVERNAME "DriverName" 00194 #define REGSTR_PATH_DDHW "Hardware\\DirectDrawDrivers" 00195 #define DDCREATE_HARDWAREONLY 0x00000001 00196 #define DDCREATE_EMULATIONONLY 0x00000002 00197 #define DD_ROP_SPACE (256/32) 00198 #define MAX_DDDEVICEID_STRING 512 00199 #define DDGDI_GETHOSTIDENTIFIER 0x00000001 00200 #define DDSGR_CALIBRATE 0x00000001 00201 #define DDSMT_ISTESTREQUIRED 0x00000001 00202 #define DDEM_MODEPASSED 0x00000001 00203 #define DDEM_MODEFAILED 0x00000002 00204 00205 #define DDSD_CAPS 0x00000001 00206 #define DDSD_HEIGHT 0x00000002 00207 #define DDSD_WIDTH 0x00000004 00208 #define DDSD_PITCH 0x00000008 00209 #define DDSD_BACKBUFFERCOUNT 0x00000020 00210 #define DDSD_ZBUFFERBITDEPTH 0x00000040 00211 #define DDSD_ALPHABITDEPTH 0x00000080 00212 #define DDSD_LPSURFACE 0x00000800 00213 #define DDSD_PIXELFORMAT 0x00001000 00214 #define DDSD_CKDESTOVERLAY 0x00002000 00215 #define DDSD_CKDESTBLT 0x00004000 00216 #define DDSD_CKSRCOVERLAY 0x00008000 00217 #define DDSD_CKSRCBLT 0x00010000 00218 #define DDSD_MIPMAPCOUNT 0x00020000 00219 #define DDSD_REFRESHRATE 0x00040000 00220 #define DDSD_LINEARSIZE 0x00080000 00221 #define DDSD_TEXTURESTAGE 0x00100000 00222 #define DDSD_FVF 0x00200000 00223 #define DDSD_SRCVBHANDLE 0x00400000 00224 #define DDSD_DEPTH 0x00800000 00225 #define DDSD_ALL 0x00FFF9EE 00226 00227 #define DDOSD_GUID 0x00000001 00228 #define DDOSD_COMPRESSION_RATIO 0x00000002 00229 #define DDOSD_SCAPS 0x00000004 00230 #define DDOSD_OSCAPS 0x00000008 00231 #define DDOSD_ALL 0x0000000f 00232 #define DDOSDCAPS_OPTCOMPRESSED 0x00000001 00233 #define DDOSDCAPS_OPTREORDERED 0x00000002 00234 #define DDOSDCAPS_MONOLITHICMIPMAP 0x00000004 00235 #define DDOSDCAPS_VALIDSCAPS 0x30004800 00236 #define DDOSDCAPS_VALIDOSCAPS 0x00000007 00237 00238 #define DDCOLOR_BRIGHTNESS 0x00000001 00239 #define DDCOLOR_CONTRAST 0x00000002 00240 #define DDCOLOR_HUE 0x00000004 00241 #define DDCOLOR_SATURATION 0x00000008 00242 #define DDCOLOR_SHARPNESS 0x00000010 00243 #define DDCOLOR_GAMMA 0x00000020 00244 #define DDCOLOR_COLORENABLE 0x00000040 00245 00246 #define DDSCAPS_RESERVED1 0x00000001 00247 #define DDSCAPS_ALPHA 0x00000002 00248 #define DDSCAPS_BACKBUFFER 0x00000004 00249 #define DDSCAPS_COMPLEX 0x00000008 00250 #define DDSCAPS_FLIP 0x00000010 00251 #define DDSCAPS_FRONTBUFFER 0x00000020 00252 #define DDSCAPS_OFFSCREENPLAIN 0x00000040 00253 #define DDSCAPS_OVERLAY 0x00000080 00254 #define DDSCAPS_PALETTE 0x00000100 00255 #define DDSCAPS_PRIMARYSURFACE 0x00000200 00256 #define DDSCAPS_RESERVED3 0x00000400 00257 #define DDSCAPS_PRIMARYSURFACELEFT 0x00000000 00258 #define DDSCAPS_SYSTEMMEMORY 0x00000800 00259 #define DDSCAPS_TEXTURE 0x00001000 00260 #define DDSCAPS_3DDEVICE 0x00002000 00261 #define DDSCAPS_VIDEOMEMORY 0x00004000 00262 #define DDSCAPS_VISIBLE 0x00008000 00263 #define DDSCAPS_WRITEONLY 0x00010000 00264 #define DDSCAPS_ZBUFFER 0x00020000 00265 #define DDSCAPS_OWNDC 0x00040000 00266 #define DDSCAPS_LIVEVIDEO 0x00080000 00267 #define DDSCAPS_HWCODEC 0x00100000 00268 #define DDSCAPS_MODEX 0x00200000 00269 #define DDSCAPS_MIPMAP 0x00400000 00270 #define DDSCAPS_RESERVED2 0x00800000 00271 #define DDSCAPS_ALLOCONLOAD 0x04000000 00272 #define DDSCAPS_VIDEOPORT 0x08000000 00273 #define DDSCAPS_LOCALVIDMEM 0x10000000 00274 #define DDSCAPS_NONLOCALVIDMEM 0x20000000 00275 #define DDSCAPS_STANDARDVGAMODE 0x40000000 00276 #define DDSCAPS_OPTIMIZED 0x80000000 00277 00278 #define DDSCAPS2_HARDWAREDEINTERLACE 0x00000000 00279 #define DDSCAPS2_RESERVED4 0x00000002 00280 #define DDSCAPS2_HINTDYNAMIC 0x00000004 00281 #define DDSCAPS2_HINTSTATIC 0x00000008 00282 #define DDSCAPS2_TEXTUREMANAGE 0x00000010 00283 #define DDSCAPS2_RESERVED1 0x00000020 00284 #define DDSCAPS2_RESERVED2 0x00000040 00285 #define DDSCAPS2_OPAQUE 0x00000080 00286 #define DDSCAPS2_HINTANTIALIASING 0x00000100 00287 #define DDSCAPS2_CUBEMAP 0x00000200 00288 #define DDSCAPS2_CUBEMAP_POSITIVEX 0x00000400 00289 #define DDSCAPS2_CUBEMAP_NEGATIVEX 0x00000800 00290 #define DDSCAPS2_CUBEMAP_POSITIVEY 0x00001000 00291 #define DDSCAPS2_CUBEMAP_NEGATIVEY 0x00002000 00292 #define DDSCAPS2_CUBEMAP_POSITIVEZ 0x00004000 00293 #define DDSCAPS2_CUBEMAP_NEGATIVEZ 0x00008000 00294 #define DDSCAPS2_CUBEMAP_ALLFACES ( DDSCAPS2_CUBEMAP_POSITIVEX |\ 00295 DDSCAPS2_CUBEMAP_NEGATIVEX |\ 00296 DDSCAPS2_CUBEMAP_POSITIVEY |\ 00297 DDSCAPS2_CUBEMAP_NEGATIVEY |\ 00298 DDSCAPS2_CUBEMAP_POSITIVEZ |\ 00299 DDSCAPS2_CUBEMAP_NEGATIVEZ ) 00300 00301 #define DDSCAPS2_MIPMAPSUBLEVEL 0x00010000 00302 #define DDSCAPS2_D3DTEXTUREMANAGE 0x00020000 00303 #define DDSCAPS2_DONOTPERSIST 0x00040000 00304 #define DDSCAPS2_STEREOSURFACELEFT 0x00080000 00305 #define DDSCAPS2_VOLUME 0x00200000 00306 #define DDSCAPS2_NOTUSERLOCKABLE 0x00400000 00307 #define DDSCAPS2_POINTS 0x00800000 00308 00309 #define DDSCAPS2_RTPATCHES 0x01000000 00310 #define DDSCAPS2_NPATCHES 0x02000000 00311 #define DDSCAPS2_RESERVED3 0x04000000 00312 #define DDSCAPS2_DISCARDBACKBUFFER 0x10000000 00313 #define DDSCAPS2_ENABLEALPHACHANNEL 0x20000000 00314 #define DDSCAPS2_EXTENDEDFORMATPRIMARY 0x40000000 00315 #define DDSCAPS2_ADDITIONALPRIMARY 0x80000000 00316 00317 #define DDSCAPS3_MULTISAMPLE_MASK 0x0000001F 00318 #define DDSCAPS3_MULTISAMPLE_QUALITY_MASK 0x000000E0 00319 #define DDSCAPS3_MULTISAMPLE_QUALITY_SHIFT 5 00320 #define DDSCAPS3_RESERVED1 0x00000100 00321 #define DDSCAPS3_RESERVED2 0x00000200 00322 #define DDSCAPS3_LIGHTWEIGHTMIPMAP 0x00000400 00323 #define DDSCAPS3_AUTOGENMIPMAP 0x00000800 00324 #define DDSCAPS3_DMAP 0x00001000 00325 00326 #define DDCAPS_3D 0x00000001 00327 #define DDCAPS_ALIGNBOUNDARYDEST 0x00000002 00328 #define DDCAPS_ALIGNSIZEDEST 0x00000004 00329 #define DDCAPS_ALIGNBOUNDARYSRC 0x00000008 00330 #define DDCAPS_ALIGNSIZESRC 0x00000010 00331 #define DDCAPS_ALIGNSTRIDE 0x00000020 00332 #define DDCAPS_BLT 0x00000040 00333 #define DDCAPS_BLTQUEUE 0x00000080 00334 #define DDCAPS_BLTFOURCC 0x00000100 00335 #define DDCAPS_BLTSTRETCH 0x00000200 00336 #define DDCAPS_GDI 0x00000400 00337 #define DDCAPS_OVERLAY 0x00000800 00338 #define DDCAPS_OVERLAYCANTCLIP 0x00001000 00339 #define DDCAPS_OVERLAYFOURCC 0x00002000 00340 #define DDCAPS_OVERLAYSTRETCH 0x00004000 00341 #define DDCAPS_PALETTE 0x00008000 00342 #define DDCAPS_PALETTEVSYNC 0x00010000 00343 #define DDCAPS_READSCANLINE 0x00020000 00344 #define DDCAPS_RESERVED1 0x00040000 00345 #define DDCAPS_VBI 0x00080000 00346 #define DDCAPS_ZBLTS 0x00100000 00347 #define DDCAPS_ZOVERLAYS 0x00200000 00348 #define DDCAPS_COLORKEY 0x00400000 00349 #define DDCAPS_ALPHA 0x00800000 00350 #define DDCAPS_COLORKEYHWASSIST 0x01000000 00351 #define DDCAPS_NOHARDWARE 0x02000000 00352 #define DDCAPS_BLTCOLORFILL 0x04000000 00353 #define DDCAPS_BANKSWITCHED 0x08000000 00354 #define DDCAPS_BLTDEPTHFILL 0x10000000 00355 #define DDCAPS_CANCLIP 0x20000000 00356 #define DDCAPS_CANCLIPSTRETCHED 0x40000000 00357 #define DDCAPS_CANBLTSYSMEM 0x80000000 00358 00359 #define DDCAPS2_CERTIFIED 0x00000001 00360 #define DDCAPS2_NO2DDURING3DSCENE 0x00000002 00361 #define DDCAPS2_VIDEOPORT 0x00000004 00362 #define DDCAPS2_AUTOFLIPOVERLAY 0x00000008 00363 #define DDCAPS2_CANBOBINTERLEAVED 0x00000010 00364 #define DDCAPS2_CANBOBNONINTERLEAVED 0x00000020 00365 #define DDCAPS2_COLORCONTROLOVERLAY 0x00000040 00366 #define DDCAPS2_COLORCONTROLPRIMARY 0x00000080 00367 #define DDCAPS2_CANDROPZ16BIT 0x00000100 00368 #define DDCAPS2_NONLOCALVIDMEM 0x00000200 00369 #define DDCAPS2_NONLOCALVIDMEMCAPS 0x00000400 00370 #define DDCAPS2_NOPAGELOCKREQUIRED 0x00000800 00371 #define DDCAPS2_WIDESURFACES 0x00001000 00372 #define DDCAPS2_CANFLIPODDEVEN 0x00002000 00373 #define DDCAPS2_CANBOBHARDWARE 0x00004000 00374 #define DDCAPS2_COPYFOURCC 0x00008000 00375 #define DDCAPS2_PRIMARYGAMMA 0x00020000 00376 #define DDCAPS2_CANRENDERWINDOWED 0x00080000 00377 #define DDCAPS2_CANCALIBRATEGAMMA 0x00100000 00378 #define DDCAPS2_FLIPINTERVAL 0x00200000 00379 #define DDCAPS2_FLIPNOVSYNC 0x00400000 00380 #define DDCAPS2_CANMANAGETEXTURE 0x00800000 00381 #define DDCAPS2_TEXMANINNONLOCALVIDMEM 0x01000000 00382 #define DDCAPS2_STEREO 0x02000000 00383 #define DDCAPS2_SYSTONONLOCAL_AS_SYSTOLOCAL 0x04000000 00384 #define DDCAPS2_RESERVED1 0x08000000 00385 #define DDCAPS2_CANMANAGERESOURCE 0x10000000 00386 #define DDCAPS2_DYNAMICTEXTURES 0x20000000 00387 #define DDCAPS2_CANAUTOGENMIPMAP 0x40000000 00388 00389 #define DDFXALPHACAPS_BLTALPHAEDGEBLEND 0x00000001 00390 #define DDFXALPHACAPS_BLTALPHAPIXELS 0x00000002 00391 #define DDFXALPHACAPS_BLTALPHAPIXELSNEG 0x00000004 00392 #define DDFXALPHACAPS_BLTALPHASURFACES 0x00000008 00393 #define DDFXALPHACAPS_BLTALPHASURFACESNEG 0x00000010 00394 #define DDFXALPHACAPS_OVERLAYALPHAEDGEBLEND 0x00000020 00395 #define DDFXALPHACAPS_OVERLAYALPHAPIXELS 0x00000040 00396 #define DDFXALPHACAPS_OVERLAYALPHAPIXELSNEG 0x00000080 00397 #define DDFXALPHACAPS_OVERLAYALPHASURFACES 0x00000100 00398 #define DDFXALPHACAPS_OVERLAYALPHASURFACESNEG 0x00000200 00399 00400 00401 #define DDFXCAPS_BLTALPHA 0x00000001 00402 #define DDFXCAPS_OVERLAYALPHA 0x00000004 00403 #define DDFXCAPS_OVERLAYARITHSTRETCHYN 0x00000008 00404 #define DDFXCAPS_BLTARITHSTRETCHY 0x00000020 00405 #define DDFXCAPS_BLTARITHSTRETCHYN 0x00000010 00406 #define DDFXCAPS_BLTMIRRORLEFTRIGHT 0x00000040 00407 #define DDFXCAPS_BLTMIRRORUPDOWN 0x00000080 00408 #define DDFXCAPS_BLTROTATION 0x00000100 00409 #define DDFXCAPS_BLTROTATION90 0x00000200 00410 #define DDFXCAPS_BLTSHRINKX 0x00000400 00411 #define DDFXCAPS_BLTSHRINKXN 0x00000800 00412 #define DDFXCAPS_BLTSHRINKY 0x00001000 00413 #define DDFXCAPS_BLTSHRINKYN 0x00002000 00414 #define DDFXCAPS_BLTSTRETCHX 0x00004000 00415 #define DDFXCAPS_BLTSTRETCHXN 0x00008000 00416 #define DDFXCAPS_BLTSTRETCHY 0x00010000 00417 #define DDFXCAPS_BLTSTRETCHYN 0x00020000 00418 #define DDFXCAPS_OVERLAYARITHSTRETCHY 0x00040000 00419 #define DDFXCAPS_OVERLAYSHRINKX 0x00080000 00420 #define DDFXCAPS_OVERLAYSHRINKXN 0x00100000 00421 #define DDFXCAPS_OVERLAYSHRINKY 0x00200000 00422 #define DDFXCAPS_OVERLAYSHRINKYN 0x00400000 00423 #define DDFXCAPS_OVERLAYSTRETCHX 0x00800000 00424 #define DDFXCAPS_OVERLAYSTRETCHXN 0x01000000 00425 #define DDFXCAPS_OVERLAYSTRETCHY 0x02000000 00426 #define DDFXCAPS_OVERLAYSTRETCHYN 0x04000000 00427 #define DDFXCAPS_OVERLAYMIRRORLEFTRIGHT 0x08000000 00428 #define DDFXCAPS_OVERLAYMIRRORUPDOWN 0x10000000 00429 #define DDFXCAPS_OVERLAYDEINTERLACE 0x20000000 00430 #define DDFXCAPS_BLTFILTER DDFXCAPS_BLTARITHSTRETCHY 00431 #define DDFXCAPS_OVERLAYFILTER DDFXCAPS_OVERLAYARITHSTRETCHY 00432 00433 00434 #define DDSVCAPS_RESERVED1 0x00000001 00435 #define DDSVCAPS_RESERVED2 0x00000002 00436 #define DDSVCAPS_RESERVED3 0x00000004 00437 #define DDSVCAPS_RESERVED4 0x00000008 00438 /* rember that DDSVCAPS_ENIGMA is same as DDSVCAPS_RESERVED1 */ 00439 #define DDSVCAPS_ENIGMA 0x00000001 00440 /* rember that DDSVCAPS_FLICKER is same as DDSVCAPS_RESERVED2 */ 00441 #define DDSVCAPS_FLICKER 0x00000002 00442 /* rember that DDSVCAPS_REDBLUE is same as DDSVCAPS_RESERVED3 */ 00443 #define DDSVCAPS_REDBLUE 0x00000004 00444 /* rember that DDSVCAPS_SPLIT is same as DDSVCAPS_RESERVED4 */ 00445 #define DDSVCAPS_SPLIT 0x00000008 00446 00447 #define DDSVCAPS_STEREOSEQUENTIAL 0x00000010 00448 00449 #define DDPCAPS_INITIALIZE 0x00000000 00450 #define DDPCAPS_4BIT 0x00000001 00451 #define DDPCAPS_8BITENTRIES 0x00000002 00452 #define DDPCAPS_8BIT 0x00000004 00453 #define DDPCAPS_PRIMARYSURFACE 0x00000010 00454 #define DDPCAPS_PRIMARYSURFACELEFT 0x00000020 00455 #define DDPCAPS_ALLOW256 0x00000040 00456 #define DDPCAPS_VSYNC 0x00000080 00457 #define DDPCAPS_1BIT 0x00000100 00458 #define DDPCAPS_2BIT 0x00000200 00459 #define DDPCAPS_ALPHA 0x00000400 00460 00461 #define DDSPD_IUNKNOWNPOINTER 0x00000001 00462 #define DDSPD_VOLATILE 0x00000002 00463 00464 #define DDBD_1 0x00004000 00465 #define DDBD_2 0x00002000 00466 #define DDBD_4 0x00001000 00467 #define DDBD_8 0x00000800 00468 #define DDBD_16 0x00000400 00469 #define DDBD_24 0x00000200 00470 #define DDBD_32 0x00000100 00471 00472 #define DDCKEY_COLORSPACE 0x00000001 00473 #define DDCKEY_DESTBLT 0x00000002 00474 #define DDCKEY_DESTOVERLAY 0x00000004 00475 #define DDCKEY_SRCBLT 0x00000008 00476 #define DDCKEY_SRCOVERLAY 0x00000010 00477 00478 #define DDCKEYCAPS_DESTBLT 0x00000001 00479 #define DDCKEYCAPS_DESTBLTCLRSPACE 0x00000002 00480 #define DDCKEYCAPS_DESTBLTCLRSPACEYUV 0x00000004 00481 #define DDCKEYCAPS_DESTBLTYUV 0x00000008 00482 #define DDCKEYCAPS_DESTOVERLAY 0x00000010 00483 #define DDCKEYCAPS_DESTOVERLAYCLRSPACE 0x00000020 00484 #define DDCKEYCAPS_DESTOVERLAYCLRSPACEYUV 0x00000040 00485 #define DDCKEYCAPS_DESTOVERLAYONEACTIVE 0x00000080 00486 #define DDCKEYCAPS_DESTOVERLAYYUV 0x00000100 00487 #define DDCKEYCAPS_SRCBLT 0x00000200 00488 #define DDCKEYCAPS_SRCBLTCLRSPACE 0x00000400 00489 #define DDCKEYCAPS_SRCBLTCLRSPACEYUV 0x00000800 00490 #define DDCKEYCAPS_SRCBLTYUV 0x00001000 00491 #define DDCKEYCAPS_SRCOVERLAY 0x00002000 00492 #define DDCKEYCAPS_SRCOVERLAYCLRSPACE 0x00004000 00493 #define DDCKEYCAPS_SRCOVERLAYCLRSPACEYUV 0x00008000 00494 #define DDCKEYCAPS_SRCOVERLAYONEACTIVE 0x00010000 00495 #define DDCKEYCAPS_SRCOVERLAYYUV 0x00020000 00496 #define DDCKEYCAPS_NOCOSTOVERLAY 0x00040000 00497 00498 #define DDPF_ALPHAPIXELS 0x00000001 00499 #define DDPF_ALPHA 0x00000002 00500 #define DDPF_FOURCC 0x00000004 00501 #define DDPF_PALETTEINDEXED4 0x00000008 00502 #define DDPF_PALETTEINDEXEDTO8 0x00000010 00503 #define DDPF_PALETTEINDEXED8 0x00000020 00504 #define DDPF_RGB 0x00000040 00505 #define DDPF_COMPRESSED 0x00000080 00506 #define DDPF_RGBTOYUV 0x00000100 00507 #define DDPF_YUV 0x00000200 00508 #define DDPF_ZBUFFER 0x00000400 00509 #define DDPF_PALETTEINDEXED1 0x00000800 00510 #define DDPF_PALETTEINDEXED2 0x00001000 00511 #define DDPF_ZPIXELS 0x00002000 00512 #define DDPF_STENCILBUFFER 0x00004000 00513 #define DDPF_ALPHAPREMULT 0x00008000 00514 #define DDPF_LUMINANCE 0x00020000 00515 #define DDPF_BUMPLUMINANCE 0x00040000 00516 #define DDPF_BUMPDUDV 0x00080000 00517 00518 #define DDENUMSURFACES_ALL 0x00000001 00519 #define DDENUMSURFACES_MATCH 0x00000002 00520 #define DDENUMSURFACES_NOMATCH 0x00000004 00521 #define DDENUMSURFACES_CANBECREATED 0x00000008 00522 #define DDENUMSURFACES_DOESEXIST 0x00000010 00523 00524 #define DDSDM_STANDARDVGAMODE 0x00000001 00525 00526 #define DDEDM_REFRESHRATES 0x00000001 00527 #define DDEDM_STANDARDVGAMODES 0x00000002 00528 00529 #define DDSCL_FULLSCREEN 0x00000001 00530 #define DDSCL_ALLOWREBOOT 0x00000002 00531 #define DDSCL_NOWINDOWCHANGES 0x00000004 00532 #define DDSCL_NORMAL 0x00000008 00533 #define DDSCL_EXCLUSIVE 0x00000010 00534 #define DDSCL_ALLOWMODEX 0x00000040 00535 #define DDSCL_SETFOCUSWINDOW 0x00000080 00536 #define DDSCL_SETDEVICEWINDOW 0x00000100 00537 #define DDSCL_CREATEDEVICEWINDOW 0x00000200 00538 #define DDSCL_MULTITHREADED 0x00000400 00539 #define DDSCL_FPUSETUP 0x00000800 00540 #define DDSCL_FPUPRESERVE 0x00001000 00541 00542 #define DDBLT_ALPHADEST 0x00000001 00543 #define DDBLT_ALPHADESTCONSTOVERRIDE 0x00000002 00544 #define DDBLT_ALPHADESTNEG 0x00000004 00545 #define DDBLT_ALPHADESTSURFACEOVERRIDE 0x00000008 00546 #define DDBLT_ALPHAEDGEBLEND 0x00000010 00547 #define DDBLT_ALPHASRC 0x00000020 00548 #define DDBLT_ALPHASRCCONSTOVERRIDE 0x00000040 00549 #define DDBLT_ALPHASRCNEG 0x00000080 00550 #define DDBLT_ALPHASRCSURFACEOVERRIDE 0x00000100 00551 #define DDBLT_ASYNC 0x00000200 00552 #define DDBLT_COLORFILL 0x00000400 00553 #define DDBLT_DDFX 0x00000800 00554 #define DDBLT_DDROPS 0x00001000 00555 #define DDBLT_KEYDEST 0x00002000 00556 #define DDBLT_KEYDESTOVERRIDE 0x00004000 00557 #define DDBLT_KEYSRC 0x00008000 00558 #define DDBLT_KEYSRCOVERRIDE 0x00010000 00559 #define DDBLT_ROP 0x00020000 00560 #define DDBLT_ROTATIONANGLE 0x00040000 00561 #define DDBLT_ZBUFFER 0x00080000 00562 #define DDBLT_ZBUFFERDESTCONSTOVERRIDE 0x00100000 00563 #define DDBLT_ZBUFFERDESTOVERRIDE 0x00200000 00564 #define DDBLT_ZBUFFERSRCCONSTOVERRIDE 0x00400000 00565 #define DDBLT_ZBUFFERSRCOVERRIDE 0x00800000 00566 #define DDBLT_WAIT 0x01000000 00567 #define DDBLT_DEPTHFILL 0x02000000 00568 #define DDBLT_DONOTWAIT 0x08000000 00569 #define DDBLT_PRESENTATION 0x10000000 00570 #define DDBLT_LAST_PRESENTATION 0x20000000 00571 #define DDBLT_EXTENDED_FLAGS 0x40000000 00572 #define DDBLT_EXTENDED_LINEAR_CONTENT 0x00000004 00573 00574 #define DDBLTFAST_NOCOLORKEY 0x00000000 00575 #define DDBLTFAST_SRCCOLORKEY 0x00000001 00576 #define DDBLTFAST_DESTCOLORKEY 0x00000002 00577 #define DDBLTFAST_WAIT 0x00000010 00578 #define DDBLTFAST_DONOTWAIT 0x00000020 00579 00580 #define DDFLIP_WAIT 0x00000001 00581 #define DDFLIP_EVEN 0x00000002 00582 #define DDFLIP_ODD 0x00000004 00583 #define DDFLIP_NOVSYNC 0x00000008 00584 #define DDFLIP_STEREO 0x00000010 00585 #define DDFLIP_DONOTWAIT 0x00000020 00586 #define DDFLIP_INTERVAL2 0x02000000 00587 #define DDFLIP_INTERVAL3 0x03000000 00588 #define DDFLIP_INTERVAL4 0x04000000 00589 00590 00591 #define DDOVER_ALPHADEST 0x00000001 00592 #define DDOVER_ALPHADESTCONSTOVERRIDE 0x00000002 00593 #define DDOVER_ALPHADESTNEG 0x00000004 00594 #define DDOVER_ALPHADESTSURFACEOVERRIDE 0x00000008 00595 #define DDOVER_ALPHAEDGEBLEND 0x00000010 00596 #define DDOVER_ALPHASRC 0x00000020 00597 #define DDOVER_ALPHASRCCONSTOVERRIDE 0x00000040 00598 #define DDOVER_ALPHASRCNEG 0x00000080 00599 #define DDOVER_ALPHASRCSURFACEOVERRIDE 0x00000100 00600 #define DDOVER_HIDE 0x00000200 00601 #define DDOVER_KEYDEST 0x00000400 00602 #define DDOVER_KEYDESTOVERRIDE 0x00000800 00603 #define DDOVER_KEYSRC 0x00001000 00604 #define DDOVER_KEYSRCOVERRIDE 0x00002000 00605 #define DDOVER_SHOW 0x00004000 00606 #define DDOVER_ADDDIRTYRECT 0x00008000 00607 #define DDOVER_REFRESHDIRTYRECTS 0x00010000 00608 #define DDOVER_REFRESHALL 0x00020000 00609 #define DDOVER_DDFX 0x00080000 00610 #define DDOVER_AUTOFLIP 0x00100000 00611 #define DDOVER_BOB 0x00200000 00612 #define DDOVER_OVERRIDEBOBWEAVE 0x00400000 00613 #define DDOVER_INTERLEAVED 0x00800000 00614 #define DDOVER_BOBHARDWARE 0x01000000 00615 #define DDOVER_ARGBSCALEFACTORS 0x02000000 00616 #define DDOVER_DEGRADEARGBSCALING 0x04000000 00617 00618 #define DDLOCK_SURFACEMEMORYPTR 0x00000000 00619 #define DDLOCK_WAIT 0x00000001 00620 #define DDLOCK_EVENT 0x00000002 00621 #define DDLOCK_READONLY 0x00000010 00622 #define DDLOCK_WRITEONLY 0x00000020 00623 #define DDLOCK_NOSYSLOCK 0x00000800 00624 #define DDLOCK_NOOVERWRITE 0x00001000 00625 #define DDLOCK_DISCARDCONTENTS 0x00002000 00626 #define DDLOCK_OKTOSWAP 0x00002000 00627 #define DDLOCK_DONOTWAIT 0x00004000 00628 #define DDLOCK_HASVOLUMETEXTUREBOXRECT 0x00008000 00629 #define DDLOCK_NODIRTYUPDATE 0x00010000 00630 00631 #define DDBLTFX_ARITHSTRETCHY 0x00000001 00632 #define DDBLTFX_MIRRORLEFTRIGHT 0x00000002 00633 #define DDBLTFX_MIRRORUPDOWN 0x00000004 00634 #define DDBLTFX_NOTEARING 0x00000008 00635 #define DDBLTFX_ROTATE180 0x00000010 00636 #define DDBLTFX_ROTATE270 0x00000020 00637 #define DDBLTFX_ROTATE90 0x00000040 00638 #define DDBLTFX_ZBUFFERRANGE 0x00000080 00639 #define DDBLTFX_ZBUFFERBASEDEST 0x00000100 00640 00641 #define DDOVERFX_ARITHSTRETCHY 0x00000001 00642 #define DDOVERFX_MIRRORLEFTRIGHT 0x00000002 00643 #define DDOVERFX_MIRRORUPDOWN 0x00000004 00644 #define DDOVERFX_DEINTERLACE 0x00000008 00645 00646 #define DDWAITVB_BLOCKBEGIN 0x00000001 00647 #define DDWAITVB_BLOCKBEGINEVENT 0x00000002 00648 #define DDWAITVB_BLOCKEND 0x00000004 00649 00650 #define DDGFS_CANFLIP 0x00000001 00651 #define DDGFS_ISFLIPDONE 0x00000002 00652 00653 #define DDGBS_CANBLT 0x00000001 00654 #define DDGBS_ISBLTDONE 0x00000002 00655 00656 #define DDENUMOVERLAYZ_BACKTOFRONT 0x00000000 00657 #define DDENUMOVERLAYZ_FRONTTOBACK 0x00000001 00658 00659 #define DDOVERZ_SENDTOFRONT 0x00000000 00660 #define DDOVERZ_SENDTOBACK 0x00000001 00661 #define DDOVERZ_MOVEFORWARD 0x00000002 00662 #define DDOVERZ_MOVEBACKWARD 0x00000003 00663 #define DDOVERZ_INSERTINFRONTOF 0x00000004 00664 #define DDOVERZ_INSERTINBACKOF 0x00000005 00665 00666 #define GET_WHQL_YEAR (dwWHQLLevel) ((dwWHQLLevel)/0x10000) 00667 #define GET_WHQL_MONTH (dwWHQLLevel) (((dwWHQLLevel)/0x100)&0x00ff) 00668 #define GET_WHQL_DAY (dwWHQLLevel) ((dwWHQLLevel)&0xff) 00669 00670 #ifndef MAKEFOURCC 00671 #define MAKEFOURCC(c0,c1,c2,c3) \ 00672 ((DWORD)(BYTE)(c0)|((DWORD)(BYTE)(c1)<<8)|((DWORD)(BYTE)(c2)<< 16)|((DWORD)(BYTE)(c3)<<24)) 00673 #endif 00674 00675 #define FOURCC_DXT1 (MAKEFOURCC('D','X','T','1')) 00676 #define FOURCC_DXT2 (MAKEFOURCC('D','X','T','2')) 00677 #define FOURCC_DXT3 (MAKEFOURCC('D','X','T','3')) 00678 #define FOURCC_DXT4 (MAKEFOURCC('D','X','T','4')) 00679 #define FOURCC_DXT5 (MAKEFOURCC('D','X','T','5')) 00680 00681 #if defined(_WIN32) && !defined(_NO_COM) 00682 DEFINE_GUID( CLSID_DirectDraw, 0xD7B70EE0,0x4340,0x11CF,0xB0,0x63,0x00,0x20,0xAF,0xC2,0xCD,0x35 ); 00683 DEFINE_GUID( CLSID_DirectDraw7, 0x3C305196,0x50DB,0x11D3,0x9C,0xFE,0x00,0xC0,0x4F,0xD9,0x30,0xC5 ); 00684 DEFINE_GUID( CLSID_DirectDrawClipper, 0x593817A0,0x7DB3,0x11CF,0xA2,0xDE,0x00,0xAA,0x00,0xB9,0x33,0x56 ); 00685 DEFINE_GUID( IID_IDirectDraw, 0x6C14DB80,0xA733,0x11CE,0xA5,0x21,0x00,0x20,0xAF,0x0B,0xE5,0x60 ); 00686 DEFINE_GUID( IID_IDirectDraw2, 0xB3A6F3E0,0x2B43,0x11CF,0xA2,0xDE,0x00,0xAA,0x00,0xB9,0x33,0x56 ); 00687 DEFINE_GUID( IID_IDirectDraw3, 0x618F8AD4,0x8B7A,0x11D0,0x8F,0xCC,0x00,0xC0,0x4F,0xD9,0x18,0x9D ); 00688 DEFINE_GUID( IID_IDirectDraw4, 0x9C59509A,0x39BD,0x11D1,0x8C,0x4A,0x00,0xC0,0x4F,0xD9,0x30,0xC5 ); 00689 DEFINE_GUID( IID_IDirectDraw7, 0x15E65EC0,0x3B9C,0x11D2,0xB9,0x2F,0x00,0x60,0x97,0x97,0xEA,0x5B ); 00690 DEFINE_GUID( IID_IDirectDrawSurface, 0x6C14DB81,0xA733,0x11CE,0xA5,0x21,0x00,0x20,0xAF,0x0B,0xE5,0x60 ); 00691 DEFINE_GUID( IID_IDirectDrawSurface2, 0x57805885,0x6EEC,0x11CF,0x94,0x41,0xA8,0x23,0x03,0xC1,0x0E,0x27 ); 00692 DEFINE_GUID( IID_IDirectDrawSurface3, 0xDA044E00,0x69B2,0x11D0,0xA1,0xD5,0x00,0xAA,0x00,0xB8,0xDF,0xBB ); 00693 DEFINE_GUID( IID_IDirectDrawSurface4, 0x0B2B8630,0xAD35,0x11D0,0x8E,0xA6,0x00,0x60,0x97,0x97,0xEA,0x5B ); 00694 DEFINE_GUID( IID_IDirectDrawSurface7, 0x06675A80,0x3B9B,0x11D2,0xB9,0x2F,0x00,0x60,0x97,0x97,0xEA,0x5B ); 00695 DEFINE_GUID( IID_IDirectDrawPalette, 0x6C14DB84,0xA733,0x11CE,0xA5,0x21,0x00,0x20,0xAF,0x0B,0xE5,0x60 ); 00696 DEFINE_GUID( IID_IDirectDrawClipper, 0x6C14DB85,0xA733,0x11CE,0xA5,0x21,0x00,0x20,0xAF,0x0B,0xE5,0x60 ); 00697 DEFINE_GUID( IID_IDirectDrawColorControl, 0x4B9F0EE0,0x0D7E,0x11D0,0x9B,0x06,0x00,0xA0,0xC9,0x03,0xA3,0xB8 ); 00698 DEFINE_GUID( IID_IDirectDrawGammaControl, 0x69C11C3E,0xB46B,0x11D1,0xAD,0x7A,0x00,0xC0,0x4F,0xC2,0x9B,0x4E ); 00699 #endif 00700 00701 00702 struct IDirectDraw; 00703 struct IDirectDrawSurface; 00704 struct IDirectDrawPalette; 00705 struct IDirectDrawClipper; 00706 00707 typedef struct IDirectDraw *LPDIRECTDRAW; 00708 typedef struct IDirectDraw2 *LPDIRECTDRAW2; 00709 typedef struct IDirectDraw4 *LPDIRECTDRAW4; 00710 typedef struct IDirectDraw7 *LPDIRECTDRAW7; 00711 typedef struct IDirectDrawSurface *LPDIRECTDRAWSURFACE; 00712 typedef struct IDirectDrawSurface2 *LPDIRECTDRAWSURFACE2; 00713 typedef struct IDirectDrawSurface3 *LPDIRECTDRAWSURFACE3; 00714 typedef struct IDirectDrawSurface4 *LPDIRECTDRAWSURFACE4; 00715 typedef struct IDirectDrawSurface7 *LPDIRECTDRAWSURFACE7; 00716 typedef struct IDirectDrawPalette *LPDIRECTDRAWPALETTE; 00717 typedef struct IDirectDrawClipper *LPDIRECTDRAWCLIPPER; 00718 typedef struct IDirectDrawColorControl *LPDIRECTDRAWCOLORCONTROL; 00719 typedef struct IDirectDrawGammaControl *LPDIRECTDRAWGAMMACONTROL; 00720 00721 typedef struct _DDSCAPS 00722 { 00723 DWORD dwCaps; 00724 } DDSCAPS, *LPDDSCAPS; 00725 00726 typedef struct _DDSCAPS2 00727 { 00728 DWORD dwCaps; 00729 DWORD dwCaps2; 00730 DWORD dwCaps3; 00731 union 00732 { 00733 DWORD dwCaps4; 00734 DWORD dwVolumeDepth; 00735 } DUMMYUNIONNAMEN(1); 00736 } DDSCAPS2, *LPDDSCAPS2; 00737 00738 typedef struct _DDCAPS_DX1 00739 { 00740 DWORD dwSize; 00741 DWORD dwCaps; 00742 DWORD dwCaps2; 00743 DWORD dwCKeyCaps; 00744 DWORD dwFXCaps; 00745 DWORD dwFXAlphaCaps; 00746 DWORD dwPalCaps; 00747 DWORD dwSVCaps; 00748 DWORD dwAlphaBltConstBitDepths; 00749 DWORD dwAlphaBltPixelBitDepths; 00750 DWORD dwAlphaBltSurfaceBitDepths; 00751 DWORD dwAlphaOverlayConstBitDepths; 00752 DWORD dwAlphaOverlayPixelBitDepths; 00753 DWORD dwAlphaOverlaySurfaceBitDepths; 00754 DWORD dwZBufferBitDepths; 00755 DWORD dwVidMemTotal; 00756 DWORD dwVidMemFree; 00757 DWORD dwMaxVisibleOverlays; 00758 DWORD dwCurrVisibleOverlays; 00759 DWORD dwNumFourCCCodes; 00760 DWORD dwAlignBoundarySrc; 00761 DWORD dwAlignSizeSrc; 00762 DWORD dwAlignBoundaryDest; 00763 DWORD dwAlignSizeDest; 00764 DWORD dwAlignStrideAlign; 00765 DWORD dwRops[DD_ROP_SPACE]; 00766 DDSCAPS ddsCaps; 00767 DWORD dwMinOverlayStretch; 00768 DWORD dwMaxOverlayStretch; 00769 DWORD dwMinLiveVideoStretch; 00770 DWORD dwMaxLiveVideoStretch; 00771 DWORD dwMinHwCodecStretch; 00772 DWORD dwMaxHwCodecStretch; 00773 DWORD dwReserved1; 00774 DWORD dwReserved2; 00775 DWORD dwReserved3; 00776 } DDCAPS_DX1, *LPDDCAPS_DX1; 00777 00778 typedef struct _DDCAPS_DX3 00779 { 00780 DWORD dwSize; 00781 DWORD dwCaps; 00782 DWORD dwCaps2; 00783 DWORD dwCKeyCaps; 00784 DWORD dwFXCaps; 00785 DWORD dwFXAlphaCaps; 00786 DWORD dwPalCaps; 00787 DWORD dwSVCaps; 00788 DWORD dwAlphaBltConstBitDepths; 00789 DWORD dwAlphaBltPixelBitDepths; 00790 DWORD dwAlphaBltSurfaceBitDepths; 00791 DWORD dwAlphaOverlayConstBitDepths; 00792 DWORD dwAlphaOverlayPixelBitDepths; 00793 DWORD dwAlphaOverlaySurfaceBitDepths; 00794 DWORD dwZBufferBitDepths; 00795 DWORD dwVidMemTotal; 00796 DWORD dwVidMemFree; 00797 DWORD dwMaxVisibleOverlays; 00798 DWORD dwCurrVisibleOverlays; 00799 DWORD dwNumFourCCCodes; 00800 DWORD dwAlignBoundarySrc; 00801 DWORD dwAlignSizeSrc; 00802 DWORD dwAlignBoundaryDest; 00803 DWORD dwAlignSizeDest; 00804 DWORD dwAlignStrideAlign; 00805 DWORD dwRops[DD_ROP_SPACE]; 00806 DDSCAPS ddsCaps; 00807 DWORD dwMinOverlayStretch; 00808 DWORD dwMaxOverlayStretch; 00809 DWORD dwMinLiveVideoStretch; 00810 DWORD dwMaxLiveVideoStretch; 00811 DWORD dwMinHwCodecStretch; 00812 DWORD dwMaxHwCodecStretch; 00813 DWORD dwReserved1; 00814 DWORD dwReserved2; 00815 DWORD dwReserved3; 00816 DWORD dwSVBCaps; 00817 DWORD dwSVBCKeyCaps; 00818 DWORD dwSVBFXCaps; 00819 DWORD dwSVBRops[DD_ROP_SPACE]; 00820 DWORD dwVSBCaps; 00821 DWORD dwVSBCKeyCaps; 00822 DWORD dwVSBFXCaps; 00823 DWORD dwVSBRops[DD_ROP_SPACE]; 00824 DWORD dwSSBCaps; 00825 DWORD dwSSBCKeyCaps; 00826 DWORD dwSSBFXCaps; 00827 DWORD dwSSBRops[DD_ROP_SPACE]; 00828 DWORD dwReserved4; 00829 DWORD dwReserved5; 00830 DWORD dwReserved6; 00831 } DDCAPS_DX3, *LPDDCAPS_DX3; 00832 00833 typedef struct _DDCAPS_DX5 00834 { 00835 DWORD dwSize; 00836 DWORD dwCaps; 00837 DWORD dwCaps2; 00838 DWORD dwCKeyCaps; 00839 DWORD dwFXCaps; 00840 DWORD dwFXAlphaCaps; 00841 DWORD dwPalCaps; 00842 DWORD dwSVCaps; 00843 DWORD dwAlphaBltConstBitDepths; 00844 DWORD dwAlphaBltPixelBitDepths; 00845 DWORD dwAlphaBltSurfaceBitDepths; 00846 DWORD dwAlphaOverlayConstBitDepths; 00847 DWORD dwAlphaOverlayPixelBitDepths; 00848 DWORD dwAlphaOverlaySurfaceBitDepths; 00849 DWORD dwZBufferBitDepths; 00850 DWORD dwVidMemTotal; 00851 DWORD dwVidMemFree; 00852 DWORD dwMaxVisibleOverlays; 00853 DWORD dwCurrVisibleOverlays; 00854 DWORD dwNumFourCCCodes; 00855 DWORD dwAlignBoundarySrc; 00856 DWORD dwAlignSizeSrc; 00857 DWORD dwAlignBoundaryDest; 00858 DWORD dwAlignSizeDest; 00859 DWORD dwAlignStrideAlign; 00860 DWORD dwRops[DD_ROP_SPACE]; 00861 DDSCAPS ddsCaps; 00862 DWORD dwMinOverlayStretch; 00863 DWORD dwMaxOverlayStretch; 00864 DWORD dwMinLiveVideoStretch; 00865 DWORD dwMaxLiveVideoStretch; 00866 DWORD dwMinHwCodecStretch; 00867 DWORD dwMaxHwCodecStretch; 00868 DWORD dwReserved1; 00869 DWORD dwReserved2; 00870 DWORD dwReserved3; 00871 DWORD dwSVBCaps; 00872 DWORD dwSVBCKeyCaps; 00873 DWORD dwSVBFXCaps; 00874 DWORD dwSVBRops[DD_ROP_SPACE]; 00875 DWORD dwVSBCaps; 00876 DWORD dwVSBCKeyCaps; 00877 DWORD dwVSBFXCaps; 00878 DWORD dwVSBRops[DD_ROP_SPACE]; 00879 DWORD dwSSBCaps; 00880 DWORD dwSSBCKeyCaps; 00881 DWORD dwSSBFXCaps; 00882 DWORD dwSSBRops[DD_ROP_SPACE]; 00883 DWORD dwMaxVideoPorts; 00884 DWORD dwCurrVideoPorts; 00885 DWORD dwSVBCaps2; 00886 DWORD dwNLVBCaps; 00887 DWORD dwNLVBCaps2; 00888 DWORD dwNLVBCKeyCaps; 00889 DWORD dwNLVBFXCaps; 00890 DWORD dwNLVBRops[DD_ROP_SPACE]; 00891 } DDCAPS_DX5, *LPDDCAPS_DX5; 00892 00893 typedef struct _DDCAPS_DX6 00894 { 00895 DWORD dwSize; 00896 DWORD dwCaps; 00897 DWORD dwCaps2; 00898 DWORD dwCKeyCaps; 00899 DWORD dwFXCaps; 00900 DWORD dwFXAlphaCaps; 00901 DWORD dwPalCaps; 00902 DWORD dwSVCaps; 00903 DWORD dwAlphaBltConstBitDepths; 00904 DWORD dwAlphaBltPixelBitDepths; 00905 DWORD dwAlphaBltSurfaceBitDepths; 00906 DWORD dwAlphaOverlayConstBitDepths; 00907 DWORD dwAlphaOverlayPixelBitDepths; 00908 DWORD dwAlphaOverlaySurfaceBitDepths; 00909 DWORD dwZBufferBitDepths; 00910 DWORD dwVidMemTotal; 00911 DWORD dwVidMemFree; 00912 DWORD dwMaxVisibleOverlays; 00913 DWORD dwCurrVisibleOverlays; 00914 DWORD dwNumFourCCCodes; 00915 DWORD dwAlignBoundarySrc; 00916 DWORD dwAlignSizeSrc; 00917 DWORD dwAlignBoundaryDest; 00918 DWORD dwAlignSizeDest; 00919 DWORD dwAlignStrideAlign; 00920 DWORD dwRops[DD_ROP_SPACE]; 00921 DDSCAPS ddsOldCaps; 00922 DWORD dwMinOverlayStretch; 00923 DWORD dwMaxOverlayStretch; 00924 DWORD dwMinLiveVideoStretch; 00925 DWORD dwMaxLiveVideoStretch; 00926 DWORD dwMinHwCodecStretch; 00927 DWORD dwMaxHwCodecStretch; 00928 DWORD dwReserved1; 00929 DWORD dwReserved2; 00930 DWORD dwReserved3; 00931 DWORD dwSVBCaps; 00932 DWORD dwSVBCKeyCaps; 00933 DWORD dwSVBFXCaps; 00934 DWORD dwSVBRops[DD_ROP_SPACE]; 00935 DWORD dwVSBCaps; 00936 DWORD dwVSBCKeyCaps; 00937 DWORD dwVSBFXCaps; 00938 DWORD dwVSBRops[DD_ROP_SPACE]; 00939 DWORD dwSSBCaps; 00940 DWORD dwSSBCKeyCaps; 00941 DWORD dwSSBFXCaps; 00942 DWORD dwSSBRops[DD_ROP_SPACE]; 00943 DWORD dwMaxVideoPorts; 00944 DWORD dwCurrVideoPorts; 00945 DWORD dwSVBCaps2; 00946 DWORD dwNLVBCaps; 00947 DWORD dwNLVBCaps2; 00948 DWORD dwNLVBCKeyCaps; 00949 DWORD dwNLVBFXCaps; 00950 DWORD dwNLVBRops[DD_ROP_SPACE]; 00951 DDSCAPS2 ddsCaps; 00952 } DDCAPS_DX6, *LPDDCAPS_DX6; 00953 00954 typedef struct _DDCAPS_DX7 00955 { 00956 DWORD dwSize; 00957 DWORD dwCaps; 00958 DWORD dwCaps2; 00959 DWORD dwCKeyCaps; 00960 DWORD dwFXCaps; 00961 DWORD dwFXAlphaCaps; 00962 DWORD dwPalCaps; 00963 DWORD dwSVCaps; 00964 DWORD dwAlphaBltConstBitDepths; 00965 DWORD dwAlphaBltPixelBitDepths; 00966 DWORD dwAlphaBltSurfaceBitDepths; 00967 DWORD dwAlphaOverlayConstBitDepths; 00968 DWORD dwAlphaOverlayPixelBitDepths; 00969 DWORD dwAlphaOverlaySurfaceBitDepths; 00970 DWORD dwZBufferBitDepths; 00971 DWORD dwVidMemTotal; 00972 DWORD dwVidMemFree; 00973 DWORD dwMaxVisibleOverlays; 00974 DWORD dwCurrVisibleOverlays; 00975 DWORD dwNumFourCCCodes; 00976 DWORD dwAlignBoundarySrc; 00977 DWORD dwAlignSizeSrc; 00978 DWORD dwAlignBoundaryDest; 00979 DWORD dwAlignSizeDest; 00980 DWORD dwAlignStrideAlign; 00981 DWORD dwRops[DD_ROP_SPACE]; 00982 DDSCAPS ddsOldCaps; 00983 DWORD dwMinOverlayStretch; 00984 DWORD dwMaxOverlayStretch; 00985 DWORD dwMinLiveVideoStretch; 00986 DWORD dwMaxLiveVideoStretch; 00987 DWORD dwMinHwCodecStretch; 00988 DWORD dwMaxHwCodecStretch; 00989 DWORD dwReserved1; 00990 DWORD dwReserved2; 00991 DWORD dwReserved3; 00992 DWORD dwSVBCaps; 00993 DWORD dwSVBCKeyCaps; 00994 DWORD dwSVBFXCaps; 00995 DWORD dwSVBRops[DD_ROP_SPACE]; 00996 DWORD dwVSBCaps; 00997 DWORD dwVSBCKeyCaps; 00998 DWORD dwVSBFXCaps; 00999 DWORD dwVSBRops[DD_ROP_SPACE]; 01000 DWORD dwSSBCaps; 01001 DWORD dwSSBCKeyCaps; 01002 DWORD dwSSBFXCaps; 01003 DWORD dwSSBRops[DD_ROP_SPACE]; 01004 DWORD dwMaxVideoPorts; 01005 DWORD dwCurrVideoPorts; 01006 DWORD dwSVBCaps2; 01007 DWORD dwNLVBCaps; 01008 DWORD dwNLVBCaps2; 01009 DWORD dwNLVBCKeyCaps; 01010 DWORD dwNLVBFXCaps; 01011 DWORD dwNLVBRops[DD_ROP_SPACE]; 01012 DDSCAPS2 ddsCaps; 01013 } DDCAPS_DX7, *LPDDCAPS_DX7; 01014 01015 #if DIRECTDRAW_VERSION<=0x300 01016 typedef DDCAPS_DX3 DDCAPS; 01017 #elif DIRECTDRAW_VERSION<=0x500 01018 typedef DDCAPS_DX5 DDCAPS; 01019 #elif DIRECTDRAW_VERSION<=0x600 01020 typedef DDCAPS_DX6 DDCAPS; 01021 #else 01022 typedef DDCAPS_DX7 DDCAPS; 01023 #endif 01024 typedef DDCAPS *LPDDCAPS; 01025 01026 01027 typedef struct _DDCOLORCONTROL 01028 { 01029 DWORD dwSize; 01030 DWORD dwFlags; 01031 LONG lBrightness; 01032 LONG lContrast; 01033 LONG lHue; 01034 LONG lSaturation; 01035 LONG lSharpness; 01036 LONG lGamma; 01037 LONG lColorEnable; 01038 DWORD dwReserved1; 01039 } DDCOLORCONTROL, *LPDDCOLORCONTROL; 01040 01041 typedef struct _DDCOLORKEY 01042 { 01043 DWORD dwColorSpaceLowValue; 01044 DWORD dwColorSpaceHighValue; 01045 01046 } DDCOLORKEY, *LPDDCOLORKEY; 01047 01048 typedef struct _DDOSCAPS 01049 { 01050 DWORD dwCaps; 01051 } DDOSCAPS, *LPDDOSCAPS; 01052 01053 typedef struct _DDSCAPSEX 01054 { 01055 DWORD dwCaps2; 01056 DWORD dwCaps3; 01057 union 01058 { 01059 DWORD dwCaps4; 01060 DWORD dwVolumeDepth; 01061 } DUMMYUNIONNAMEN(1); 01062 } DDSCAPSEX, *LPDDSCAPSEX; 01063 01064 typedef struct _DDPIXELFORMAT 01065 { 01066 DWORD dwSize; 01067 DWORD dwFlags; 01068 DWORD dwFourCC; 01069 union 01070 { 01071 DWORD dwRGBBitCount; 01072 DWORD dwYUVBitCount; 01073 DWORD dwZBufferBitDepth; 01074 DWORD dwAlphaBitDepth; 01075 DWORD dwLuminanceBitCount; 01076 DWORD dwBumpBitCount; 01077 DWORD dwPrivateFormatBitCount; 01078 } DUMMYUNIONNAMEN(1); 01079 union 01080 { 01081 DWORD dwRBitMask; 01082 DWORD dwYBitMask; 01083 DWORD dwStencilBitDepth; 01084 DWORD dwLuminanceBitMask; 01085 DWORD dwBumpDuBitMask; 01086 DWORD dwOperations; 01087 } DUMMYUNIONNAMEN(2); 01088 union 01089 { 01090 DWORD dwGBitMask; 01091 DWORD dwUBitMask; 01092 DWORD dwZBitMask; 01093 DWORD dwBumpDvBitMask; 01094 struct 01095 { 01096 WORD wFlipMSTypes; 01097 WORD wBltMSTypes; 01098 } MultiSampleCaps; 01099 } DUMMYUNIONNAMEN(3); 01100 union 01101 { 01102 DWORD dwBBitMask; 01103 DWORD dwVBitMask; 01104 DWORD dwStencilBitMask; 01105 DWORD dwBumpLuminanceBitMask; 01106 } DUMMYUNIONNAMEN(4); 01107 union 01108 { 01109 DWORD dwRGBAlphaBitMask; 01110 DWORD dwYUVAlphaBitMask; 01111 DWORD dwLuminanceAlphaBitMask; 01112 DWORD dwRGBZBitMask; 01113 DWORD dwYUVZBitMask; 01114 } DUMMYUNIONNAMEN(5); 01115 } DDPIXELFORMAT, *LPDDPIXELFORMAT; 01116 01117 typedef struct _DDSURFACEDESC 01118 { 01119 DWORD dwSize; 01120 DWORD dwFlags; 01121 DWORD dwHeight; 01122 DWORD dwWidth; 01123 union 01124 { 01125 LONG lPitch; 01126 DWORD dwLinearSize; 01127 } DUMMYUNIONNAMEN(1); 01128 DWORD dwBackBufferCount; 01129 union 01130 { 01131 DWORD dwMipMapCount; 01132 DWORD dwZBufferBitDepth; 01133 DWORD dwRefreshRate; 01134 } DUMMYUNIONNAMEN(2); 01135 DWORD dwAlphaBitDepth; 01136 DWORD dwReserved; 01137 LPVOID lpSurface; 01138 DDCOLORKEY ddckCKDestOverlay; 01139 DDCOLORKEY ddckCKDestBlt; 01140 DDCOLORKEY ddckCKSrcOverlay; 01141 DDCOLORKEY ddckCKSrcBlt; 01142 DDPIXELFORMAT ddpfPixelFormat; 01143 DDSCAPS ddsCaps; 01144 } DDSURFACEDESC, *LPDDSURFACEDESC; 01145 01146 typedef struct _DDSURFACEDESC2 01147 { 01148 DWORD dwSize; 01149 DWORD dwFlags; 01150 DWORD dwHeight; 01151 DWORD dwWidth; 01152 union 01153 { 01154 LONG lPitch; 01155 DWORD dwLinearSize; 01156 } DUMMYUNIONNAMEN(1); 01157 union 01158 { 01159 DWORD dwBackBufferCount; 01160 DWORD dwDepth; 01161 } DUMMYUNIONNAMEN(5); 01162 union 01163 { 01164 DWORD dwMipMapCount; 01165 DWORD dwRefreshRate; 01166 DWORD dwSrcVBHandle; 01167 } DUMMYUNIONNAMEN(2); 01168 DWORD dwAlphaBitDepth; 01169 DWORD dwReserved; 01170 LPVOID lpSurface; 01171 union 01172 { 01173 DDCOLORKEY ddckCKDestOverlay; 01174 DWORD dwEmptyFaceColor; 01175 } DUMMYUNIONNAMEN(3); 01176 DDCOLORKEY ddckCKDestBlt; 01177 DDCOLORKEY ddckCKSrcOverlay; 01178 DDCOLORKEY ddckCKSrcBlt; 01179 union 01180 { 01181 DDPIXELFORMAT ddpfPixelFormat; 01182 DWORD dwFVF; 01183 } DUMMYUNIONNAMEN(4); 01184 DDSCAPS2 ddsCaps; 01185 DWORD dwTextureStage; 01186 } DDSURFACEDESC2, *LPDDSURFACEDESC2; 01187 01188 typedef struct _DDOPTSURFACEDESC 01189 { 01190 DWORD dwSize; 01191 DWORD dwFlags; 01192 DDSCAPS2 ddSCaps; 01193 DDOSCAPS ddOSCaps; 01194 GUID guid; 01195 DWORD dwCompressionRatio; 01196 } DDOPTSURFACEDESC; 01197 01198 typedef struct _DDARGB 01199 { 01200 BYTE blue; 01201 BYTE green; 01202 BYTE red; 01203 BYTE alpha; 01204 } DDARGB, *LPDDARGB; 01205 01206 typedef struct _DDRGBA 01207 { 01208 BYTE red; 01209 BYTE green; 01210 BYTE blue; 01211 BYTE alpha; 01212 } DDRGBA, *LPDDRGBA; 01213 01214 01215 #if (defined (WIN32) || defined( _WIN32 ) ) && !defined( _NO_COM ) 01216 typedef BOOL (* LPDDENUMCALLBACKA)(GUID *, LPSTR, LPSTR, LPVOID); 01217 typedef BOOL (* LPDDENUMCALLBACKW)(GUID *, LPWSTR, LPWSTR, LPVOID); 01218 extern HRESULT WINAPI DirectDrawEnumerateW( LPDDENUMCALLBACKW lpCallback, LPVOID lpContext ); 01219 extern HRESULT WINAPI DirectDrawEnumerateA( LPDDENUMCALLBACKA lpCallback, LPVOID lpContext ); 01220 01221 #if !defined(HMONITOR_DECLARED) && (WINVER < 0x0500) 01222 #define HMONITOR_DECLARED 01223 DECLARE_HANDLE(HMONITOR); 01224 #endif 01225 01226 typedef BOOL (*LPDDENUMCALLBACKEXA)(GUID *, LPSTR, LPSTR, LPVOID, HMONITOR); 01227 typedef BOOL (*LPDDENUMCALLBACKEXW)(GUID *, LPWSTR, LPWSTR, LPVOID, HMONITOR); 01228 01229 extern HRESULT WINAPI DirectDrawEnumerateExW( LPDDENUMCALLBACKEXW lpCallback, LPVOID lpContext, DWORD dwFlags); 01230 extern HRESULT WINAPI DirectDrawEnumerateExA( LPDDENUMCALLBACKEXA lpCallback, LPVOID lpContext, DWORD dwFlags); 01231 01232 typedef HRESULT (WINAPI * LPDIRECTDRAWENUMERATEEXA)( LPDDENUMCALLBACKEXA lpCallback, LPVOID lpContext, DWORD dwFlags); 01233 typedef HRESULT (WINAPI * LPDIRECTDRAWENUMERATEEXW)( LPDDENUMCALLBACKEXW lpCallback, LPVOID lpContext, DWORD dwFlags); 01234 01235 #ifdef UNICODE 01236 typedef LPDDENUMCALLBACKW LPDDENUMCALLBACK; 01237 #define DirectDrawEnumerate DirectDrawEnumerateW 01238 typedef LPDDENUMCALLBACKEXW LPDDENUMCALLBACKEX; 01239 typedef LPDIRECTDRAWENUMERATEEXW LPDIRECTDRAWENUMERATEEX; 01240 #define DirectDrawEnumerateEx DirectDrawEnumerateExW 01241 #else 01242 typedef LPDDENUMCALLBACKA LPDDENUMCALLBACK; 01243 #define DirectDrawEnumerate DirectDrawEnumerateA 01244 typedef LPDDENUMCALLBACKEXA LPDDENUMCALLBACKEX; 01245 typedef LPDIRECTDRAWENUMERATEEXA LPDIRECTDRAWENUMERATEEX; 01246 #define DirectDrawEnumerateEx DirectDrawEnumerateExA 01247 #endif 01248 extern HRESULT WINAPI DirectDrawCreate(GUID *lpGUID,LPDIRECTDRAW *lplpDD, IUnknown *pUnkOuter ); 01249 extern HRESULT WINAPI DirectDrawCreateEx(GUID * lpGuid,LPVOID *lplpDD,REFIID iid,IUnknown *pUnkOuter ); 01250 extern HRESULT WINAPI DirectDrawCreateClipper(DWORD dwFlags,LPDIRECTDRAWCLIPPER *lplpDDClipper,IUnknown *pUnkOuter ); 01251 #endif 01252 01253 01254 typedef HRESULT (WINAPI *LPDDENUMMODESCALLBACK)(LPDDSURFACEDESC, LPVOID); 01255 typedef HRESULT (WINAPI *LPDDENUMMODESCALLBACK2)(LPDDSURFACEDESC2, LPVOID); 01256 typedef HRESULT (WINAPI *LPDDENUMSURFACESCALLBACK)(LPDIRECTDRAWSURFACE, LPDDSURFACEDESC, LPVOID); 01257 typedef HRESULT (WINAPI *LPDDENUMSURFACESCALLBACK2)(LPDIRECTDRAWSURFACE4, LPDDSURFACEDESC2, LPVOID); 01258 typedef HRESULT (WINAPI *LPDDENUMSURFACESCALLBACK7)(LPDIRECTDRAWSURFACE7, LPDDSURFACEDESC2, LPVOID); 01259 01260 typedef DWORD (*LPCLIPPERCALLBACK)(LPDIRECTDRAWCLIPPER lpDDClipper, HWND hWnd, DWORD code, LPVOID lpContext ); 01261 #ifdef STREAMING 01262 typedef DWORD (*LPSURFACESTREAMINGCALLBACK)(DWORD); 01263 #endif 01264 01265 01266 typedef struct _DDBLTFX 01267 { 01268 DWORD dwSize; 01269 DWORD dwDDFX; 01270 DWORD dwROP; 01271 DWORD dwDDROP; 01272 DWORD dwRotationAngle; 01273 DWORD dwZBufferOpCode; 01274 DWORD dwZBufferLow; 01275 DWORD dwZBufferHigh; 01276 DWORD dwZBufferBaseDest; 01277 DWORD dwZDestConstBitDepth; 01278 union 01279 { 01280 DWORD dwZDestConst; 01281 LPDIRECTDRAWSURFACE lpDDSZBufferDest; 01282 } DUMMYUNIONNAMEN(1); 01283 DWORD dwZSrcConstBitDepth; 01284 union 01285 { 01286 DWORD dwZSrcConst; 01287 LPDIRECTDRAWSURFACE lpDDSZBufferSrc; 01288 } DUMMYUNIONNAMEN(2); 01289 DWORD dwAlphaEdgeBlendBitDepth; 01290 DWORD dwAlphaEdgeBlend; 01291 DWORD dwReserved; 01292 DWORD dwAlphaDestConstBitDepth; 01293 union 01294 { 01295 DWORD dwAlphaDestConst; 01296 LPDIRECTDRAWSURFACE lpDDSAlphaDest; 01297 } DUMMYUNIONNAMEN(3); 01298 DWORD dwAlphaSrcConstBitDepth; 01299 union 01300 { 01301 DWORD dwAlphaSrcConst; 01302 LPDIRECTDRAWSURFACE lpDDSAlphaSrc; 01303 } DUMMYUNIONNAMEN(4); 01304 union 01305 { 01306 DWORD dwFillColor; 01307 DWORD dwFillDepth; 01308 DWORD dwFillPixel; 01309 LPDIRECTDRAWSURFACE lpDDSPattern; 01310 } DUMMYUNIONNAMEN(5); 01311 DDCOLORKEY ddckDestColorkey; 01312 DDCOLORKEY ddckSrcColorkey; 01313 } DDBLTFX, *LPDDBLTFX; 01314 01315 typedef struct _DDGAMMARAMP 01316 { 01317 WORD red[256]; 01318 WORD green[256]; 01319 WORD blue[256]; 01320 } DDGAMMARAMP, *LPDDGAMMARAMP; 01321 01322 typedef struct tagDDDEVICEIDENTIFIER 01323 { 01324 char szDriver[MAX_DDDEVICEID_STRING]; 01325 char szDescription[MAX_DDDEVICEID_STRING]; 01326 #ifdef _WIN32 01327 LARGE_INTEGER liDriverVersion; 01328 #else 01329 DWORD dwDriverVersionLowPart; 01330 DWORD dwDriverVersionHighPart; 01331 #endif 01332 DWORD dwVendorId; 01333 DWORD dwDeviceId; 01334 DWORD dwSubSysId; 01335 DWORD dwRevision; 01336 GUID guidDeviceIdentifier; 01337 } DDDEVICEIDENTIFIER, * LPDDDEVICEIDENTIFIER; 01338 01339 typedef struct tagDDDEVICEIDENTIFIER2 01340 { 01341 char szDriver[MAX_DDDEVICEID_STRING]; 01342 char szDescription[MAX_DDDEVICEID_STRING]; 01343 #ifdef _WIN32 01344 LARGE_INTEGER liDriverVersion; 01345 #else 01346 DWORD dwDriverVersionLowPart; 01347 DWORD dwDriverVersionHighPart; 01348 #endif 01349 DWORD dwVendorId; 01350 DWORD dwDeviceId; 01351 DWORD dwSubSysId; 01352 DWORD dwRevision; 01353 GUID guidDeviceIdentifier; 01354 DWORD dwWHQLLevel; 01355 } DDDEVICEIDENTIFIER2, *LPDDDEVICEIDENTIFIER2; 01356 01357 typedef struct _DDBLTBATCH 01358 { 01359 LPRECT lprDest; 01360 LPDIRECTDRAWSURFACE lpDDSSrc; 01361 LPRECT lprSrc; 01362 DWORD dwFlags; 01363 LPDDBLTFX lpDDBltFx; 01364 } DDBLTBATCH, *LPDDBLTBATCH; 01365 01366 typedef struct _DDOVERLAYFX 01367 { 01368 DWORD dwSize; 01369 DWORD dwAlphaEdgeBlendBitDepth; 01370 DWORD dwAlphaEdgeBlend; 01371 DWORD dwReserved; 01372 DWORD dwAlphaDestConstBitDepth; 01373 union 01374 { 01375 DWORD dwAlphaDestConst; 01376 LPDIRECTDRAWSURFACE lpDDSAlphaDest; 01377 } DUMMYUNIONNAMEN(1); 01378 DWORD dwAlphaSrcConstBitDepth; 01379 union 01380 { 01381 DWORD dwAlphaSrcConst; 01382 LPDIRECTDRAWSURFACE lpDDSAlphaSrc; 01383 } DUMMYUNIONNAMEN(2); 01384 DDCOLORKEY dckDestColorkey; 01385 DDCOLORKEY dckSrcColorkey; 01386 DWORD dwDDFX; 01387 DWORD dwFlags; 01388 } DDOVERLAYFX, *LPDDOVERLAYFX; 01389 01390 01391 01392 #if defined( _WIN32 ) && !defined( _NO_COM ) 01393 #undef INTERFACE 01394 #define INTERFACE IDirectDraw 01395 01396 DECLARE_INTERFACE_( IDirectDraw, IUnknown ) 01397 { 01398 STDMETHOD(QueryInterface) (THIS_ REFIID riid, LPVOID *ppvObj) PURE; 01399 STDMETHOD_(ULONG,AddRef) (THIS) PURE; 01400 STDMETHOD_(ULONG,Release) (THIS) PURE; 01401 01402 STDMETHOD(Compact)(THIS) PURE; 01403 STDMETHOD(CreateClipper)(THIS_ DWORD, LPDIRECTDRAWCLIPPER *, IUnknown * ) PURE; 01404 STDMETHOD(CreatePalette)(THIS_ DWORD, LPPALETTEENTRY, LPDIRECTDRAWPALETTE *, IUnknown * ) PURE; 01405 STDMETHOD(CreateSurface)(THIS_ LPDDSURFACEDESC, LPDIRECTDRAWSURFACE *, IUnknown *) PURE; 01406 STDMETHOD(DuplicateSurface)( THIS_ LPDIRECTDRAWSURFACE, LPDIRECTDRAWSURFACE * ) PURE; 01407 STDMETHOD(EnumDisplayModes)( THIS_ DWORD, LPDDSURFACEDESC, LPVOID, LPDDENUMMODESCALLBACK ) PURE; 01408 STDMETHOD(EnumSurfaces)(THIS_ DWORD, LPDDSURFACEDESC, LPVOID,LPDDENUMSURFACESCALLBACK ) PURE; 01409 STDMETHOD(FlipToGDISurface)(THIS) PURE; 01410 STDMETHOD(GetCaps)( THIS_ LPDDCAPS, LPDDCAPS) PURE; 01411 STDMETHOD(GetDisplayMode)( THIS_ LPDDSURFACEDESC) PURE; 01412 STDMETHOD(GetFourCCCodes)(THIS_ LPDWORD, LPDWORD ) PURE; 01413 STDMETHOD(GetGDISurface)(THIS_ LPDIRECTDRAWSURFACE *) PURE; 01414 STDMETHOD(GetMonitorFrequency)(THIS_ LPDWORD) PURE; 01415 STDMETHOD(GetScanLine)(THIS_ LPDWORD) PURE; 01416 STDMETHOD(GetVerticalBlankStatus)(THIS_ LPBOOL ) PURE; 01417 STDMETHOD(Initialize)(THIS_ GUID *) PURE; 01418 STDMETHOD(RestoreDisplayMode)(THIS) PURE; 01419 STDMETHOD(SetCooperativeLevel)(THIS_ HWND, DWORD) PURE; 01420 STDMETHOD(SetDisplayMode)(THIS_ DWORD, DWORD,DWORD) PURE; 01421 STDMETHOD(WaitForVerticalBlank)(THIS_ DWORD, HANDLE ) PURE; 01422 }; 01423 01424 #if !defined(__cplusplus) || defined(CINTERFACE) 01425 #define IDirectDraw_QueryInterface(p, a, b) (p)->lpVtbl->QueryInterface(p, a, b) 01426 #define IDirectDraw_AddRef(p) (p)->lpVtbl->AddRef(p) 01427 #define IDirectDraw_Release(p) (p)->lpVtbl->Release(p) 01428 #define IDirectDraw_Compact(p) (p)->lpVtbl->Compact(p) 01429 #define IDirectDraw_CreateClipper(p, a, b, c) (p)->lpVtbl->CreateClipper(p, a, b, c) 01430 #define IDirectDraw_CreatePalette(p, a, b, c, d) (p)->lpVtbl->CreatePalette(p, a, b, c, d) 01431 #define IDirectDraw_CreateSurface(p, a, b, c) (p)->lpVtbl->CreateSurface(p, a, b, c) 01432 #define IDirectDraw_DuplicateSurface(p, a, b) (p)->lpVtbl->DuplicateSurface(p, a, b) 01433 #define IDirectDraw_EnumDisplayModes(p, a, b, c, d) (p)->lpVtbl->EnumDisplayModes(p, a, b, c, d) 01434 #define IDirectDraw_EnumSurfaces(p, a, b, c, d) (p)->lpVtbl->EnumSurfaces(p, a, b, c, d) 01435 #define IDirectDraw_FlipToGDISurface(p) (p)->lpVtbl->FlipToGDISurface(p) 01436 #define IDirectDraw_GetCaps(p, a, b) (p)->lpVtbl->GetCaps(p, a, b) 01437 #define IDirectDraw_GetDisplayMode(p, a) (p)->lpVtbl->GetDisplayMode(p, a) 01438 #define IDirectDraw_GetFourCCCodes(p, a, b) (p)->lpVtbl->GetFourCCCodes(p, a, b) 01439 #define IDirectDraw_GetGDISurface(p, a) (p)->lpVtbl->GetGDISurface(p, a) 01440 #define IDirectDraw_GetMonitorFrequency(p, a) (p)->lpVtbl->GetMonitorFrequency(p, a) 01441 #define IDirectDraw_GetScanLine(p, a) (p)->lpVtbl->GetScanLine(p, a) 01442 #define IDirectDraw_GetVerticalBlankStatus(p, a) (p)->lpVtbl->GetVerticalBlankStatus(p, a) 01443 #define IDirectDraw_Initialize(p, a) (p)->lpVtbl->Initialize(p, a) 01444 #define IDirectDraw_RestoreDisplayMode(p) (p)->lpVtbl->RestoreDisplayMode(p) 01445 #define IDirectDraw_SetCooperativeLevel(p, a, b) (p)->lpVtbl->SetCooperativeLevel(p, a, b) 01446 #define IDirectDraw_SetDisplayMode(p, a, b, c) (p)->lpVtbl->SetDisplayMode(p, a, b, c) 01447 #define IDirectDraw_WaitForVerticalBlank(p, a, b) (p)->lpVtbl->WaitForVerticalBlank(p, a, b) 01448 #else 01449 #define IDirectDraw_QueryInterface(p, a, b) (p)->QueryInterface(a, b) 01450 #define IDirectDraw_AddRef(p) (p)->AddRef() 01451 #define IDirectDraw_Release(p) (p)->Release() 01452 #define IDirectDraw_Compact(p) (p)->Compact() 01453 #define IDirectDraw_CreateClipper(p, a, b, c) (p)->CreateClipper(a, b, c) 01454 #define IDirectDraw_CreatePalette(p, a, b, c, d) (p)->CreatePalette(a, b, c, d) 01455 #define IDirectDraw_CreateSurface(p, a, b, c) (p)->CreateSurface(a, b, c) 01456 #define IDirectDraw_DuplicateSurface(p, a, b) (p)->DuplicateSurface(a, b) 01457 #define IDirectDraw_EnumDisplayModes(p, a, b, c, d) (p)->EnumDisplayModes(a, b, c, d) 01458 #define IDirectDraw_EnumSurfaces(p, a, b, c, d) (p)->EnumSurfaces(a, b, c, d) 01459 #define IDirectDraw_FlipToGDISurface(p) (p)->FlipToGDISurface() 01460 #define IDirectDraw_GetCaps(p, a, b) (p)->GetCaps(a, b) 01461 #define IDirectDraw_GetDisplayMode(p, a) (p)->GetDisplayMode(a) 01462 #define IDirectDraw_GetFourCCCodes(p, a, b) (p)->GetFourCCCodes(a, b) 01463 #define IDirectDraw_GetGDISurface(p, a) (p)->GetGDISurface(a) 01464 #define IDirectDraw_GetMonitorFrequency(p, a) (p)->GetMonitorFrequency(a) 01465 #define IDirectDraw_GetScanLine(p, a) (p)->GetScanLine(a) 01466 #define IDirectDraw_GetVerticalBlankStatus(p, a) (p)->GetVerticalBlankStatus(a) 01467 #define IDirectDraw_Initialize(p, a) (p)->Initialize(a) 01468 #define IDirectDraw_RestoreDisplayMode(p) (p)->RestoreDisplayMode() 01469 #define IDirectDraw_SetCooperativeLevel(p, a, b) (p)->SetCooperativeLevel(a, b) 01470 #define IDirectDraw_SetDisplayMode(p, a, b, c) (p)->SetDisplayMode(a, b, c) 01471 #define IDirectDraw_WaitForVerticalBlank(p, a, b) (p)->WaitForVerticalBlank(a, b) 01472 #endif 01473 #endif 01474 01475 #if defined( _WIN32 ) && !defined( _NO_COM ) 01476 #undef INTERFACE 01477 #define INTERFACE IDirectDraw2 01478 DECLARE_INTERFACE_( IDirectDraw2, IUnknown ) 01479 { 01480 STDMETHOD(QueryInterface) (THIS_ REFIID riid, LPVOID * ppvObj) PURE; 01481 STDMETHOD_(ULONG,AddRef) (THIS) PURE; 01482 STDMETHOD_(ULONG,Release) (THIS) PURE; 01483 STDMETHOD(Compact)(THIS) PURE; 01484 STDMETHOD(CreateClipper)(THIS_ DWORD, LPDIRECTDRAWCLIPPER *, IUnknown * ) PURE; 01485 STDMETHOD(CreatePalette)(THIS_ DWORD, LPPALETTEENTRY, LPDIRECTDRAWPALETTE *, IUnknown * ) PURE; 01486 STDMETHOD(CreateSurface)(THIS_ LPDDSURFACEDESC, LPDIRECTDRAWSURFACE *, IUnknown *) PURE; 01487 STDMETHOD(DuplicateSurface)( THIS_ LPDIRECTDRAWSURFACE, LPDIRECTDRAWSURFACE * ) PURE; 01488 STDMETHOD(EnumDisplayModes)( THIS_ DWORD, LPDDSURFACEDESC, LPVOID, LPDDENUMMODESCALLBACK ) PURE; 01489 STDMETHOD(EnumSurfaces)(THIS_ DWORD, LPDDSURFACEDESC, LPVOID,LPDDENUMSURFACESCALLBACK ) PURE; 01490 STDMETHOD(FlipToGDISurface)(THIS) PURE; 01491 STDMETHOD(GetCaps)( THIS_ LPDDCAPS, LPDDCAPS) PURE; 01492 STDMETHOD(GetDisplayMode)( THIS_ LPDDSURFACEDESC) PURE; 01493 STDMETHOD(GetFourCCCodes)(THIS_ LPDWORD, LPDWORD ) PURE; 01494 STDMETHOD(GetGDISurface)(THIS_ LPDIRECTDRAWSURFACE *) PURE; 01495 STDMETHOD(GetMonitorFrequency)(THIS_ LPDWORD) PURE; 01496 STDMETHOD(GetScanLine)(THIS_ LPDWORD) PURE; 01497 STDMETHOD(GetVerticalBlankStatus)(THIS_ LPBOOL ) PURE; 01498 STDMETHOD(Initialize)(THIS_ GUID *) PURE; 01499 STDMETHOD(RestoreDisplayMode)(THIS) PURE; 01500 STDMETHOD(SetCooperativeLevel)(THIS_ HWND, DWORD) PURE; 01501 STDMETHOD(SetDisplayMode)(THIS_ DWORD, DWORD,DWORD, DWORD, DWORD) PURE; 01502 STDMETHOD(WaitForVerticalBlank)(THIS_ DWORD, HANDLE ) PURE; 01503 STDMETHOD(GetAvailableVidMem)(THIS_ LPDDSCAPS, LPDWORD, LPDWORD) PURE; 01504 }; 01505 01506 #if !defined(__cplusplus) || defined(CINTERFACE) 01507 #define IDirectDraw2_QueryInterface(p, a, b) (p)->lpVtbl->QueryInterface(p, a, b) 01508 #define IDirectDraw2_AddRef(p) (p)->lpVtbl->AddRef(p) 01509 #define IDirectDraw2_Release(p) (p)->lpVtbl->Release(p) 01510 #define IDirectDraw2_Compact(p) (p)->lpVtbl->Compact(p) 01511 #define IDirectDraw2_CreateClipper(p, a, b, c) (p)->lpVtbl->CreateClipper(p, a, b, c) 01512 #define IDirectDraw2_CreatePalette(p, a, b, c, d) (p)->lpVtbl->CreatePalette(p, a, b, c, d) 01513 #define IDirectDraw2_CreateSurface(p, a, b, c) (p)->lpVtbl->CreateSurface(p, a, b, c) 01514 #define IDirectDraw2_DuplicateSurface(p, a, b) (p)->lpVtbl->DuplicateSurface(p, a, b) 01515 #define IDirectDraw2_EnumDisplayModes(p, a, b, c, d) (p)->lpVtbl->EnumDisplayModes(p, a, b, c, d) 01516 #define IDirectDraw2_EnumSurfaces(p, a, b, c, d) (p)->lpVtbl->EnumSurfaces(p, a, b, c, d) 01517 #define IDirectDraw2_FlipToGDISurface(p) (p)->lpVtbl->FlipToGDISurface(p) 01518 #define IDirectDraw2_GetCaps(p, a, b) (p)->lpVtbl->GetCaps(p, a, b) 01519 #define IDirectDraw2_GetDisplayMode(p, a) (p)->lpVtbl->GetDisplayMode(p, a) 01520 #define IDirectDraw2_GetFourCCCodes(p, a, b) (p)->lpVtbl->GetFourCCCodes(p, a, b) 01521 #define IDirectDraw2_GetGDISurface(p, a) (p)->lpVtbl->GetGDISurface(p, a) 01522 #define IDirectDraw2_GetMonitorFrequency(p, a) (p)->lpVtbl->GetMonitorFrequency(p, a) 01523 #define IDirectDraw2_GetScanLine(p, a) (p)->lpVtbl->GetScanLine(p, a) 01524 #define IDirectDraw2_GetVerticalBlankStatus(p, a) (p)->lpVtbl->GetVerticalBlankStatus(p, a) 01525 #define IDirectDraw2_Initialize(p, a) (p)->lpVtbl->Initialize(p, a) 01526 #define IDirectDraw2_RestoreDisplayMode(p) (p)->lpVtbl->RestoreDisplayMode(p) 01527 #define IDirectDraw2_SetCooperativeLevel(p, a, b) (p)->lpVtbl->SetCooperativeLevel(p, a, b) 01528 #define IDirectDraw2_SetDisplayMode(p, a, b, c, d, e) (p)->lpVtbl->SetDisplayMode(p, a, b, c, d, e) 01529 #define IDirectDraw2_WaitForVerticalBlank(p, a, b) (p)->lpVtbl->WaitForVerticalBlank(p, a, b) 01530 #define IDirectDraw2_GetAvailableVidMem(p, a, b, c) (p)->lpVtbl->GetAvailableVidMem(p, a, b, c) 01531 #else 01532 #define IDirectDraw2_QueryInterface(p, a, b) (p)->QueryInterface(a, b) 01533 #define IDirectDraw2_AddRef(p) (p)->AddRef() 01534 #define IDirectDraw2_Release(p) (p)->Release() 01535 #define IDirectDraw2_Compact(p) (p)->Compact() 01536 #define IDirectDraw2_CreateClipper(p, a, b, c) (p)->CreateClipper(a, b, c) 01537 #define IDirectDraw2_CreatePalette(p, a, b, c, d) (p)->CreatePalette(a, b, c, d) 01538 #define IDirectDraw2_CreateSurface(p, a, b, c) (p)->CreateSurface(a, b, c) 01539 #define IDirectDraw2_DuplicateSurface(p, a, b) (p)->DuplicateSurface(a, b) 01540 #define IDirectDraw2_EnumDisplayModes(p, a, b, c, d) (p)->EnumDisplayModes(a, b, c, d) 01541 #define IDirectDraw2_EnumSurfaces(p, a, b, c, d) (p)->EnumSurfaces(a, b, c, d) 01542 #define IDirectDraw2_FlipToGDISurface(p) (p)->FlipToGDISurface() 01543 #define IDirectDraw2_GetCaps(p, a, b) (p)->GetCaps(a, b) 01544 #define IDirectDraw2_GetDisplayMode(p, a) (p)->GetDisplayMode(a) 01545 #define IDirectDraw2_GetFourCCCodes(p, a, b) (p)->GetFourCCCodes(a, b) 01546 #define IDirectDraw2_GetGDISurface(p, a) (p)->GetGDISurface(a) 01547 #define IDirectDraw2_GetMonitorFrequency(p, a) (p)->GetMonitorFrequency(a) 01548 #define IDirectDraw2_GetScanLine(p, a) (p)->GetScanLine(a) 01549 #define IDirectDraw2_GetVerticalBlankStatus(p, a) (p)->GetVerticalBlankStatus(a) 01550 #define IDirectDraw2_Initialize(p, a) (p)->Initialize(a) 01551 #define IDirectDraw2_RestoreDisplayMode(p) (p)->RestoreDisplayMode() 01552 #define IDirectDraw2_SetCooperativeLevel(p, a, b) (p)->SetCooperativeLevel(a, b) 01553 #define IDirectDraw2_SetDisplayMode(p, a, b, c, d, e) (p)->SetDisplayMode(a, b, c, d, e) 01554 #define IDirectDraw2_WaitForVerticalBlank(p, a, b) (p)->WaitForVerticalBlank(a, b) 01555 #define IDirectDraw2_GetAvailableVidMem(p, a, b, c) (p)->GetAvailableVidMem(a, b, c) 01556 #endif 01557 #endif 01558 01559 #if defined( _WIN32 ) && !defined( _NO_COM ) 01560 #undef INTERFACE 01561 #define INTERFACE IDirectDraw4 01562 01563 DECLARE_INTERFACE_( IDirectDraw4, IUnknown ) 01564 { 01565 STDMETHOD(QueryInterface) (THIS_ REFIID riid, LPVOID * ppvObj) PURE; 01566 STDMETHOD_(ULONG,AddRef) (THIS) PURE; 01567 STDMETHOD_(ULONG,Release) (THIS) PURE; 01568 STDMETHOD(Compact)(THIS) PURE; 01569 STDMETHOD(CreateClipper)(THIS_ DWORD, LPDIRECTDRAWCLIPPER *, IUnknown * ) PURE; 01570 STDMETHOD(CreatePalette)(THIS_ DWORD, LPPALETTEENTRY, LPDIRECTDRAWPALETTE *, IUnknown * ) PURE; 01571 STDMETHOD(CreateSurface)(THIS_ LPDDSURFACEDESC2, LPDIRECTDRAWSURFACE4 *, IUnknown *) PURE; 01572 STDMETHOD(DuplicateSurface)( THIS_ LPDIRECTDRAWSURFACE4, LPDIRECTDRAWSURFACE4 * ) PURE; 01573 STDMETHOD(EnumDisplayModes)( THIS_ DWORD, LPDDSURFACEDESC2, LPVOID, LPDDENUMMODESCALLBACK2 ) PURE; 01574 STDMETHOD(EnumSurfaces)(THIS_ DWORD, LPDDSURFACEDESC2, LPVOID,LPDDENUMSURFACESCALLBACK2 ) PURE; 01575 STDMETHOD(FlipToGDISurface)(THIS) PURE; 01576 STDMETHOD(GetCaps)( THIS_ LPDDCAPS, LPDDCAPS) PURE; 01577 STDMETHOD(GetDisplayMode)( THIS_ LPDDSURFACEDESC2) PURE; 01578 STDMETHOD(GetFourCCCodes)(THIS_ LPDWORD, LPDWORD ) PURE; 01579 STDMETHOD(GetGDISurface)(THIS_ LPDIRECTDRAWSURFACE4 *) PURE; 01580 STDMETHOD(GetMonitorFrequency)(THIS_ LPDWORD) PURE; 01581 STDMETHOD(GetScanLine)(THIS_ LPDWORD) PURE; 01582 STDMETHOD(GetVerticalBlankStatus)(THIS_ LPBOOL ) PURE; 01583 STDMETHOD(Initialize)(THIS_ GUID *) PURE; 01584 STDMETHOD(RestoreDisplayMode)(THIS) PURE; 01585 STDMETHOD(SetCooperativeLevel)(THIS_ HWND, DWORD) PURE; 01586 STDMETHOD(SetDisplayMode)(THIS_ DWORD, DWORD,DWORD, DWORD, DWORD) PURE; 01587 STDMETHOD(WaitForVerticalBlank)(THIS_ DWORD, HANDLE ) PURE; 01588 STDMETHOD(GetAvailableVidMem)(THIS_ LPDDSCAPS2, LPDWORD, LPDWORD) PURE; 01589 STDMETHOD(GetSurfaceFromDC) (THIS_ HDC, LPDIRECTDRAWSURFACE4 *) PURE; 01590 STDMETHOD(RestoreAllSurfaces)(THIS) PURE; 01591 STDMETHOD(TestCooperativeLevel)(THIS) PURE; 01592 STDMETHOD(GetDeviceIdentifier)(THIS_ LPDDDEVICEIDENTIFIER, DWORD ) PURE; 01593 }; 01594 #if !defined(__cplusplus) || defined(CINTERFACE) 01595 #define IDirectDraw4_QueryInterface(p, a, b) (p)->lpVtbl->QueryInterface(p, a, b) 01596 #define IDirectDraw4_AddRef(p) (p)->lpVtbl->AddRef(p) 01597 #define IDirectDraw4_Release(p) (p)->lpVtbl->Release(p) 01598 #define IDirectDraw4_Compact(p) (p)->lpVtbl->Compact(p) 01599 #define IDirectDraw4_CreateClipper(p, a, b, c) (p)->lpVtbl->CreateClipper(p, a, b, c) 01600 #define IDirectDraw4_CreatePalette(p, a, b, c, d) (p)->lpVtbl->CreatePalette(p, a, b, c, d) 01601 #define IDirectDraw4_CreateSurface(p, a, b, c) (p)->lpVtbl->CreateSurface(p, a, b, c) 01602 #define IDirectDraw4_DuplicateSurface(p, a, b) (p)->lpVtbl->DuplicateSurface(p, a, b) 01603 #define IDirectDraw4_EnumDisplayModes(p, a, b, c, d) (p)->lpVtbl->EnumDisplayModes(p, a, b, c, d) 01604 #define IDirectDraw4_EnumSurfaces(p, a, b, c, d) (p)->lpVtbl->EnumSurfaces(p, a, b, c, d) 01605 #define IDirectDraw4_FlipToGDISurface(p) (p)->lpVtbl->FlipToGDISurface(p) 01606 #define IDirectDraw4_GetCaps(p, a, b) (p)->lpVtbl->GetCaps(p, a, b) 01607 #define IDirectDraw4_GetDisplayMode(p, a) (p)->lpVtbl->GetDisplayMode(p, a) 01608 #define IDirectDraw4_GetFourCCCodes(p, a, b) (p)->lpVtbl->GetFourCCCodes(p, a, b) 01609 #define IDirectDraw4_GetGDISurface(p, a) (p)->lpVtbl->GetGDISurface(p, a) 01610 #define IDirectDraw4_GetMonitorFrequency(p, a) (p)->lpVtbl->GetMonitorFrequency(p, a) 01611 #define IDirectDraw4_GetScanLine(p, a) (p)->lpVtbl->GetScanLine(p, a) 01612 #define IDirectDraw4_GetVerticalBlankStatus(p, a) (p)->lpVtbl->GetVerticalBlankStatus(p, a) 01613 #define IDirectDraw4_Initialize(p, a) (p)->lpVtbl->Initialize(p, a) 01614 #define IDirectDraw4_RestoreDisplayMode(p) (p)->lpVtbl->RestoreDisplayMode(p) 01615 #define IDirectDraw4_SetCooperativeLevel(p, a, b) (p)->lpVtbl->SetCooperativeLevel(p, a, b) 01616 #define IDirectDraw4_SetDisplayMode(p, a, b, c, d, e) (p)->lpVtbl->SetDisplayMode(p, a, b, c, d, e) 01617 #define IDirectDraw4_WaitForVerticalBlank(p, a, b) (p)->lpVtbl->WaitForVerticalBlank(p, a, b) 01618 #define IDirectDraw4_GetAvailableVidMem(p, a, b, c) (p)->lpVtbl->GetAvailableVidMem(p, a, b, c) 01619 #define IDirectDraw4_GetSurfaceFromDC(p, a, b) (p)->lpVtbl->GetSurfaceFromDC(p, a, b) 01620 #define IDirectDraw4_RestoreAllSurfaces(p) (p)->lpVtbl->RestoreAllSurfaces(p) 01621 #define IDirectDraw4_TestCooperativeLevel(p) (p)->lpVtbl->TestCooperativeLevel(p) 01622 #define IDirectDraw4_GetDeviceIdentifier(p,a,b) (p)->lpVtbl->GetDeviceIdentifier(p,a,b) 01623 #else 01624 #define IDirectDraw4_QueryInterface(p, a, b) (p)->QueryInterface(a, b) 01625 #define IDirectDraw4_AddRef(p) (p)->AddRef() 01626 #define IDirectDraw4_Release(p) (p)->Release() 01627 #define IDirectDraw4_Compact(p) (p)->Compact() 01628 #define IDirectDraw4_CreateClipper(p, a, b, c) (p)->CreateClipper(a, b, c) 01629 #define IDirectDraw4_CreatePalette(p, a, b, c, d) (p)->CreatePalette(a, b, c, d) 01630 #define IDirectDraw4_CreateSurface(p, a, b, c) (p)->CreateSurface(a, b, c) 01631 #define IDirectDraw4_DuplicateSurface(p, a, b) (p)->DuplicateSurface(a, b) 01632 #define IDirectDraw4_EnumDisplayModes(p, a, b, c, d) (p)->EnumDisplayModes(a, b, c, d) 01633 #define IDirectDraw4_EnumSurfaces(p, a, b, c, d) (p)->EnumSurfaces(a, b, c, d) 01634 #define IDirectDraw4_FlipToGDISurface(p) (p)->FlipToGDISurface() 01635 #define IDirectDraw4_GetCaps(p, a, b) (p)->GetCaps(a, b) 01636 #define IDirectDraw4_GetDisplayMode(p, a) (p)->GetDisplayMode(a) 01637 #define IDirectDraw4_GetFourCCCodes(p, a, b) (p)->GetFourCCCodes(a, b) 01638 #define IDirectDraw4_GetGDISurface(p, a) (p)->GetGDISurface(a) 01639 #define IDirectDraw4_GetMonitorFrequency(p, a) (p)->GetMonitorFrequency(a) 01640 #define IDirectDraw4_GetScanLine(p, a) (p)->GetScanLine(a) 01641 #define IDirectDraw4_GetVerticalBlankStatus(p, a) (p)->GetVerticalBlankStatus(a) 01642 #define IDirectDraw4_Initialize(p, a) (p)->Initialize(a) 01643 #define IDirectDraw4_RestoreDisplayMode(p) (p)->RestoreDisplayMode() 01644 #define IDirectDraw4_SetCooperativeLevel(p, a, b) (p)->SetCooperativeLevel(a, b) 01645 #define IDirectDraw4_SetDisplayMode(p, a, b, c, d, e) (p)->SetDisplayMode(a, b, c, d, e) 01646 #define IDirectDraw4_WaitForVerticalBlank(p, a, b) (p)->WaitForVerticalBlank(a, b) 01647 #define IDirectDraw4_GetAvailableVidMem(p, a, b, c) (p)->GetAvailableVidMem(a, b, c) 01648 #define IDirectDraw4_GetSurfaceFromDC(p, a, b) (p)->GetSurfaceFromDC(a, b) 01649 #define IDirectDraw4_RestoreAllSurfaces(p) (p)->RestoreAllSurfaces() 01650 #define IDirectDraw4_TestCooperativeLevel(p) (p)->TestCooperativeLevel() 01651 #define IDirectDraw4_GetDeviceIdentifier(p,a,b) (p)->GetDeviceIdentifier(a,b) 01652 #endif 01653 #endif 01654 01655 #if defined( _WIN32 ) && !defined( _NO_COM ) 01656 #undef INTERFACE 01657 #define INTERFACE IDirectDraw7 01658 01659 DECLARE_INTERFACE_( IDirectDraw7, IUnknown ) 01660 { 01661 STDMETHOD(QueryInterface) (THIS_ REFIID riid, LPVOID * ppvObj) PURE; 01662 STDMETHOD_(ULONG,AddRef) (THIS) PURE; 01663 STDMETHOD_(ULONG,Release) (THIS) PURE; 01664 STDMETHOD(Compact)(THIS) PURE; 01665 STDMETHOD(CreateClipper)(THIS_ DWORD, LPDIRECTDRAWCLIPPER *, IUnknown * ) PURE; 01666 STDMETHOD(CreatePalette)(THIS_ DWORD, LPPALETTEENTRY, LPDIRECTDRAWPALETTE *, IUnknown * ) PURE; 01667 STDMETHOD(CreateSurface)(THIS_ LPDDSURFACEDESC2, LPDIRECTDRAWSURFACE7 *, IUnknown *) PURE; 01668 STDMETHOD(DuplicateSurface)( THIS_ LPDIRECTDRAWSURFACE7, LPDIRECTDRAWSURFACE7 * ) PURE; 01669 STDMETHOD(EnumDisplayModes)( THIS_ DWORD, LPDDSURFACEDESC2, LPVOID, LPDDENUMMODESCALLBACK2 ) PURE; 01670 STDMETHOD(EnumSurfaces)(THIS_ DWORD, LPDDSURFACEDESC2, LPVOID,LPDDENUMSURFACESCALLBACK7 ) PURE; 01671 STDMETHOD(FlipToGDISurface)(THIS) PURE; 01672 STDMETHOD(GetCaps)( THIS_ LPDDCAPS, LPDDCAPS) PURE; 01673 STDMETHOD(GetDisplayMode)( THIS_ LPDDSURFACEDESC2) PURE; 01674 STDMETHOD(GetFourCCCodes)(THIS_ LPDWORD, LPDWORD ) PURE; 01675 STDMETHOD(GetGDISurface)(THIS_ LPDIRECTDRAWSURFACE7 *) PURE; 01676 STDMETHOD(GetMonitorFrequency)(THIS_ LPDWORD) PURE; 01677 STDMETHOD(GetScanLine)(THIS_ LPDWORD) PURE; 01678 STDMETHOD(GetVerticalBlankStatus)(THIS_ LPBOOL ) PURE; 01679 STDMETHOD(Initialize)(THIS_ GUID *) PURE; 01680 STDMETHOD(RestoreDisplayMode)(THIS) PURE; 01681 STDMETHOD(SetCooperativeLevel)(THIS_ HWND, DWORD) PURE; 01682 STDMETHOD(SetDisplayMode)(THIS_ DWORD, DWORD,DWORD, DWORD, DWORD) PURE; 01683 STDMETHOD(WaitForVerticalBlank)(THIS_ DWORD, HANDLE ) PURE; 01684 STDMETHOD(GetAvailableVidMem)(THIS_ LPDDSCAPS2, LPDWORD, LPDWORD) PURE; 01685 STDMETHOD(GetSurfaceFromDC) (THIS_ HDC, LPDIRECTDRAWSURFACE7 *) PURE; 01686 STDMETHOD(RestoreAllSurfaces)(THIS) PURE; 01687 STDMETHOD(TestCooperativeLevel)(THIS) PURE; 01688 STDMETHOD(GetDeviceIdentifier)(THIS_ LPDDDEVICEIDENTIFIER2, DWORD ) PURE; 01689 STDMETHOD(StartModeTest)(THIS_ LPSIZE, DWORD, DWORD ) PURE; 01690 STDMETHOD(EvaluateMode)(THIS_ DWORD, DWORD * ) PURE; 01691 }; 01692 #if !defined(__cplusplus) || defined(CINTERFACE) 01693 #define IDirectDraw7_QueryInterface(p, a, b) (p)->lpVtbl->QueryInterface(p, a, b) 01694 #define IDirectDraw7_AddRef(p) (p)->lpVtbl->AddRef(p) 01695 #define IDirectDraw7_Release(p) (p)->lpVtbl->Release(p) 01696 #define IDirectDraw7_Compact(p) (p)->lpVtbl->Compact(p) 01697 #define IDirectDraw7_CreateClipper(p, a, b, c) (p)->lpVtbl->CreateClipper(p, a, b, c) 01698 #define IDirectDraw7_CreatePalette(p, a, b, c, d) (p)->lpVtbl->CreatePalette(p, a, b, c, d) 01699 #define IDirectDraw7_CreateSurface(p, a, b, c) (p)->lpVtbl->CreateSurface(p, a, b, c) 01700 #define IDirectDraw7_DuplicateSurface(p, a, b) (p)->lpVtbl->DuplicateSurface(p, a, b) 01701 #define IDirectDraw7_EnumDisplayModes(p, a, b, c, d) (p)->lpVtbl->EnumDisplayModes(p, a, b, c, d) 01702 #define IDirectDraw7_EnumSurfaces(p, a, b, c, d) (p)->lpVtbl->EnumSurfaces(p, a, b, c, d) 01703 #define IDirectDraw7_FlipToGDISurface(p) (p)->lpVtbl->FlipToGDISurface(p) 01704 #define IDirectDraw7_GetCaps(p, a, b) (p)->lpVtbl->GetCaps(p, a, b) 01705 #define IDirectDraw7_GetDisplayMode(p, a) (p)->lpVtbl->GetDisplayMode(p, a) 01706 #define IDirectDraw7_GetFourCCCodes(p, a, b) (p)->lpVtbl->GetFourCCCodes(p, a, b) 01707 #define IDirectDraw7_GetGDISurface(p, a) (p)->lpVtbl->GetGDISurface(p, a) 01708 #define IDirectDraw7_GetMonitorFrequency(p, a) (p)->lpVtbl->GetMonitorFrequency(p, a) 01709 #define IDirectDraw7_GetScanLine(p, a) (p)->lpVtbl->GetScanLine(p, a) 01710 #define IDirectDraw7_GetVerticalBlankStatus(p, a) (p)->lpVtbl->GetVerticalBlankStatus(p, a) 01711 #define IDirectDraw7_Initialize(p, a) (p)->lpVtbl->Initialize(p, a) 01712 #define IDirectDraw7_RestoreDisplayMode(p) (p)->lpVtbl->RestoreDisplayMode(p) 01713 #define IDirectDraw7_SetCooperativeLevel(p, a, b) (p)->lpVtbl->SetCooperativeLevel(p, a, b) 01714 #define IDirectDraw7_SetDisplayMode(p, a, b, c, d, e) (p)->lpVtbl->SetDisplayMode(p, a, b, c, d, e) 01715 #define IDirectDraw7_WaitForVerticalBlank(p, a, b) (p)->lpVtbl->WaitForVerticalBlank(p, a, b) 01716 #define IDirectDraw7_GetAvailableVidMem(p, a, b, c) (p)->lpVtbl->GetAvailableVidMem(p, a, b, c) 01717 #define IDirectDraw7_GetSurfaceFromDC(p, a, b) (p)->lpVtbl->GetSurfaceFromDC(p, a, b) 01718 #define IDirectDraw7_RestoreAllSurfaces(p) (p)->lpVtbl->RestoreAllSurfaces(p) 01719 #define IDirectDraw7_TestCooperativeLevel(p) (p)->lpVtbl->TestCooperativeLevel(p) 01720 #define IDirectDraw7_GetDeviceIdentifier(p,a,b) (p)->lpVtbl->GetDeviceIdentifier(p,a,b) 01721 #define IDirectDraw7_StartModeTest(p,a,b,c) (p)->lpVtbl->StartModeTest(p,a,b,c) 01722 #define IDirectDraw7_EvaluateMode(p,a,b) (p)->lpVtbl->EvaluateMode(p,a,b) 01723 #else 01724 #define IDirectDraw7_QueryInterface(p, a, b) (p)->QueryInterface(a, b) 01725 #define IDirectDraw7_AddRef(p) (p)->AddRef() 01726 #define IDirectDraw7_Release(p) (p)->Release() 01727 #define IDirectDraw7_Compact(p) (p)->Compact() 01728 #define IDirectDraw7_CreateClipper(p, a, b, c) (p)->CreateClipper(a, b, c) 01729 #define IDirectDraw7_CreatePalette(p, a, b, c, d) (p)->CreatePalette(a, b, c, d) 01730 #define IDirectDraw7_CreateSurface(p, a, b, c) (p)->CreateSurface(a, b, c) 01731 #define IDirectDraw7_DuplicateSurface(p, a, b) (p)->DuplicateSurface(a, b) 01732 #define IDirectDraw7_EnumDisplayModes(p, a, b, c, d) (p)->EnumDisplayModes(a, b, c, d) 01733 #define IDirectDraw7_EnumSurfaces(p, a, b, c, d) (p)->EnumSurfaces(a, b, c, d) 01734 #define IDirectDraw7_FlipToGDISurface(p) (p)->FlipToGDISurface() 01735 #define IDirectDraw7_GetCaps(p, a, b) (p)->GetCaps(a, b) 01736 #define IDirectDraw7_GetDisplayMode(p, a) (p)->GetDisplayMode(a) 01737 #define IDirectDraw7_GetFourCCCodes(p, a, b) (p)->GetFourCCCodes(a, b) 01738 #define IDirectDraw7_GetGDISurface(p, a) (p)->GetGDISurface(a) 01739 #define IDirectDraw7_GetMonitorFrequency(p, a) (p)->GetMonitorFrequency(a) 01740 #define IDirectDraw7_GetScanLine(p, a) (p)->GetScanLine(a) 01741 #define IDirectDraw7_GetVerticalBlankStatus(p, a) (p)->GetVerticalBlankStatus(a) 01742 #define IDirectDraw7_Initialize(p, a) (p)->Initialize(a) 01743 #define IDirectDraw7_RestoreDisplayMode(p) (p)->RestoreDisplayMode() 01744 #define IDirectDraw7_SetCooperativeLevel(p, a, b) (p)->SetCooperativeLevel(a, b) 01745 #define IDirectDraw7_SetDisplayMode(p, a, b, c, d, e) (p)->SetDisplayMode(a, b, c, d, e) 01746 #define IDirectDraw7_WaitForVerticalBlank(p, a, b) (p)->WaitForVerticalBlank(a, b) 01747 #define IDirectDraw7_GetAvailableVidMem(p, a, b, c) (p)->GetAvailableVidMem(a, b, c) 01748 #define IDirectDraw7_GetSurfaceFromDC(p, a, b) (p)->GetSurfaceFromDC(a, b) 01749 #define IDirectDraw7_RestoreAllSurfaces(p) (p)->RestoreAllSurfaces() 01750 #define IDirectDraw7_TestCooperativeLevel(p) (p)->TestCooperativeLevel() 01751 #define IDirectDraw7_GetDeviceIdentifier(p,a,b) (p)->GetDeviceIdentifier(a,b) 01752 #define IDirectDraw7_StartModeTest(p,a,b,c) (p)->lpVtbl->StartModeTest(a,b,c) 01753 #define IDirectDraw7_EvaluateMode(p,a,b) (p)->lpVtbl->EvaluateMode(a,b) 01754 #endif 01755 #endif 01756 01757 #if defined( _WIN32 ) && !defined( _NO_COM ) 01758 #undef INTERFACE 01759 #define INTERFACE IDirectDrawPalette 01760 01761 DECLARE_INTERFACE_( IDirectDrawPalette, IUnknown ) 01762 { 01763 STDMETHOD(QueryInterface) (THIS_ REFIID riid, LPVOID * ppvObj) PURE; 01764 STDMETHOD_(ULONG,AddRef) (THIS) PURE; 01765 STDMETHOD_(ULONG,Release) (THIS) PURE; 01766 STDMETHOD(GetCaps)(THIS_ LPDWORD) PURE; 01767 STDMETHOD(GetEntries)(THIS_ DWORD,DWORD,DWORD,LPPALETTEENTRY) PURE; 01768 STDMETHOD(Initialize)(THIS_ LPDIRECTDRAW, DWORD, LPPALETTEENTRY) PURE; 01769 STDMETHOD(SetEntries)(THIS_ DWORD,DWORD,DWORD,LPPALETTEENTRY) PURE; 01770 }; 01771 #if !defined(__cplusplus) || defined(CINTERFACE) 01772 #define IDirectDrawPalette_QueryInterface(p, a, b) (p)->lpVtbl->QueryInterface(p, a, b) 01773 #define IDirectDrawPalette_AddRef(p) (p)->lpVtbl->AddRef(p) 01774 #define IDirectDrawPalette_Release(p) (p)->lpVtbl->Release(p) 01775 #define IDirectDrawPalette_GetCaps(p, a) (p)->lpVtbl->GetCaps(p, a) 01776 #define IDirectDrawPalette_GetEntries(p, a, b, c, d) (p)->lpVtbl->GetEntries(p, a, b, c, d) 01777 #define IDirectDrawPalette_Initialize(p, a, b, c) (p)->lpVtbl->Initialize(p, a, b, c) 01778 #define IDirectDrawPalette_SetEntries(p, a, b, c, d) (p)->lpVtbl->SetEntries(p, a, b, c, d) 01779 #else 01780 #define IDirectDrawPalette_QueryInterface(p, a, b) (p)->QueryInterface(a, b) 01781 #define IDirectDrawPalette_AddRef(p) (p)->AddRef() 01782 #define IDirectDrawPalette_Release(p) (p)->Release() 01783 #define IDirectDrawPalette_GetCaps(p, a) (p)->GetCaps(a) 01784 #define IDirectDrawPalette_GetEntries(p, a, b, c, d) (p)->GetEntries(a, b, c, d) 01785 #define IDirectDrawPalette_Initialize(p, a, b, c) (p)->Initialize(a, b, c) 01786 #define IDirectDrawPalette_SetEntries(p, a, b, c, d) (p)->SetEntries(a, b, c, d) 01787 #endif 01788 #endif 01789 01790 #if defined( _WIN32 ) && !defined( _NO_COM ) 01791 #undef INTERFACE 01792 #define INTERFACE IDirectDrawGammaControl 01793 01794 DECLARE_INTERFACE_( IDirectDrawGammaControl, IUnknown ) 01795 { 01796 STDMETHOD(QueryInterface) (THIS_ REFIID riid, LPVOID * ppvObj) PURE; 01797 STDMETHOD_(ULONG,AddRef) (THIS) PURE; 01798 STDMETHOD_(ULONG,Release) (THIS) PURE; 01799 STDMETHOD(GetGammaRamp)(THIS_ DWORD, LPDDGAMMARAMP) PURE; 01800 STDMETHOD(SetGammaRamp)(THIS_ DWORD, LPDDGAMMARAMP) PURE; 01801 }; 01802 #if !defined(__cplusplus) || defined(CINTERFACE) 01803 #define IDirectDrawGammaControl_QueryInterface(p, a, b) (p)->lpVtbl->QueryInterface(p, a, b) 01804 #define IDirectDrawGammaControl_AddRef(p) (p)->lpVtbl->AddRef(p) 01805 #define IDirectDrawGammaControl_Release(p) (p)->lpVtbl->Release(p) 01806 #define IDirectDrawGammaControl_GetGammaRamp(p, a, b) (p)->lpVtbl->GetGammaRamp(p, a, b) 01807 #define IDirectDrawGammaControl_SetGammaRamp(p, a, b) (p)->lpVtbl->SetGammaRamp(p, a, b) 01808 #else 01809 #define IDirectDrawGammaControl_QueryInterface(p, a, b) (p)->QueryInterface(a, b) 01810 #define IDirectDrawGammaControl_AddRef(p) (p)->AddRef() 01811 #define IDirectDrawGammaControl_Release(p) (p)->Release() 01812 #define IDirectDrawGammaControl_GetGammaRamp(p, a, b) (p)->GetGammaRamp(a, b) 01813 #define IDirectDrawGammaControl_SetGammaRamp(p, a, b) (p)->SetGammaRamp(a, b) 01814 #endif 01815 #endif 01816 01817 #if defined( _WIN32 ) && !defined( _NO_COM ) 01818 #undef INTERFACE 01819 #define INTERFACE IDirectDrawColorControl 01820 01821 DECLARE_INTERFACE_( IDirectDrawColorControl, IUnknown ) 01822 { 01823 STDMETHOD(QueryInterface) (THIS_ REFIID riid, LPVOID * ppvObj) PURE; 01824 STDMETHOD_(ULONG,AddRef) (THIS) PURE; 01825 STDMETHOD_(ULONG,Release) (THIS) PURE; 01826 STDMETHOD(GetColorControls)(THIS_ LPDDCOLORCONTROL) PURE; 01827 STDMETHOD(SetColorControls)(THIS_ LPDDCOLORCONTROL) PURE; 01828 }; 01829 #if !defined(__cplusplus) || defined(CINTERFACE) 01830 #define IDirectDrawColorControl_QueryInterface(p, a, b) (p)->lpVtbl->QueryInterface(p, a, b) 01831 #define IDirectDrawColorControl_AddRef(p) (p)->lpVtbl->AddRef(p) 01832 #define IDirectDrawColorControl_Release(p) (p)->lpVtbl->Release(p) 01833 #define IDirectDrawColorControl_GetColorControls(p, a) (p)->lpVtbl->GetColorControls(p, a) 01834 #define IDirectDrawColorControl_SetColorControls(p, a) (p)->lpVtbl->SetColorControls(p, a) 01835 #else 01836 #define IDirectDrawColorControl_QueryInterface(p, a, b) (p)->QueryInterface(a, b) 01837 #define IDirectDrawColorControl_AddRef(p) (p)->AddRef() 01838 #define IDirectDrawColorControl_Release(p) (p)->Release() 01839 #define IDirectDrawColorControl_GetColorControls(p, a) (p)->GetColorControls(a) 01840 #define IDirectDrawColorControl_SetColorControls(p, a) (p)->SetColorControls(a) 01841 #endif 01842 #endif 01843 01844 01845 #if defined( _WIN32 ) && !defined( _NO_COM ) 01846 #undef INTERFACE 01847 #define INTERFACE IDirectDrawClipper 01848 DECLARE_INTERFACE_( IDirectDrawClipper, IUnknown ) 01849 { 01850 STDMETHOD(QueryInterface) (THIS_ REFIID riid, LPVOID * ppvObj) PURE; 01851 STDMETHOD_(ULONG,AddRef) (THIS) PURE; 01852 STDMETHOD_(ULONG,Release) (THIS) PURE; 01853 STDMETHOD(GetClipList)(THIS_ LPRECT, LPRGNDATA, LPDWORD) PURE; 01854 STDMETHOD(GetHWnd)(THIS_ HWND *) PURE; 01855 STDMETHOD(Initialize)(THIS_ LPDIRECTDRAW, DWORD) PURE; 01856 STDMETHOD(IsClipListChanged)(THIS_ BOOL *) PURE; 01857 STDMETHOD(SetClipList)(THIS_ LPRGNDATA,DWORD) PURE; 01858 STDMETHOD(SetHWnd)(THIS_ DWORD, HWND ) PURE; 01859 }; 01860 #if !defined(__cplusplus) || defined(CINTERFACE) 01861 #define IDirectDrawClipper_QueryInterface(p, a, b) (p)->lpVtbl->QueryInterface(p, a, b) 01862 #define IDirectDrawClipper_AddRef(p) (p)->lpVtbl->AddRef(p) 01863 #define IDirectDrawClipper_Release(p) (p)->lpVtbl->Release(p) 01864 #define IDirectDrawClipper_GetClipList(p, a, b, c) (p)->lpVtbl->GetClipList(p, a, b, c) 01865 #define IDirectDrawClipper_GetHWnd(p, a) (p)->lpVtbl->GetHWnd(p, a) 01866 #define IDirectDrawClipper_Initialize(p, a, b) (p)->lpVtbl->Initialize(p, a, b) 01867 #define IDirectDrawClipper_IsClipListChanged(p, a) (p)->lpVtbl->IsClipListChanged(p, a) 01868 #define IDirectDrawClipper_SetClipList(p, a, b) (p)->lpVtbl->SetClipList(p, a, b) 01869 #define IDirectDrawClipper_SetHWnd(p, a, b) (p)->lpVtbl->SetHWnd(p, a, b) 01870 #else 01871 #define IDirectDrawClipper_QueryInterface(p, a, b) (p)->QueryInterface(a, b) 01872 #define IDirectDrawClipper_AddRef(p) (p)->AddRef() 01873 #define IDirectDrawClipper_Release(p) (p)->Release() 01874 #define IDirectDrawClipper_GetClipList(p, a, b, c) (p)->GetClipList(a, b, c) 01875 #define IDirectDrawClipper_GetHWnd(p, a) (p)->GetHWnd(a) 01876 #define IDirectDrawClipper_Initialize(p, a, b) (p)->Initialize(a, b) 01877 #define IDirectDrawClipper_IsClipListChanged(p, a) (p)->IsClipListChanged(a) 01878 #define IDirectDrawClipper_SetClipList(p, a, b) (p)->SetClipList(a, b) 01879 #define IDirectDrawClipper_SetHWnd(p, a, b) (p)->SetHWnd(a, b) 01880 #endif 01881 #endif 01882 01883 #if defined( _WIN32 ) && !defined( _NO_COM ) 01884 #undef INTERFACE 01885 #define INTERFACE IDirectDrawSurface 01886 01887 DECLARE_INTERFACE_( IDirectDrawSurface, IUnknown ) 01888 { 01889 STDMETHOD(QueryInterface) (THIS_ REFIID riid, LPVOID * ppvObj) PURE; 01890 STDMETHOD_(ULONG,AddRef) (THIS) PURE; 01891 STDMETHOD_(ULONG,Release) (THIS) PURE; 01892 STDMETHOD(AddAttachedSurface)(THIS_ LPDIRECTDRAWSURFACE) PURE; 01893 STDMETHOD(AddOverlayDirtyRect)(THIS_ LPRECT) PURE; 01894 STDMETHOD(Blt)(THIS_ LPRECT,LPDIRECTDRAWSURFACE, LPRECT,DWORD, LPDDBLTFX) PURE; 01895 STDMETHOD(BltBatch)(THIS_ LPDDBLTBATCH, DWORD, DWORD ) PURE; 01896 STDMETHOD(BltFast)(THIS_ DWORD,DWORD,LPDIRECTDRAWSURFACE, LPRECT,DWORD) PURE; 01897 STDMETHOD(DeleteAttachedSurface)(THIS_ DWORD,LPDIRECTDRAWSURFACE) PURE; 01898 STDMETHOD(EnumAttachedSurfaces)(THIS_ LPVOID,LPDDENUMSURFACESCALLBACK) PURE; 01899 STDMETHOD(EnumOverlayZOrders)(THIS_ DWORD,LPVOID,LPDDENUMSURFACESCALLBACK) PURE; 01900 STDMETHOD(Flip)(THIS_ LPDIRECTDRAWSURFACE, DWORD) PURE; 01901 STDMETHOD(GetAttachedSurface)(THIS_ LPDDSCAPS, LPDIRECTDRAWSURFACE *) PURE; 01902 STDMETHOD(GetBltStatus)(THIS_ DWORD) PURE; 01903 STDMETHOD(GetCaps)(THIS_ LPDDSCAPS) PURE; 01904 STDMETHOD(GetClipper)(THIS_ LPDIRECTDRAWCLIPPER *) PURE; 01905 STDMETHOD(GetColorKey)(THIS_ DWORD, LPDDCOLORKEY) PURE; 01906 STDMETHOD(GetDC)(THIS_ HDC *) PURE; 01907 STDMETHOD(GetFlipStatus)(THIS_ DWORD) PURE; 01908 STDMETHOD(GetOverlayPosition)(THIS_ LPLONG, LPLONG ) PURE; 01909 STDMETHOD(GetPalette)(THIS_ LPDIRECTDRAWPALETTE *) PURE; 01910 STDMETHOD(GetPixelFormat)(THIS_ LPDDPIXELFORMAT) PURE; 01911 STDMETHOD(GetSurfaceDesc)(THIS_ LPDDSURFACEDESC) PURE; 01912 STDMETHOD(Initialize)(THIS_ LPDIRECTDRAW, LPDDSURFACEDESC) PURE; 01913 STDMETHOD(IsLost)(THIS) PURE; 01914 STDMETHOD(Lock)(THIS_ LPRECT,LPDDSURFACEDESC,DWORD,HANDLE) PURE; 01915 STDMETHOD(ReleaseDC)(THIS_ HDC) PURE; 01916 STDMETHOD(Restore)(THIS) PURE; 01917 STDMETHOD(SetClipper)(THIS_ LPDIRECTDRAWCLIPPER) PURE; 01918 STDMETHOD(SetColorKey)(THIS_ DWORD, LPDDCOLORKEY) PURE; 01919 STDMETHOD(SetOverlayPosition)(THIS_ LONG, LONG ) PURE; 01920 STDMETHOD(SetPalette)(THIS_ LPDIRECTDRAWPALETTE) PURE; 01921 STDMETHOD(Unlock)(THIS_ LPVOID) PURE; 01922 STDMETHOD(UpdateOverlay)(THIS_ LPRECT, LPDIRECTDRAWSURFACE,LPRECT,DWORD, LPDDOVERLAYFX) PURE; 01923 STDMETHOD(UpdateOverlayDisplay)(THIS_ DWORD) PURE; 01924 STDMETHOD(UpdateOverlayZOrder)(THIS_ DWORD, LPDIRECTDRAWSURFACE) PURE; 01925 }; 01926 #if !defined(__cplusplus) || defined(CINTERFACE) 01927 #define IDirectDrawSurface_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b) 01928 #define IDirectDrawSurface_AddRef(p) (p)->lpVtbl->AddRef(p) 01929 #define IDirectDrawSurface_Release(p) (p)->lpVtbl->Release(p) 01930 #define IDirectDrawSurface_AddAttachedSurface(p,a) (p)->lpVtbl->AddAttachedSurface(p,a) 01931 #define IDirectDrawSurface_AddOverlayDirtyRect(p,a) (p)->lpVtbl->AddOverlayDirtyRect(p,a) 01932 #define IDirectDrawSurface_Blt(p,a,b,c,d,e) (p)->lpVtbl->Blt(p,a,b,c,d,e) 01933 #define IDirectDrawSurface_BltBatch(p,a,b,c) (p)->lpVtbl->BltBatch(p,a,b,c) 01934 #define IDirectDrawSurface_BltFast(p,a,b,c,d,e) (p)->lpVtbl->BltFast(p,a,b,c,d,e) 01935 #define IDirectDrawSurface_DeleteAttachedSurface(p,a,b) (p)->lpVtbl->DeleteAttachedSurface(p,a,b) 01936 #define IDirectDrawSurface_EnumAttachedSurfaces(p,a,b) (p)->lpVtbl->EnumAttachedSurfaces(p,a,b) 01937 #define IDirectDrawSurface_EnumOverlayZOrders(p,a,b,c) (p)->lpVtbl->EnumOverlayZOrders(p,a,b,c) 01938 #define IDirectDrawSurface_Flip(p,a,b) (p)->lpVtbl->Flip(p,a,b) 01939 #define IDirectDrawSurface_GetAttachedSurface(p,a,b) (p)->lpVtbl->GetAttachedSurface(p,a,b) 01940 #define IDirectDrawSurface_GetBltStatus(p,a) (p)->lpVtbl->GetBltStatus(p,a) 01941 #define IDirectDrawSurface_GetCaps(p,b) (p)->lpVtbl->GetCaps(p,b) 01942 #define IDirectDrawSurface_GetClipper(p,a) (p)->lpVtbl->GetClipper(p,a) 01943 #define IDirectDrawSurface_GetColorKey(p,a,b) (p)->lpVtbl->GetColorKey(p,a,b) 01944 #define IDirectDrawSurface_GetDC(p,a) (p)->lpVtbl->GetDC(p,a) 01945 #define IDirectDrawSurface_GetFlipStatus(p,a) (p)->lpVtbl->GetFlipStatus(p,a) 01946 #define IDirectDrawSurface_GetOverlayPosition(p,a,b) (p)->lpVtbl->GetOverlayPosition(p,a,b) 01947 #define IDirectDrawSurface_GetPalette(p,a) (p)->lpVtbl->GetPalette(p,a) 01948 #define IDirectDrawSurface_GetPixelFormat(p,a) (p)->lpVtbl->GetPixelFormat(p,a) 01949 #define IDirectDrawSurface_GetSurfaceDesc(p,a) (p)->lpVtbl->GetSurfaceDesc(p,a) 01950 #define IDirectDrawSurface_Initialize(p,a,b) (p)->lpVtbl->Initialize(p,a,b) 01951 #define IDirectDrawSurface_IsLost(p) (p)->lpVtbl->IsLost(p) 01952 #define IDirectDrawSurface_Lock(p,a,b,c,d) (p)->lpVtbl->Lock(p,a,b,c,d) 01953 #define IDirectDrawSurface_ReleaseDC(p,a) (p)->lpVtbl->ReleaseDC(p,a) 01954 #define IDirectDrawSurface_Restore(p) (p)->lpVtbl->Restore(p) 01955 #define IDirectDrawSurface_SetClipper(p,a) (p)->lpVtbl->SetClipper(p,a) 01956 #define IDirectDrawSurface_SetColorKey(p,a,b) (p)->lpVtbl->SetColorKey(p,a,b) 01957 #define IDirectDrawSurface_SetOverlayPosition(p,a,b) (p)->lpVtbl->SetOverlayPosition(p,a,b) 01958 #define IDirectDrawSurface_SetPalette(p,a) (p)->lpVtbl->SetPalette(p,a) 01959 #define IDirectDrawSurface_Unlock(p,b) (p)->lpVtbl->Unlock(p,b) 01960 #define IDirectDrawSurface_UpdateOverlay(p,a,b,c,d,e) (p)->lpVtbl->UpdateOverlay(p,a,b,c,d,e) 01961 #define IDirectDrawSurface_UpdateOverlayDisplay(p,a) (p)->lpVtbl->UpdateOverlayDisplay(p,a) 01962 #define IDirectDrawSurface_UpdateOverlayZOrder(p,a,b) (p)->lpVtbl->UpdateOverlayZOrder(p,a,b) 01963 #else 01964 #define IDirectDrawSurface_QueryInterface(p,a,b) (p)->QueryInterface(a,b) 01965 #define IDirectDrawSurface_AddRef(p) (p)->AddRef() 01966 #define IDirectDrawSurface_Release(p) (p)->Release() 01967 #define IDirectDrawSurface_AddAttachedSurface(p,a) (p)->AddAttachedSurface(a) 01968 #define IDirectDrawSurface_AddOverlayDirtyRect(p,a) (p)->AddOverlayDirtyRect(a) 01969 #define IDirectDrawSurface_Blt(p,a,b,c,d,e) (p)->Blt(a,b,c,d,e) 01970 #define IDirectDrawSurface_BltBatch(p,a,b,c) (p)->BltBatch(a,b,c) 01971 #define IDirectDrawSurface_BltFast(p,a,b,c,d,e) (p)->BltFast(a,b,c,d,e) 01972 #define IDirectDrawSurface_DeleteAttachedSurface(p,a,b) (p)->DeleteAttachedSurface(a,b) 01973 #define IDirectDrawSurface_EnumAttachedSurfaces(p,a,b) (p)->EnumAttachedSurfaces(a,b) 01974 #define IDirectDrawSurface_EnumOverlayZOrders(p,a,b,c) (p)->EnumOverlayZOrders(a,b,c) 01975 #define IDirectDrawSurface_Flip(p,a,b) (p)->Flip(a,b) 01976 #define IDirectDrawSurface_GetAttachedSurface(p,a,b) (p)->GetAttachedSurface(a,b) 01977 #define IDirectDrawSurface_GetBltStatus(p,a) (p)->GetBltStatus(a) 01978 #define IDirectDrawSurface_GetCaps(p,b) (p)->GetCaps(b) 01979 #define IDirectDrawSurface_GetClipper(p,a) (p)->GetClipper(a) 01980 #define IDirectDrawSurface_GetColorKey(p,a,b) (p)->GetColorKey(a,b) 01981 #define IDirectDrawSurface_GetDC(p,a) (p)->GetDC(a) 01982 #define IDirectDrawSurface_GetFlipStatus(p,a) (p)->GetFlipStatus(a) 01983 #define IDirectDrawSurface_GetOverlayPosition(p,a,b) (p)->GetOverlayPosition(a,b) 01984 #define IDirectDrawSurface_GetPalette(p,a) (p)->GetPalette(a) 01985 #define IDirectDrawSurface_GetPixelFormat(p,a) (p)->GetPixelFormat(a) 01986 #define IDirectDrawSurface_GetSurfaceDesc(p,a) (p)->GetSurfaceDesc(a) 01987 #define IDirectDrawSurface_Initialize(p,a,b) (p)->Initialize(a,b) 01988 #define IDirectDrawSurface_IsLost(p) (p)->IsLost() 01989 #define IDirectDrawSurface_Lock(p,a,b,c,d) (p)->Lock(a,b,c,d) 01990 #define IDirectDrawSurface_ReleaseDC(p,a) (p)->ReleaseDC(a) 01991 #define IDirectDrawSurface_Restore(p) (p)->Restore() 01992 #define IDirectDrawSurface_SetClipper(p,a) (p)->SetClipper(a) 01993 #define IDirectDrawSurface_SetColorKey(p,a,b) (p)->SetColorKey(a,b) 01994 #define IDirectDrawSurface_SetOverlayPosition(p,a,b) (p)->SetOverlayPosition(a,b) 01995 #define IDirectDrawSurface_SetPalette(p,a) (p)->SetPalette(a) 01996 #define IDirectDrawSurface_Unlock(p,b) (p)->Unlock(b) 01997 #define IDirectDrawSurface_UpdateOverlay(p,a,b,c,d,e) (p)->UpdateOverlay(a,b,c,d,e) 01998 #define IDirectDrawSurface_UpdateOverlayDisplay(p,a) (p)->UpdateOverlayDisplay(a) 01999 #define IDirectDrawSurface_UpdateOverlayZOrder(p,a,b) (p)->UpdateOverlayZOrder(a,b) 02000 #endif 02001 #endif 02002 02003 #if defined( _WIN32 ) && !defined( _NO_COM ) 02004 #undef INTERFACE 02005 #define INTERFACE IDirectDrawSurface2 02006 DECLARE_INTERFACE_( IDirectDrawSurface2, IUnknown ) 02007 { 02008 STDMETHOD(QueryInterface) (THIS_ REFIID riid, LPVOID * ppvObj) PURE; 02009 STDMETHOD_(ULONG,AddRef) (THIS) PURE; 02010 STDMETHOD_(ULONG,Release) (THIS) PURE; 02011 STDMETHOD(AddAttachedSurface)(THIS_ LPDIRECTDRAWSURFACE2) PURE; 02012 STDMETHOD(AddOverlayDirtyRect)(THIS_ LPRECT) PURE; 02013 STDMETHOD(Blt)(THIS_ LPRECT,LPDIRECTDRAWSURFACE2, LPRECT,DWORD, LPDDBLTFX) PURE; 02014 STDMETHOD(BltBatch)(THIS_ LPDDBLTBATCH, DWORD, DWORD ) PURE; 02015 STDMETHOD(BltFast)(THIS_ DWORD,DWORD,LPDIRECTDRAWSURFACE2, LPRECT,DWORD) PURE; 02016 STDMETHOD(DeleteAttachedSurface)(THIS_ DWORD,LPDIRECTDRAWSURFACE2) PURE; 02017 STDMETHOD(EnumAttachedSurfaces)(THIS_ LPVOID,LPDDENUMSURFACESCALLBACK) PURE; 02018 STDMETHOD(EnumOverlayZOrders)(THIS_ DWORD,LPVOID,LPDDENUMSURFACESCALLBACK) PURE; 02019 STDMETHOD(Flip)(THIS_ LPDIRECTDRAWSURFACE2, DWORD) PURE; 02020 STDMETHOD(GetAttachedSurface)(THIS_ LPDDSCAPS, LPDIRECTDRAWSURFACE2 *) PURE; 02021 STDMETHOD(GetBltStatus)(THIS_ DWORD) PURE; 02022 STDMETHOD(GetCaps)(THIS_ LPDDSCAPS) PURE; 02023 STDMETHOD(GetClipper)(THIS_ LPDIRECTDRAWCLIPPER *) PURE; 02024 STDMETHOD(GetColorKey)(THIS_ DWORD, LPDDCOLORKEY) PURE; 02025 STDMETHOD(GetDC)(THIS_ HDC *) PURE; 02026 STDMETHOD(GetFlipStatus)(THIS_ DWORD) PURE; 02027 STDMETHOD(GetOverlayPosition)(THIS_ LPLONG, LPLONG ) PURE; 02028 STDMETHOD(GetPalette)(THIS_ LPDIRECTDRAWPALETTE *) PURE; 02029 STDMETHOD(GetPixelFormat)(THIS_ LPDDPIXELFORMAT) PURE; 02030 STDMETHOD(GetSurfaceDesc)(THIS_ LPDDSURFACEDESC) PURE; 02031 STDMETHOD(Initialize)(THIS_ LPDIRECTDRAW, LPDDSURFACEDESC) PURE; 02032 STDMETHOD(IsLost)(THIS) PURE; 02033 STDMETHOD(Lock)(THIS_ LPRECT,LPDDSURFACEDESC,DWORD,HANDLE) PURE; 02034 STDMETHOD(ReleaseDC)(THIS_ HDC) PURE; 02035 STDMETHOD(Restore)(THIS) PURE; 02036 STDMETHOD(SetClipper)(THIS_ LPDIRECTDRAWCLIPPER) PURE; 02037 STDMETHOD(SetColorKey)(THIS_ DWORD, LPDDCOLORKEY) PURE; 02038 STDMETHOD(SetOverlayPosition)(THIS_ LONG, LONG ) PURE; 02039 STDMETHOD(SetPalette)(THIS_ LPDIRECTDRAWPALETTE) PURE; 02040 STDMETHOD(Unlock)(THIS_ LPVOID) PURE; 02041 STDMETHOD(UpdateOverlay)(THIS_ LPRECT, LPDIRECTDRAWSURFACE2,LPRECT,DWORD, LPDDOVERLAYFX) PURE; 02042 STDMETHOD(UpdateOverlayDisplay)(THIS_ DWORD) PURE; 02043 STDMETHOD(UpdateOverlayZOrder)(THIS_ DWORD, LPDIRECTDRAWSURFACE2) PURE; 02044 STDMETHOD(GetDDInterface)(THIS_ LPVOID *) PURE; 02045 STDMETHOD(PageLock)(THIS_ DWORD) PURE; 02046 STDMETHOD(PageUnlock)(THIS_ DWORD) PURE; 02047 }; 02048 02049 #if !defined(__cplusplus) || defined(CINTERFACE) 02050 #define IDirectDrawSurface2_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b) 02051 #define IDirectDrawSurface2_AddRef(p) (p)->lpVtbl->AddRef(p) 02052 #define IDirectDrawSurface2_Release(p) (p)->lpVtbl->Release(p) 02053 #define IDirectDrawSurface2_AddAttachedSurface(p,a) (p)->lpVtbl->AddAttachedSurface(p,a) 02054 #define IDirectDrawSurface2_AddOverlayDirtyRect(p,a) (p)->lpVtbl->AddOverlayDirtyRect(p,a) 02055 #define IDirectDrawSurface2_Blt(p,a,b,c,d,e) (p)->lpVtbl->Blt(p,a,b,c,d,e) 02056 #define IDirectDrawSurface2_BltBatch(p,a,b,c) (p)->lpVtbl->BltBatch(p,a,b,c) 02057 #define IDirectDrawSurface2_BltFast(p,a,b,c,d,e) (p)->lpVtbl->BltFast(p,a,b,c,d,e) 02058 #define IDirectDrawSurface2_DeleteAttachedSurface(p,a,b) (p)->lpVtbl->DeleteAttachedSurface(p,a,b) 02059 #define IDirectDrawSurface2_EnumAttachedSurfaces(p,a,b) (p)->lpVtbl->EnumAttachedSurfaces(p,a,b) 02060 #define IDirectDrawSurface2_EnumOverlayZOrders(p,a,b,c) (p)->lpVtbl->EnumOverlayZOrders(p,a,b,c) 02061 #define IDirectDrawSurface2_Flip(p,a,b) (p)->lpVtbl->Flip(p,a,b) 02062 #define IDirectDrawSurface2_GetAttachedSurface(p,a,b) (p)->lpVtbl->GetAttachedSurface(p,a,b) 02063 #define IDirectDrawSurface2_GetBltStatus(p,a) (p)->lpVtbl->GetBltStatus(p,a) 02064 #define IDirectDrawSurface2_GetCaps(p,b) (p)->lpVtbl->GetCaps(p,b) 02065 #define IDirectDrawSurface2_GetClipper(p,a) (p)->lpVtbl->GetClipper(p,a) 02066 #define IDirectDrawSurface2_GetColorKey(p,a,b) (p)->lpVtbl->GetColorKey(p,a,b) 02067 #define IDirectDrawSurface2_GetDC(p,a) (p)->lpVtbl->GetDC(p,a) 02068 #define IDirectDrawSurface2_GetFlipStatus(p,a) (p)->lpVtbl->GetFlipStatus(p,a) 02069 #define IDirectDrawSurface2_GetOverlayPosition(p,a,b) (p)->lpVtbl->GetOverlayPosition(p,a,b) 02070 #define IDirectDrawSurface2_GetPalette(p,a) (p)->lpVtbl->GetPalette(p,a) 02071 #define IDirectDrawSurface2_GetPixelFormat(p,a) (p)->lpVtbl->GetPixelFormat(p,a) 02072 #define IDirectDrawSurface2_GetSurfaceDesc(p,a) (p)->lpVtbl->GetSurfaceDesc(p,a) 02073 #define IDirectDrawSurface2_Initialize(p,a,b) (p)->lpVtbl->Initialize(p,a,b) 02074 #define IDirectDrawSurface2_IsLost(p) (p)->lpVtbl->IsLost(p) 02075 #define IDirectDrawSurface2_Lock(p,a,b,c,d) (p)->lpVtbl->Lock(p,a,b,c,d) 02076 #define IDirectDrawSurface2_ReleaseDC(p,a) (p)->lpVtbl->ReleaseDC(p,a) 02077 #define IDirectDrawSurface2_Restore(p) (p)->lpVtbl->Restore(p) 02078 #define IDirectDrawSurface2_SetClipper(p,a) (p)->lpVtbl->SetClipper(p,a) 02079 #define IDirectDrawSurface2_SetColorKey(p,a,b) (p)->lpVtbl->SetColorKey(p,a,b) 02080 #define IDirectDrawSurface2_SetOverlayPosition(p,a,b) (p)->lpVtbl->SetOverlayPosition(p,a,b) 02081 #define IDirectDrawSurface2_SetPalette(p,a) (p)->lpVtbl->SetPalette(p,a) 02082 #define IDirectDrawSurface2_Unlock(p,b) (p)->lpVtbl->Unlock(p,b) 02083 #define IDirectDrawSurface2_UpdateOverlay(p,a,b,c,d,e) (p)->lpVtbl->UpdateOverlay(p,a,b,c,d,e) 02084 #define IDirectDrawSurface2_UpdateOverlayDisplay(p,a) (p)->lpVtbl->UpdateOverlayDisplay(p,a) 02085 #define IDirectDrawSurface2_UpdateOverlayZOrder(p,a,b) (p)->lpVtbl->UpdateOverlayZOrder(p,a,b) 02086 #define IDirectDrawSurface2_GetDDInterface(p,a) (p)->lpVtbl->GetDDInterface(p,a) 02087 #define IDirectDrawSurface2_PageLock(p,a) (p)->lpVtbl->PageLock(p,a) 02088 #define IDirectDrawSurface2_PageUnlock(p,a) (p)->lpVtbl->PageUnlock(p,a) 02089 #else 02090 #define IDirectDrawSurface2_QueryInterface(p,a,b) (p)->QueryInterface(a,b) 02091 #define IDirectDrawSurface2_AddRef(p) (p)->AddRef() 02092 #define IDirectDrawSurface2_Release(p) (p)->Release() 02093 #define IDirectDrawSurface2_AddAttachedSurface(p,a) (p)->AddAttachedSurface(a) 02094 #define IDirectDrawSurface2_AddOverlayDirtyRect(p,a) (p)->AddOverlayDirtyRect(a) 02095 #define IDirectDrawSurface2_Blt(p,a,b,c,d,e) (p)->Blt(a,b,c,d,e) 02096 #define IDirectDrawSurface2_BltBatch(p,a,b,c) (p)->BltBatch(a,b,c) 02097 #define IDirectDrawSurface2_BltFast(p,a,b,c,d,e) (p)->BltFast(a,b,c,d,e) 02098 #define IDirectDrawSurface2_DeleteAttachedSurface(p,a,b) (p)->DeleteAttachedSurface(a,b) 02099 #define IDirectDrawSurface2_EnumAttachedSurfaces(p,a,b) (p)->EnumAttachedSurfaces(a,b) 02100 #define IDirectDrawSurface2_EnumOverlayZOrders(p,a,b,c) (p)->EnumOverlayZOrders(a,b,c) 02101 #define IDirectDrawSurface2_Flip(p,a,b) (p)->Flip(a,b) 02102 #define IDirectDrawSurface2_GetAttachedSurface(p,a,b) (p)->GetAttachedSurface(a,b) 02103 #define IDirectDrawSurface2_GetBltStatus(p,a) (p)->GetBltStatus(a) 02104 #define IDirectDrawSurface2_GetCaps(p,b) (p)->GetCaps(b) 02105 #define IDirectDrawSurface2_GetClipper(p,a) (p)->GetClipper(a) 02106 #define IDirectDrawSurface2_GetColorKey(p,a,b) (p)->GetColorKey(a,b) 02107 #define IDirectDrawSurface2_GetDC(p,a) (p)->GetDC(a) 02108 #define IDirectDrawSurface2_GetFlipStatus(p,a) (p)->GetFlipStatus(a) 02109 #define IDirectDrawSurface2_GetOverlayPosition(p,a,b) (p)->GetOverlayPosition(a,b) 02110 #define IDirectDrawSurface2_GetPalette(p,a) (p)->GetPalette(a) 02111 #define IDirectDrawSurface2_GetPixelFormat(p,a) (p)->GetPixelFormat(a) 02112 #define IDirectDrawSurface2_GetSurfaceDesc(p,a) (p)->GetSurfaceDesc(a) 02113 #define IDirectDrawSurface2_Initialize(p,a,b) (p)->Initialize(a,b) 02114 #define IDirectDrawSurface2_IsLost(p) (p)->IsLost() 02115 #define IDirectDrawSurface2_Lock(p,a,b,c,d) (p)->Lock(a,b,c,d) 02116 #define IDirectDrawSurface2_ReleaseDC(p,a) (p)->ReleaseDC(a) 02117 #define IDirectDrawSurface2_Restore(p) (p)->Restore() 02118 #define IDirectDrawSurface2_SetClipper(p,a) (p)->SetClipper(a) 02119 #define IDirectDrawSurface2_SetColorKey(p,a,b) (p)->SetColorKey(a,b) 02120 #define IDirectDrawSurface2_SetOverlayPosition(p,a,b) (p)->SetOverlayPosition(a,b) 02121 #define IDirectDrawSurface2_SetPalette(p,a) (p)->SetPalette(a) 02122 #define IDirectDrawSurface2_Unlock(p,b) (p)->Unlock(b) 02123 #define IDirectDrawSurface2_UpdateOverlay(p,a,b,c,d,e) (p)->UpdateOverlay(a,b,c,d,e) 02124 #define IDirectDrawSurface2_UpdateOverlayDisplay(p,a) (p)->UpdateOverlayDisplay(a) 02125 #define IDirectDrawSurface2_UpdateOverlayZOrder(p,a,b) (p)->UpdateOverlayZOrder(a,b) 02126 #define IDirectDrawSurface2_GetDDInterface(p,a) (p)->GetDDInterface(a) 02127 #define IDirectDrawSurface2_PageLock(p,a) (p)->PageLock(a) 02128 #define IDirectDrawSurface2_PageUnlock(p,a) (p)->PageUnlock(a) 02129 #endif 02130 #endif 02131 02132 #if defined( _WIN32 ) && !defined( _NO_COM ) 02133 #undef INTERFACE 02134 #define INTERFACE IDirectDrawSurface3 02135 DECLARE_INTERFACE_( IDirectDrawSurface3, IUnknown ) 02136 { 02137 STDMETHOD(QueryInterface) (THIS_ REFIID riid, LPVOID * ppvObj) PURE; 02138 STDMETHOD_(ULONG,AddRef) (THIS) PURE; 02139 STDMETHOD_(ULONG,Release) (THIS) PURE; 02140 STDMETHOD(AddAttachedSurface)(THIS_ LPDIRECTDRAWSURFACE3) PURE; 02141 STDMETHOD(AddOverlayDirtyRect)(THIS_ LPRECT) PURE; 02142 STDMETHOD(Blt)(THIS_ LPRECT,LPDIRECTDRAWSURFACE3, LPRECT,DWORD, LPDDBLTFX) PURE; 02143 STDMETHOD(BltBatch)(THIS_ LPDDBLTBATCH, DWORD, DWORD ) PURE; 02144 STDMETHOD(BltFast)(THIS_ DWORD,DWORD,LPDIRECTDRAWSURFACE3, LPRECT,DWORD) PURE; 02145 STDMETHOD(DeleteAttachedSurface)(THIS_ DWORD,LPDIRECTDRAWSURFACE3) PURE; 02146 STDMETHOD(EnumAttachedSurfaces)(THIS_ LPVOID,LPDDENUMSURFACESCALLBACK) PURE; 02147 STDMETHOD(EnumOverlayZOrders)(THIS_ DWORD,LPVOID,LPDDENUMSURFACESCALLBACK) PURE; 02148 STDMETHOD(Flip)(THIS_ LPDIRECTDRAWSURFACE3, DWORD) PURE; 02149 STDMETHOD(GetAttachedSurface)(THIS_ LPDDSCAPS, LPDIRECTDRAWSURFACE3 *) PURE; 02150 STDMETHOD(GetBltStatus)(THIS_ DWORD) PURE; 02151 STDMETHOD(GetCaps)(THIS_ LPDDSCAPS) PURE; 02152 STDMETHOD(GetClipper)(THIS_ LPDIRECTDRAWCLIPPER *) PURE; 02153 STDMETHOD(GetColorKey)(THIS_ DWORD, LPDDCOLORKEY) PURE; 02154 STDMETHOD(GetDC)(THIS_ HDC *) PURE; 02155 STDMETHOD(GetFlipStatus)(THIS_ DWORD) PURE; 02156 STDMETHOD(GetOverlayPosition)(THIS_ LPLONG, LPLONG ) PURE; 02157 STDMETHOD(GetPalette)(THIS_ LPDIRECTDRAWPALETTE *) PURE; 02158 STDMETHOD(GetPixelFormat)(THIS_ LPDDPIXELFORMAT) PURE; 02159 STDMETHOD(GetSurfaceDesc)(THIS_ LPDDSURFACEDESC) PURE; 02160 STDMETHOD(Initialize)(THIS_ LPDIRECTDRAW, LPDDSURFACEDESC) PURE; 02161 STDMETHOD(IsLost)(THIS) PURE; 02162 STDMETHOD(Lock)(THIS_ LPRECT,LPDDSURFACEDESC,DWORD,HANDLE) PURE; 02163 STDMETHOD(ReleaseDC)(THIS_ HDC) PURE; 02164 STDMETHOD(Restore)(THIS) PURE; 02165 STDMETHOD(SetClipper)(THIS_ LPDIRECTDRAWCLIPPER) PURE; 02166 STDMETHOD(SetColorKey)(THIS_ DWORD, LPDDCOLORKEY) PURE; 02167 STDMETHOD(SetOverlayPosition)(THIS_ LONG, LONG ) PURE; 02168 STDMETHOD(SetPalette)(THIS_ LPDIRECTDRAWPALETTE) PURE; 02169 STDMETHOD(Unlock)(THIS_ LPVOID) PURE; 02170 STDMETHOD(UpdateOverlay)(THIS_ LPRECT, LPDIRECTDRAWSURFACE3,LPRECT,DWORD, LPDDOVERLAYFX) PURE; 02171 STDMETHOD(UpdateOverlayDisplay)(THIS_ DWORD) PURE; 02172 STDMETHOD(UpdateOverlayZOrder)(THIS_ DWORD, LPDIRECTDRAWSURFACE3) PURE; 02173 STDMETHOD(GetDDInterface)(THIS_ LPVOID *) PURE; 02174 STDMETHOD(PageLock)(THIS_ DWORD) PURE; 02175 STDMETHOD(PageUnlock)(THIS_ DWORD) PURE; 02176 STDMETHOD(SetSurfaceDesc)(THIS_ LPDDSURFACEDESC, DWORD) PURE; 02177 }; 02178 02179 #if !defined(__cplusplus) || defined(CINTERFACE) 02180 #define IDirectDrawSurface3_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b) 02181 #define IDirectDrawSurface3_AddRef(p) (p)->lpVtbl->AddRef(p) 02182 #define IDirectDrawSurface3_Release(p) (p)->lpVtbl->Release(p) 02183 #define IDirectDrawSurface3_AddAttachedSurface(p,a) (p)->lpVtbl->AddAttachedSurface(p,a) 02184 #define IDirectDrawSurface3_AddOverlayDirtyRect(p,a) (p)->lpVtbl->AddOverlayDirtyRect(p,a) 02185 #define IDirectDrawSurface3_Blt(p,a,b,c,d,e) (p)->lpVtbl->Blt(p,a,b,c,d,e) 02186 #define IDirectDrawSurface3_BltBatch(p,a,b,c) (p)->lpVtbl->BltBatch(p,a,b,c) 02187 #define IDirectDrawSurface3_BltFast(p,a,b,c,d,e) (p)->lpVtbl->BltFast(p,a,b,c,d,e) 02188 #define IDirectDrawSurface3_DeleteAttachedSurface(p,a,b) (p)->lpVtbl->DeleteAttachedSurface(p,a,b) 02189 #define IDirectDrawSurface3_EnumAttachedSurfaces(p,a,b) (p)->lpVtbl->EnumAttachedSurfaces(p,a,b) 02190 #define IDirectDrawSurface3_EnumOverlayZOrders(p,a,b,c) (p)->lpVtbl->EnumOverlayZOrders(p,a,b,c) 02191 #define IDirectDrawSurface3_Flip(p,a,b) (p)->lpVtbl->Flip(p,a,b) 02192 #define IDirectDrawSurface3_GetAttachedSurface(p,a,b) (p)->lpVtbl->GetAttachedSurface(p,a,b) 02193 #define IDirectDrawSurface3_GetBltStatus(p,a) (p)->lpVtbl->GetBltStatus(p,a) 02194 #define IDirectDrawSurface3_GetCaps(p,b) (p)->lpVtbl->GetCaps(p,b) 02195 #define IDirectDrawSurface3_GetClipper(p,a) (p)->lpVtbl->GetClipper(p,a) 02196 #define IDirectDrawSurface3_GetColorKey(p,a,b) (p)->lpVtbl->GetColorKey(p,a,b) 02197 #define IDirectDrawSurface3_GetDC(p,a) (p)->lpVtbl->GetDC(p,a) 02198 #define IDirectDrawSurface3_GetFlipStatus(p,a) (p)->lpVtbl->GetFlipStatus(p,a) 02199 #define IDirectDrawSurface3_GetOverlayPosition(p,a,b) (p)->lpVtbl->GetOverlayPosition(p,a,b) 02200 #define IDirectDrawSurface3_GetPalette(p,a) (p)->lpVtbl->GetPalette(p,a) 02201 #define IDirectDrawSurface3_GetPixelFormat(p,a) (p)->lpVtbl->GetPixelFormat(p,a) 02202 #define IDirectDrawSurface3_GetSurfaceDesc(p,a) (p)->lpVtbl->GetSurfaceDesc(p,a) 02203 #define IDirectDrawSurface3_Initialize(p,a,b) (p)->lpVtbl->Initialize(p,a,b) 02204 #define IDirectDrawSurface3_IsLost(p) (p)->lpVtbl->IsLost(p) 02205 #define IDirectDrawSurface3_Lock(p,a,b,c,d) (p)->lpVtbl->Lock(p,a,b,c,d) 02206 #define IDirectDrawSurface3_ReleaseDC(p,a) (p)->lpVtbl->ReleaseDC(p,a) 02207 #define IDirectDrawSurface3_Restore(p) (p)->lpVtbl->Restore(p) 02208 #define IDirectDrawSurface3_SetClipper(p,a) (p)->lpVtbl->SetClipper(p,a) 02209 #define IDirectDrawSurface3_SetColorKey(p,a,b) (p)->lpVtbl->SetColorKey(p,a,b) 02210 #define IDirectDrawSurface3_SetOverlayPosition(p,a,b) (p)->lpVtbl->SetOverlayPosition(p,a,b) 02211 #define IDirectDrawSurface3_SetPalette(p,a) (p)->lpVtbl->SetPalette(p,a) 02212 #define IDirectDrawSurface3_Unlock(p,b) (p)->lpVtbl->Unlock(p,b) 02213 #define IDirectDrawSurface3_UpdateOverlay(p,a,b,c,d,e) (p)->lpVtbl->UpdateOverlay(p,a,b,c,d,e) 02214 #define IDirectDrawSurface3_UpdateOverlayDisplay(p,a) (p)->lpVtbl->UpdateOverlayDisplay(p,a) 02215 #define IDirectDrawSurface3_UpdateOverlayZOrder(p,a,b) (p)->lpVtbl->UpdateOverlayZOrder(p,a,b) 02216 #define IDirectDrawSurface3_GetDDInterface(p,a) (p)->lpVtbl->GetDDInterface(p,a) 02217 #define IDirectDrawSurface3_PageLock(p,a) (p)->lpVtbl->PageLock(p,a) 02218 #define IDirectDrawSurface3_PageUnlock(p,a) (p)->lpVtbl->PageUnlock(p,a) 02219 #define IDirectDrawSurface3_SetSurfaceDesc(p,a,b) (p)->lpVtbl->SetSurfaceDesc(p,a,b) 02220 #else 02221 #define IDirectDrawSurface3_QueryInterface(p,a,b) (p)->QueryInterface(a,b) 02222 #define IDirectDrawSurface3_AddRef(p) (p)->AddRef() 02223 #define IDirectDrawSurface3_Release(p) (p)->Release() 02224 #define IDirectDrawSurface3_AddAttachedSurface(p,a) (p)->AddAttachedSurface(a) 02225 #define IDirectDrawSurface3_AddOverlayDirtyRect(p,a) (p)->AddOverlayDirtyRect(a) 02226 #define IDirectDrawSurface3_Blt(p,a,b,c,d,e) (p)->Blt(a,b,c,d,e) 02227 #define IDirectDrawSurface3_BltBatch(p,a,b,c) (p)->BltBatch(a,b,c) 02228 #define IDirectDrawSurface3_BltFast(p,a,b,c,d,e) (p)->BltFast(a,b,c,d,e) 02229 #define IDirectDrawSurface3_DeleteAttachedSurface(p,a,b) (p)->DeleteAttachedSurface(a,b) 02230 #define IDirectDrawSurface3_EnumAttachedSurfaces(p,a,b) (p)->EnumAttachedSurfaces(a,b) 02231 #define IDirectDrawSurface3_EnumOverlayZOrders(p,a,b,c) (p)->EnumOverlayZOrders(a,b,c) 02232 #define IDirectDrawSurface3_Flip(p,a,b) (p)->Flip(a,b) 02233 #define IDirectDrawSurface3_GetAttachedSurface(p,a,b) (p)->GetAttachedSurface(a,b) 02234 #define IDirectDrawSurface3_GetBltStatus(p,a) (p)->GetBltStatus(a) 02235 #define IDirectDrawSurface3_GetCaps(p,b) (p)->GetCaps(b) 02236 #define IDirectDrawSurface3_GetClipper(p,a) (p)->GetClipper(a) 02237 #define IDirectDrawSurface3_GetColorKey(p,a,b) (p)->GetColorKey(a,b) 02238 #define IDirectDrawSurface3_GetDC(p,a) (p)->GetDC(a) 02239 #define IDirectDrawSurface3_GetFlipStatus(p,a) (p)->GetFlipStatus(a) 02240 #define IDirectDrawSurface3_GetOverlayPosition(p,a,b) (p)->GetOverlayPosition(a,b) 02241 #define IDirectDrawSurface3_GetPalette(p,a) (p)->GetPalette(a) 02242 #define IDirectDrawSurface3_GetPixelFormat(p,a) (p)->GetPixelFormat(a) 02243 #define IDirectDrawSurface3_GetSurfaceDesc(p,a) (p)->GetSurfaceDesc(a) 02244 #define IDirectDrawSurface3_Initialize(p,a,b) (p)->Initialize(a,b) 02245 #define IDirectDrawSurface3_IsLost(p) (p)->IsLost() 02246 #define IDirectDrawSurface3_Lock(p,a,b,c,d) (p)->Lock(a,b,c,d) 02247 #define IDirectDrawSurface3_ReleaseDC(p,a) (p)->ReleaseDC(a) 02248 #define IDirectDrawSurface3_Restore(p) (p)->Restore() 02249 #define IDirectDrawSurface3_SetClipper(p,a) (p)->SetClipper(a) 02250 #define IDirectDrawSurface3_SetColorKey(p,a,b) (p)->SetColorKey(a,b) 02251 #define IDirectDrawSurface3_SetOverlayPosition(p,a,b) (p)->SetOverlayPosition(a,b) 02252 #define IDirectDrawSurface3_SetPalette(p,a) (p)->SetPalette(a) 02253 #define IDirectDrawSurface3_Unlock(p,b) (p)->Unlock(b) 02254 #define IDirectDrawSurface3_UpdateOverlay(p,a,b,c,d,e) (p)->UpdateOverlay(a,b,c,d,e) 02255 #define IDirectDrawSurface3_UpdateOverlayDisplay(p,a) (p)->UpdateOverlayDisplay(a) 02256 #define IDirectDrawSurface3_UpdateOverlayZOrder(p,a,b) (p)->UpdateOverlayZOrder(a,b) 02257 #define IDirectDrawSurface3_GetDDInterface(p,a) (p)->GetDDInterface(a) 02258 #define IDirectDrawSurface3_PageLock(p,a) (p)->PageLock(a) 02259 #define IDirectDrawSurface3_PageUnlock(p,a) (p)->PageUnlock(a) 02260 #define IDirectDrawSurface3_SetSurfaceDesc(p,a,b) (p)->SetSurfaceDesc(a,b) 02261 #endif 02262 #endif 02263 02264 #if defined( _WIN32 ) && !defined( _NO_COM ) 02265 #undef INTERFACE 02266 #define INTERFACE IDirectDrawSurface4 02267 02268 DECLARE_INTERFACE_( IDirectDrawSurface4, IUnknown ) 02269 { 02270 STDMETHOD(QueryInterface) (THIS_ REFIID riid, LPVOID * ppvObj) PURE; 02271 STDMETHOD_(ULONG,AddRef) (THIS) PURE; 02272 STDMETHOD_(ULONG,Release) (THIS) PURE; 02273 STDMETHOD(AddAttachedSurface)(THIS_ LPDIRECTDRAWSURFACE4) PURE; 02274 STDMETHOD(AddOverlayDirtyRect)(THIS_ LPRECT) PURE; 02275 STDMETHOD(Blt)(THIS_ LPRECT,LPDIRECTDRAWSURFACE4, LPRECT,DWORD, LPDDBLTFX) PURE; 02276 STDMETHOD(BltBatch)(THIS_ LPDDBLTBATCH, DWORD, DWORD ) PURE; 02277 STDMETHOD(BltFast)(THIS_ DWORD,DWORD,LPDIRECTDRAWSURFACE4, LPRECT,DWORD) PURE; 02278 STDMETHOD(DeleteAttachedSurface)(THIS_ DWORD,LPDIRECTDRAWSURFACE4) PURE; 02279 STDMETHOD(EnumAttachedSurfaces)(THIS_ LPVOID,LPDDENUMSURFACESCALLBACK2) PURE; 02280 STDMETHOD(EnumOverlayZOrders)(THIS_ DWORD,LPVOID,LPDDENUMSURFACESCALLBACK2) PURE; 02281 STDMETHOD(Flip)(THIS_ LPDIRECTDRAWSURFACE4, DWORD) PURE; 02282 STDMETHOD(GetAttachedSurface)(THIS_ LPDDSCAPS2, LPDIRECTDRAWSURFACE4 *) PURE; 02283 STDMETHOD(GetBltStatus)(THIS_ DWORD) PURE; 02284 STDMETHOD(GetCaps)(THIS_ LPDDSCAPS2) PURE; 02285 STDMETHOD(GetClipper)(THIS_ LPDIRECTDRAWCLIPPER *) PURE; 02286 STDMETHOD(GetColorKey)(THIS_ DWORD, LPDDCOLORKEY) PURE; 02287 STDMETHOD(GetDC)(THIS_ HDC *) PURE; 02288 STDMETHOD(GetFlipStatus)(THIS_ DWORD) PURE; 02289 STDMETHOD(GetOverlayPosition)(THIS_ LPLONG, LPLONG ) PURE; 02290 STDMETHOD(GetPalette)(THIS_ LPDIRECTDRAWPALETTE *) PURE; 02291 STDMETHOD(GetPixelFormat)(THIS_ LPDDPIXELFORMAT) PURE; 02292 STDMETHOD(GetSurfaceDesc)(THIS_ LPDDSURFACEDESC2) PURE; 02293 STDMETHOD(Initialize)(THIS_ LPDIRECTDRAW, LPDDSURFACEDESC2) PURE; 02294 STDMETHOD(IsLost)(THIS) PURE; 02295 STDMETHOD(Lock)(THIS_ LPRECT,LPDDSURFACEDESC2,DWORD,HANDLE) PURE; 02296 STDMETHOD(ReleaseDC)(THIS_ HDC) PURE; 02297 STDMETHOD(Restore)(THIS) PURE; 02298 STDMETHOD(SetClipper)(THIS_ LPDIRECTDRAWCLIPPER) PURE; 02299 STDMETHOD(SetColorKey)(THIS_ DWORD, LPDDCOLORKEY) PURE; 02300 STDMETHOD(SetOverlayPosition)(THIS_ LONG, LONG ) PURE; 02301 STDMETHOD(SetPalette)(THIS_ LPDIRECTDRAWPALETTE) PURE; 02302 STDMETHOD(Unlock)(THIS_ LPRECT) PURE; 02303 STDMETHOD(UpdateOverlay)(THIS_ LPRECT, LPDIRECTDRAWSURFACE4,LPRECT,DWORD, LPDDOVERLAYFX) PURE; 02304 STDMETHOD(UpdateOverlayDisplay)(THIS_ DWORD) PURE; 02305 STDMETHOD(UpdateOverlayZOrder)(THIS_ DWORD, LPDIRECTDRAWSURFACE4) PURE; 02306 STDMETHOD(GetDDInterface)(THIS_ LPVOID *) PURE; 02307 STDMETHOD(PageLock)(THIS_ DWORD) PURE; 02308 STDMETHOD(PageUnlock)(THIS_ DWORD) PURE; 02309 STDMETHOD(SetSurfaceDesc)(THIS_ LPDDSURFACEDESC2, DWORD) PURE; 02310 STDMETHOD(SetPrivateData)(THIS_ REFGUID, LPVOID, DWORD, DWORD) PURE; 02311 STDMETHOD(GetPrivateData)(THIS_ REFGUID, LPVOID, LPDWORD) PURE; 02312 STDMETHOD(FreePrivateData)(THIS_ REFGUID) PURE; 02313 STDMETHOD(GetUniquenessValue)(THIS_ LPDWORD) PURE; 02314 STDMETHOD(ChangeUniquenessValue)(THIS) PURE; 02315 }; 02316 #if !defined(__cplusplus) || defined(CINTERFACE) 02317 #define IDirectDrawSurface4_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b) 02318 #define IDirectDrawSurface4_AddRef(p) (p)->lpVtbl->AddRef(p) 02319 #define IDirectDrawSurface4_Release(p) (p)->lpVtbl->Release(p) 02320 #define IDirectDrawSurface4_AddAttachedSurface(p,a) (p)->lpVtbl->AddAttachedSurface(p,a) 02321 #define IDirectDrawSurface4_AddOverlayDirtyRect(p,a) (p)->lpVtbl->AddOverlayDirtyRect(p,a) 02322 #define IDirectDrawSurface4_Blt(p,a,b,c,d,e) (p)->lpVtbl->Blt(p,a,b,c,d,e) 02323 #define IDirectDrawSurface4_BltBatch(p,a,b,c) (p)->lpVtbl->BltBatch(p,a,b,c) 02324 #define IDirectDrawSurface4_BltFast(p,a,b,c,d,e) (p)->lpVtbl->BltFast(p,a,b,c,d,e) 02325 #define IDirectDrawSurface4_DeleteAttachedSurface(p,a,b) (p)->lpVtbl->DeleteAttachedSurface(p,a,b) 02326 #define IDirectDrawSurface4_EnumAttachedSurfaces(p,a,b) (p)->lpVtbl->EnumAttachedSurfaces(p,a,b) 02327 #define IDirectDrawSurface4_EnumOverlayZOrders(p,a,b,c) (p)->lpVtbl->EnumOverlayZOrders(p,a,b,c) 02328 #define IDirectDrawSurface4_Flip(p,a,b) (p)->lpVtbl->Flip(p,a,b) 02329 #define IDirectDrawSurface4_GetAttachedSurface(p,a,b) (p)->lpVtbl->GetAttachedSurface(p,a,b) 02330 #define IDirectDrawSurface4_GetBltStatus(p,a) (p)->lpVtbl->GetBltStatus(p,a) 02331 #define IDirectDrawSurface4_GetCaps(p,b) (p)->lpVtbl->GetCaps(p,b) 02332 #define IDirectDrawSurface4_GetClipper(p,a) (p)->lpVtbl->GetClipper(p,a) 02333 #define IDirectDrawSurface4_GetColorKey(p,a,b) (p)->lpVtbl->GetColorKey(p,a,b) 02334 #define IDirectDrawSurface4_GetDC(p,a) (p)->lpVtbl->GetDC(p,a) 02335 #define IDirectDrawSurface4_GetFlipStatus(p,a) (p)->lpVtbl->GetFlipStatus(p,a) 02336 #define IDirectDrawSurface4_GetOverlayPosition(p,a,b) (p)->lpVtbl->GetOverlayPosition(p,a,b) 02337 #define IDirectDrawSurface4_GetPalette(p,a) (p)->lpVtbl->GetPalette(p,a) 02338 #define IDirectDrawSurface4_GetPixelFormat(p,a) (p)->lpVtbl->GetPixelFormat(p,a) 02339 #define IDirectDrawSurface4_GetSurfaceDesc(p,a) (p)->lpVtbl->GetSurfaceDesc(p,a) 02340 #define IDirectDrawSurface4_Initialize(p,a,b) (p)->lpVtbl->Initialize(p,a,b) 02341 #define IDirectDrawSurface4_IsLost(p) (p)->lpVtbl->IsLost(p) 02342 #define IDirectDrawSurface4_Lock(p,a,b,c,d) (p)->lpVtbl->Lock(p,a,b,c,d) 02343 #define IDirectDrawSurface4_ReleaseDC(p,a) (p)->lpVtbl->ReleaseDC(p,a) 02344 #define IDirectDrawSurface4_Restore(p) (p)->lpVtbl->Restore(p) 02345 #define IDirectDrawSurface4_SetClipper(p,a) (p)->lpVtbl->SetClipper(p,a) 02346 #define IDirectDrawSurface4_SetColorKey(p,a,b) (p)->lpVtbl->SetColorKey(p,a,b) 02347 #define IDirectDrawSurface4_SetOverlayPosition(p,a,b) (p)->lpVtbl->SetOverlayPosition(p,a,b) 02348 #define IDirectDrawSurface4_SetPalette(p,a) (p)->lpVtbl->SetPalette(p,a) 02349 #define IDirectDrawSurface4_Unlock(p,b) (p)->lpVtbl->Unlock(p,b) 02350 #define IDirectDrawSurface4_UpdateOverlay(p,a,b,c,d,e) (p)->lpVtbl->UpdateOverlay(p,a,b,c,d,e) 02351 #define IDirectDrawSurface4_UpdateOverlayDisplay(p,a) (p)->lpVtbl->UpdateOverlayDisplay(p,a) 02352 #define IDirectDrawSurface4_UpdateOverlayZOrder(p,a,b) (p)->lpVtbl->UpdateOverlayZOrder(p,a,b) 02353 #define IDirectDrawSurface4_GetDDInterface(p,a) (p)->lpVtbl->GetDDInterface(p,a) 02354 #define IDirectDrawSurface4_PageLock(p,a) (p)->lpVtbl->PageLock(p,a) 02355 #define IDirectDrawSurface4_PageUnlock(p,a) (p)->lpVtbl->PageUnlock(p,a) 02356 #define IDirectDrawSurface4_SetSurfaceDesc(p,a,b) (p)->lpVtbl->SetSurfaceDesc(p,a,b) 02357 #define IDirectDrawSurface4_SetPrivateData(p,a,b,c,d) (p)->lpVtbl->SetPrivateData(p,a,b,c,d) 02358 #define IDirectDrawSurface4_GetPrivateData(p,a,b,c) (p)->lpVtbl->GetPrivateData(p,a,b,c) 02359 #define IDirectDrawSurface4_FreePrivateData(p,a) (p)->lpVtbl->FreePrivateData(p,a) 02360 #define IDirectDrawSurface4_GetUniquenessValue(p, a) (p)->lpVtbl->GetUniquenessValue(p, a) 02361 #define IDirectDrawSurface4_ChangeUniquenessValue(p) (p)->lpVtbl->ChangeUniquenessValue(p) 02362 #else 02363 #define IDirectDrawSurface4_QueryInterface(p,a,b) (p)->QueryInterface(a,b) 02364 #define IDirectDrawSurface4_AddRef(p) (p)->AddRef() 02365 #define IDirectDrawSurface4_Release(p) (p)->Release() 02366 #define IDirectDrawSurface4_AddAttachedSurface(p,a) (p)->AddAttachedSurface(a) 02367 #define IDirectDrawSurface4_AddOverlayDirtyRect(p,a) (p)->AddOverlayDirtyRect(a) 02368 #define IDirectDrawSurface4_Blt(p,a,b,c,d,e) (p)->Blt(a,b,c,d,e) 02369 #define IDirectDrawSurface4_BltBatch(p,a,b,c) (p)->BltBatch(a,b,c) 02370 #define IDirectDrawSurface4_BltFast(p,a,b,c,d,e) (p)->BltFast(a,b,c,d,e) 02371 #define IDirectDrawSurface4_DeleteAttachedSurface(p,a,b) (p)->DeleteAttachedSurface(a,b) 02372 #define IDirectDrawSurface4_EnumAttachedSurfaces(p,a,b) (p)->EnumAttachedSurfaces(a,b) 02373 #define IDirectDrawSurface4_EnumOverlayZOrders(p,a,b,c) (p)->EnumOverlayZOrders(a,b,c) 02374 #define IDirectDrawSurface4_Flip(p,a,b) (p)->Flip(a,b) 02375 #define IDirectDrawSurface4_GetAttachedSurface(p,a,b) (p)->GetAttachedSurface(a,b) 02376 #define IDirectDrawSurface4_GetBltStatus(p,a) (p)->GetBltStatus(a) 02377 #define IDirectDrawSurface4_GetCaps(p,b) (p)->GetCaps(b) 02378 #define IDirectDrawSurface4_GetClipper(p,a) (p)->GetClipper(a) 02379 #define IDirectDrawSurface4_GetColorKey(p,a,b) (p)->GetColorKey(a,b) 02380 #define IDirectDrawSurface4_GetDC(p,a) (p)->GetDC(a) 02381 #define IDirectDrawSurface4_GetFlipStatus(p,a) (p)->GetFlipStatus(a) 02382 #define IDirectDrawSurface4_GetOverlayPosition(p,a,b) (p)->GetOverlayPosition(a,b) 02383 #define IDirectDrawSurface4_GetPalette(p,a) (p)->GetPalette(a) 02384 #define IDirectDrawSurface4_GetPixelFormat(p,a) (p)->GetPixelFormat(a) 02385 #define IDirectDrawSurface4_GetSurfaceDesc(p,a) (p)->GetSurfaceDesc(a) 02386 #define IDirectDrawSurface4_Initialize(p,a,b) (p)->Initialize(a,b) 02387 #define IDirectDrawSurface4_IsLost(p) (p)->IsLost() 02388 #define IDirectDrawSurface4_Lock(p,a,b,c,d) (p)->Lock(a,b,c,d) 02389 #define IDirectDrawSurface4_ReleaseDC(p,a) (p)->ReleaseDC(a) 02390 #define IDirectDrawSurface4_Restore(p) (p)->Restore() 02391 #define IDirectDrawSurface4_SetClipper(p,a) (p)->SetClipper(a) 02392 #define IDirectDrawSurface4_SetColorKey(p,a,b) (p)->SetColorKey(a,b) 02393 #define IDirectDrawSurface4_SetOverlayPosition(p,a,b) (p)->SetOverlayPosition(a,b) 02394 #define IDirectDrawSurface4_SetPalette(p,a) (p)->SetPalette(a) 02395 #define IDirectDrawSurface4_Unlock(p,b) (p)->Unlock(b) 02396 #define IDirectDrawSurface4_UpdateOverlay(p,a,b,c,d,e) (p)->UpdateOverlay(a,b,c,d,e) 02397 #define IDirectDrawSurface4_UpdateOverlayDisplay(p,a) (p)->UpdateOverlayDisplay(a) 02398 #define IDirectDrawSurface4_UpdateOverlayZOrder(p,a,b) (p)->UpdateOverlayZOrder(a,b) 02399 #define IDirectDrawSurface4_GetDDInterface(p,a) (p)->GetDDInterface(a) 02400 #define IDirectDrawSurface4_PageLock(p,a) (p)->PageLock(a) 02401 #define IDirectDrawSurface4_PageUnlock(p,a) (p)->PageUnlock(a) 02402 #define IDirectDrawSurface4_SetSurfaceDesc(p,a,b) (p)->SetSurfaceDesc(a,b) 02403 #define IDirectDrawSurface4_SetPrivateData(p,a,b,c,d) (p)->SetPrivateData(a,b,c,d) 02404 #define IDirectDrawSurface4_GetPrivateData(p,a,b,c) (p)->GetPrivateData(a,b,c) 02405 #define IDirectDrawSurface4_FreePrivateData(p,a) (p)->FreePrivateData(a) 02406 #define IDirectDrawSurface4_GetUniquenessValue(p, a) (p)->GetUniquenessValue(a) 02407 #define IDirectDrawSurface4_ChangeUniquenessValue(p) (p)->ChangeUniquenessValue() 02408 #endif 02409 #endif 02410 02411 #if defined( _WIN32 ) && !defined( _NO_COM ) 02412 #undef INTERFACE 02413 #define INTERFACE IDirectDrawSurface7 02414 02415 DECLARE_INTERFACE_( IDirectDrawSurface7, IUnknown ) 02416 { 02417 STDMETHOD(QueryInterface) (THIS_ REFIID riid, LPVOID * ppvObj) PURE; 02418 STDMETHOD_(ULONG,AddRef) (THIS) PURE; 02419 STDMETHOD_(ULONG,Release) (THIS) PURE; 02420 STDMETHOD(AddAttachedSurface)(THIS_ LPDIRECTDRAWSURFACE7) PURE; 02421 STDMETHOD(AddOverlayDirtyRect)(THIS_ LPRECT) PURE; 02422 STDMETHOD(Blt)(THIS_ LPRECT,LPDIRECTDRAWSURFACE7, LPRECT,DWORD, LPDDBLTFX) PURE; 02423 STDMETHOD(BltBatch)(THIS_ LPDDBLTBATCH, DWORD, DWORD ) PURE; 02424 STDMETHOD(BltFast)(THIS_ DWORD,DWORD,LPDIRECTDRAWSURFACE7, LPRECT,DWORD) PURE; 02425 STDMETHOD(DeleteAttachedSurface)(THIS_ DWORD,LPDIRECTDRAWSURFACE7) PURE; 02426 STDMETHOD(EnumAttachedSurfaces)(THIS_ LPVOID,LPDDENUMSURFACESCALLBACK7) PURE; 02427 STDMETHOD(EnumOverlayZOrders)(THIS_ DWORD,LPVOID,LPDDENUMSURFACESCALLBACK7) PURE; 02428 STDMETHOD(Flip)(THIS_ LPDIRECTDRAWSURFACE7, DWORD) PURE; 02429 STDMETHOD(GetAttachedSurface)(THIS_ LPDDSCAPS2, LPDIRECTDRAWSURFACE7 *) PURE; 02430 STDMETHOD(GetBltStatus)(THIS_ DWORD) PURE; 02431 STDMETHOD(GetCaps)(THIS_ LPDDSCAPS2) PURE; 02432 STDMETHOD(GetClipper)(THIS_ LPDIRECTDRAWCLIPPER *) PURE; 02433 STDMETHOD(GetColorKey)(THIS_ DWORD, LPDDCOLORKEY) PURE; 02434 STDMETHOD(GetDC)(THIS_ HDC *) PURE; 02435 STDMETHOD(GetFlipStatus)(THIS_ DWORD) PURE; 02436 STDMETHOD(GetOverlayPosition)(THIS_ LPLONG, LPLONG ) PURE; 02437 STDMETHOD(GetPalette)(THIS_ LPDIRECTDRAWPALETTE *) PURE; 02438 STDMETHOD(GetPixelFormat)(THIS_ LPDDPIXELFORMAT) PURE; 02439 STDMETHOD(GetSurfaceDesc)(THIS_ LPDDSURFACEDESC2) PURE; 02440 STDMETHOD(Initialize)(THIS_ LPDIRECTDRAW, LPDDSURFACEDESC2) PURE; 02441 STDMETHOD(IsLost)(THIS) PURE; 02442 STDMETHOD(Lock)(THIS_ LPRECT,LPDDSURFACEDESC2,DWORD,HANDLE) PURE; 02443 STDMETHOD(ReleaseDC)(THIS_ HDC) PURE; 02444 STDMETHOD(Restore)(THIS) PURE; 02445 STDMETHOD(SetClipper)(THIS_ LPDIRECTDRAWCLIPPER) PURE; 02446 STDMETHOD(SetColorKey)(THIS_ DWORD, LPDDCOLORKEY) PURE; 02447 STDMETHOD(SetOverlayPosition)(THIS_ LONG, LONG ) PURE; 02448 STDMETHOD(SetPalette)(THIS_ LPDIRECTDRAWPALETTE) PURE; 02449 STDMETHOD(Unlock)(THIS_ LPRECT) PURE; 02450 STDMETHOD(UpdateOverlay)(THIS_ LPRECT, LPDIRECTDRAWSURFACE7,LPRECT,DWORD, LPDDOVERLAYFX) PURE; 02451 STDMETHOD(UpdateOverlayDisplay)(THIS_ DWORD) PURE; 02452 STDMETHOD(UpdateOverlayZOrder)(THIS_ DWORD, LPDIRECTDRAWSURFACE7) PURE; 02453 STDMETHOD(GetDDInterface)(THIS_ LPVOID *) PURE; 02454 STDMETHOD(PageLock)(THIS_ DWORD) PURE; 02455 STDMETHOD(PageUnlock)(THIS_ DWORD) PURE; 02456 STDMETHOD(SetSurfaceDesc)(THIS_ LPDDSURFACEDESC2, DWORD) PURE; 02457 STDMETHOD(SetPrivateData)(THIS_ REFGUID, LPVOID, DWORD, DWORD) PURE; 02458 STDMETHOD(GetPrivateData)(THIS_ REFGUID, LPVOID, LPDWORD) PURE; 02459 STDMETHOD(FreePrivateData)(THIS_ REFGUID) PURE; 02460 STDMETHOD(GetUniquenessValue)(THIS_ LPDWORD) PURE; 02461 STDMETHOD(ChangeUniquenessValue)(THIS) PURE; 02462 STDMETHOD(SetPriority)(THIS_ DWORD) PURE; 02463 STDMETHOD(GetPriority)(THIS_ LPDWORD) PURE; 02464 STDMETHOD(SetLOD)(THIS_ DWORD) PURE; 02465 STDMETHOD(GetLOD)(THIS_ LPDWORD) PURE; 02466 }; 02467 #if !defined(__cplusplus) || defined(CINTERFACE) 02468 #define IDirectDrawSurface7_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b) 02469 #define IDirectDrawSurface7_AddRef(p) (p)->lpVtbl->AddRef(p) 02470 #define IDirectDrawSurface7_Release(p) (p)->lpVtbl->Release(p) 02471 #define IDirectDrawSurface7_AddAttachedSurface(p,a) (p)->lpVtbl->AddAttachedSurface(p,a) 02472 #define IDirectDrawSurface7_AddOverlayDirtyRect(p,a) (p)->lpVtbl->AddOverlayDirtyRect(p,a) 02473 #define IDirectDrawSurface7_Blt(p,a,b,c,d,e) (p)->lpVtbl->Blt(p,a,b,c,d,e) 02474 #define IDirectDrawSurface7_BltBatch(p,a,b,c) (p)->lpVtbl->BltBatch(p,a,b,c) 02475 #define IDirectDrawSurface7_BltFast(p,a,b,c,d,e) (p)->lpVtbl->BltFast(p,a,b,c,d,e) 02476 #define IDirectDrawSurface7_DeleteAttachedSurface(p,a,b) (p)->lpVtbl->DeleteAttachedSurface(p,a,b) 02477 #define IDirectDrawSurface7_EnumAttachedSurfaces(p,a,b) (p)->lpVtbl->EnumAttachedSurfaces(p,a,b) 02478 #define IDirectDrawSurface7_EnumOverlayZOrders(p,a,b,c) (p)->lpVtbl->EnumOverlayZOrders(p,a,b,c) 02479 #define IDirectDrawSurface7_Flip(p,a,b) (p)->lpVtbl->Flip(p,a,b) 02480 #define IDirectDrawSurface7_GetAttachedSurface(p,a,b) (p)->lpVtbl->GetAttachedSurface(p,a,b) 02481 #define IDirectDrawSurface7_GetBltStatus(p,a) (p)->lpVtbl->GetBltStatus(p,a) 02482 #define IDirectDrawSurface7_GetCaps(p,b) (p)->lpVtbl->GetCaps(p,b) 02483 #define IDirectDrawSurface7_GetClipper(p,a) (p)->lpVtbl->GetClipper(p,a) 02484 #define IDirectDrawSurface7_GetColorKey(p,a,b) (p)->lpVtbl->GetColorKey(p,a,b) 02485 #define IDirectDrawSurface7_GetDC(p,a) (p)->lpVtbl->GetDC(p,a) 02486 #define IDirectDrawSurface7_GetFlipStatus(p,a) (p)->lpVtbl->GetFlipStatus(p,a) 02487 #define IDirectDrawSurface7_GetOverlayPosition(p,a,b) (p)->lpVtbl->GetOverlayPosition(p,a,b) 02488 #define IDirectDrawSurface7_GetPalette(p,a) (p)->lpVtbl->GetPalette(p,a) 02489 #define IDirectDrawSurface7_GetPixelFormat(p,a) (p)->lpVtbl->GetPixelFormat(p,a) 02490 #define IDirectDrawSurface7_GetSurfaceDesc(p,a) (p)->lpVtbl->GetSurfaceDesc(p,a) 02491 #define IDirectDrawSurface7_Initialize(p,a,b) (p)->lpVtbl->Initialize(p,a,b) 02492 #define IDirectDrawSurface7_IsLost(p) (p)->lpVtbl->IsLost(p) 02493 #define IDirectDrawSurface7_Lock(p,a,b,c,d) (p)->lpVtbl->Lock(p,a,b,c,d) 02494 #define IDirectDrawSurface7_ReleaseDC(p,a) (p)->lpVtbl->ReleaseDC(p,a) 02495 #define IDirectDrawSurface7_Restore(p) (p)->lpVtbl->Restore(p) 02496 #define IDirectDrawSurface7_SetClipper(p,a) (p)->lpVtbl->SetClipper(p,a) 02497 #define IDirectDrawSurface7_SetColorKey(p,a,b) (p)->lpVtbl->SetColorKey(p,a,b) 02498 #define IDirectDrawSurface7_SetOverlayPosition(p,a,b) (p)->lpVtbl->SetOverlayPosition(p,a,b) 02499 #define IDirectDrawSurface7_SetPalette(p,a) (p)->lpVtbl->SetPalette(p,a) 02500 #define IDirectDrawSurface7_Unlock(p,b) (p)->lpVtbl->Unlock(p,b) 02501 #define IDirectDrawSurface7_UpdateOverlay(p,a,b,c,d,e) (p)->lpVtbl->UpdateOverlay(p,a,b,c,d,e) 02502 #define IDirectDrawSurface7_UpdateOverlayDisplay(p,a) (p)->lpVtbl->UpdateOverlayDisplay(p,a) 02503 #define IDirectDrawSurface7_UpdateOverlayZOrder(p,a,b) (p)->lpVtbl->UpdateOverlayZOrder(p,a,b) 02504 #define IDirectDrawSurface7_GetDDInterface(p,a) (p)->lpVtbl->GetDDInterface(p,a) 02505 #define IDirectDrawSurface7_PageLock(p,a) (p)->lpVtbl->PageLock(p,a) 02506 #define IDirectDrawSurface7_PageUnlock(p,a) (p)->lpVtbl->PageUnlock(p,a) 02507 #define IDirectDrawSurface7_SetSurfaceDesc(p,a,b) (p)->lpVtbl->SetSurfaceDesc(p,a,b) 02508 #define IDirectDrawSurface7_SetPrivateData(p,a,b,c,d) (p)->lpVtbl->SetPrivateData(p,a,b,c,d) 02509 #define IDirectDrawSurface7_GetPrivateData(p,a,b,c) (p)->lpVtbl->GetPrivateData(p,a,b,c) 02510 #define IDirectDrawSurface7_FreePrivateData(p,a) (p)->lpVtbl->FreePrivateData(p,a) 02511 #define IDirectDrawSurface7_GetUniquenessValue(p, a) (p)->lpVtbl->GetUniquenessValue(p, a) 02512 #define IDirectDrawSurface7_ChangeUniquenessValue(p) (p)->lpVtbl->ChangeUniquenessValue(p) 02513 #define IDirectDrawSurface7_SetPriority(p,a) (p)->lpVtbl->SetPriority(p,a) 02514 #define IDirectDrawSurface7_GetPriority(p,a) (p)->lpVtbl->GetPriority(p,a) 02515 #define IDirectDrawSurface7_SetLOD(p,a) (p)->lpVtbl->SetLOD(p,a) 02516 #define IDirectDrawSurface7_GetLOD(p,a) (p)->lpVtbl->GetLOD(p,a) 02517 #else 02518 #define IDirectDrawSurface7_QueryInterface(p,a,b) (p)->QueryInterface(a,b) 02519 #define IDirectDrawSurface7_AddRef(p) (p)->AddRef() 02520 #define IDirectDrawSurface7_Release(p) (p)->Release() 02521 #define IDirectDrawSurface7_AddAttachedSurface(p,a) (p)->AddAttachedSurface(a) 02522 #define IDirectDrawSurface7_AddOverlayDirtyRect(p,a) (p)->AddOverlayDirtyRect(a) 02523 #define IDirectDrawSurface7_Blt(p,a,b,c,d,e) (p)->Blt(a,b,c,d,e) 02524 #define IDirectDrawSurface7_BltBatch(p,a,b,c) (p)->BltBatch(a,b,c) 02525 #define IDirectDrawSurface7_BltFast(p,a,b,c,d,e) (p)->BltFast(a,b,c,d,e) 02526 #define IDirectDrawSurface7_DeleteAttachedSurface(p,a,b) (p)->DeleteAttachedSurface(a,b) 02527 #define IDirectDrawSurface7_EnumAttachedSurfaces(p,a,b) (p)->EnumAttachedSurfaces(a,b) 02528 #define IDirectDrawSurface7_EnumOverlayZOrders(p,a,b,c) (p)->EnumOverlayZOrders(a,b,c) 02529 #define IDirectDrawSurface7_Flip(p,a,b) (p)->Flip(a,b) 02530 #define IDirectDrawSurface7_GetAttachedSurface(p,a,b) (p)->GetAttachedSurface(a,b) 02531 #define IDirectDrawSurface7_GetBltStatus(p,a) (p)->GetBltStatus(a) 02532 #define IDirectDrawSurface7_GetCaps(p,b) (p)->GetCaps(b) 02533 #define IDirectDrawSurface7_GetClipper(p,a) (p)->GetClipper(a) 02534 #define IDirectDrawSurface7_GetColorKey(p,a,b) (p)->GetColorKey(a,b) 02535 #define IDirectDrawSurface7_GetDC(p,a) (p)->GetDC(a) 02536 #define IDirectDrawSurface7_GetFlipStatus(p,a) (p)->GetFlipStatus(a) 02537 #define IDirectDrawSurface7_GetOverlayPosition(p,a,b) (p)->GetOverlayPosition(a,b) 02538 #define IDirectDrawSurface7_GetPalette(p,a) (p)->GetPalette(a) 02539 #define IDirectDrawSurface7_GetPixelFormat(p,a) (p)->GetPixelFormat(a) 02540 #define IDirectDrawSurface7_GetSurfaceDesc(p,a) (p)->GetSurfaceDesc(a) 02541 #define IDirectDrawSurface7_Initialize(p,a,b) (p)->Initialize(a,b) 02542 #define IDirectDrawSurface7_IsLost(p) (p)->IsLost() 02543 #define IDirectDrawSurface7_Lock(p,a,b,c,d) (p)->Lock(a,b,c,d) 02544 #define IDirectDrawSurface7_ReleaseDC(p,a) (p)->ReleaseDC(a) 02545 #define IDirectDrawSurface7_Restore(p) (p)->Restore() 02546 #define IDirectDrawSurface7_SetClipper(p,a) (p)->SetClipper(a) 02547 #define IDirectDrawSurface7_SetColorKey(p,a,b) (p)->SetColorKey(a,b) 02548 #define IDirectDrawSurface7_SetOverlayPosition(p,a,b) (p)->SetOverlayPosition(a,b) 02549 #define IDirectDrawSurface7_SetPalette(p,a) (p)->SetPalette(a) 02550 #define IDirectDrawSurface7_Unlock(p,b) (p)->Unlock(b) 02551 #define IDirectDrawSurface7_UpdateOverlay(p,a,b,c,d,e) (p)->UpdateOverlay(a,b,c,d,e) 02552 #define IDirectDrawSurface7_UpdateOverlayDisplay(p,a) (p)->UpdateOverlayDisplay(a) 02553 #define IDirectDrawSurface7_UpdateOverlayZOrder(p,a,b) (p)->UpdateOverlayZOrder(a,b) 02554 #define IDirectDrawSurface7_GetDDInterface(p,a) (p)->GetDDInterface(a) 02555 #define IDirectDrawSurface7_PageLock(p,a) (p)->PageLock(a) 02556 #define IDirectDrawSurface7_PageUnlock(p,a) (p)->PageUnlock(a) 02557 #define IDirectDrawSurface7_SetSurfaceDesc(p,a,b) (p)->SetSurfaceDesc(a,b) 02558 #define IDirectDrawSurface7_SetPrivateData(p,a,b,c,d) (p)->SetPrivateData(a,b,c,d) 02559 #define IDirectDrawSurface7_GetPrivateData(p,a,b,c) (p)->GetPrivateData(a,b,c) 02560 #define IDirectDrawSurface7_FreePrivateData(p,a) (p)->FreePrivateData(a) 02561 #define IDirectDrawSurface7_GetUniquenessValue(p, a) (p)->GetUniquenessValue(a) 02562 #define IDirectDrawSurface7_ChangeUniquenessValue(p) (p)->ChangeUniquenessValue() 02563 #define IDirectDrawSurface7_SetPriority(p,a) (p)->SetPriority(a) 02564 #define IDirectDrawSurface7_GetPriority(p,a) (p)->GetPriority(a) 02565 #define IDirectDrawSurface7_SetLOD(p,a) (p)->SetLOD(a) 02566 #define IDirectDrawSurface7_GetLOD(p,a) (p)->GetLOD(a) 02567 #endif 02568 #endif 02569 #undef INTERFACE 02570 02571 #ifdef __cplusplus 02572 } 02573 #endif 02574 02575 #ifdef ENABLE_NAMELESS_UNION_PRAGMA 02576 #pragma warning(default:4201) 02577 #endif 02578 02579 #endif Generated on Sun May 27 2012 04:21:24 for ReactOS by
1.7.6.1
|