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

d3dx8core.h
Go to the documentation of this file.
00001 /*
00002  * Copyright (C) 2002 Raphael Junqueira
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 Street, Fifth Floor, Boston, MA  02110-1301  USA
00017  */
00018 
00019 #ifndef __WINE_D3DX8CORE_H
00020 #define __WINE_D3DX8CORE_H
00021 
00022 #include <objbase.h>
00023 
00024 #include <d3d8.h>
00025 #include <d3d8types.h>
00026 #include <d3d8caps.h>
00027 
00028 /*****************************************************************************
00029  * #defines and error codes
00030  */
00031 #define D3DXASM_DEBUG           1
00032 #define D3DXASM_SKIPVALIDATION  2
00033 
00034 #define _FACD3D  0x876
00035 #define MAKE_D3DXHRESULT( code )  MAKE_HRESULT( 1, _FACD3D, code )
00036 
00037 /*
00038  * Direct3D Errors
00039  */
00040 #define D3DXERR_CANNOTATTRSORT                  MAKE_D3DXHRESULT(2158)
00041 #define D3DXERR_CANNOTMODIFYINDEXBUFFER         MAKE_D3DXHRESULT(2159)
00042 #define D3DXERR_INVALIDMESH                     MAKE_D3DXHRESULT(2160)
00043 #define D3DXERR_SKINNINGNOTSUPPORTED            MAKE_D3DXHRESULT(2161)
00044 #define D3DXERR_TOOMANYINFLUENCES               MAKE_D3DXHRESULT(2162)
00045 #define D3DXERR_INVALIDDATA                     MAKE_D3DXHRESULT(2163)
00046 
00047 /*****************************************************************************
00048  * Predeclare the interfaces
00049  */
00050 DEFINE_GUID(IID_ID3DXBuffer,             0x1,0x1,0x4,0xB0,0xCF,0x98,0xFE,0xFD,0xFF,0x95,0x12);/* FIXME */
00051 typedef struct ID3DXBuffer              ID3DXBuffer, *LPD3DXBUFFER;
00052 DEFINE_GUID(IID_ID3DXFont,               0x1,0x1,0x4,0xB0,0xCF,0x98,0xFE,0xFD,0xFF,0x95,0x13);/* FIXME */
00053 typedef struct ID3DXFont                ID3DXFont, *LPD3DXFONT;
00054 
00055 /*****************************************************************************
00056  * ID3DXBuffer interface
00057  */
00058 #define INTERFACE ID3DXBuffer
00059 DECLARE_INTERFACE_(ID3DXBuffer,IUnknown)
00060 {
00061     /*** IUnknown methods ***/
00062     STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE;
00063     STDMETHOD_(ULONG,AddRef)(THIS) PURE;
00064     STDMETHOD_(ULONG,Release)(THIS) PURE;
00065     /*** ID3DXBuffer methods ***/
00066     STDMETHOD_(LPVOID,GetBufferPointer)(THIS) PURE;
00067     STDMETHOD_(DWORD,GetBufferSize)(THIS) PURE;
00068 };
00069 #undef INTERFACE
00070 
00071 #if !defined(__cplusplus) || defined(CINTERFACE)
00072 /*** IUnknown methods ***/
00073 #define ID3DXBuffer_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
00074 #define ID3DXBuffer_AddRef(p)             (p)->lpVtbl->AddRef(p)
00075 #define ID3DXBuffer_Release(p)            (p)->lpVtbl->Release(p)
00076 /*** ID3DXBuffer methods ***/
00077 #define ID3DXBuffer_GetBufferPointer(p)   (p)->lpVtbl->GetBufferPointer(p)
00078 #define ID3DXBuffer_GetBufferSize(p)      (p)->lpVtbl->GetBufferSize(p)
00079 #endif
00080 
00081 /*****************************************************************************
00082  * ID3DXFont interface
00083  */
00084 #define INTERFACE ID3DXFont
00085 DECLARE_INTERFACE_(ID3DXFont,IUnknown)
00086 {
00087     /*** IUnknown methods ***/
00088     STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE;
00089     STDMETHOD_(ULONG,AddRef)(THIS) PURE;
00090     STDMETHOD_(ULONG,Release)(THIS) PURE;
00091     /*** ID3DXFont methods ***/
00092     STDMETHOD(Begin)(THIS) PURE;
00093     STDMETHOD(DrawTextA)(THIS) PURE;
00094     STDMETHOD(End)(THIS) PURE;
00095 };
00096 #undef INTERFACE
00097 
00098 #if !defined(__cplusplus) || defined(CINTERFACE)
00099 /*** IUnknown methods ***/
00100 #define ID3DXFont_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
00101 #define ID3DXFont_AddRef(p)             (p)->lpVtbl->AddRef(p)
00102 #define ID3DXFont_Release(p)            (p)->lpVtbl->Release(p)
00103 /*** ID3DXFont methods ***/
00104 #define ID3DXFont_Begin(p)              (p)->lpVtbl->Begin(p)
00105 #define ID3DXFont_DrawTextA(p,a,b,c,d,e)(p)->lpVtbl->DrawText(p,a,b,c,d,e)
00106 #define ID3DXFont_End(p)                (p)->lpVtbl->End(p)
00107 #endif
00108 
00109 /*************************************************************************************
00110  * Define entrypoints
00111  */
00112 HRESULT WINAPI D3DXCreateBuffer(DWORD NumBytes, LPD3DXBUFFER* ppBuffer);
00113 HRESULT WINAPI D3DXCreateFont(LPDIRECT3DDEVICE8 pDevice, HFONT hFont, LPD3DXFONT* ppFont);
00114 UINT WINAPI D3DXGetFVFVertexSize(DWORD FVF);
00115 HRESULT WINAPI D3DXAssembleShader(LPCVOID pSrcData, UINT SrcDataLen, DWORD Flags,
00116                LPD3DXBUFFER* ppConstants,
00117                LPD3DXBUFFER* ppCompiledShader,
00118                LPD3DXBUFFER* ppCompilationErrors);
00119 HRESULT WINAPI D3DXAssembleShaderFromFileA(LPSTR pSrcFile, DWORD Flags,
00120                     LPD3DXBUFFER* ppConstants,
00121                     LPD3DXBUFFER* ppCompiledShader,
00122                     LPD3DXBUFFER* ppCompilationErrors);
00123 HRESULT WINAPI D3DXAssembleShaderFromFileW(LPSTR pSrcFile, DWORD Flags,
00124                     LPD3DXBUFFER* ppConstants,
00125                     LPD3DXBUFFER* ppCompiledShader,
00126                     LPD3DXBUFFER* ppCompilationErrors);
00127 
00128 #endif /* __WINE_D3DX8CORE_H */

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