2008-03-14 14:12:30 +01:00
|
|
|
/*
|
|
|
|
* Copyright (C) 2008 Tony Wasserka
|
|
|
|
*
|
|
|
|
* This library is free software; you can redistribute it and/or
|
|
|
|
* modify it under the terms of the GNU Lesser General Public
|
|
|
|
* License as published by the Free Software Foundation; either
|
|
|
|
* version 2.1 of the License, or (at your option) any later version.
|
|
|
|
*
|
|
|
|
* This library is distributed in the hope that it will be useful,
|
|
|
|
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
|
|
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
|
|
|
* Lesser General Public License for more details.
|
|
|
|
*
|
|
|
|
* You should have received a copy of the GNU Lesser General Public
|
|
|
|
* License along with this library; if not, write to the Free Software
|
|
|
|
* Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
|
|
|
|
*
|
|
|
|
*/
|
|
|
|
|
|
|
|
#ifndef __WINE_D3DX9_36_PRIVATE_H
|
|
|
|
#define __WINE_D3DX9_36_PRIVATE_H
|
|
|
|
|
|
|
|
#include <stdarg.h>
|
|
|
|
|
|
|
|
#define COBJMACROS
|
2009-06-01 18:30:15 +02:00
|
|
|
#include "winbase.h"
|
2008-03-14 14:12:30 +01:00
|
|
|
#include "wingdi.h"
|
2009-06-01 18:30:15 +02:00
|
|
|
#include "winuser.h"
|
2008-03-14 14:12:30 +01:00
|
|
|
#include "d3dx9.h"
|
|
|
|
|
2009-06-01 18:25:32 +02:00
|
|
|
/* for internal use */
|
|
|
|
HRESULT map_view_of_file(LPCWSTR filename, LPVOID *buffer, DWORD *length);
|
|
|
|
HRESULT load_resource_into_memory(HMODULE module, HRSRC resinfo, LPVOID *buffer, DWORD *length);
|
|
|
|
|
2008-03-14 14:12:30 +01:00
|
|
|
|
2008-11-05 12:32:47 +01:00
|
|
|
/* ID3DXFont */
|
2008-03-14 14:12:30 +01:00
|
|
|
typedef struct ID3DXFontImpl
|
|
|
|
{
|
2008-07-23 16:50:01 +02:00
|
|
|
/* IUnknown fields */
|
|
|
|
const ID3DXFontVtbl *lpVtbl;
|
|
|
|
LONG ref;
|
2008-03-14 14:12:30 +01:00
|
|
|
|
2008-07-23 16:50:01 +02:00
|
|
|
/* ID3DXFont fields */
|
2009-06-05 13:15:44 +02:00
|
|
|
IDirect3DDevice9 *device;
|
2009-06-05 13:26:11 +02:00
|
|
|
D3DXFONT_DESCW desc;
|
2009-06-05 13:45:12 +02:00
|
|
|
|
|
|
|
HDC hdc;
|
2009-06-05 13:57:23 +02:00
|
|
|
HFONT hfont;
|
2008-03-14 14:12:30 +01:00
|
|
|
} ID3DXFontImpl;
|
|
|
|
|
2008-11-05 12:32:47 +01:00
|
|
|
|
|
|
|
/*ID3DXSprite */
|
|
|
|
typedef struct _SPRITE {
|
|
|
|
LPDIRECT3DTEXTURE9 texture;
|
|
|
|
UINT texw, texh;
|
|
|
|
RECT rect;
|
|
|
|
D3DXVECTOR3 center;
|
|
|
|
D3DXVECTOR3 pos;
|
|
|
|
D3DCOLOR color;
|
|
|
|
} SPRITE;
|
|
|
|
|
2008-07-23 16:50:01 +02:00
|
|
|
typedef struct ID3DXSpriteImpl
|
|
|
|
{
|
|
|
|
/* IUnknown fields */
|
|
|
|
const ID3DXSpriteVtbl *lpVtbl;
|
|
|
|
LONG ref;
|
|
|
|
|
|
|
|
/* ID3DXSprite fields */
|
2008-11-05 12:32:47 +01:00
|
|
|
IDirect3DDevice9 *device;
|
|
|
|
IDirect3DVertexDeclaration9 *vdecl;
|
|
|
|
IDirect3DStateBlock9 *stateblock;
|
|
|
|
D3DXMATRIX transform;
|
|
|
|
D3DXMATRIX view;
|
|
|
|
DWORD flags;
|
2008-11-07 16:50:22 +01:00
|
|
|
BOOL ready;
|
2008-11-05 12:32:47 +01:00
|
|
|
|
|
|
|
/* Store the relevant caps to prevent multiple GetDeviceCaps calls */
|
|
|
|
DWORD texfilter_caps;
|
|
|
|
DWORD maxanisotropy;
|
|
|
|
DWORD alphacmp_caps;
|
|
|
|
|
|
|
|
SPRITE *sprites;
|
2008-11-05 13:00:35 +01:00
|
|
|
int sprite_count; /* number of sprites to be drawn */
|
|
|
|
int allocated_sprites; /* number of (pre-)allocated sprites */
|
2008-07-23 16:50:01 +02:00
|
|
|
} ID3DXSpriteImpl;
|
|
|
|
|
2008-03-14 14:12:30 +01:00
|
|
|
|
|
|
|
#endif /* __WINE_D3DX9_36_PRIVATE_H */
|