SDL
2.0
|
#include "SDL_stdinc.h"
#include "SDL_rect.h"
#include "SDL_video.h"
#include "begin_code.h"
#include "close_code.h"
Go to the source code of this file.
Data Structures | |
struct | SDL_RendererInfo |
Information on the capabilities of a render driver or context. More... | |
Typedefs | |
typedef struct SDL_Renderer | SDL_Renderer |
typedef struct SDL_Texture | SDL_Texture |
Enumerations | |
enum | SDL_RendererFlags { SDL_RENDERER_SOFTWARE = 0x00000001, SDL_RENDERER_ACCELERATED = 0x00000002, SDL_RENDERER_PRESENTVSYNC = 0x00000004, SDL_RENDERER_TARGETTEXTURE = 0x00000008 } |
Flags used when creating a rendering context. More... | |
enum | SDL_ScaleMode { SDL_ScaleModeNearest, SDL_ScaleModeLinear, SDL_ScaleModeBest } |
The scaling mode for a texture. More... | |
enum | SDL_TextureAccess { SDL_TEXTUREACCESS_STATIC, SDL_TEXTUREACCESS_STREAMING, SDL_TEXTUREACCESS_TARGET } |
The access pattern allowed for a texture. More... | |
enum | SDL_TextureModulate { SDL_TEXTUREMODULATE_NONE = 0x00000000, SDL_TEXTUREMODULATE_COLOR = 0x00000001, SDL_TEXTUREMODULATE_ALPHA = 0x00000002 } |
The texture channel modulation used in SDL_RenderCopy(). More... | |
enum | SDL_RendererFlip { SDL_FLIP_NONE = 0x00000000, SDL_FLIP_HORIZONTAL = 0x00000001, SDL_FLIP_VERTICAL = 0x00000002 } |
Flip constants for SDL_RenderCopyEx. More... | |
Functions | |
int | SDL_GetNumRenderDrivers (void) |
Get the number of 2D rendering drivers available for the current display. More... | |
int | SDL_GetRenderDriverInfo (int index, SDL_RendererInfo *info) |
Get information about a specific 2D rendering driver for the current display. More... | |
int | SDL_CreateWindowAndRenderer (int width, int height, Uint32 window_flags, SDL_Window **window, SDL_Renderer **renderer) |
Create a window and default renderer. More... | |
SDL_Renderer * | SDL_CreateRenderer (SDL_Window *window, int index, Uint32 flags) |
Create a 2D rendering context for a window. More... | |
SDL_Renderer * | SDL_CreateSoftwareRenderer (SDL_Surface *surface) |
Create a 2D software rendering context for a surface. More... | |
SDL_Renderer * | SDL_GetRenderer (SDL_Window *window) |
Get the renderer associated with a window. More... | |
int | SDL_GetRendererInfo (SDL_Renderer *renderer, SDL_RendererInfo *info) |
Get information about a rendering context. More... | |
int | SDL_GetRendererOutputSize (SDL_Renderer *renderer, int *w, int *h) |
Get the output size in pixels of a rendering context. More... | |
SDL_Texture * | SDL_CreateTexture (SDL_Renderer *renderer, Uint32 format, int access, int w, int h) |
Create a texture for a rendering context. More... | |
SDL_Texture * | SDL_CreateTextureFromSurface (SDL_Renderer *renderer, SDL_Surface *surface) |
Create a texture from an existing surface. More... | |
int | SDL_QueryTexture (SDL_Texture *texture, Uint32 *format, int *access, int *w, int *h) |
Query the attributes of a texture. More... | |
int | SDL_SetTextureColorMod (SDL_Texture *texture, Uint8 r, Uint8 g, Uint8 b) |
Set an additional color value used in render copy operations. More... | |
int | SDL_GetTextureColorMod (SDL_Texture *texture, Uint8 *r, Uint8 *g, Uint8 *b) |
Get the additional color value used in render copy operations. More... | |
int | SDL_SetTextureAlphaMod (SDL_Texture *texture, Uint8 alpha) |
Set an additional alpha value used in render copy operations. More... | |
int | SDL_GetTextureAlphaMod (SDL_Texture *texture, Uint8 *alpha) |
Get the additional alpha value used in render copy operations. More... | |
int | SDL_SetTextureBlendMode (SDL_Texture *texture, SDL_BlendMode blendMode) |
Set the blend mode used for texture copy operations. More... | |
int | SDL_GetTextureBlendMode (SDL_Texture *texture, SDL_BlendMode *blendMode) |
Get the blend mode used for texture copy operations. More... | |
int | SDL_SetTextureScaleMode (SDL_Texture *texture, SDL_ScaleMode scaleMode) |
Set the scale mode used for texture scale operations. More... | |
int | SDL_GetTextureScaleMode (SDL_Texture *texture, SDL_ScaleMode *scaleMode) |
Get the scale mode used for texture scale operations. More... | |
int | SDL_UpdateTexture (SDL_Texture *texture, const SDL_Rect *rect, const void *pixels, int pitch) |
Update the given texture rectangle with new pixel data. More... | |
int | SDL_UpdateYUVTexture (SDL_Texture *texture, const SDL_Rect *rect, const Uint8 *Yplane, int Ypitch, const Uint8 *Uplane, int Upitch, const Uint8 *Vplane, int Vpitch) |
Update a rectangle within a planar YV12 or IYUV texture with new pixel data. More... | |
int | SDL_LockTexture (SDL_Texture *texture, const SDL_Rect *rect, void **pixels, int *pitch) |
Lock a portion of the texture for write-only pixel access. More... | |
int | SDL_LockTextureToSurface (SDL_Texture *texture, const SDL_Rect *rect, SDL_Surface **surface) |
Lock a portion of the texture for write-only pixel access. Expose it as a SDL surface. More... | |
void | SDL_UnlockTexture (SDL_Texture *texture) |
Unlock a texture, uploading the changes to video memory, if needed. If SDL_LockTextureToSurface() was called for locking, the SDL surface is freed. More... | |
SDL_bool | SDL_RenderTargetSupported (SDL_Renderer *renderer) |
Determines whether a window supports the use of render targets. More... | |
int | SDL_SetRenderTarget (SDL_Renderer *renderer, SDL_Texture *texture) |
Set a texture as the current rendering target. More... | |
SDL_Texture * | SDL_GetRenderTarget (SDL_Renderer *renderer) |
Get the current render target or NULL for the default render target. More... | |
int | SDL_RenderSetLogicalSize (SDL_Renderer *renderer, int w, int h) |
Set device independent resolution for rendering. More... | |
void | SDL_RenderGetLogicalSize (SDL_Renderer *renderer, int *w, int *h) |
Get device independent resolution for rendering. More... | |
int | SDL_RenderSetIntegerScale (SDL_Renderer *renderer, SDL_bool enable) |
Set whether to force integer scales for resolution-independent rendering. More... | |
SDL_bool | SDL_RenderGetIntegerScale (SDL_Renderer *renderer) |
Get whether integer scales are forced for resolution-independent rendering. More... | |
int | SDL_RenderSetViewport (SDL_Renderer *renderer, const SDL_Rect *rect) |
Set the drawing area for rendering on the current target. More... | |
void | SDL_RenderGetViewport (SDL_Renderer *renderer, SDL_Rect *rect) |
Get the drawing area for the current target. More... | |
int | SDL_RenderSetClipRect (SDL_Renderer *renderer, const SDL_Rect *rect) |
Set the clip rectangle for the current target. More... | |
void | SDL_RenderGetClipRect (SDL_Renderer *renderer, SDL_Rect *rect) |
Get the clip rectangle for the current target. More... | |
SDL_bool | SDL_RenderIsClipEnabled (SDL_Renderer *renderer) |
Get whether clipping is enabled on the given renderer. More... | |
int | SDL_RenderSetScale (SDL_Renderer *renderer, float scaleX, float scaleY) |
Set the drawing scale for rendering on the current target. More... | |
void | SDL_RenderGetScale (SDL_Renderer *renderer, float *scaleX, float *scaleY) |
Get the drawing scale for the current target. More... | |
int | SDL_SetRenderDrawColor (SDL_Renderer *renderer, Uint8 r, Uint8 g, Uint8 b, Uint8 a) |
Set the color used for drawing operations (Rect, Line and Clear). More... | |
int | SDL_GetRenderDrawColor (SDL_Renderer *renderer, Uint8 *r, Uint8 *g, Uint8 *b, Uint8 *a) |
Get the color used for drawing operations (Rect, Line and Clear). More... | |
int | SDL_SetRenderDrawBlendMode (SDL_Renderer *renderer, SDL_BlendMode blendMode) |
Set the blend mode used for drawing operations (Fill and Line). More... | |
int | SDL_GetRenderDrawBlendMode (SDL_Renderer *renderer, SDL_BlendMode *blendMode) |
Get the blend mode used for drawing operations. More... | |
int | SDL_RenderClear (SDL_Renderer *renderer) |
Clear the current rendering target with the drawing color. More... | |
int | SDL_RenderDrawPoint (SDL_Renderer *renderer, int x, int y) |
Draw a point on the current rendering target. More... | |
int | SDL_RenderDrawPoints (SDL_Renderer *renderer, const SDL_Point *points, int count) |
Draw multiple points on the current rendering target. More... | |
int | SDL_RenderDrawLine (SDL_Renderer *renderer, int x1, int y1, int x2, int y2) |
Draw a line on the current rendering target. More... | |
int | SDL_RenderDrawLines (SDL_Renderer *renderer, const SDL_Point *points, int count) |
Draw a series of connected lines on the current rendering target. More... | |
int | SDL_RenderDrawRect (SDL_Renderer *renderer, const SDL_Rect *rect) |
Draw a rectangle on the current rendering target. More... | |
int | SDL_RenderDrawRects (SDL_Renderer *renderer, const SDL_Rect *rects, int count) |
Draw some number of rectangles on the current rendering target. More... | |
int | SDL_RenderFillRect (SDL_Renderer *renderer, const SDL_Rect *rect) |
Fill a rectangle on the current rendering target with the drawing color. More... | |
int | SDL_RenderFillRects (SDL_Renderer *renderer, const SDL_Rect *rects, int count) |
Fill some number of rectangles on the current rendering target with the drawing color. More... | |
int | SDL_RenderCopy (SDL_Renderer *renderer, SDL_Texture *texture, const SDL_Rect *srcrect, const SDL_Rect *dstrect) |
Copy a portion of the texture to the current rendering target. More... | |
int | SDL_RenderCopyEx (SDL_Renderer *renderer, SDL_Texture *texture, const SDL_Rect *srcrect, const SDL_Rect *dstrect, const double angle, const SDL_Point *center, const SDL_RendererFlip flip) |
Copy a portion of the source texture to the current rendering target, rotating it by angle around the given center. More... | |
int | SDL_RenderDrawPointF (SDL_Renderer *renderer, float x, float y) |
Draw a point on the current rendering target. More... | |
int | SDL_RenderDrawPointsF (SDL_Renderer *renderer, const SDL_FPoint *points, int count) |
Draw multiple points on the current rendering target. More... | |
int | SDL_RenderDrawLineF (SDL_Renderer *renderer, float x1, float y1, float x2, float y2) |
Draw a line on the current rendering target. More... | |
int | SDL_RenderDrawLinesF (SDL_Renderer *renderer, const SDL_FPoint *points, int count) |
Draw a series of connected lines on the current rendering target. More... | |
int | SDL_RenderDrawRectF (SDL_Renderer *renderer, const SDL_FRect *rect) |
Draw a rectangle on the current rendering target. More... | |
int | SDL_RenderDrawRectsF (SDL_Renderer *renderer, const SDL_FRect *rects, int count) |
Draw some number of rectangles on the current rendering target. More... | |
int | SDL_RenderFillRectF (SDL_Renderer *renderer, const SDL_FRect *rect) |
Fill a rectangle on the current rendering target with the drawing color. More... | |
int | SDL_RenderFillRectsF (SDL_Renderer *renderer, const SDL_FRect *rects, int count) |
Fill some number of rectangles on the current rendering target with the drawing color. More... | |
int | SDL_RenderCopyF (SDL_Renderer *renderer, SDL_Texture *texture, const SDL_Rect *srcrect, const SDL_FRect *dstrect) |
Copy a portion of the texture to the current rendering target. More... | |
int | SDL_RenderCopyExF (SDL_Renderer *renderer, SDL_Texture *texture, const SDL_Rect *srcrect, const SDL_FRect *dstrect, const double angle, const SDL_FPoint *center, const SDL_RendererFlip flip) |
Copy a portion of the source texture to the current rendering target, rotating it by angle around the given center. More... | |
int | SDL_RenderReadPixels (SDL_Renderer *renderer, const SDL_Rect *rect, Uint32 format, void *pixels, int pitch) |
Read pixels from the current rendering target. More... | |
void | SDL_RenderPresent (SDL_Renderer *renderer) |
Update the screen with rendering performed. More... | |
void | SDL_DestroyTexture (SDL_Texture *texture) |
Destroy the specified texture. More... | |
void | SDL_DestroyRenderer (SDL_Renderer *renderer) |
Destroy the rendering context for a window and free associated textures. More... | |
int | SDL_RenderFlush (SDL_Renderer *renderer) |
Force the rendering context to flush any pending commands to the underlying rendering API. More... | |
int | SDL_GL_BindTexture (SDL_Texture *texture, float *texw, float *texh) |
Bind the texture to the current OpenGL/ES/ES2 context for use with OpenGL instructions. More... | |
int | SDL_GL_UnbindTexture (SDL_Texture *texture) |
Unbind a texture from the current OpenGL/ES/ES2 context. More... | |
void * | SDL_RenderGetMetalLayer (SDL_Renderer *renderer) |
Get the CAMetalLayer associated with the given Metal renderer. More... | |
void * | SDL_RenderGetMetalCommandEncoder (SDL_Renderer *renderer) |
Get the Metal command encoder for the current frame. More... | |
Header file for SDL 2D rendering functions.
This API supports the following features:
The primitives may be drawn in opaque, blended, or additive modes.
The texture images may be drawn in opaque, blended, or additive modes. They can have an additional color tint or alpha modulation applied to them, and may also be stretched with linear interpolation.
This API is designed to accelerate simple 2D operations. You may want more functionality such as polygons and particle effects and in that case you should use SDL's OpenGL/Direct3D support or one of the many good 3D engines.
These functions must be called from the main thread. See this bug for details: http://bugzilla.libsdl.org/show_bug.cgi?id=1995
Definition in file SDL_render.h.
typedef struct SDL_Renderer SDL_Renderer |
Definition at line 132 of file SDL_render.h.
typedef struct SDL_Texture SDL_Texture |
Definition at line 138 of file SDL_render.h.
enum SDL_RendererFlags |
Flags used when creating a rendering context.
Definition at line 64 of file SDL_render.h.
enum SDL_RendererFlip |
Flip constants for SDL_RenderCopyEx.
Enumerator | |
---|---|
SDL_FLIP_NONE | Do not flip |
SDL_FLIP_HORIZONTAL | flip horizontally |
SDL_FLIP_VERTICAL | flip vertically |
Definition at line 121 of file SDL_render.h.
enum SDL_ScaleMode |
The scaling mode for a texture.
Enumerator | |
---|---|
SDL_ScaleModeNearest | nearest pixel sampling |
SDL_ScaleModeLinear | linear filtering |
SDL_ScaleModeBest | anisotropic filtering |
Definition at line 91 of file SDL_render.h.
enum SDL_TextureAccess |
The access pattern allowed for a texture.
Enumerator | |
---|---|
SDL_TEXTUREACCESS_STATIC | Changes rarely, not lockable |
SDL_TEXTUREACCESS_STREAMING | Changes frequently, lockable |
SDL_TEXTUREACCESS_TARGET | Texture can be used as a render target |
Definition at line 101 of file SDL_render.h.
enum SDL_TextureModulate |
The texture channel modulation used in SDL_RenderCopy().
Enumerator | |
---|---|
SDL_TEXTUREMODULATE_NONE | No modulation |
SDL_TEXTUREMODULATE_COLOR | srcC = srcC * color |
SDL_TEXTUREMODULATE_ALPHA | srcA = srcA * alpha |
Definition at line 111 of file SDL_render.h.
SDL_Renderer* SDL_CreateRenderer | ( | SDL_Window * | window, |
int | index, | ||
Uint32 | flags | ||
) |
Create a 2D rendering context for a window.
window | The window where rendering is displayed. |
index | The index of the rendering driver to initialize, or -1 to initialize the first one supporting the requested flags. |
flags | SDL_RendererFlags. |
SDL_Renderer* SDL_CreateSoftwareRenderer | ( | SDL_Surface * | surface | ) |
Create a 2D software rendering context for a surface.
surface | The surface where rendering is done. |
SDL_Texture* SDL_CreateTexture | ( | SDL_Renderer * | renderer, |
Uint32 | format, | ||
int | access, | ||
int | w, | ||
int | h | ||
) |
Create a texture for a rendering context.
renderer | The renderer. |
format | The format of the texture. |
access | One of the enumerated values in SDL_TextureAccess. |
w | The width of the texture in pixels. |
h | The height of the texture in pixels. |
SDL_Texture* SDL_CreateTextureFromSurface | ( | SDL_Renderer * | renderer, |
SDL_Surface * | surface | ||
) |
Create a texture from an existing surface.
renderer | The renderer. |
surface | The surface containing pixel data used to fill the texture. |
int SDL_CreateWindowAndRenderer | ( | int | width, |
int | height, | ||
Uint32 | window_flags, | ||
SDL_Window ** | window, | ||
SDL_Renderer ** | renderer | ||
) |
Create a window and default renderer.
width | The width of the window |
height | The height of the window |
window_flags | The flags used to create the window |
window | A pointer filled with the window, or NULL on error |
renderer | A pointer filled with the renderer, or NULL on error |
void SDL_DestroyRenderer | ( | SDL_Renderer * | renderer | ) |
Destroy the rendering context for a window and free associated textures.
void SDL_DestroyTexture | ( | SDL_Texture * | texture | ) |
Destroy the specified texture.
int SDL_GetNumRenderDrivers | ( | void | ) |
Get the number of 2D rendering drivers available for the current display.
A render driver is a set of code that handles rendering and texture management on a particular display. Normally there is only one, but some drivers may have several available with different capabilities.
int SDL_GetRenderDrawBlendMode | ( | SDL_Renderer * | renderer, |
SDL_BlendMode * | blendMode | ||
) |
Get the blend mode used for drawing operations.
renderer | The renderer from which blend mode should be queried. |
blendMode | A pointer filled in with the current blend mode. |
int SDL_GetRenderDrawColor | ( | SDL_Renderer * | renderer, |
Uint8 * | r, | ||
Uint8 * | g, | ||
Uint8 * | b, | ||
Uint8 * | a | ||
) |
Get the color used for drawing operations (Rect, Line and Clear).
renderer | The renderer from which drawing color should be queried. |
r | A pointer to the red value used to draw on the rendering target. |
g | A pointer to the green value used to draw on the rendering target. |
b | A pointer to the blue value used to draw on the rendering target. |
a | A pointer to the alpha value used to draw on the rendering target, usually SDL_ALPHA_OPAQUE (255). |
int SDL_GetRenderDriverInfo | ( | int | index, |
SDL_RendererInfo * | info | ||
) |
Get information about a specific 2D rendering driver for the current display.
index | The index of the driver to query information about. |
info | A pointer to an SDL_RendererInfo struct to be filled with information on the rendering driver. |
SDL_Renderer* SDL_GetRenderer | ( | SDL_Window * | window | ) |
Get the renderer associated with a window.
int SDL_GetRendererInfo | ( | SDL_Renderer * | renderer, |
SDL_RendererInfo * | info | ||
) |
Get information about a rendering context.
int SDL_GetRendererOutputSize | ( | SDL_Renderer * | renderer, |
int * | w, | ||
int * | h | ||
) |
Get the output size in pixels of a rendering context.
SDL_Texture* SDL_GetRenderTarget | ( | SDL_Renderer * | renderer | ) |
Get the current render target or NULL for the default render target.
int SDL_GetTextureAlphaMod | ( | SDL_Texture * | texture, |
Uint8 * | alpha | ||
) |
Get the additional alpha value used in render copy operations.
texture | The texture to query. |
alpha | A pointer filled in with the current alpha value. |
int SDL_GetTextureBlendMode | ( | SDL_Texture * | texture, |
SDL_BlendMode * | blendMode | ||
) |
Get the blend mode used for texture copy operations.
texture | The texture to query. |
blendMode | A pointer filled in with the current blend mode. |
int SDL_GetTextureColorMod | ( | SDL_Texture * | texture, |
Uint8 * | r, | ||
Uint8 * | g, | ||
Uint8 * | b | ||
) |
Get the additional color value used in render copy operations.
texture | The texture to query. |
r | A pointer filled in with the current red color value. |
g | A pointer filled in with the current green color value. |
b | A pointer filled in with the current blue color value. |
int SDL_GetTextureScaleMode | ( | SDL_Texture * | texture, |
SDL_ScaleMode * | scaleMode | ||
) |
Get the scale mode used for texture scale operations.
texture | The texture to query. |
scaleMode | A pointer filled in with the current scale mode. |
int SDL_GL_BindTexture | ( | SDL_Texture * | texture, |
float * | texw, | ||
float * | texh | ||
) |
Bind the texture to the current OpenGL/ES/ES2 context for use with OpenGL instructions.
texture | The SDL texture to bind |
texw | A pointer to a float that will be filled with the texture width |
texh | A pointer to a float that will be filled with the texture height |
int SDL_GL_UnbindTexture | ( | SDL_Texture * | texture | ) |
Unbind a texture from the current OpenGL/ES/ES2 context.
texture | The SDL texture to unbind |
int SDL_LockTexture | ( | SDL_Texture * | texture, |
const SDL_Rect * | rect, | ||
void ** | pixels, | ||
int * | pitch | ||
) |
Lock a portion of the texture for write-only pixel access.
texture | The texture to lock for access, which was created with SDL_TEXTUREACCESS_STREAMING. |
rect | A pointer to the rectangle to lock for access. If the rect is NULL, the entire texture will be locked. |
pixels | This is filled in with a pointer to the locked pixels, appropriately offset by the locked area. |
pitch | This is filled in with the pitch of the locked pixels. |
int SDL_LockTextureToSurface | ( | SDL_Texture * | texture, |
const SDL_Rect * | rect, | ||
SDL_Surface ** | surface | ||
) |
Lock a portion of the texture for write-only pixel access. Expose it as a SDL surface.
texture | The texture to lock for access, which was created with SDL_TEXTUREACCESS_STREAMING. |
rect | A pointer to the rectangle to lock for access. If the rect is NULL, the entire texture will be locked. |
surface | This is filled in with a SDL surface representing the locked area Surface is freed internally after calling SDL_UnlockTexture or SDL_DestroyTexture. |
int SDL_QueryTexture | ( | SDL_Texture * | texture, |
Uint32 * | format, | ||
int * | access, | ||
int * | w, | ||
int * | h | ||
) |
Query the attributes of a texture.
texture | A texture to be queried. |
format | A pointer filled in with the raw format of the texture. The actual format may differ, but pixel transfers will use this format. |
access | A pointer filled in with the actual access to the texture. |
w | A pointer filled in with the width of the texture in pixels. |
h | A pointer filled in with the height of the texture in pixels. |
int SDL_RenderClear | ( | SDL_Renderer * | renderer | ) |
Clear the current rendering target with the drawing color.
This function clears the entire rendering target, ignoring the viewport and the clip rectangle.
int SDL_RenderCopy | ( | SDL_Renderer * | renderer, |
SDL_Texture * | texture, | ||
const SDL_Rect * | srcrect, | ||
const SDL_Rect * | dstrect | ||
) |
Copy a portion of the texture to the current rendering target.
renderer | The renderer which should copy parts of a texture. |
texture | The source texture. |
srcrect | A pointer to the source rectangle, or NULL for the entire texture. |
dstrect | A pointer to the destination rectangle, or NULL for the entire rendering target. |
int SDL_RenderCopyEx | ( | SDL_Renderer * | renderer, |
SDL_Texture * | texture, | ||
const SDL_Rect * | srcrect, | ||
const SDL_Rect * | dstrect, | ||
const double | angle, | ||
const SDL_Point * | center, | ||
const SDL_RendererFlip | flip | ||
) |
Copy a portion of the source texture to the current rendering target, rotating it by angle around the given center.
renderer | The renderer which should copy parts of a texture. |
texture | The source texture. |
srcrect | A pointer to the source rectangle, or NULL for the entire texture. |
dstrect | A pointer to the destination rectangle, or NULL for the entire rendering target. |
angle | An angle in degrees that indicates the rotation that will be applied to dstrect, rotating it in a clockwise direction |
center | A pointer to a point indicating the point around which dstrect will be rotated (if NULL, rotation will be done around dstrect.w/2, dstrect.h/2). |
flip | An SDL_RendererFlip value stating which flipping actions should be performed on the texture |
int SDL_RenderCopyExF | ( | SDL_Renderer * | renderer, |
SDL_Texture * | texture, | ||
const SDL_Rect * | srcrect, | ||
const SDL_FRect * | dstrect, | ||
const double | angle, | ||
const SDL_FPoint * | center, | ||
const SDL_RendererFlip | flip | ||
) |
Copy a portion of the source texture to the current rendering target, rotating it by angle around the given center.
renderer | The renderer which should copy parts of a texture. |
texture | The source texture. |
srcrect | A pointer to the source rectangle, or NULL for the entire texture. |
dstrect | A pointer to the destination rectangle, or NULL for the entire rendering target. |
angle | An angle in degrees that indicates the rotation that will be applied to dstrect, rotating it in a clockwise direction |
center | A pointer to a point indicating the point around which dstrect will be rotated (if NULL, rotation will be done around dstrect.w/2, dstrect.h/2). |
flip | An SDL_RendererFlip value stating which flipping actions should be performed on the texture |
int SDL_RenderCopyF | ( | SDL_Renderer * | renderer, |
SDL_Texture * | texture, | ||
const SDL_Rect * | srcrect, | ||
const SDL_FRect * | dstrect | ||
) |
Copy a portion of the texture to the current rendering target.
renderer | The renderer which should copy parts of a texture. |
texture | The source texture. |
srcrect | A pointer to the source rectangle, or NULL for the entire texture. |
dstrect | A pointer to the destination rectangle, or NULL for the entire rendering target. |
int SDL_RenderDrawLine | ( | SDL_Renderer * | renderer, |
int | x1, | ||
int | y1, | ||
int | x2, | ||
int | y2 | ||
) |
Draw a line on the current rendering target.
renderer | The renderer which should draw a line. |
x1 | The x coordinate of the start point. |
y1 | The y coordinate of the start point. |
x2 | The x coordinate of the end point. |
y2 | The y coordinate of the end point. |
int SDL_RenderDrawLineF | ( | SDL_Renderer * | renderer, |
float | x1, | ||
float | y1, | ||
float | x2, | ||
float | y2 | ||
) |
Draw a line on the current rendering target.
renderer | The renderer which should draw a line. |
x1 | The x coordinate of the start point. |
y1 | The y coordinate of the start point. |
x2 | The x coordinate of the end point. |
y2 | The y coordinate of the end point. |
int SDL_RenderDrawLines | ( | SDL_Renderer * | renderer, |
const SDL_Point * | points, | ||
int | count | ||
) |
Draw a series of connected lines on the current rendering target.
renderer | The renderer which should draw multiple lines. |
points | The points along the lines |
count | The number of points, drawing count-1 lines |
int SDL_RenderDrawLinesF | ( | SDL_Renderer * | renderer, |
const SDL_FPoint * | points, | ||
int | count | ||
) |
Draw a series of connected lines on the current rendering target.
renderer | The renderer which should draw multiple lines. |
points | The points along the lines |
count | The number of points, drawing count-1 lines |
int SDL_RenderDrawPoint | ( | SDL_Renderer * | renderer, |
int | x, | ||
int | y | ||
) |
Draw a point on the current rendering target.
renderer | The renderer which should draw a point. |
x | The x coordinate of the point. |
y | The y coordinate of the point. |
int SDL_RenderDrawPointF | ( | SDL_Renderer * | renderer, |
float | x, | ||
float | y | ||
) |
Draw a point on the current rendering target.
renderer | The renderer which should draw a point. |
x | The x coordinate of the point. |
y | The y coordinate of the point. |
int SDL_RenderDrawPoints | ( | SDL_Renderer * | renderer, |
const SDL_Point * | points, | ||
int | count | ||
) |
Draw multiple points on the current rendering target.
renderer | The renderer which should draw multiple points. |
points | The points to draw |
count | The number of points to draw |
int SDL_RenderDrawPointsF | ( | SDL_Renderer * | renderer, |
const SDL_FPoint * | points, | ||
int | count | ||
) |
Draw multiple points on the current rendering target.
renderer | The renderer which should draw multiple points. |
points | The points to draw |
count | The number of points to draw |
int SDL_RenderDrawRect | ( | SDL_Renderer * | renderer, |
const SDL_Rect * | rect | ||
) |
Draw a rectangle on the current rendering target.
renderer | The renderer which should draw a rectangle. |
rect | A pointer to the destination rectangle, or NULL to outline the entire rendering target. |
int SDL_RenderDrawRectF | ( | SDL_Renderer * | renderer, |
const SDL_FRect * | rect | ||
) |
Draw a rectangle on the current rendering target.
renderer | The renderer which should draw a rectangle. |
rect | A pointer to the destination rectangle, or NULL to outline the entire rendering target. |
int SDL_RenderDrawRects | ( | SDL_Renderer * | renderer, |
const SDL_Rect * | rects, | ||
int | count | ||
) |
Draw some number of rectangles on the current rendering target.
renderer | The renderer which should draw multiple rectangles. |
rects | A pointer to an array of destination rectangles. |
count | The number of rectangles. |
int SDL_RenderDrawRectsF | ( | SDL_Renderer * | renderer, |
const SDL_FRect * | rects, | ||
int | count | ||
) |
Draw some number of rectangles on the current rendering target.
renderer | The renderer which should draw multiple rectangles. |
rects | A pointer to an array of destination rectangles. |
count | The number of rectangles. |
int SDL_RenderFillRect | ( | SDL_Renderer * | renderer, |
const SDL_Rect * | rect | ||
) |
Fill a rectangle on the current rendering target with the drawing color.
renderer | The renderer which should fill a rectangle. |
rect | A pointer to the destination rectangle, or NULL for the entire rendering target. |
int SDL_RenderFillRectF | ( | SDL_Renderer * | renderer, |
const SDL_FRect * | rect | ||
) |
Fill a rectangle on the current rendering target with the drawing color.
renderer | The renderer which should fill a rectangle. |
rect | A pointer to the destination rectangle, or NULL for the entire rendering target. |
int SDL_RenderFillRects | ( | SDL_Renderer * | renderer, |
const SDL_Rect * | rects, | ||
int | count | ||
) |
Fill some number of rectangles on the current rendering target with the drawing color.
renderer | The renderer which should fill multiple rectangles. |
rects | A pointer to an array of destination rectangles. |
count | The number of rectangles. |
int SDL_RenderFillRectsF | ( | SDL_Renderer * | renderer, |
const SDL_FRect * | rects, | ||
int | count | ||
) |
Fill some number of rectangles on the current rendering target with the drawing color.
renderer | The renderer which should fill multiple rectangles. |
rects | A pointer to an array of destination rectangles. |
count | The number of rectangles. |
int SDL_RenderFlush | ( | SDL_Renderer * | renderer | ) |
Force the rendering context to flush any pending commands to the underlying rendering API.
You do not need to (and in fact, shouldn't) call this function unless you are planning to call into OpenGL/Direct3D/Metal/whatever directly in addition to using an SDL_Renderer.
This is for a very-specific case: if you are using SDL's render API, you asked for a specific renderer backend (OpenGL, Direct3D, etc), you set SDL_HINT_RENDER_BATCHING to "1", and you plan to make OpenGL/D3D/whatever calls in addition to SDL render API calls. If all of this applies, you should call SDL_RenderFlush() between calls to SDL's render API and the low-level API you're using in cooperation.
In all other cases, you can ignore this function. This is only here to get maximum performance out of a specific situation. In all other cases, SDL will do the right thing, perhaps at a performance loss.
This function is first available in SDL 2.0.10, and is not needed in 2.0.9 and earlier, as earlier versions did not queue rendering commands at all, instead flushing them to the OS immediately.
void SDL_RenderGetClipRect | ( | SDL_Renderer * | renderer, |
SDL_Rect * | rect | ||
) |
Get the clip rectangle for the current target.
renderer | The renderer from which clip rectangle should be queried. |
rect | A pointer filled in with the current clip rectangle, or an empty rectangle if clipping is disabled. |
SDL_bool SDL_RenderGetIntegerScale | ( | SDL_Renderer * | renderer | ) |
Get whether integer scales are forced for resolution-independent rendering.
renderer | The renderer from which integer scaling should be queried. |
void SDL_RenderGetLogicalSize | ( | SDL_Renderer * | renderer, |
int * | w, | ||
int * | h | ||
) |
Get device independent resolution for rendering.
renderer | The renderer from which resolution should be queried. |
w | A pointer filled with the width of the logical resolution |
h | A pointer filled with the height of the logical resolution |
void* SDL_RenderGetMetalCommandEncoder | ( | SDL_Renderer * | renderer | ) |
Get the Metal command encoder for the current frame.
renderer | The renderer to query |
void* SDL_RenderGetMetalLayer | ( | SDL_Renderer * | renderer | ) |
Get the CAMetalLayer associated with the given Metal renderer.
renderer | The renderer to query |
void SDL_RenderGetScale | ( | SDL_Renderer * | renderer, |
float * | scaleX, | ||
float * | scaleY | ||
) |
Get the drawing scale for the current target.
renderer | The renderer from which drawing scale should be queried. |
scaleX | A pointer filled in with the horizontal scaling factor |
scaleY | A pointer filled in with the vertical scaling factor |
void SDL_RenderGetViewport | ( | SDL_Renderer * | renderer, |
SDL_Rect * | rect | ||
) |
Get the drawing area for the current target.
SDL_bool SDL_RenderIsClipEnabled | ( | SDL_Renderer * | renderer | ) |
Get whether clipping is enabled on the given renderer.
renderer | The renderer from which clip state should be queried. |
void SDL_RenderPresent | ( | SDL_Renderer * | renderer | ) |
Update the screen with rendering performed.
int SDL_RenderReadPixels | ( | SDL_Renderer * | renderer, |
const SDL_Rect * | rect, | ||
Uint32 | format, | ||
void * | pixels, | ||
int | pitch | ||
) |
Read pixels from the current rendering target.
renderer | The renderer from which pixels should be read. |
rect | A pointer to the rectangle to read, or NULL for the entire render target. |
format | The desired format of the pixel data, or 0 to use the format of the rendering target |
pixels | A pointer to be filled in with the pixel data |
pitch | The pitch of the pixels parameter. |
int SDL_RenderSetClipRect | ( | SDL_Renderer * | renderer, |
const SDL_Rect * | rect | ||
) |
Set the clip rectangle for the current target.
renderer | The renderer for which clip rectangle should be set. |
rect | A pointer to the rectangle to set as the clip rectangle, relative to the viewport, or NULL to disable clipping. |
int SDL_RenderSetIntegerScale | ( | SDL_Renderer * | renderer, |
SDL_bool | enable | ||
) |
Set whether to force integer scales for resolution-independent rendering.
renderer | The renderer for which integer scaling should be set. |
enable | Enable or disable integer scaling |
This function restricts the logical viewport to integer values - that is, when a resolution is between two multiples of a logical size, the viewport size is rounded down to the lower multiple.
int SDL_RenderSetLogicalSize | ( | SDL_Renderer * | renderer, |
int | w, | ||
int | h | ||
) |
Set device independent resolution for rendering.
renderer | The renderer for which resolution should be set. |
w | The width of the logical resolution |
h | The height of the logical resolution |
This function uses the viewport and scaling functionality to allow a fixed logical resolution for rendering, regardless of the actual output resolution. If the actual output resolution doesn't have the same aspect ratio the output rendering will be centered within the output display.
If the output display is a window, mouse events in the window will be filtered and scaled so they seem to arrive within the logical resolution.
int SDL_RenderSetScale | ( | SDL_Renderer * | renderer, |
float | scaleX, | ||
float | scaleY | ||
) |
Set the drawing scale for rendering on the current target.
renderer | The renderer for which the drawing scale should be set. |
scaleX | The horizontal scaling factor |
scaleY | The vertical scaling factor |
The drawing coordinates are scaled by the x/y scaling factors before they are used by the renderer. This allows resolution independent drawing with a single coordinate system.
int SDL_RenderSetViewport | ( | SDL_Renderer * | renderer, |
const SDL_Rect * | rect | ||
) |
Set the drawing area for rendering on the current target.
renderer | The renderer for which the drawing area should be set. |
rect | The rectangle representing the drawing area, or NULL to set the viewport to the entire target. |
The x,y of the viewport rect represents the origin for rendering.
SDL_bool SDL_RenderTargetSupported | ( | SDL_Renderer * | renderer | ) |
Determines whether a window supports the use of render targets.
renderer | The renderer that will be checked |
int SDL_SetRenderDrawBlendMode | ( | SDL_Renderer * | renderer, |
SDL_BlendMode | blendMode | ||
) |
Set the blend mode used for drawing operations (Fill and Line).
renderer | The renderer for which blend mode should be set. |
blendMode | SDL_BlendMode to use for blending. |
int SDL_SetRenderDrawColor | ( | SDL_Renderer * | renderer, |
Uint8 | r, | ||
Uint8 | g, | ||
Uint8 | b, | ||
Uint8 | a | ||
) |
Set the color used for drawing operations (Rect, Line and Clear).
renderer | The renderer for which drawing color should be set. |
r | The red value used to draw on the rendering target. |
g | The green value used to draw on the rendering target. |
b | The blue value used to draw on the rendering target. |
a | The alpha value used to draw on the rendering target, usually SDL_ALPHA_OPAQUE (255). |
int SDL_SetRenderTarget | ( | SDL_Renderer * | renderer, |
SDL_Texture * | texture | ||
) |
Set a texture as the current rendering target.
renderer | The renderer. |
texture | The targeted texture, which must be created with the SDL_TEXTUREACCESS_TARGET flag, or NULL for the default render target |
int SDL_SetTextureAlphaMod | ( | SDL_Texture * | texture, |
Uint8 | alpha | ||
) |
Set an additional alpha value used in render copy operations.
texture | The texture to update. |
alpha | The alpha value multiplied into copy operations. |
int SDL_SetTextureBlendMode | ( | SDL_Texture * | texture, |
SDL_BlendMode | blendMode | ||
) |
Set the blend mode used for texture copy operations.
texture | The texture to update. |
blendMode | SDL_BlendMode to use for texture blending. |
int SDL_SetTextureColorMod | ( | SDL_Texture * | texture, |
Uint8 | r, | ||
Uint8 | g, | ||
Uint8 | b | ||
) |
Set an additional color value used in render copy operations.
texture | The texture to update. |
r | The red color value multiplied into copy operations. |
g | The green color value multiplied into copy operations. |
b | The blue color value multiplied into copy operations. |
int SDL_SetTextureScaleMode | ( | SDL_Texture * | texture, |
SDL_ScaleMode | scaleMode | ||
) |
Set the scale mode used for texture scale operations.
texture | The texture to update. |
scaleMode | SDL_ScaleMode to use for texture scaling. |
void SDL_UnlockTexture | ( | SDL_Texture * | texture | ) |
Unlock a texture, uploading the changes to video memory, if needed. If SDL_LockTextureToSurface() was called for locking, the SDL surface is freed.
int SDL_UpdateTexture | ( | SDL_Texture * | texture, |
const SDL_Rect * | rect, | ||
const void * | pixels, | ||
int | pitch | ||
) |
Update the given texture rectangle with new pixel data.
texture | The texture to update |
rect | A pointer to the rectangle of pixels to update, or NULL to update the entire texture. |
pixels | The raw pixel data in the format of the texture. |
pitch | The number of bytes in a row of pixel data, including padding between lines. |
The pixel data must be in the format of the texture. The pixel format can be queried with SDL_QueryTexture.
int SDL_UpdateYUVTexture | ( | SDL_Texture * | texture, |
const SDL_Rect * | rect, | ||
const Uint8 * | Yplane, | ||
int | Ypitch, | ||
const Uint8 * | Uplane, | ||
int | Upitch, | ||
const Uint8 * | Vplane, | ||
int | Vpitch | ||
) |
Update a rectangle within a planar YV12 or IYUV texture with new pixel data.
texture | The texture to update |
rect | A pointer to the rectangle of pixels to update, or NULL to update the entire texture. |
Yplane | The raw pixel data for the Y plane. |
Ypitch | The number of bytes between rows of pixel data for the Y plane. |
Uplane | The raw pixel data for the U plane. |
Upitch | The number of bytes between rows of pixel data for the U plane. |
Vplane | The raw pixel data for the V plane. |
Vpitch | The number of bytes between rows of pixel data for the V plane. |