summaryrefslogtreecommitdiff
path: root/include/SDL_render.h
diff options
context:
space:
mode:
authorSam Lantinga <slouken@libsdl.org>2012-01-18 22:45:49 -0500
committerSam Lantinga <slouken@libsdl.org>2012-01-18 22:45:49 -0500
commitf72cf822f8560bbe4f62b9078c14280c2d7f0bb9 (patch)
tree7c586f6d5f1595b4b9fb03796d0414fd07084291 /include/SDL_render.h
parent2995a1a006b46ee3b38a7779618e83a7eb6d52dd (diff)
downloadsdl-f72cf822f8560bbe4f62b9078c14280c2d7f0bb9.tar.gz
Implementation of render targets, by Mason Wheeler and Gabriel Jacobo
Thanks guys!
Diffstat (limited to 'include/SDL_render.h')
-rw-r--r--include/SDL_render.h28
1 files changed, 27 insertions, 1 deletions
diff --git a/include/SDL_render.h b/include/SDL_render.h
index a80520763..51b641b61 100644
--- a/include/SDL_render.h
+++ b/include/SDL_render.h
@@ -88,7 +88,8 @@ typedef struct SDL_RendererInfo
typedef enum
{
SDL_TEXTUREACCESS_STATIC, /**< Changes rarely, not lockable */
- SDL_TEXTUREACCESS_STREAMING /**< Changes frequently, lockable */
+ SDL_TEXTUREACCESS_STREAMING, /**< Changes frequently, lockable */
+ SDL_TEXTUREACCESS_TARGET /**< Texture can be used as a render target */
} SDL_TextureAccess;
/**
@@ -561,6 +562,31 @@ extern DECLSPEC int SDLCALL SDL_RenderCopy(SDL_Renderer * renderer,
const SDL_Rect * srcrect,
const SDL_Rect * dstrect);
+
+/**
+ * \fn SDL_bool SDL_RenderTargetSupported(SDL_Renderer *renderer)
+ *
+ * \brief Determines whether a window supports the use of render targets
+ *
+ * \param renderer The renderer that will be checked
+ *
+ * \return SDL_TRUE if supported, SDL_FALSE if not.
+ */
+extern DECLSPEC SDL_bool SDLCALL SDL_RenderTargetSupported(SDL_Renderer *renderer);
+
+/**
+ * \fn int SDL_SetTargetTexture(SDL_Renderer *renderer, SDL_Texture *texture)
+ *
+ * \brief Set a texture as the current rendering target.
+ *
+ * \param renderer The renderer that will be checked
+ *
+ * \param texture The targeted texture, or NULL for the default render target
+ *
+ * \return 0 on success, or -1 if there is no rendering context current, or the driver doesn't support the requested operation.
+ */
+extern DECLSPEC int SDLCALL SDL_SetTargetTexture(SDL_Renderer *renderer, SDL_Texture *texture);
+
/**
* \brief Read pixels from the current rendering target.
*