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

d3dx9core.h
Go to the documentation of this file.
00001 /*
00002  * Copyright (C) 2007, 2008 Tony Wasserka
00003  *
00004  * This library is free software; you can redistribute it and/or
00005  * modify it under the terms of the GNU Lesser General Public
00006  * License as published by the Free Software Foundation; either
00007  * version 2.1 of the License, or (at your option) any later version.
00008  *
00009  * This library is distributed in the hope that it will be useful,
00010  * but WITHOUT ANY WARRANTY; without even the implied warranty of
00011  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
00012  * Lesser General Public License for more details.
00013  *
00014  * You should have received a copy of the GNU Lesser General Public
00015  * License along with this library; if not, write to the Free Software
00016  * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
00017  */
00018 
00019 #include <d3dx9.h>
00020 
00021 #ifndef __WINE_D3DX9CORE_H
00022 #define __WINE_D3DX9CORE_H
00023 
00024 /**********************************************
00025  ***************** Definitions ****************
00026  **********************************************/
00027 /* D3DX_VERSION will be completely ignored since we are
00028     implementing all dlls from d3dx9_24 to d3dx9_36 */
00029 #define D3DX_VERSION 0x0902
00030 #define D3DX_SDK_VERSION 36
00031 #define D3DXSPRITE_DONOTSAVESTATE           1
00032 #define D3DXSPRITE_DONOTMODIFY_RENDERSTATE  2
00033 #define D3DXSPRITE_OBJECTSPACE              4
00034 #define D3DXSPRITE_BILLBOARD                8
00035 #define D3DXSPRITE_ALPHABLEND              16
00036 #define D3DXSPRITE_SORT_TEXTURE            32
00037 #define D3DXSPRITE_SORT_DEPTH_FRONTTOBACK  64
00038 #define D3DXSPRITE_SORT_DEPTH_BACKTOFRONT 128
00039 #define D3DXSPRITE_DO_NOT_ADDREF_TEXTURE  256
00040 
00041 /**********************************************
00042  ******************** GUIDs *******************
00043  **********************************************/
00044 DEFINE_GUID(IID_ID3DXBuffer, 0x8ba5fb08, 0x5195, 0x40e2, 0xac, 0x58, 0xd, 0x98, 0x9c, 0x3a, 0x1, 0x2);
00045 DEFINE_GUID(IID_ID3DXFont, 0xd79dbb70, 0x5f21, 0x4d36, 0xbb, 0xc2, 0xff, 0x52, 0x5c, 0x21, 0x3c, 0xdc);
00046 DEFINE_GUID(IID_ID3DXLine, 0xd379ba7f, 0x9042, 0x4ac4, 0x9f, 0x5e, 0x58, 0x19, 0x2a, 0x4c, 0x6b, 0xd8);
00047 DEFINE_GUID(IID_ID3DXRenderToEnvMap, 0x313f1b4b, 0xc7b0, 0x4fa2, 0x9d, 0x9d, 0x8d, 0x38, 0xb, 0x64, 0x38, 0x5e);
00048 DEFINE_GUID(IID_ID3DXRenderToSurface, 0x6985f346, 0x2c3d, 0x43b3, 0xbe, 0x8b, 0xda, 0xae, 0x8a, 0x3, 0xd8, 0x94);
00049 DEFINE_GUID(IID_ID3DXSprite, 0xba0b762d, 0x7d28, 0x43ec, 0xb9, 0xdc, 0x2f, 0x84, 0x44, 0x3b, 0x6, 0x14);
00050 
00051 /**********************************************
00052  ****************** typedefs ******************
00053  **********************************************/
00054 typedef struct ID3DXBuffer *LPD3DXBUFFER;
00055 typedef struct ID3DXFont *LPD3DXFONT;
00056 typedef struct ID3DXLine *LPD3DXLINE;
00057 typedef struct ID3DXRenderToEnvMap *LPD3DXRenderToEnvMap;
00058 typedef struct ID3DXRenderToSurface *LPD3DXRENDERTOSURFACE;
00059 typedef struct ID3DXSprite *LPD3DXSPRITE;
00060 
00061 /**********************************************
00062  *********** interface declarations ***********
00063  **********************************************/
00064 #define INTERFACE ID3DXBuffer
00065 DECLARE_INTERFACE_(ID3DXBuffer, IUnknown)
00066 {
00067     /*** IUnknown methods ***/
00068     STDMETHOD(QueryInterface) (THIS_ REFIID riid, LPVOID *object) PURE;
00069     STDMETHOD_(ULONG, AddRef)(THIS) PURE;
00070     STDMETHOD_(ULONG, Release)(THIS) PURE;
00071     /*** ID3DXBuffer methods ***/
00072     STDMETHOD_(LPVOID, GetBufferPointer)(THIS) PURE;
00073     STDMETHOD_(DWORD, GetBufferSize)(THIS) PURE;
00074 };
00075 #undef INTERFACE
00076 
00077 #if !defined(__cplusplus) || defined(CINTERFACE)
00078 /*** IUnknown methods ***/
00079 #define ID3DXBuffer_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
00080 #define ID3DXBuffer_AddRef(p)             (p)->lpVtbl->AddRef(p)
00081 #define ID3DXBuffer_Release(p)            (p)->lpVtbl->Release(p)
00082 /*** ID3DXBuffer methods ***/
00083 #define ID3DXBuffer_GetBufferPointer(p)   (p)->lpVtbl->GetBufferPointer(p)
00084 #define ID3DXBuffer_GetBufferSize(p)      (p)->lpVtbl->GetBufferSize(p)
00085 #else
00086 /*** IUnknown methods ***/
00087 #define ID3DXBuffer_QueryInterface(p,a,b) (p)->QueryInterface(a,b)
00088 #define ID3DXBuffer_AddRef(p)             (p)->AddRef()
00089 #define ID3DXBuffer_Release(p)            (p)->Release()
00090 /*** ID3DXBuffer methods ***/
00091 #define ID3DXBuffer_GetBufferPointer(p)   (p)->GetBufferPointer()
00092 #define ID3DXBuffer_GetBufferSize(p)      (p)->GetBufferSize()
00093 #endif
00094 
00095 typedef struct _D3DXFONT_DESCA
00096 {
00097     INT Height;
00098     UINT Width;
00099     UINT Weight;
00100     UINT MipLevels;
00101     BOOL Italic;
00102     BYTE CharSet;
00103     BYTE OutputPrecision;
00104     BYTE Quality;
00105     BYTE PitchAndFamily;
00106     CHAR FaceName[LF_FACESIZE];
00107 } D3DXFONT_DESCA, *LPD3DXFONT_DESCA;
00108 
00109 typedef struct _D3DXFONT_DESCW
00110 {
00111     INT Height;
00112     UINT Width;
00113     UINT Weight;
00114     UINT MipLevels;
00115     BOOL Italic;
00116     BYTE CharSet;
00117     BYTE OutputPrecision;
00118     BYTE Quality;
00119     BYTE PitchAndFamily;
00120     WCHAR FaceName[LF_FACESIZE];
00121 } D3DXFONT_DESCW, *LPD3DXFONT_DESCW;
00122 
00123 DECL_WINELIB_TYPE_AW(D3DXFONT_DESC)
00124 DECL_WINELIB_TYPE_AW(LPD3DXFONT_DESC)
00125 
00126 #define INTERFACE ID3DXFont
00127 DECLARE_INTERFACE_(ID3DXFont, IUnknown)
00128 {
00129     /*** IUnknown methods ***/
00130     STDMETHOD(QueryInterface)(THIS_ REFIID riid, LPVOID *object) PURE;
00131     STDMETHOD_(ULONG, AddRef)(THIS) PURE;
00132     STDMETHOD_(ULONG, Release)(THIS) PURE;
00133     /*** ID3DXFont methods ***/
00134     STDMETHOD(GetDevice)(THIS_ LPDIRECT3DDEVICE9 *device) PURE;
00135     STDMETHOD(GetDescA)(THIS_ D3DXFONT_DESCA *desc) PURE;
00136     STDMETHOD(GetDescW)(THIS_ D3DXFONT_DESCW *desc) PURE;
00137     STDMETHOD_(BOOL, GetTextMetricsA)(THIS_ TEXTMETRICA *metrics) PURE;
00138     STDMETHOD_(BOOL, GetTextMetricsW)(THIS_ TEXTMETRICW *metrics) PURE;
00139 
00140     STDMETHOD_(HDC, GetDC)(THIS) PURE;
00141     STDMETHOD(GetGlyphData)(THIS_ UINT glyph, LPDIRECT3DTEXTURE9 *texture, RECT *blackbox, POINT *cellinc) PURE;
00142 
00143     STDMETHOD(PreloadCharacters)(THIS_ UINT first, UINT last) PURE;
00144     STDMETHOD(PreloadGlyphs)(THIS_ UINT first, UINT last) PURE;
00145     STDMETHOD(PreloadTextA)(THIS_ LPCSTR string, INT count) PURE;
00146     STDMETHOD(PreloadTextW)(THIS_ LPCWSTR string, INT count) PURE;
00147 
00148     STDMETHOD_(INT, DrawTextA)(THIS_ LPD3DXSPRITE sprite, LPCSTR string, INT count, LPRECT rect, DWORD format, D3DCOLOR color) PURE;
00149     STDMETHOD_(INT, DrawTextW)(THIS_ LPD3DXSPRITE sprite, LPCWSTR string, INT count, LPRECT rect, DWORD format, D3DCOLOR color) PURE;
00150 
00151     STDMETHOD(OnLostDevice)(THIS) PURE;
00152     STDMETHOD(OnResetDevice)(THIS) PURE;
00153 };
00154 #undef INTERFACE
00155 
00156 #if !defined(__cplusplus) || defined(CINTERFACE)
00157 
00158 /*** IUnknown methods ***/
00159 #define ID3DXFont_QueryInterface(p,a,b)    (p)->lpVtbl->QueryInterface(p,a,b)
00160 #define ID3DXFont_AddRef(p)                (p)->lpVtbl->AddRef(p)
00161 #define ID3DXFont_Release(p)               (p)->lpVtbl->Release(p)
00162 /*** ID3DXFont methods ***/
00163 #define ID3DXFont_GetDevice(p,a)           (p)->lpVtbl->GetDevice(p,a)
00164 #define ID3DXFont_GetDescA(p,a)            (p)->lpVtbl->GetDescA(p,a)
00165 #define ID3DXFont_GetDescW(p,a)            (p)->lpVtbl->GetDescW(p,a)
00166 #define ID3DXFont_GetTextMetricsA(p,a)     (p)->lpVtbl->GetTextMetricsA(p,a)
00167 #define ID3DXFont_GetTextMetricsW(p,a)     (p)->lpVtbl->GetTextMetricsW(p,a)
00168 #define ID3DXFont_GetDC(p)                 (p)->lpVtbl->GetDC(p)
00169 #define ID3DXFont_GetGlyphData(p,a,b,c,d)  (p)->lpVtbl->GetGlyphData(p,a,b,c,d)
00170 #define ID3DXFont_PreloadCharacters(p,a,b) (p)->lpVtbl->PreloadCharacters(p,a,b)
00171 #define ID3DXFont_PreloadGlyphs(p,a,b)     (p)->lpVtbl->PreloadGlyphs(p,a,b)
00172 #define ID3DXFont_PreloadTextA(p,a,b)      (p)->lpVtbl->PreloadTextA(p,a,b)
00173 #define ID3DXFont_PreloadTextW(p,a,b)      (p)->lpVtbl->PreloadTextW(p,a,b)
00174 #define ID3DXFont_DrawTextA(p,a,b,c,d,e,f) (p)->lpVtbl->DrawTextA(p,a,b,c,d,e,f)
00175 #define ID3DXFont_DrawTextW(p,a,b,c,d,e,f) (p)->lpVtbl->DrawTextW(p,a,b,c,d,e,f)
00176 #define ID3DXFont_OnLostDevice(p)          (p)->lpVtbl->OnLostDevice(p)
00177 #define ID3DXFont_OnResetDevice(p)         (p)->lpVtbl->OnResetDevice(p)
00178 #else
00179 /*** IUnknown methods ***/
00180 #define ID3DXFont_QueryInterface(p,a,b)    (p)->QueryInterface(a,b)
00181 #define ID3DXFont_AddRef(p)                (p)->AddRef()
00182 #define ID3DXFont_Release(p)               (p)->Release()
00183 /*** ID3DXFont methods ***/
00184 #define ID3DXFont_GetDevice(p,a)           (p)->GetDevice(a)
00185 #define ID3DXFont_GetDescA(p,a)            (p)->GetDescA(a)
00186 #define ID3DXFont_GetDescW(p,a)            (p)->GetDescW(a)
00187 #define ID3DXFont_GetTextMetricsA(p,a)     (p)->GetTextMetricsA(a)
00188 #define ID3DXFont_GetTextMetricsW(p,a)     (p)->GetTextMetricsW(a)
00189 #define ID3DXFont_GetDC(p)                 (p)->GetDC()
00190 #define ID3DXFont_GetGlyphData(p,a,b,c,d)  (p)->GetGlyphData(a,b,c,d)
00191 #define ID3DXFont_PreloadCharacters(p,a,b) (p)->PreloadCharacters(a,b)
00192 #define ID3DXFont_PreloadGlyphs(p,a,b)     (p)->PreloadGlyphs(a,b)
00193 #define ID3DXFont_PreloadTextA(p,a,b)      (p)->PreloadTextA(a,b)
00194 #define ID3DXFont_PreloadTextW(p,a,b)      (p)->PreloadTextW(a,b)
00195 #define ID3DXFont_DrawTextA(p,a,b,c,d,e,f) (p)->DrawTextA(a,b,c,d,e,f)
00196 #define ID3DXFont_DrawTextW(p,a,b,c,d,e,f) (p)->DrawTextW(a,b,c,d,e,f)
00197 #define ID3DXFont_OnLostDevice(p)          (p)->OnLostDevice()
00198 #define ID3DXFont_OnResetDevice(p)         (p)->OnResetDevice()
00199 #endif
00200 #define ID3DXFont_DrawText       WINELIB_NAME_AW(ID3DXFont_DrawText)
00201 #define ID3DXFont_GetDesc        WINELIB_NAME_AW(ID3DXFont_GetDesc)
00202 #define ID3DXFont_GetTextMetrics WINELIB_NAME_AW(ID3DXFont_GetTextMetrics)
00203 #define ID3DXFont_PreloadText    WINELIB_NAME_AW(ID3DXFont_PreloadText)
00204 
00205 #define INTERFACE ID3DXLine
00206 DECLARE_INTERFACE_(ID3DXLine, IUnknown)
00207 {
00208     /*** IUnknown methods ***/
00209     STDMETHOD(QueryInterface)(THIS_ REFIID riid, LPVOID *object) PURE;
00210     STDMETHOD_(ULONG, AddRef)(THIS) PURE;
00211     STDMETHOD_(ULONG, Release)(THIS) PURE;
00212 
00213     /*** ID3DXLine methods ***/
00214     STDMETHOD(GetDevice)(THIS_ LPDIRECT3DDEVICE9 *device) PURE;
00215 
00216     STDMETHOD(Begin)(THIS) PURE;
00217     STDMETHOD(Draw)(THIS_ CONST D3DXVECTOR2 *vertexlist, DWORD vertexlistcount, D3DCOLOR color) PURE;
00218     STDMETHOD(DrawTransform)(THIS_ CONST D3DXVECTOR3 *vertexlist, DWORD vertexlistcount,
00219                              CONST D3DXMATRIX *transform, D3DCOLOR color) PURE;
00220     STDMETHOD(SetPattern)(THIS_ DWORD pattern) PURE;
00221     STDMETHOD_(DWORD, GetPattern)(THIS) PURE;
00222     STDMETHOD(SetPatternScale)(THIS_ FLOAT scale) PURE;
00223     STDMETHOD_(FLOAT, GetPatternScale)(THIS) PURE;
00224     STDMETHOD(SetWidth)(THIS_ FLOAT width) PURE;
00225     STDMETHOD_(FLOAT, GetWidth)(THIS) PURE;
00226     STDMETHOD(SetAntialias)(THIS_ BOOL antialias) PURE;
00227     STDMETHOD_(BOOL, GetAntialias)(THIS) PURE;
00228     STDMETHOD(SetGLLines)(THIS_ BOOL gl_lines) PURE;
00229     STDMETHOD_(BOOL, GetGLLines)(THIS) PURE;
00230     STDMETHOD(End)(THIS) PURE;
00231 
00232     STDMETHOD(OnLostDevice)(THIS) PURE;
00233     STDMETHOD(OnResetDevice)(THIS) PURE;
00234 };
00235 #undef INTERFACE
00236 
00237 #if !defined(__cplusplus) || defined(CINTERFACE)
00238 /*** IUnknown methods ***/
00239 #define ID3DXLine_QueryInterface(p,a,b)    (p)->lpVtbl->QueryInterface(p,a,b)
00240 #define ID3DXLine_AddRef(p)                (p)->lpVtbl->AddRef(p)
00241 #define ID3DXLine_Release(p)               (p)->lpVtbl->Release(p)
00242 /*** ID3DXLine methods ***/
00243 #define ID3DXLine_GetDevice(p,a)           (p)->lpVtbl->GetDevice(p,a)
00244 #define ID3DXLine_Begin(p)                 (p)->lpVtbl->Begin(p)
00245 #define ID3DXLine_Draw(p,a,b,c)            (p)->lpVtbl->Draw(p,a,b,c)
00246 #define ID3DXLine_DrawTransform(p,a,b,c,d) (p)->lpVtbl->DrawTransform(p,a,b,c,d)
00247 #define ID3DXLine_SetPattern(p,a)          (p)->lpVtbl->SetPattern(p,a)
00248 #define ID3DXLine_GetPattern(p)            (p)->lpVtbl->GetPattern(p)
00249 #define ID3DXLine_SetPatternScale(p,a)     (p)->lpVtbl->SetPatternScale(p,a)
00250 #define ID3DXLine_GetPatternScale(p)       (p)->lpVtbl->GetPatternScale(p)
00251 #define ID3DXLine_SetWidth(p,a)            (p)->lpVtbl->SetWidth(p,a)
00252 #define ID3DXLine_GetWidth(p)              (p)->lpVtbl->GetWidth(p)
00253 #define ID3DXLine_SetAntialias(p,a)        (p)->lpVtbl->SetAntialias(p,a)
00254 #define ID3DXLine_GetAntialias(p)          (p)->lpVtbl->GetAntialias(p)
00255 #define ID3DXLine_SetGLLines(p,a)          (p)->lpVtbl->SetGLLines(p,a)
00256 #define ID3DXLine_GetGLLines(p)            (p)->lpVtbl->GetGLLines(p)
00257 #define ID3DXLine_End(p)                   (p)->lpVtbl->End(p)
00258 #define ID3DXLine_OnLostDevice(p)          (p)->lpVtbl->OnLostDevice(p)
00259 #define ID3DXLine_OnResetDevice(p)         (p)->lpVtbl->OnResetDevice(p)
00260 #else
00261 /*** IUnknown methods ***/
00262 #define ID3DXLine_QueryInterface(p,a,b)    (p)->QueryInterface(a,b)
00263 #define ID3DXLine_AddRef(p)                (p)->AddRef()
00264 #define ID3DXLine_Release(p)               (p)->Release()
00265 /*** ID3DXLine methods ***/
00266 #define ID3DXLine_GetDevice(p,a)           (p)->GetDevice(a)
00267 #define ID3DXLine_Begin(p)                 (p)->Begin()
00268 #define ID3DXLine_Draw(p,a,b,c)            (p)->Draw(a,b,c)
00269 #define ID3DXLine_DrawTransform(p,a,b,c,d) (p)->DrawTransform(a,b,c,d)
00270 #define ID3DXLine_SetPattern(p,a)          (p)->SetPattern(a)
00271 #define ID3DXLine_GetPattern(p)            (p)->GetPattern()
00272 #define ID3DXLine_SetPatternScale(p,a)     (p)->SetPatternScale(a)
00273 #define ID3DXLine_GetPatternScale(p)       (p)->GetPatternScale()
00274 #define ID3DXLine_SetWidth(p,a)            (p)->SetWidth(a)
00275 #define ID3DXLine_GetWidth(p)              (p)->GetWidth()
00276 #define ID3DXLine_SetAntialias(p,a)        (p)->SetAntialias(a)
00277 #define ID3DXLine_GetAntialias(p)          (p)->GetAntialias()
00278 #define ID3DXLine_SetGLLines(p,a)          (p)->SetGLLines(a)
00279 #define ID3DXLine_GetGLLines(p)            (p)->GetGLLines()
00280 #define ID3DXLine_End(p)                   (p)->End()
00281 #define ID3DXLine_OnLostDevice(p)          (p)->OnLostDevice()
00282 #define ID3DXLine_OnResetDevice(p)         (p)->OnResetDevice()
00283 #endif
00284 
00285 typedef struct _D3DXRTE_DESC
00286 {
00287     UINT Size;
00288     UINT MipLevels;
00289     D3DFORMAT Format;
00290     BOOL DepthStencil;
00291     D3DFORMAT DepthStencilFormat;
00292 } D3DXRTE_DESC;
00293 
00294 #define INTERFACE ID3DXRenderToEnvMap
00295 DECLARE_INTERFACE_(ID3DXRenderToEnvMap, IUnknown)
00296 {
00297     /*** IUnknown methods ***/
00298     STDMETHOD(QueryInterface)(THIS_ REFIID riid, LPVOID *object) PURE;
00299     STDMETHOD_(ULONG, AddRef)(THIS) PURE;
00300     STDMETHOD_(ULONG, Release)(THIS) PURE;
00301 
00302     /*** ID3DXRenderToEnvMap methods ***/
00303     STDMETHOD(GetDevice)(THIS_ LPDIRECT3DDEVICE9 *device) PURE;
00304     STDMETHOD(GetDesc)(THIS_ D3DXRTE_DESC *desc) PURE;
00305 
00306     STDMETHOD(BeginCube)(THIS_ LPDIRECT3DCUBETEXTURE9 cubetex) PURE;
00307     STDMETHOD(BeginSphere)(THIS_ LPDIRECT3DTEXTURE9 tex) PURE;
00308     STDMETHOD(BeginHemisphere)(THIS_ LPDIRECT3DTEXTURE9 texzpos, LPDIRECT3DTEXTURE9 texzneg) PURE;
00309     STDMETHOD(BeginParabolic)(THIS_ LPDIRECT3DTEXTURE9 texzpos, LPDIRECT3DTEXTURE9 texzneg) PURE;
00310 
00311     STDMETHOD(Face)(THIS_ D3DCUBEMAP_FACES face, DWORD mipfilter) PURE;
00312     STDMETHOD(End)(THIS_ DWORD mipfilter) PURE;
00313 
00314     STDMETHOD(OnLostDevice)(THIS) PURE;
00315     STDMETHOD(OnResetDevice)(THIS) PURE;
00316 };
00317 #undef INTERFACE
00318 
00319 #if !defined(__cplusplus) || defined(CINTERFACE)
00320 /*** IUnknown methods ***/
00321 #define ID3DXRenderToEnvMap_QueryInterface(p,a,b)  (p)->lpVtbl->QueryInterface(p,a,b)
00322 #define ID3DXRenderToEnvMap_AddRef(p)              (p)->lpVtbl->AddRef(p)
00323 #define ID3DXRenderToEnvMap_Release(p)             (p)->lpVtbl->Release(p)
00324 /*** ID3DXRenderToEnvMap methods ***/
00325 #define ID3DXRenderToEnvMap_GetDevice(p,a)         (p)->lpVtbl->GetDevice(p,a)
00326 #define ID3DXRenderToEnvMap_GetDesc(p,a)           (p)->lpVtbl->GetDesc(p,a)
00327 #define ID3DXRenderToEnvMap_BeginCube(p,a)         (p)->lpVtbl->BeginCube(p,a)
00328 #define ID3DXRenderToEnvMap_BeginSphere(p,a)       (p)->lpVtbl->BeginSphere(p,a)
00329 #define ID3DXRenderToEnvMap_BeginHemisphere(p,a,b) (p)->lpVtbl->BeginHemisphere(p,a,b)
00330 #define ID3DXRenderToEnvMap_BeginParabolic(p,a,b)  (p)->lpVtbl->BeginParabolic(p,a,b)
00331 #define ID3DXRenderToEnvMap_Face(p,a,b)            (p)->lpVtbl->Face(p,a,b)
00332 #define ID3DXRenderToEnvMap_End(p,a)               (p)->lpVtbl->End(p,a)
00333 #define ID3DXRenderToEnvMap_OnLostDevice(p)        (p)->lpVtbl->OnLostDevice(p)
00334 #define ID3DXRenderToEnvMap_OnLostDevice(p)        (p)->lpVtbl->OnLostDevice(p)
00335 #else
00336 /*** IUnknown methods ***/
00337 #define ID3DXRenderToEnvMap_QueryInterface(p,a,b)  (p)->QueryInterface(a,b)
00338 #define ID3DXRenderToEnvMap_AddRef(p)              (p)->AddRef()
00339 #define ID3DXRenderToEnvMap_Release(p)             (p)->Release()
00340 /*** ID3DXRenderToEnvMap methods ***/
00341 #define ID3DXRenderToEnvMap_GetDevice(p,a)         (p)->GetDevice(a)
00342 #define ID3DXRenderToEnvMap_GetDesc(p,a)           (p)->GetDesc(a)
00343 #define ID3DXRenderToEnvMap_BeginCube(p,a)         (p)->BeginCube(a)
00344 #define ID3DXRenderToEnvMap_BeginSphere(p,a)       (p)->BeginSphere(a)
00345 #define ID3DXRenderToEnvMap_BeginHemisphere(p,a,b) (p)->BeginHemisphere(a,b)
00346 #define ID3DXRenderToEnvMap_BeginParabolic(p,a,b)  (p)->BeginParabolic(a,b)
00347 #define ID3DXRenderToEnvMap_Face(p,a,b)            (p)->Face(a,b)
00348 #define ID3DXRenderToEnvMap_End(p,a)               (p)->End(a)
00349 #define ID3DXRenderToEnvMap_OnLostDevice(p)        (p)->OnLostDevice()
00350 #define ID3DXRenderToEnvMap_OnLostDevice(p)        (p)->OnLostDevice()
00351 #endif
00352 
00353 typedef struct _D3DXRTS_DESC
00354 {
00355     UINT Width;
00356     UINT Height;
00357     D3DFORMAT Format;
00358     BOOL DepthStencil;
00359     D3DFORMAT DepthStencilFormat;
00360 } D3DXRTS_DESC;
00361 
00362 #define INTERFACE ID3DXRenderToSurface
00363 DECLARE_INTERFACE_(ID3DXRenderToSurface, IUnknown)
00364 {
00365     /*** IUnknown methods ***/
00366     STDMETHOD(QueryInterface) (THIS_ REFIID riid, LPVOID *object) PURE;
00367     STDMETHOD_(ULONG, AddRef)(THIS) PURE;
00368     STDMETHOD_(ULONG, Release)(THIS) PURE;
00369     /*** ID3DXRenderToSurface methods ***/
00370     STDMETHOD(GetDevice)(THIS_ LPDIRECT3DDEVICE9 *device) PURE;
00371     STDMETHOD(GetDesc)(THIS_ D3DXRTS_DESC *desc) PURE;
00372 
00373     STDMETHOD(BeginScene)(THIS_ LPDIRECT3DSURFACE9 surface, CONST D3DVIEWPORT9 *viewport) PURE;
00374     STDMETHOD(EndScene)(THIS_ DWORD mipfilter) PURE;
00375 
00376     STDMETHOD(OnLostDevice)(THIS) PURE;
00377     STDMETHOD(OnResetDevice)(THIS) PURE;
00378 };
00379 #undef INTERFACE
00380 
00381 #if !defined(__cplusplus) || defined(CINTERFACE)
00382 /*** IUnknown methods ***/
00383 #define ID3DXRenderToSurface_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
00384 #define ID3DXRenderToSurface_AddRef(p)             (p)->lpVtbl->AddRef(p)
00385 #define ID3DXRenderToSurface_Release(p)            (p)->lpVtbl->Release(p)
00386 /*** ID3DXRenderToSurface methods ***/
00387 #define ID3DXRenderToSurface_GetDevice(p,a)        (p)->lpVtbl->GetDevice(p,a)
00388 #define ID3DXRenderToSurface_GetDesc(p,a)          (p)->lpVtbl->GetDesc(p,a)
00389 #define ID3DXRenderToSurface_BeginScene(p,a,b)     (p)->lpVtbl->BeginScene(p,a,b)
00390 #define ID3DXRenderToSurface_EndScene(p,a)         (p)->lpVtbl->EndScene(p,a)
00391 #define ID3DXRenderToSurface_OnLostDevice(p)       (p)->lpVtbl->OnLostDevice(p)
00392 #define ID3DXRenderToSurface_OnResetDevice(p)      (p)->lpVtbl->OnResetDevice(p)
00393 #else
00394 /*** IUnknown methods ***/
00395 #define ID3DXRenderToSurface_QueryInterface(p,a,b) (p)->QueryInterface(a,b)
00396 #define ID3DXRenderToSurface_AddRef(p)             (p)->AddRef()
00397 #define ID3DXRenderToSurface_Release(p)            (p)->Release()
00398 /*** ID3DXRenderToSurface methods ***/
00399 #define ID3DXRenderToSurface_GetDevice(p,a)        (p)->GetDevice(a)
00400 #define ID3DXRenderToSurface_GetDesc(p,a)          (p)->GetDesc(a)
00401 #define ID3DXRenderToSurface_BeginScene(p,a,b)     (p)->BeginScene(a,b)
00402 #define ID3DXRenderToSurface_EndScene(p,a)         (p)->EndScene(a)
00403 #define ID3DXRenderToSurface_OnLostDevice(p)       (p)->OnLostDevice()
00404 #define ID3DXRenderToSurface_OnResetDevice(p)      (p)->OnResetDevice()
00405 #endif
00406 
00407 #define INTERFACE ID3DXSprite
00408 DECLARE_INTERFACE_(ID3DXSprite, IUnknown)
00409 {
00410     /*** IUnknown methods ***/
00411     STDMETHOD(QueryInterface)(THIS_ REFIID riid, LPVOID *object) PURE;
00412     STDMETHOD_(ULONG, AddRef)(THIS) PURE;
00413     STDMETHOD_(ULONG, Release)(THIS) PURE;
00414     /*** ID3DXSprite methods ***/
00415     STDMETHOD(GetDevice)(THIS_ LPDIRECT3DDEVICE9 *device) PURE;
00416 
00417     STDMETHOD(GetTransform)(THIS_ D3DXMATRIX *transform) PURE;
00418     STDMETHOD(SetTransform)(THIS_ CONST D3DXMATRIX *transform) PURE;
00419     STDMETHOD(SetWorldViewRH)(THIS_ CONST D3DXMATRIX *world, CONST D3DXMATRIX *view) PURE;
00420     STDMETHOD(SetWorldViewLH)(THIS_ CONST D3DXMATRIX *world, CONST D3DXMATRIX *view) PURE;
00421 
00422     STDMETHOD(Begin)(THIS_ DWORD flags) PURE;
00423     STDMETHOD(Draw)(THIS_ LPDIRECT3DTEXTURE9 texture, CONST RECT *rect, CONST D3DXVECTOR3 *center, CONST D3DXVECTOR3 *position, D3DCOLOR color) PURE;
00424     STDMETHOD(Flush)(THIS) PURE;
00425     STDMETHOD(End)(THIS) PURE;
00426 
00427     STDMETHOD(OnLostDevice)(THIS) PURE;
00428     STDMETHOD(OnResetDevice)(THIS) PURE;
00429 };
00430 #undef INTERFACE
00431 
00432 #if !defined(__cplusplus) || defined(CINTERFACE)
00433 /*** IUnknown methods ***/
00434 #define ID3DXSprite_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
00435 #define ID3DXSprite_AddRef(p)             (p)->lpVtbl->AddRef(p)
00436 #define ID3DXSprite_Release(p)            (p)->lpVtbl->Release(p)
00437 /*** ID3DXSprite methods ***/
00438 #define ID3DXSprite_GetDevice(p,a)        (p)->lpVtbl->GetDevice(p,a)
00439 #define ID3DXSprite_GetTransform(p,a)     (p)->lpVtbl->GetTransform(p,a)
00440 #define ID3DXSprite_SetTransform(p,a)     (p)->lpVtbl->SetTransform(p,a)
00441 #define ID3DXSprite_SetWorldViewRH(p,a,b) (p)->lpVtbl->SetWorldViewRH(p,a,b)
00442 #define ID3DXSprite_SetWorldViewLH(p,a,b) (p)->lpVtbl->SetWorldViewLH(p,a,b)
00443 #define ID3DXSprite_Begin(p,a)            (p)->lpVtbl->Begin(p,a)
00444 #define ID3DXSprite_Draw(p,a,b,c,d,e)     (p)->lpVtbl->Draw(p,a,b,c,d,e)
00445 #define ID3DXSprite_Flush(p)              (p)->lpVtbl->Flush(p)
00446 #define ID3DXSprite_End(p)                (p)->lpVtbl->End(p)
00447 #define ID3DXSprite_OnLostDevice(p)       (p)->lpVtbl->OnLostDevice(p)
00448 #define ID3DXSprite_OnResetDevice(p)      (p)->lpVtbl->OnResetDevice(p)
00449 #else
00450 /*** IUnknown methods ***/
00451 #define ID3DXSprite_QueryInterface(p,a,b)    (p)->QueryInterface(a,b)
00452 #define ID3DXSprite_AddRef(p)                (p)->AddRef()
00453 #define ID3DXSprite_Release(p)               (p)->Release()
00454 /*** ID3DXSprite methods ***/
00455 #define ID3DXSprite_GetDevice(p,a)        (p)->GetDevice(a)
00456 #define ID3DXSprite_GetTransform(p,a)     (p)->GetTransform(a)
00457 #define ID3DXSprite_SetTransform(p,a)     (p)->SetTransform(a)
00458 #define ID3DXSprite_SetWorldViewRH(p,a,b) (p)->SetWorldViewRH(a,b)
00459 #define ID3DXSprite_SetWorldViewLH(p,a,b) (p)->SetWorldViewLH(a,b)
00460 #define ID3DXSprite_Begin(p,a)            (p)->Begin(a)
00461 #define ID3DXSprite_Draw(p,a,b,c,d,e)     (p)->Draw(a,b,c,d,e)
00462 #define ID3DXSprite_Flush(p)              (p)->Flush()
00463 #define ID3DXSprite_End(p)                (p)->End()
00464 #define ID3DXSprite_OnLostDevice(p)       (p)->OnLostDevice()
00465 #define ID3DXSprite_OnResetDevice(p)      (p)->OnResetDevice()
00466 #endif
00467 
00468 /**********************************************
00469  ****************** functions *****************
00470  **********************************************/
00471 #ifdef __cplusplus
00472 extern "C" {
00473 #endif
00474 
00475 BOOL    WINAPI D3DXCheckVersion(UINT d3dsdkvers, UINT d3dxsdkvers);
00476 HRESULT WINAPI D3DXCreateFontA(LPDIRECT3DDEVICE9 device, INT height, UINT width, UINT weight, UINT miplevels, BOOL italic, DWORD charset,
00477                                DWORD precision, DWORD quality, DWORD pitchandfamily, LPCSTR facename, LPD3DXFONT *font);
00478 HRESULT WINAPI D3DXCreateFontW(LPDIRECT3DDEVICE9 device, INT height, UINT width, UINT weight, UINT miplevels, BOOL italic, DWORD charset,
00479                                DWORD precision, DWORD quality, DWORD pitchandfamily, LPCWSTR facename, LPD3DXFONT *font);
00480 #define        D3DXCreateFont WINELIB_NAME_AW(D3DXCreateFont)
00481 HRESULT WINAPI D3DXCreateFontIndirectA(LPDIRECT3DDEVICE9 device, CONST D3DXFONT_DESCA *desc, LPD3DXFONT *font);
00482 HRESULT WINAPI D3DXCreateFontIndirectW(LPDIRECT3DDEVICE9 device, CONST D3DXFONT_DESCW *desc, LPD3DXFONT *font);
00483 #define        D3DXCreateFontIndirect WINELIB_NAME_AW(D3DXCreateFontIndirect)
00484 HRESULT WINAPI D3DXCreateLine(LPDIRECT3DDEVICE9 device, LPD3DXLINE *line);
00485 HRESULT WINAPI D3DXCreateRenderToEnvMap(LPDIRECT3DDEVICE9 device, UINT size, UINT miplevels, D3DFORMAT format, BOOL stencil, D3DFORMAT stencil_format, LPD3DXRenderToEnvMap *rtem);
00486 HRESULT WINAPI D3DXCreateRenderToSurface(LPDIRECT3DDEVICE9 device, UINT width, UINT height, D3DFORMAT format, BOOL stencil, D3DFORMAT stencil_format, LPD3DXRENDERTOSURFACE *rts);
00487 HRESULT WINAPI D3DXCreateSprite(LPDIRECT3DDEVICE9 device, LPD3DXSPRITE *sprite);
00488 BOOL    WINAPI D3DXDebugMute(BOOL mute);
00489 UINT    WINAPI D3DXGetDriverLevel(LPDIRECT3DDEVICE9 device);
00490 
00491 #ifdef __cplusplus
00492 }
00493 #endif
00494 
00495 #endif /* __WINE_D3DX9CORE_H */

Generated on Fri May 25 2012 04:29:08 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.