Permalink
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Browse files
Added platform specific call: SDL_RenderGetD3DDevice()
- Loading branch information
Showing
with
19 additions
and
4 deletions.
-
+6
−4
include/SDL_system.h
-
+13
−0
src/render/direct3d/SDL_render_d3d.c
|
@@ -29,11 +29,9 @@ |
|
|
#define _SDL_system_h |
|
|
|
|
|
#include "SDL_stdinc.h" |
|
|
|
|
|
#if defined(__IPHONEOS__) && __IPHONEOS__ |
|
|
#include "SDL_video.h" |
|
|
#include "SDL_keyboard.h" |
|
|
#endif |
|
|
#include "SDL_render.h" |
|
|
#include "SDL_video.h" |
|
|
|
|
|
#include "begin_code.h" |
|
|
/* Set up for C function definitions, even when using C++ */ |
|
@@ -51,6 +49,10 @@ extern "C" { |
|
|
*/ |
|
|
extern DECLSPEC int SDLCALL SDL_Direct3D9GetAdapterIndex( int displayIndex ); |
|
|
|
|
|
/* Returns the D3D device associated with a renderer, or NULL if it's not a D3D renderer. */ |
|
|
typedef struct IDirect3DDevice9 IDirect3DDevice9; |
|
|
extern DECLSPEC IDirect3DDevice9* SDLCALL SDL_RenderGetD3DDevice(SDL_Renderer * renderer); |
|
|
|
|
|
#endif /* __WIN32__ */ |
|
|
|
|
|
|
|
|
|
@@ -1875,6 +1875,19 @@ D3D_DestroyRenderer(SDL_Renderer * renderer) |
|
|
SDL_free(renderer); |
|
|
} |
|
|
|
|
|
IDirect3DDevice9 * |
|
|
SDL_RenderGetD3DDevice(SDL_Renderer * renderer) |
|
|
{ |
|
|
D3D_RenderData *data = (D3D_RenderData *) renderer->driverdata; |
|
|
|
|
|
// Make sure that this is a D3D renderer |
|
|
if (renderer->DestroyRenderer != D3D_DestroyRenderer) { |
|
|
SDL_SetError("Renderer is not a D3D renderer"); |
|
|
return NULL; |
|
|
} |
|
|
return data->device; |
|
|
} |
|
|
|
|
|
#endif /* SDL_VIDEO_RENDER_D3D && !SDL_RENDER_DISABLED */ |
|
|
|
|
|
/* vi: set ts=4 sw=4 expandtab: */ |