ReactOS Fundraising Campaign 2012
 
€ 4,410 / € 30,000

Information | Donate

Home | Info | Community | Development | myReactOS | Contact Us

  1. Home
  2. Community
  3. Development
  4. myReactOS
  5. Fundraiser 2012

  1. Main Page
  2. Alphabetical List
  3. Data Structures
  4. Directories
  5. File List
  6. Data Fields
  7. Globals
  8. Related Pages

ReactOS Development > Doxygen

ddrawex.h
Go to the documentation of this file.
00001 #ifndef __DDRAWEXH__
00002 #define __DDRAWEXH__
00003 
00004 #ifdef __cplusplus
00005 extern "C" {
00006 #endif
00007 
00008 #include <ddraw.h>
00009 DEFINE_GUID(CLSID_DirectDrawFactory,            0x4FD2A832, 0x86C8, 0x11D0, 0x8F, 0xCA, 0x00, 0xC0, 0x4F, 0xD9, 0x18, 0x9D);
00010 DEFINE_GUID(IID_IDirectDrawFactory,             0x4FD2A833, 0x86C8, 0x11D0, 0x8F, 0xCA, 0x00, 0xC0, 0x4F, 0xD9, 0x18, 0x9D);
00011 DEFINE_GUID(IID_IDirectDraw3,                   0x618F8AD4, 0x8B7A, 0x11D0, 0x8F, 0xCC, 0x00, 0xC0, 0x4F, 0xD9, 0x18, 0x9D);
00012 
00013 #define DDSCAPS_DATAEXCHANGE                    (DDSCAPS_SYSTEMMEMORY|DDSCAPS_VIDEOMEMORY)
00014 #define DDERR_LOADFAILED                        MAKE_DDHRESULT( 901 )
00015 #define DDERR_BADVERSIONINFO                    MAKE_DDHRESULT( 902 )
00016 #define DDERR_BADPROCADDRESS                    MAKE_DDHRESULT( 903 )
00017 #define DDERR_LEGACYUSAGE                       MAKE_DDHRESULT( 904 )
00018 
00019 typedef struct IDirectDraw3 *LPDIRECTDRAW3;
00020 
00021 #ifndef DIRECTDRAW_VERSION
00022     #define DDSD_LPSURFACE  0x00000800
00023 
00024     DEFINE_GUID( IID_IDirectDrawSurface3,   0xDA044E00,0x69B2,0x11D0,0xA1,0xD5,0x00,0xAA,0x00,0xB8,0xDF,0xBB );
00025     typedef struct IDirectDrawSurface3  *LPDIRECTDRAWSURFACE3;
00026     #if defined( _WIN32 ) && !defined( _NO_COM )
00027     #undef INTERFACE
00028         #define INTERFACE IDirectDrawSurface3
00029         DECLARE_INTERFACE_( IDirectDrawSurface3, IUnknown )
00030         {
00031             STDMETHOD(QueryInterface) (THIS_ REFIID riid, LPVOID * ppvObj) PURE;
00032             STDMETHOD_(ULONG,AddRef) (THIS)  PURE;
00033             STDMETHOD_(ULONG,Release) (THIS) PURE;
00034             STDMETHOD(AddAttachedSurface)(THIS_ LPDIRECTDRAWSURFACE3) PURE;
00035             STDMETHOD(AddOverlayDirtyRect)(THIS_ LPRECT) PURE;
00036             STDMETHOD(Blt)(THIS_ LPRECT,LPDIRECTDRAWSURFACE3, LPRECT,DWORD, LPDDBLTFX) PURE;
00037             STDMETHOD(BltBatch)(THIS_ LPDDBLTBATCH, DWORD, DWORD ) PURE;
00038             STDMETHOD(BltFast)(THIS_ DWORD,DWORD,LPDIRECTDRAWSURFACE3, LPRECT,DWORD) PURE;
00039             STDMETHOD(DeleteAttachedSurface)(THIS_ DWORD,LPDIRECTDRAWSURFACE3) PURE;
00040             STDMETHOD(EnumAttachedSurfaces)(THIS_ LPVOID,LPDDENUMSURFACESCALLBACK) PURE;
00041             STDMETHOD(EnumOverlayZOrders)(THIS_ DWORD,LPVOID,LPDDENUMSURFACESCALLBACK) PURE;
00042             STDMETHOD(Flip)(THIS_ LPDIRECTDRAWSURFACE3, DWORD) PURE;
00043             STDMETHOD(GetAttachedSurface)(THIS_ LPDDSCAPS, LPDIRECTDRAWSURFACE3*) PURE;
00044             STDMETHOD(GetBltStatus)(THIS_ DWORD) PURE;
00045             STDMETHOD(GetCaps)(THIS_ LPDDSCAPS) PURE;
00046             STDMETHOD(GetClipper)(THIS_ LPDIRECTDRAWCLIPPER *) PURE;
00047             STDMETHOD(GetColorKey)(THIS_ DWORD, LPDDCOLORKEY) PURE;
00048             STDMETHOD(GetDC)(THIS_ HDC *) PURE;
00049             STDMETHOD(GetFlipStatus)(THIS_ DWORD) PURE;
00050             STDMETHOD(GetOverlayPosition)(THIS_ LPLONG, LPLONG ) PURE;
00051             STDMETHOD(GetPalette)(THIS_ LPDIRECTDRAWPALETTE *) PURE;
00052             STDMETHOD(GetPixelFormat)(THIS_ LPDDPIXELFORMAT) PURE;
00053             STDMETHOD(GetSurfaceDesc)(THIS_ LPDDSURFACEDESC) PURE;
00054             STDMETHOD(Initialize)(THIS_ LPDIRECTDRAW, LPDDSURFACEDESC) PURE;
00055             STDMETHOD(IsLost)(THIS) PURE;
00056             STDMETHOD(Lock)(THIS_ LPRECT,LPDDSURFACEDESC,DWORD,HANDLE) PURE;
00057             STDMETHOD(ReleaseDC)(THIS_ HDC) PURE;
00058             STDMETHOD(Restore)(THIS) PURE;
00059             STDMETHOD(SetClipper)(THIS_ LPDIRECTDRAWCLIPPER) PURE;
00060             STDMETHOD(SetColorKey)(THIS_ DWORD, LPDDCOLORKEY) PURE;
00061             STDMETHOD(SetOverlayPosition)(THIS_ LONG, LONG ) PURE;
00062             STDMETHOD(SetPalette)(THIS_ LPDIRECTDRAWPALETTE) PURE;
00063             STDMETHOD(Unlock)(THIS_ LPVOID) PURE;
00064             STDMETHOD(UpdateOverlay)(THIS_ LPRECT, LPDIRECTDRAWSURFACE3,LPRECT,DWORD, LPDDOVERLAYFX) PURE;
00065             STDMETHOD(UpdateOverlayDisplay)(THIS_ DWORD) PURE;
00066             STDMETHOD(UpdateOverlayZOrder)(THIS_ DWORD, LPDIRECTDRAWSURFACE3) PURE;
00067             STDMETHOD(GetDDInterface)(THIS_ LPVOID *) PURE;
00068             STDMETHOD(PageLock)(THIS_ DWORD) PURE;
00069             STDMETHOD(PageUnlock)(THIS_ DWORD) PURE;
00070             STDMETHOD(SetSurfaceDesc)(THIS_ LPDDSURFACEDESC, DWORD ) PURE;
00071         };
00072     #endif
00073 #endif
00074 
00075 #if defined( _WIN32 ) && !defined( _NO_COM )
00076 #undef  INTERFACE
00077 #define INTERFACE IDirectDrawFactory
00078 
00079 DECLARE_INTERFACE_(IDirectDrawFactory, IUnknown)
00080 {
00081     STDMETHOD(QueryInterface) (THIS_ REFIID riid, LPVOID * ppvObj) PURE;
00082     STDMETHOD_(ULONG,AddRef) (THIS)  PURE;
00083     STDMETHOD_(ULONG,Release) (THIS) PURE;
00084     STDMETHOD(CreateDirectDraw) (THIS_ GUID * pGUID, HWND hWnd, DWORD dwCoopLevelFlags, DWORD dwReserved, IUnknown *pUnkOuter, IDirectDraw **ppDirectDraw) PURE;
00085     STDMETHOD(DirectDrawEnumerate) (THIS_ LPDDENUMCALLBACK lpCallback, LPVOID lpContext) PURE;
00086 };
00087 #endif
00088 
00089 #if defined( _WIN32 ) && !defined( _NO_COM )
00090     #undef INTERFACE
00091     #define INTERFACE IDirectDraw3
00092     DECLARE_INTERFACE_(IDirectDraw3,IUnknown)
00093     {
00094         STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE;
00095         STDMETHOD_(ULONG,AddRef)(THIS) PURE;
00096         STDMETHOD_(ULONG,Release)(THIS) PURE;
00097         STDMETHOD(Compact)(THIS) PURE;
00098         STDMETHOD(CreateClipper)(THIS_ DWORD dwFlags, LPDIRECTDRAWCLIPPER *lplpDDClipper, IUnknown *pUnkOuter) PURE;
00099         STDMETHOD(CreatePalette)(THIS_ DWORD dwFlags, LPPALETTEENTRY lpColorTable, LPDIRECTDRAWPALETTE *lplpDDPalette, IUnknown *pUnkOuter) PURE;
00100         STDMETHOD(CreateSurface)(THIS_ LPDDSURFACEDESC lpDDSurfaceDesc, LPDIRECTDRAWSURFACE *lplpDDSurface, IUnknown *pUnkOuter) PURE;
00101         STDMETHOD(DuplicateSurface)(THIS_ LPDIRECTDRAWSURFACE lpDDSurface, LPDIRECTDRAWSURFACE *lplpDupDDSurface) PURE;
00102         STDMETHOD(EnumDisplayModes)(THIS_ DWORD dwFlags, LPDDSURFACEDESC lpDDSurfaceDesc, LPVOID lpContext, LPDDENUMMODESCALLBACK lpEnumModesCallback) PURE;
00103         STDMETHOD(EnumSurfaces)(THIS_ DWORD dwFlags, LPDDSURFACEDESC lpDDSD, LPVOID lpContext, LPDDENUMSURFACESCALLBACK lpEnumSurfacesCallback) PURE;
00104         STDMETHOD(FlipToGDISurface)(THIS) PURE;
00105         STDMETHOD(GetCaps)(THIS_ LPDDCAPS lpDDDriverCaps, LPDDCAPS lpDDHELCaps) PURE;
00106         STDMETHOD(GetDisplayMode)(THIS_ LPDDSURFACEDESC lpDDSurfaceDesc) PURE;
00107         STDMETHOD(GetFourCCCodes)(THIS_ LPDWORD lpNumCodes, LPDWORD lpCodes) PURE;
00108         STDMETHOD(GetGDISurface)(THIS_ LPDIRECTDRAWSURFACE *lplpGDIDDSurface) PURE;
00109         STDMETHOD(GetMonitorFrequency)(THIS_ LPDWORD lpdwFrequency) PURE;
00110         STDMETHOD(GetScanLine)(THIS_ LPDWORD lpdwScanLine) PURE;
00111         STDMETHOD(GetVerticalBlankStatus)(THIS_ BOOL *lpbIsInVB) PURE;
00112         STDMETHOD(Initialize)(THIS_ GUID *lpGUID) PURE;
00113         STDMETHOD(RestoreDisplayMode)(THIS) PURE;
00114         STDMETHOD(SetCooperativeLevel)(THIS_ HWND hWnd, DWORD dwFlags) PURE;
00115         STDMETHOD(SetDisplayMode)(THIS_ DWORD dwWidth, DWORD dwHeight, DWORD dwBPP, DWORD dwRefreshRate, DWORD dwFlags) PURE;
00116         STDMETHOD(WaitForVerticalBlank)(THIS_ DWORD dwFlags, HANDLE hEvent) PURE;
00117         STDMETHOD(GetAvailableVidMem)(THIS_ LPDDSCAPS lpDDCaps, LPDWORD lpdwTotal, LPDWORD lpdwFree) PURE;
00118         STDMETHOD(GetSurfaceFromDC)(THIS_ HDC hdc, LPDIRECTDRAWSURFACE *pSurf) PURE;
00119     };
00120     #if !defined(__cplusplus) || defined(CINTERFACE)
00121         #define IDirectDraw3_QueryInterface(p,a,b)       (p)->lpVtbl->QueryInterface(p,a,b)
00122         #define IDirectDraw3_AddRef(p)                   (p)->lpVtbl->AddRef(p)
00123         #define IDirectDraw3_Release(p)                  (p)->lpVtbl->Release(p)
00124         #define IDirectDraw3_Compact(p)                  (p)->lpVtbl->Compact(p)
00125         #define IDirectDraw3_CreateClipper(p,a,b,c)      (p)->lpVtbl->CreateClipper(p,a,b,c)
00126         #define IDirectDraw3_CreatePalette(p,a,b,c,d)    (p)->lpVtbl->CreatePalette(p,a,b,c,d)
00127         #define IDirectDraw3_CreateSurface(p,a,b,c)      (p)->lpVtbl->CreateSurface(p,a,b,c)
00128         #define IDirectDraw3_DuplicateSurface(p,a,b)     (p)->lpVtbl->DuplicateSurface(p,a,b)
00129         #define IDirectDraw3_EnumDisplayModes(p,a,b,c,d) (p)->lpVtbl->EnumDisplayModes(p,a,b,c,d)
00130         #define IDirectDraw3_EnumSurfaces(p,a,b,c,d)     (p)->lpVtbl->EnumSurfaces(p,a,b,c,d)
00131         #define IDirectDraw3_FlipToGDISurface(p)         (p)->lpVtbl->FlipToGDISurface(p)
00132         #define IDirectDraw3_GetCaps(p,a,b)              (p)->lpVtbl->GetCaps(p,a,b)
00133         #define IDirectDraw3_GetDisplayMode(p,a)         (p)->lpVtbl->GetDisplayMode(p,a)
00134         #define IDirectDraw3_GetFourCCCodes(p,a,b)       (p)->lpVtbl->GetFourCCCodes(p,a,b)
00135         #define IDirectDraw3_GetGDISurface(p,a)          (p)->lpVtbl->GetGDISurface(p,a)
00136         #define IDirectDraw3_GetMonitorFrequency(p,a)    (p)->lpVtbl->GetMonitorFrequency(p,a)
00137         #define IDirectDraw3_GetScanLine(p,a)            (p)->lpVtbl->GetScanLine(p,a)
00138         #define IDirectDraw3_GetVerticalBlankStatus(p,a) (p)->lpVtbl->GetVerticalBlankStatus(p,a)
00139         #define IDirectDraw3_Initialize(p,a)             (p)->lpVtbl->Initialize(p,a)
00140         #define IDirectDraw3_RestoreDisplayMode(p)       (p)->lpVtbl->RestoreDisplayMode(p)
00141         #define IDirectDraw3_SetCooperativeLevel(p,a,b)  (p)->lpVtbl->SetCooperativeLevel(p,a,b)
00142         #define IDirectDraw3_SetDisplayMode(p,a,b,c,d,e) (p)->lpVtbl->SetDisplayMode(p,a,b,c,d,e)
00143         #define IDirectDraw3_WaitForVerticalBlank(p,a,b) (p)->lpVtbl->WaitForVerticalBlank(p,a,b)
00144         #define IDirectDraw3_GetAvailableVidMem(p,a,b,c) (p)->lpVtbl->GetAvailableVidMem(p,a,b,c)
00145         #define IDirectDraw3_GetSurfaceFromDC(p,a,b)    (p)->lpVtbl->GetSurfaceFromDC(p,a,b)
00146     #else
00147         #define IDirectDraw3_QueryInterface(p,a,b)       (p)->QueryInterface(a,b)
00148         #define IDirectDraw3_AddRef(p)                   (p)->AddRef()
00149         #define IDirectDraw3_Release(p)                  (p)->Release()
00150         #define IDirectDraw3_Compact(p)                  (p)->Compact()
00151         #define IDirectDraw3_CreateClipper(p,a,b,c)      (p)->CreateClipper(a,b,c)
00152         #define IDirectDraw3_CreatePalette(p,a,b,c,d)    (p)->CreatePalette(a,b,c,d)
00153         #define IDirectDraw3_CreateSurface(p,a,b,c)      (p)->CreateSurface(a,b,c)
00154         #define IDirectDraw3_DuplicateSurface(p,a,b)     (p)->DuplicateSurface(a,b)
00155         #define IDirectDraw3_EnumDisplayModes(p,a,b,c,d) (p)->EnumDisplayModes(a,b,c,d)
00156         #define IDirectDraw3_EnumSurfaces(p,a,b,c,d)     (p)->EnumSurfaces(a,b,c,d)
00157         #define IDirectDraw3_FlipToGDISurface(p)         (p)->FlipToGDISurface()
00158         #define IDirectDraw3_GetCaps(p,a,b)              (p)->GetCaps(a,b)
00159         #define IDirectDraw3_GetDisplayMode(p,a)         (p)->GetDisplayMode(a)
00160         #define IDirectDraw3_GetFourCCCodes(p,a,b)       (p)->GetFourCCCodes(a,b)
00161         #define IDirectDraw3_GetGDISurface(p,a)          (p)->GetGDISurface(a)
00162         #define IDirectDraw3_GetMonitorFrequency(p,a)    (p)->GetMonitorFrequency(a)
00163         #define IDirectDraw3_GetScanLine(p,a)            (p)->GetScanLine(a)
00164         #define IDirectDraw3_GetVerticalBlankStatus(p,a) (p)->GetVerticalBlankStatus(a)
00165         #define IDirectDraw3_Initialize(p,a)             (p)->Initialize(a)
00166         #define IDirectDraw3_RestoreDisplayMode(p)       (p)->RestoreDisplayMode()
00167         #define IDirectDraw3_SetCooperativeLevel(p,a,b)  (p)->SetCooperativeLevel(a,b)
00168         #define IDirectDraw3_SetDisplayMode(p,a,b,c,d,e) (p)->SetDisplayMode(a,b,c,d,e)
00169         #define IDirectDraw3_WaitForVerticalBlank(p,a,b) (p)->WaitForVerticalBlank(a,b)
00170         #define IDirectDraw3_GetAvailableVidMem(p,a,b,c) (p)->GetAvailableVidMem(a,b,c)
00171         #define IDirectDraw3_GetSurfaceFromDC(p,a,b)    (p)->GetSurfaceFromDC(a,b)
00172     #endif
00173 #endif
00174 
00175 #ifdef __cplusplus
00176 }
00177 #endif
00178 #endif

Generated on Fri May 25 2012 04:29:09 for ReactOS by doxygen 1.7.6.1

ReactOS is a registered trademark or a trademark of ReactOS Foundation in the United States and other countries.