ReactOS 0.4.17-dev-934-g091855f
sprite.c File Reference
#include "d3dx10.h"
#include "wine/debug.h"
Include dependency graph for sprite.c:

Go to the source code of this file.

Classes

struct  d3dx10_sprite
 

Macros

#define COBJMACROS
 
#define D3DERR_INVALIDCALL   0x8876086c
 

Functions

 WINE_DEFAULT_DEBUG_CHANNEL (d3dx)
 
static struct d3dx10_sprite * impl_from_ID3DX10Sprite (ID3DX10Sprite *iface)
 
static HRESULT WINAPI d3dx10_sprite_QueryInterface (ID3DX10Sprite *iface, REFIID riid, void **out)
 
static ULONG WINAPI d3dx10_sprite_AddRef (ID3DX10Sprite *iface)
 
static ULONG WINAPI d3dx10_sprite_Release (ID3DX10Sprite *iface)
 
static HRESULT WINAPI d3dx10_sprite_Begin (ID3DX10Sprite *iface, UINT flags)
 
static HRESULT WINAPI d3dx10_sprite_DrawSpritesBuffered (ID3DX10Sprite *iface, D3DX10_SPRITE *sprites, UINT count)
 
static HRESULT WINAPI d3dx10_sprite_Flush (ID3DX10Sprite *iface)
 
static HRESULT WINAPI d3dx10_sprite_DrawSpritesImmediate (ID3DX10Sprite *iface, D3DX10_SPRITE *sprites, UINT count, UINT size, UINT flags)
 
static HRESULT WINAPI d3dx10_sprite_End (ID3DX10Sprite *iface)
 
static HRESULT WINAPI d3dx10_sprite_GetViewTransform (ID3DX10Sprite *iface, D3DXMATRIX *transform)
 
static HRESULT WINAPI d3dx10_sprite_SetViewTransform (ID3DX10Sprite *iface, D3DXMATRIX *transform)
 
static HRESULT WINAPI d3dx10_sprite_GetProjectionTransform (ID3DX10Sprite *iface, D3DXMATRIX *transform)
 
static HRESULT WINAPI d3dx10_sprite_SetProjectionTransform (ID3DX10Sprite *iface, D3DXMATRIX *transform)
 
static HRESULT WINAPI d3dx10_sprite_GetDevice (ID3DX10Sprite *iface, ID3D10Device **device)
 
HRESULT WINAPI D3DX10CreateSprite (ID3D10Device *device, UINT size, ID3DX10Sprite **sprite)
 

Variables

static const ID3DX10SpriteVtbl d3dx10_sprite_vtbl
 

Macro Definition Documentation

◆ COBJMACROS

#define COBJMACROS

Definition at line 20 of file sprite.c.

◆ D3DERR_INVALIDCALL

#define D3DERR_INVALIDCALL   0x8876086c

Definition at line 27 of file sprite.c.

Function Documentation

◆ d3dx10_sprite_AddRef()

static ULONG WINAPI d3dx10_sprite_AddRef ( ID3DX10Sprite *  iface)
static

Definition at line 61 of file sprite.c.

62{
65
66 TRACE("%p increasing refcount to %lu.\n", iface, refcount);
67
68 return refcount;
69}
#define InterlockedIncrement
Definition: armddk.h:53
static struct d3dx10_sprite * impl_from_ID3DX10Sprite(ID3DX10Sprite *iface)
Definition: sprite.c:38
#define TRACE(s)
Definition: solgame.cpp:4
LONG refcount
Definition: sprite.c:32
Definition: sprite.c:36
uint32_t ULONG
Definition: typedefs.h:59

◆ d3dx10_sprite_Begin()

static HRESULT WINAPI d3dx10_sprite_Begin ( ID3DX10Sprite *  iface,
UINT  flags 
)
static

Definition at line 87 of file sprite.c.

88{
89 FIXME("iface %p, flags %#x stub!\n", iface, flags);
90
91 return E_NOTIMPL;
92}
#define FIXME(fmt,...)
Definition: precomp.h:53
#define E_NOTIMPL
Definition: ddrawi.h:99
GLbitfield flags
Definition: glext.h:7161

◆ d3dx10_sprite_DrawSpritesBuffered()

static HRESULT WINAPI d3dx10_sprite_DrawSpritesBuffered ( ID3DX10Sprite *  iface,
D3DX10_SPRITE *  sprites,
UINT  count 
)
static

Definition at line 94 of file sprite.c.

96{
97 FIXME("iface %p, sprites %p, count %u stub!\n", iface, sprites, count);
98
99 return E_NOTIMPL;
100}
GLuint GLuint GLsizei count
Definition: gl.h:1545

◆ d3dx10_sprite_DrawSpritesImmediate()

static HRESULT WINAPI d3dx10_sprite_DrawSpritesImmediate ( ID3DX10Sprite *  iface,
D3DX10_SPRITE *  sprites,
UINT  count,
UINT  size,
UINT  flags 
)
static

