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

d3dx9_36_private.h
Go to the documentation of this file.
00001 /*
00002  * Copyright (C) 2002 Raphael Junqueira
00003  * Copyright (C) 2008 David Adam
00004  * Copyright (C) 2008 Tony Wasserka
00005  *
00006  * This library is free software; you can redistribute it and/or
00007  * modify it under the terms of the GNU Lesser General Public
00008  * License as published by the Free Software Foundation; either
00009  * version 2.1 of the License, or (at your option) any later version.
00010  *
00011  * This library is distributed in the hope that it will be useful,
00012  * but WITHOUT ANY WARRANTY; without even the implied warranty of
00013  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
00014  * Lesser General Public License for more details.
00015  *
00016  * You should have received a copy of the GNU Lesser General Public
00017  * License along with this library; if not, write to the Free Software
00018  * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
00019  *
00020  */
00021 
00022 #ifndef __WINE_D3DX9_36_PRIVATE_H
00023 #define __WINE_D3DX9_36_PRIVATE_H
00024 
00025 #include <stdarg.h>
00026 
00027 #define COBJMACROS
00028 #include "winbase.h"
00029 #include "wingdi.h"
00030 #include "winuser.h"
00031 #include "d3dx9.h"
00032 
00033 /* for internal use */
00034 typedef enum _FormatType {
00035     FORMAT_ARGB,   /* unsigned */
00036     FORMAT_UNKNOWN
00037 } FormatType;
00038 
00039 typedef struct _PixelFormatDesc {
00040     D3DFORMAT format;
00041     BYTE bits[4];
00042     BYTE shift[4];
00043     UINT bytes_per_pixel;
00044     FormatType type;
00045 } PixelFormatDesc;
00046 
00047 HRESULT map_view_of_file(LPCWSTR filename, LPVOID *buffer, DWORD *length);
00048 HRESULT load_resource_into_memory(HMODULE module, HRSRC resinfo, LPVOID *buffer, DWORD *length);
00049 
00050 const PixelFormatDesc *get_format_info(D3DFORMAT format);
00051 
00052 
00053 extern const ID3DXBufferVtbl D3DXBuffer_Vtbl;
00054 
00055 /* ID3DXBUFFER */
00056 typedef struct ID3DXBufferImpl
00057 {
00058     /* IUnknown fields */
00059     const ID3DXBufferVtbl *lpVtbl;
00060     LONG           ref;
00061 
00062     /* ID3DXBuffer fields */
00063     DWORD         *buffer;
00064     DWORD          bufferSize;
00065 } ID3DXBufferImpl;
00066 
00067 
00068 /* ID3DXFont */
00069 typedef struct ID3DXFontImpl
00070 {
00071     /* IUnknown fields */
00072     const ID3DXFontVtbl *lpVtbl;
00073     LONG ref;
00074 
00075     /* ID3DXFont fields */
00076     IDirect3DDevice9 *device;
00077     D3DXFONT_DESCW desc;
00078 
00079     HDC hdc;
00080     HFONT hfont;
00081 } ID3DXFontImpl;
00082 
00083 /* ID3DXMatrixStack */
00084 typedef struct ID3DXMatrixStackImpl
00085 {
00086   /* IUnknown fields */
00087   const ID3DXMatrixStackVtbl *lpVtbl;
00088   LONG                   ref;
00089 
00090   /* ID3DXMatrixStack fields */
00091   unsigned int current;
00092   unsigned int stack_size;
00093   D3DXMATRIX *stack;
00094 } ID3DXMatrixStackImpl;
00095 
00096 /*ID3DXSprite */
00097 typedef struct _SPRITE {
00098     LPDIRECT3DTEXTURE9 texture;
00099     UINT texw, texh;
00100     RECT rect;
00101     D3DXVECTOR3 center;
00102     D3DXVECTOR3 pos;
00103     D3DCOLOR color;
00104 } SPRITE;
00105 
00106 typedef struct ID3DXSpriteImpl
00107 {
00108     /* IUnknown fields */
00109     const ID3DXSpriteVtbl *lpVtbl;
00110     LONG ref;
00111 
00112     /* ID3DXSprite fields */
00113     IDirect3DDevice9 *device;
00114     IDirect3DVertexDeclaration9 *vdecl;
00115     IDirect3DStateBlock9 *stateblock;
00116     D3DXMATRIX transform;
00117     D3DXMATRIX view;
00118     DWORD flags;
00119     BOOL ready;
00120 
00121     /* Store the relevant caps to prevent multiple GetDeviceCaps calls */
00122     DWORD texfilter_caps;
00123     DWORD maxanisotropy;
00124     DWORD alphacmp_caps;
00125 
00126     SPRITE *sprites;
00127     int sprite_count;      /* number of sprites to be drawn */
00128     int allocated_sprites; /* number of (pre-)allocated sprites */
00129 } ID3DXSpriteImpl;
00130 
00131 
00132 #endif /* __WINE_D3DX9_36_PRIVATE_H */

Generated on Sun May 27 2012 04:22:10 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.