Definition at line 109 of file sprite.c.

111{
112 FIXME("iface %p, sprites %p, count %u, size %u, flags %#x stub!\n",
113 iface, sprites, count, size, flags);
114
115 return E_NOTIMPL;
116}
GLsizeiptr size
Definition: glext.h:5919

◆ d3dx10_sprite_End()

static HRESULT WINAPI d3dx10_sprite_End ( ID3DX10Sprite *  iface)
static

Definition at line 118 of file sprite.c.

119{
120 FIXME("iface %p stub!\n", iface);
121
122 return E_NOTIMPL;
123}

◆ d3dx10_sprite_Flush()

static HRESULT WINAPI d3dx10_sprite_Flush ( ID3DX10Sprite *  iface)
static

Definition at line 102 of file sprite.c.

103{
104 FIXME("iface %p stub!\n", iface);
105
106 return E_NOTIMPL;
107}

◆ d3dx10_sprite_GetDevice()

static HRESULT WINAPI d3dx10_sprite_GetDevice ( ID3DX10Sprite *  iface,
ID3D10Device **  device 
)
static

Definition at line 168 of file sprite.c.

169{
171
172 TRACE("iface %p, device %p.\n", iface, device);
173
174 if (!device)
175 return E_FAIL;
176
177 *device = sprite->device;
178 ID3D10Device_AddRef(*device);
179
180 return S_OK;
181}
#define E_FAIL
Definition: ddrawi.h:102
#define S_OK
Definition: intsafe.h:52
Definition: devices.h:37

◆ d3dx10_sprite_GetProjectionTransform()

static HRESULT WINAPI d3dx10_sprite_GetProjectionTransform ( ID3DX10Sprite *  iface,
D3DXMATRIX *  transform 
)
static

Definition at line 139 of file sprite.c.

141{
143
144 TRACE("iface %p, transform %p.\n", iface, transform);
145
146 if (!transform)
147 return E_FAIL;
148
149 *transform = sprite->projection;
150
151 return S_OK;
152}
GLuint GLenum GLenum transform
Definition: glext.h:9407

◆ d3dx10_sprite_GetViewTransform()

static HRESULT WINAPI d3dx10_sprite_GetViewTransform ( ID3DX10Sprite *  iface,
D3DXMATRIX *  transform 
)
static

Definition at line 125 of file sprite.c.

126{
127 FIXME("iface %p, transform %p stub!\n", iface, transform);
128
129 return E_NOTIMPL;
130}

◆ d3dx10_sprite_QueryInterface()

static HRESULT WINAPI d3dx10_sprite_QueryInterface ( ID3DX10Sprite *  iface,
REFIID  riid,
void **  out 
)
static

Definition at line 43 of file sprite.c.

44{
45 TRACE("iface %p, riid %s, out %p.\n", iface, debugstr_guid(riid), out);
46
47 if (IsEqualGUID(riid, &IID_ID3DX10Sprite)
49 {
50 IUnknown_AddRef(iface);
51 *out = iface;
52 return S_OK;
53 }
54
55 WARN("%s not implemented, returning E_NOINTERFACE.\n", debugstr_guid(riid));
56
57 *out = NULL;
58 return E_NOINTERFACE;
59}
#define WARN(fmt,...)
Definition: precomp.h:61
const GUID IID_IUnknown
#define NULL
Definition: types.h:112
REFIID riid
Definition: atlbase.h:39
#define debugstr_guid
Definition: kernel32.h:35
#define IsEqualGUID(rguid1, rguid2)
Definition: guiddef.h:147
wchar_t tm const _CrtWcstime_Writes_and_advances_ptr_ count wchar_t ** out
Definition: wcsftime.cpp:383
#define E_NOINTERFACE
Definition: winerror.h:3479

◆ d3dx10_sprite_Release()

static ULONG WINAPI d3dx10_sprite_Release ( ID3DX10Sprite *  iface)
static

Definition at line 71 of file sprite.c.

72{
75
76 TRACE("%p decreasing refcount to %lu.\n", iface, refcount);
77
78 if (!refcount)
79 {
80 ID3D10Device_Release(sprite->device);
81 free(sprite);
82 }
83
84 return refcount;
85}
#define InterlockedDecrement
Definition: armddk.h:52
#define free
Definition: debug_ros.c:5

◆ d3dx10_sprite_SetProjectionTransform()

static HRESULT WINAPI d3dx10_sprite_SetProjectionTransform ( ID3DX10Sprite *  iface,
D3DXMATRIX *  transform 
)
static

Definition at line 154 of file sprite.c.

155{
157
158 TRACE("iface %p, transform %p.\n", iface, transform);
159
160 if (!transform)
161 return E_FAIL;
162
163 sprite->projection = *transform;
164
165 return S_OK;
166}

◆ d3dx10_sprite_SetViewTransform()

static HRESULT WINAPI d3dx10_sprite_SetViewTransform ( ID3DX10Sprite *  iface,
D3DXMATRIX *  transform 
)
static

Definition at line 132 of file sprite.c.

133{
134 FIXME("iface %p, transform %p stub!\n", iface, transform);
135
136 return E_NOTIMPL;
137}

◆ D3DX10CreateSprite()

HRESULT WINAPI D3DX10CreateSprite ( ID3D10Device *  device,
UINT  size,
ID3DX10Sprite **  sprite 
)

Definition at line 200 of file sprite.c.

201{
202 struct d3dx10_sprite *object;
203
204 TRACE("device %p, size %u, sprite %p.\n", device, size, sprite);
205
206 if (!device || !sprite)
207 return D3DERR_INVALIDCALL;
208
209 *sprite = NULL;
210
211 if (!(object = calloc(1, sizeof(*object))))
212 return E_OUTOFMEMORY;
213
214 object->ID3DX10Sprite_iface.lpVtbl = &d3dx10_sprite_vtbl;
215 object->refcount = 1;
216 object->device = device;
217 ID3D10Device_AddRef(device);
218 object->projection._11 = 1.0f;
219 object->projection._22 = 1.0f;
220 object->projection._33 = 1.0f;
221 object->projection._44 = 1.0f;
222
223 *sprite = &object->ID3DX10Sprite_iface;
224
225 return S_OK;
226}
#define D3DERR_INVALIDCALL
Definition: sprite.c:27
static const ID3DX10SpriteVtbl d3dx10_sprite_vtbl
Definition: sprite.c:183
#define E_OUTOFMEMORY
Definition: ddrawi.h:100
#define calloc
Definition: rosglue.h:14
ID3D10Device * device
Definition: sprite.c:35

◆ impl_from_ID3DX10Sprite()

static struct d3dx10_sprite * impl_from_ID3DX10Sprite ( ID3DX10Sprite *  iface)
inlinestatic

Definition at line 38 of file sprite.c.

39{
40 return CONTAINING_RECORD(iface, struct d3dx10_sprite, ID3DX10Sprite_iface);
41}
#define CONTAINING_RECORD(address, type, field)
Definition: typedefs.h:260

Referenced by d3dx10_sprite_AddRef(), d3dx10_sprite_GetDevice(), d3dx10_sprite_GetProjectionTransform(), d3dx10_sprite_Release(), and d3dx10_sprite_SetProjectionTransform().

◆ WINE_DEFAULT_DEBUG_CHANNEL()

WINE_DEFAULT_DEBUG_CHANNEL ( d3dx  )

Variable Documentation

◆ d3dx10_sprite_vtbl

const ID3DX10SpriteVtbl d3dx10_sprite_vtbl
static
Initial value:
=
{
}
static ULONG WINAPI d3dx10_sprite_Release(ID3DX10Sprite *iface)
Definition: sprite.c:71
static HRESULT WINAPI d3dx10_sprite_GetProjectionTransform(ID3DX10Sprite *iface, D3DXMATRIX *transform)
Definition: sprite.c:139
static HRESULT WINAPI d3dx10_sprite_GetViewTransform(ID3DX10Sprite *iface, D3DXMATRIX *transform)
Definition: sprite.c:125
static ULONG WINAPI d3dx10_sprite_AddRef(ID3DX10Sprite *iface)
Definition: sprite.c:61
static HRESULT WINAPI d3dx10_sprite_SetProjectionTransform(ID3DX10Sprite *iface, D3DXMATRIX *transform)
Definition: sprite.c:154
static HRESULT WINAPI d3dx10_sprite_DrawSpritesBuffered(ID3DX10Sprite *iface, D3DX10_SPRITE *sprites, UINT count)
Definition: sprite.c:94
static HRESULT WINAPI d3dx10_sprite_SetViewTransform(ID3DX10Sprite *iface, D3DXMATRIX *transform)
Definition: sprite.c:132
static HRESULT WINAPI d3dx10_sprite_Flush(ID3DX10Sprite *iface)
Definition: sprite.c:102
static HRESULT WINAPI d3dx10_sprite_QueryInterface(ID3DX10Sprite *iface, REFIID riid, void **out)
Definition: sprite.c:43
static HRESULT WINAPI d3dx10_sprite_GetDevice(ID3DX10Sprite *iface, ID3D10Device **device)
Definition: sprite.c:168
static HRESULT WINAPI d3dx10_sprite_Begin(ID3DX10Sprite *iface, UINT flags)
Definition: sprite.c:87
static HRESULT WINAPI d3dx10_sprite_DrawSpritesImmediate(ID3DX10Sprite *iface, D3DX10_SPRITE *sprites, UINT count, UINT size, UINT flags)
Definition: sprite.c:109
static HRESULT WINAPI d3dx10_sprite_End(ID3DX10Sprite *iface)
Definition: sprite.c:118

Definition at line 183 of file sprite.c.

Referenced by D3DX10CreateSprite().