SDL
2.0
|
#include "../SDL_internal.h"
#include "SDL_assert.h"
#include "SDL_hints.h"
#include "SDL_log.h"
#include "SDL_render.h"
#include "SDL_sysrender.h"
#include "software/SDL_render_sw_c.h"
Go to the source code of this file.
Macros | |
#define | SDL_WINDOWRENDERDATA "_SDL_WindowRenderData" |
#define | CHECK_RENDERER_MAGIC(renderer, retval) |
#define | CHECK_TEXTURE_MAGIC(texture, retval) |
#define | SDL_COMPOSE_BLENDMODE(srcColorFactor, dstColorFactor, colorOperation, srcAlphaFactor, dstAlphaFactor, alphaOperation) |
#define | SDL_BLENDMODE_NONE_FULL |
#define | SDL_BLENDMODE_BLEND_FULL |
#define | SDL_BLENDMODE_ADD_FULL |
#define | SDL_BLENDMODE_MOD_FULL |
Functions | |
static int | UpdateLogicalSize (SDL_Renderer *renderer) |
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... | |
static int | SDL_RendererEventWatch (void *userdata, SDL_Event *event) |
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... | |
static SDL_bool | IsSupportedBlendMode (SDL_Renderer *renderer, SDL_BlendMode blendMode) |
static SDL_bool | IsSupportedFormat (SDL_Renderer *renderer, Uint32 format) |
static Uint32 | GetClosestSupportedFormat (SDL_Renderer *renderer, Uint32 format) |
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... | |
static int | SDL_UpdateTextureYUV (SDL_Texture *texture, const SDL_Rect *rect, const void *pixels, int pitch) |
static int | SDL_UpdateTextureNative (SDL_Texture *texture, const SDL_Rect *rect, const void *pixels, int pitch) |
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... | |
static int | SDL_UpdateTextureYUVPlanar (SDL_Texture *texture, const SDL_Rect *rect, const Uint8 *Yplane, int Ypitch, const Uint8 *Uplane, int Upitch, const Uint8 *Vplane, int Vpitch) |
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... | |
static int | SDL_LockTextureYUV (SDL_Texture *texture, const SDL_Rect *rect, void **pixels, int *pitch) |
static int | SDL_LockTextureNative (SDL_Texture *texture, const SDL_Rect *rect, void **pixels, int *pitch) |
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... | |
static void | SDL_UnlockTextureYUV (SDL_Texture *texture) |
static void | SDL_UnlockTextureNative (SDL_Texture *texture) |
void | SDL_UnlockTexture (SDL_Texture *texture) |
Unlock a texture, uploading the changes to video memory, if needed. 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... | |
static int | RenderDrawPointsWithRects (SDL_Renderer *renderer, const SDL_Point *points, int count) |
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... | |
static int | RenderDrawLinesWithRects (SDL_Renderer *renderer, const SDL_Point *points, int count) |
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_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_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... | |
static SDL_BlendMode | SDL_GetShortBlendMode (SDL_BlendMode blendMode) |
static SDL_BlendMode | SDL_GetLongBlendMode (SDL_BlendMode blendMode) |
SDL_BlendMode | SDL_ComposeCustomBlendMode (SDL_BlendFactor srcColorFactor, SDL_BlendFactor dstColorFactor, SDL_BlendOperation colorOperation, SDL_BlendFactor srcAlphaFactor, SDL_BlendFactor dstAlphaFactor, SDL_BlendOperation alphaOperation) |
Create a custom blend mode, which may or may not be supported by a given renderer. More... | |
SDL_BlendFactor | SDL_GetBlendModeSrcColorFactor (SDL_BlendMode blendMode) |
SDL_BlendFactor | SDL_GetBlendModeDstColorFactor (SDL_BlendMode blendMode) |
SDL_BlendOperation | SDL_GetBlendModeColorOperation (SDL_BlendMode blendMode) |
SDL_BlendFactor | SDL_GetBlendModeSrcAlphaFactor (SDL_BlendMode blendMode) |
SDL_BlendFactor | SDL_GetBlendModeDstAlphaFactor (SDL_BlendMode blendMode) |
SDL_BlendOperation | SDL_GetBlendModeAlphaOperation (SDL_BlendMode blendMode) |
Variables | |
static const SDL_RenderDriver * | render_drivers [] |
static char | renderer_magic |
static char | texture_magic |
Definition at line 35 of file SDL_render.c.
Referenced by SDL_CreateTexture(), SDL_CreateTextureFromSurface(), SDL_DestroyRenderer(), SDL_GetRenderDrawBlendMode(), SDL_GetRenderDrawColor(), SDL_GetRendererInfo(), SDL_GetRendererOutputSize(), SDL_RenderClear(), SDL_RenderCopy(), SDL_RenderCopyEx(), SDL_RenderDrawLines(), SDL_RenderDrawPoints(), SDL_RenderDrawRect(), SDL_RenderDrawRects(), SDL_RenderFillRect(), SDL_RenderFillRects(), SDL_RenderGetClipRect(), SDL_RenderGetIntegerScale(), SDL_RenderGetLogicalSize(), SDL_RenderGetMetalCommandEncoder(), SDL_RenderGetMetalLayer(), SDL_RenderGetScale(), SDL_RenderGetViewport(), SDL_RenderIsClipEnabled(), SDL_RenderPresent(), SDL_RenderReadPixels(), SDL_RenderSetClipRect(), SDL_RenderSetIntegerScale(), SDL_RenderSetLogicalSize(), SDL_RenderSetScale(), SDL_RenderSetViewport(), SDL_SetRenderDrawBlendMode(), and SDL_SetRenderDrawColor().
Definition at line 42 of file SDL_render.c.
Referenced by SDL_DestroyTexture(), SDL_GetTextureAlphaMod(), SDL_GetTextureBlendMode(), SDL_GetTextureColorMod(), SDL_GL_BindTexture(), SDL_GL_UnbindTexture(), SDL_LockTexture(), SDL_QueryTexture(), SDL_RenderCopy(), SDL_RenderCopyEx(), SDL_SetRenderTarget(), SDL_SetTextureAlphaMod(), SDL_SetTextureBlendMode(), SDL_SetTextureColorMod(), SDL_UnlockTexture(), SDL_UpdateTexture(), and SDL_UpdateYUVTexture().
#define SDL_BLENDMODE_ADD_FULL |
Definition at line 67 of file SDL_render.c.
Referenced by SDL_GetLongBlendMode(), and SDL_GetShortBlendMode().
#define SDL_BLENDMODE_BLEND_FULL |
Definition at line 63 of file SDL_render.c.
Referenced by SDL_GetLongBlendMode(), and SDL_GetShortBlendMode().
#define SDL_BLENDMODE_MOD_FULL |
Definition at line 71 of file SDL_render.c.
Referenced by SDL_GetLongBlendMode(), and SDL_GetShortBlendMode().
#define SDL_BLENDMODE_NONE_FULL |
Definition at line 59 of file SDL_render.c.
Referenced by SDL_GetLongBlendMode(), and SDL_GetShortBlendMode().
#define SDL_COMPOSE_BLENDMODE | ( | srcColorFactor, | |
dstColorFactor, | |||
colorOperation, | |||
srcAlphaFactor, | |||
dstAlphaFactor, | |||
alphaOperation | |||
) |
Definition at line 50 of file SDL_render.c.
Referenced by SDL_ComposeCustomBlendMode().
#define SDL_WINDOWRENDERDATA "_SDL_WindowRenderData" |
Definition at line 33 of file SDL_render.c.
Referenced by SDL_CreateRenderer(), SDL_DestroyRenderer(), and SDL_GetRenderer().
|
static |
Definition at line 471 of file SDL_render.c.
References i, SDL_Renderer::info, SDL_RendererInfo::num_texture_formats, SDL_ISPIXELFORMAT_ALPHA, SDL_ISPIXELFORMAT_FOURCC, and SDL_RendererInfo::texture_formats.
Referenced by SDL_CreateTexture().
|
static |
Definition at line 441 of file SDL_render.c.
References SDL_BLENDMODE_ADD, SDL_BLENDMODE_BLEND, SDL_BLENDMODE_MOD, SDL_BLENDMODE_NONE, SDL_TRUE, and SDL_Renderer::SupportsBlendMode.
Referenced by SDL_SetRenderDrawBlendMode(), and SDL_SetTextureBlendMode().
|
static |
Definition at line 458 of file SDL_render.c.
References i, SDL_Renderer::info, SDL_RendererInfo::num_texture_formats, SDL_FALSE, SDL_TRUE, and SDL_RendererInfo::texture_formats.
Referenced by SDL_CreateTexture().
|
static |
Definition at line 1649 of file SDL_render.c.
References SDL_FRect::h, i, SDL_Renderer::RenderDrawLines, SDL_Renderer::RenderFillRects, SDL_Renderer::scale, SDL_max, SDL_min, SDL_OutOfMemory, SDL_stack_alloc, SDL_stack_free, SDL_FRect::w, SDL_FPoint::x, SDL_FRect::x, SDL_Point::x, SDL_FPoint::y, SDL_FRect::y, and SDL_Point::y.
Referenced by SDL_RenderDrawLines().
|
static |
Definition at line 1569 of file SDL_render.c.
References SDL_FRect::h, i, SDL_Renderer::RenderFillRects, SDL_Renderer::scale, SDL_OutOfMemory, SDL_stack_alloc, SDL_stack_free, SDL_FRect::w, SDL_FPoint::x, SDL_FRect::x, SDL_Point::x, SDL_FPoint::y, SDL_FRect::y, and SDL_Point::y.
Referenced by SDL_RenderDrawPoints().
SDL_BlendMode SDL_ComposeCustomBlendMode | ( | SDL_BlendFactor | srcColorFactor, |
SDL_BlendFactor | dstColorFactor, | ||
SDL_BlendOperation | colorOperation, | ||
SDL_BlendFactor | srcAlphaFactor, | ||
SDL_BlendFactor | dstAlphaFactor, | ||
SDL_BlendOperation | alphaOperation | ||
) |
Create a custom blend mode, which may or may not be supported by a given renderer.
srcColorFactor | |
dstColorFactor | |
colorOperation | |
srcAlphaFactor | |
dstAlphaFactor | |
alphaOperation | The result of the blend mode operation will be: dstRGB = dstRGB * dstColorFactor colorOperation srcRGB * srcColorFactor and dstA = dstA * dstAlphaFactor alphaOperation srcA * srcAlphaFactor |
Definition at line 2182 of file SDL_render.c.
References blendMode, SDL_COMPOSE_BLENDMODE, and SDL_GetShortBlendMode().
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. |
Definition at line 278 of file SDL_render.c.
References SDL_RenderDriver::CreateRenderer, SDL_Renderer::dpi_scale, SDL_RendererInfo::flags, SDL_Renderer::GetOutputSize, SDL_Renderer::hidden, SDL_Renderer::info, SDL_RenderDriver::info, SDL_Renderer::magic, SDL_RendererInfo::name, NULL, renderer, renderer_magic, SDL_Renderer::scale, SDL_AddEventWatch, SDL_FALSE, SDL_GetHint, SDL_GetHintBoolean, SDL_GetNumRenderDrivers(), SDL_GetRenderer(), SDL_GetWindowFlags, SDL_GetWindowSize, SDL_HINT_RENDER_DRIVER, SDL_HINT_RENDER_VSYNC, SDL_LOG_CATEGORY_RENDER, SDL_LogInfo, SDL_RENDERER_PRESENTVSYNC, SDL_RendererEventWatch(), SDL_RenderSetViewport(), SDL_SetError, SDL_SetWindowData, SDL_strcasecmp, SDL_TRUE, SDL_WINDOW_HIDDEN, SDL_WINDOW_MINIMIZED, SDL_WINDOWRENDERDATA, SDL_Renderer::window, window_h, window_w, SDL_FPoint::x, and SDL_FPoint::y.
Referenced by SDL_CreateWindowAndRenderer().
SDL_Renderer* SDL_CreateSoftwareRenderer | ( | SDL_Surface * | surface | ) |
Create a 2D software rendering context for a surface.
surface | The surface where rendering is done. |
Definition at line 386 of file SDL_render.c.
References SDL_Renderer::magic, NULL, renderer, renderer_magic, SDL_Renderer::scale, SDL_RenderSetViewport(), SDL_SetError, SW_CreateRendererForSurface(), SDL_FPoint::x, and SDL_FPoint::y.
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. |
Definition at line 497 of file SDL_render.c.
References SDL_Texture::a, SDL_Texture::access, SDL_Texture::b, CHECK_RENDERER_MAGIC, SDL_Renderer::CreateTexture, SDL_Texture::format, SDL_Texture::g, GetClosestSupportedFormat(), SDL_Texture::h, SDL_Renderer::info, IsSupportedFormat(), SDL_Texture::magic, SDL_RendererInfo::max_texture_height, SDL_RendererInfo::max_texture_width, SDL_Texture::native, SDL_Texture::next, NULL, SDL_Texture::pitch, SDL_Texture::pixels, SDL_Texture::prev, SDL_Texture::r, renderer, SDL_Texture::renderer, SDL_BYTESPERPIXEL, SDL_calloc, SDL_DestroyTexture(), SDL_ISPIXELFORMAT_FOURCC, SDL_ISPIXELFORMAT_INDEXED, SDL_OutOfMemory, SDL_SetError, SDL_SW_CreateYUVTexture(), SDL_TEXTUREACCESS_STREAMING, SDL_RendererInfo::texture_formats, texture_magic, SDL_Renderer::textures, SDL_Texture::w, and SDL_Texture::yuv.
Referenced by SDL_CreateTextureFromSurface().
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. |
Definition at line 591 of file SDL_render.c.
References SDL_PixelFormat::Amask, blendMode, CHECK_RENDERER_MAGIC, SDL_Surface::format, SDL_PixelFormat::format, SDL_Surface::h, i, SDL_Renderer::info, NULL, SDL_RendererInfo::num_texture_formats, SDL_Surface::pitch, SDL_Surface::pixels, SDL_AllocFormat, SDL_BLENDMODE_BLEND, SDL_ConvertSurface, SDL_CreateTexture(), SDL_DestroyTexture(), SDL_FALSE, SDL_FreeFormat, SDL_FreeSurface, SDL_GetColorKey, SDL_GetSurfaceAlphaMod, SDL_GetSurfaceBlendMode, SDL_GetSurfaceColorMod, SDL_ISPIXELFORMAT_ALPHA, SDL_ISPIXELFORMAT_FOURCC, SDL_LockSurface, SDL_MUSTLOCK, SDL_SetError, SDL_SetTextureAlphaMod(), SDL_SetTextureBlendMode(), SDL_SetTextureColorMod(), SDL_TEXTUREACCESS_STATIC, SDL_TRUE, SDL_UnlockSurface, SDL_UpdateTexture(), SDL_RendererInfo::texture_formats, and SDL_Surface::w.
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 |
Definition at line 258 of file SDL_render.c.
References NULL, SDL_CreateRenderer(), SDL_CreateWindow, and SDL_WINDOWPOS_UNDEFINED.
void SDL_DestroyRenderer | ( | SDL_Renderer * | renderer | ) |
Destroy the rendering context for a window and free associated textures.
Definition at line 2069 of file SDL_render.c.
References CHECK_RENDERER_MAGIC, SDL_Renderer::DestroyRenderer, SDL_Renderer::magic, NULL, SDL_assert, SDL_DelEventWatch, SDL_DestroyTexture(), SDL_RendererEventWatch(), SDL_SetWindowData, SDL_WINDOWRENDERDATA, SDL_Renderer::textures, void, and SDL_Renderer::window.
void SDL_DestroyTexture | ( | SDL_Texture * | texture | ) |
Destroy the specified texture.
Definition at line 2034 of file SDL_render.c.
References CHECK_TEXTURE_MAGIC, SDL_Renderer::DestroyTexture, SDL_Texture::magic, SDL_Texture::native, SDL_Texture::next, NULL, SDL_Texture::pixels, SDL_Texture::prev, renderer, SDL_Texture::renderer, SDL_free, SDL_SetRenderTarget(), SDL_SW_DestroyYUVTexture(), SDL_Renderer::target, SDL_Renderer::textures, and SDL_Texture::yuv.
Referenced by SDL_CreateTexture(), SDL_CreateTextureFromSurface(), and SDL_DestroyRenderer().
SDL_BlendOperation SDL_GetBlendModeAlphaOperation | ( | SDL_BlendMode | blendMode | ) |
Definition at line 2228 of file SDL_render.c.
References SDL_GetLongBlendMode().
SDL_BlendOperation SDL_GetBlendModeColorOperation | ( | SDL_BlendMode | blendMode | ) |
Definition at line 2207 of file SDL_render.c.
References SDL_GetLongBlendMode().
SDL_BlendFactor SDL_GetBlendModeDstAlphaFactor | ( | SDL_BlendMode | blendMode | ) |
Definition at line 2221 of file SDL_render.c.
References SDL_GetLongBlendMode().
SDL_BlendFactor SDL_GetBlendModeDstColorFactor | ( | SDL_BlendMode | blendMode | ) |
Definition at line 2200 of file SDL_render.c.
References SDL_GetLongBlendMode().
SDL_BlendFactor SDL_GetBlendModeSrcAlphaFactor | ( | SDL_BlendMode | blendMode | ) |
Definition at line 2214 of file SDL_render.c.
References SDL_GetLongBlendMode().
SDL_BlendFactor SDL_GetBlendModeSrcColorFactor | ( | SDL_BlendMode | blendMode | ) |
Definition at line 2193 of file SDL_render.c.
References SDL_GetLongBlendMode().
|
static |
Definition at line 2164 of file SDL_render.c.
References blendMode, SDL_BLENDMODE_ADD, SDL_BLENDMODE_ADD_FULL, SDL_BLENDMODE_BLEND, SDL_BLENDMODE_BLEND_FULL, SDL_BLENDMODE_MOD, SDL_BLENDMODE_MOD_FULL, SDL_BLENDMODE_NONE, and SDL_BLENDMODE_NONE_FULL.
Referenced by SDL_GetBlendModeAlphaOperation(), SDL_GetBlendModeColorOperation(), SDL_GetBlendModeDstAlphaFactor(), SDL_GetBlendModeDstColorFactor(), SDL_GetBlendModeSrcAlphaFactor(), and SDL_GetBlendModeSrcColorFactor().
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.
Definition at line 111 of file SDL_render.c.
References SDL_arraysize.
Referenced by SDL_CreateRenderer(), and SDL_GetRenderDriverInfo().
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. |
Definition at line 1538 of file SDL_render.c.
References SDL_Renderer::blendMode, and CHECK_RENDERER_MAGIC.
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). |
Definition at line 1505 of file SDL_render.c.
References SDL_Renderer::a, SDL_Renderer::b, CHECK_RENDERER_MAGIC, SDL_Renderer::g, and SDL_Renderer::r.
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. |
Definition at line 121 of file SDL_render.c.
References SDL_RenderDriver::info, SDL_GetNumRenderDrivers(), SDL_SetError, and SDLCALL.
SDL_Renderer* SDL_GetRenderer | ( | SDL_Window * | window | ) |
Get the renderer associated with a window.
Definition at line 408 of file SDL_render.c.
References SDL_GetWindowData, and SDL_WINDOWRENDERDATA.
Referenced by SDL_CreateRenderer().
int SDL_GetRendererInfo | ( | SDL_Renderer * | renderer, |
SDL_RendererInfo * | info | ||
) |
Get information about a rendering context.
Definition at line 414 of file SDL_render.c.
References CHECK_RENDERER_MAGIC, and SDL_Renderer::info.
int SDL_GetRendererOutputSize | ( | SDL_Renderer * | renderer, |
int * | w, | ||
int * | h | ||
) |
Get the output size in pixels of a rendering context.
Definition at line 423 of file SDL_render.c.
References CHECK_RENDERER_MAGIC, SDL_Renderer::GetOutputSize, NULL, SDL_assert, SDL_GetWindowSize, SDL_QueryTexture(), SDL_SetError, SDL_Renderer::target, and SDL_Renderer::window.
Referenced by SDL_RendererEventWatch(), SDL_RenderSetViewport(), and UpdateLogicalSize().
SDL_Texture* SDL_GetRenderTarget | ( | SDL_Renderer * | renderer | ) |
Get the current render target or NULL for the default render target.
Definition at line 1236 of file SDL_render.c.
References SDL_Renderer::target.
Referenced by SDL_RendererEventWatch().
|
static |
Definition at line 2146 of file SDL_render.c.
References blendMode, SDL_BLENDMODE_ADD, SDL_BLENDMODE_ADD_FULL, SDL_BLENDMODE_BLEND, SDL_BLENDMODE_BLEND_FULL, SDL_BLENDMODE_MOD, SDL_BLENDMODE_MOD_FULL, SDL_BLENDMODE_NONE, and SDL_BLENDMODE_NONE_FULL.
Referenced by SDL_ComposeCustomBlendMode().
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. |
Definition at line 766 of file SDL_render.c.
References SDL_Texture::a, and CHECK_TEXTURE_MAGIC.
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. |
Definition at line 798 of file SDL_render.c.
References SDL_Texture::blendMode, and CHECK_TEXTURE_MAGIC.
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. |
Definition at line 725 of file SDL_render.c.
References SDL_Texture::b, CHECK_TEXTURE_MAGIC, SDL_Texture::g, and SDL_Texture::r.
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 |
Definition at line 2093 of file SDL_render.c.
References CHECK_TEXTURE_MAGIC, SDL_Renderer::GL_BindTexture, SDL_Texture::native, renderer, SDL_Texture::renderer, and SDL_Unsupported.
int SDL_GL_UnbindTexture | ( | SDL_Texture * | texture | ) |
Unbind a texture from the current OpenGL/ES/ES2 context.
texture | The SDL texture to unbind |
Definition at line 2108 of file SDL_render.c.
References CHECK_TEXTURE_MAGIC, SDL_Renderer::GL_UnbindTexture, SDL_Texture::native, renderer, SDL_Texture::renderer, and SDL_Unsupported.
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. |
Definition at line 1063 of file SDL_render.c.
References SDL_Texture::access, CHECK_TEXTURE_MAGIC, SDL_Texture::h, SDL_Rect::h, SDL_Renderer::LockTexture, SDL_Texture::native, renderer, SDL_Texture::renderer, SDL_LockTextureNative(), SDL_LockTextureYUV(), SDL_SetError, SDL_TEXTUREACCESS_STREAMING, SDL_Texture::w, SDL_Rect::w, SDL_Rect::x, SDL_Rect::y, and SDL_Texture::yuv.
Referenced by SDL_UnlockTextureNative(), SDL_UnlockTextureYUV(), SDL_UpdateTextureNative(), SDL_UpdateTextureYUV(), and SDL_UpdateTextureYUVPlanar().
|
static |
Definition at line 1051 of file SDL_render.c.
References SDL_Texture::format, SDL_Texture::locked_rect, SDL_Texture::pitch, SDL_Texture::pixels, rect, SDL_BYTESPERPIXEL, SDL_Rect::x, and SDL_Rect::y.
Referenced by SDL_LockTexture().
|
static |
Definition at line 1044 of file SDL_render.c.
References SDL_SW_LockYUVTexture(), and SDL_Texture::yuv.
Referenced by SDL_LockTexture().
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. |
Definition at line 679 of file SDL_render.c.
References SDL_Texture::access, CHECK_TEXTURE_MAGIC, SDL_Texture::format, SDL_Texture::h, and SDL_Texture::w.
Referenced by SDL_GetRendererOutputSize().
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.
Definition at line 1547 of file SDL_render.c.
References CHECK_RENDERER_MAGIC, SDL_Renderer::hidden, and SDL_Renderer::RenderClear.
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. |
Definition at line 1861 of file SDL_render.c.
References CHECK_RENDERER_MAGIC, CHECK_TEXTURE_MAGIC, SDL_FRect::h, SDL_Texture::h, SDL_Rect::h, SDL_Renderer::hidden, SDL_Texture::native, SDL_Renderer::RenderCopy, SDL_Texture::renderer, SDL_Renderer::scale, SDL_HasIntersection, SDL_IntersectRect, SDL_RenderGetViewport(), SDL_SetError, SDL_FRect::w, SDL_Texture::w, SDL_Rect::w, SDL_FPoint::x, SDL_FRect::x, SDL_Rect::x, SDL_FPoint::y, SDL_FRect::y, and SDL_Rect::y.
Referenced by SDL_RenderCopyEx().
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 |
Definition at line 1914 of file SDL_render.c.
References CHECK_RENDERER_MAGIC, CHECK_TEXTURE_MAGIC, SDL_FRect::h, SDL_Texture::h, SDL_Rect::h, SDL_Renderer::hidden, SDL_Texture::native, SDL_Renderer::RenderCopyEx, SDL_Texture::renderer, SDL_Renderer::scale, SDL_FLIP_NONE, SDL_IntersectRect, SDL_RenderCopy(), SDL_RenderGetViewport(), SDL_SetError, SDL_FRect::w, SDL_Texture::w, SDL_Rect::w, SDL_FPoint::x, SDL_FRect::x, SDL_Point::x, SDL_Rect::x, SDL_FPoint::y, SDL_FRect::y, SDL_Point::y, and SDL_Rect::y.
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. |
Definition at line 1637 of file SDL_render.c.
References SDL_RenderDrawLines(), SDL_Point::x, and SDL_Point::y.
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 |
Definition at line 1705 of file SDL_render.c.
References CHECK_RENDERER_MAGIC, SDL_Renderer::hidden, i, SDL_Renderer::RenderDrawLines, RenderDrawLinesWithRects(), SDL_Renderer::scale, SDL_OutOfMemory, SDL_SetError, SDL_stack_alloc, SDL_stack_free, SDL_FPoint::x, SDL_Point::x, SDL_FPoint::y, and SDL_Point::y.
Referenced by SDL_RenderDrawLine(), and SDL_RenderDrawRect().
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. |
Definition at line 1559 of file SDL_render.c.
References SDL_RenderDrawPoints(), SDL_Point::x, and SDL_Point::y.
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 |
Definition at line 1595 of file SDL_render.c.
References CHECK_RENDERER_MAGIC, SDL_Renderer::hidden, i, SDL_Renderer::RenderDrawPoints, RenderDrawPointsWithRects(), SDL_Renderer::scale, SDL_OutOfMemory, SDL_SetError, SDL_stack_alloc, SDL_stack_free, SDL_FPoint::x, SDL_Point::x, SDL_FPoint::y, and SDL_Point::y.
Referenced by SDL_RenderDrawPoint().
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. |
Definition at line 1747 of file SDL_render.c.
References CHECK_RENDERER_MAGIC, SDL_Rect::h, SDL_RenderDrawLines(), SDL_RenderGetViewport(), SDL_Rect::w, SDL_Point::x, SDL_Rect::x, SDL_Point::y, and SDL_Rect::y.
Referenced by SDL_RenderDrawRects().
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. |
Definition at line 1776 of file SDL_render.c.
References CHECK_RENDERER_MAGIC, SDL_Renderer::hidden, i, SDL_RenderDrawRect(), and SDL_SetError.
Definition at line 136 of file SDL_render.c.
References SDL_Event::button, SDL_Renderer::dpi_scale, SDL_WindowEvent::event, SDL_Renderer::GetOutputSize, SDL_Rect::h, SDL_Renderer::hidden, SDL_Renderer::logical_h, SDL_Renderer::logical_w, SDL_Event::motion, NULL, renderer, SDL_Renderer::scale, SDL_FALSE, SDL_FINGERDOWN, SDL_FINGERMOTION, SDL_FINGERUP, SDL_GetRendererOutputSize(), SDL_GetRenderTarget(), SDL_GetWindowFlags, SDL_GetWindowFromID, SDL_GetWindowSize, SDL_max, SDL_min, SDL_MOUSEBUTTONDOWN, SDL_MOUSEBUTTONUP, SDL_MOUSEMOTION, SDL_SetRenderTarget(), SDL_TRUE, SDL_WINDOW_HIDDEN, SDL_WINDOW_MINIMIZED, SDL_WINDOWEVENT, SDL_WINDOWEVENT_HIDDEN, SDL_WINDOWEVENT_MAXIMIZED, SDL_WINDOWEVENT_MINIMIZED, SDL_WINDOWEVENT_RESTORED, SDL_WINDOWEVENT_SHOWN, SDL_WINDOWEVENT_SIZE_CHANGED, SDL_Renderer::target, SDL_Event::type, UpdateLogicalSize(), SDL_Renderer::UpdateViewport, SDL_Renderer::viewport, SDL_Renderer::viewport_backup, SDL_Rect::w, SDL_Renderer::window, SDL_Event::window, SDL_Renderer::WindowEvent, SDL_WindowEvent::windowID, SDL_MouseMotionEvent::windowID, SDL_MouseButtonEvent::windowID, SDL_FPoint::x, SDL_Rect::x, SDL_MouseMotionEvent::x, SDL_MouseButtonEvent::x, SDL_MouseMotionEvent::xrel, SDL_FPoint::y, SDL_Rect::y, SDL_MouseMotionEvent::y, SDL_MouseButtonEvent::y, and SDL_MouseMotionEvent::yrel.
Referenced by SDL_CreateRenderer(), and SDL_DestroyRenderer().
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. |
Definition at line 1804 of file SDL_render.c.
References CHECK_RENDERER_MAGIC, SDL_RenderFillRects(), SDL_RenderGetViewport(), SDL_Rect::x, and SDL_Rect::y.
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. |
Definition at line 1821 of file SDL_render.c.
References CHECK_RENDERER_MAGIC, SDL_FRect::h, SDL_Rect::h, SDL_Renderer::hidden, i, SDL_Renderer::RenderFillRects, SDL_Renderer::scale, SDL_OutOfMemory, SDL_SetError, SDL_stack_alloc, SDL_stack_free, SDL_FRect::w, SDL_Rect::w, SDL_FPoint::x, SDL_FRect::x, SDL_Rect::x, SDL_FPoint::y, SDL_FRect::y, and SDL_Rect::y.
Referenced by SDL_RenderFillRect().
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. |
Definition at line 1449 of file SDL_render.c.
References CHECK_RENDERER_MAGIC, SDL_Renderer::clip_rect, SDL_Rect::h, SDL_Renderer::scale, SDL_Rect::w, SDL_FPoint::x, SDL_Rect::x, SDL_FPoint::y, and SDL_Rect::y.
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. |
Definition at line 1390 of file SDL_render.c.
References CHECK_RENDERER_MAGIC, SDL_Renderer::integer_scale, and SDL_FALSE.
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 |
Definition at line 1367 of file SDL_render.c.
References CHECK_RENDERER_MAGIC, SDL_Renderer::logical_h, and SDL_Renderer::logical_w.
void* SDL_RenderGetMetalCommandEncoder | ( | SDL_Renderer * | renderer | ) |
Get the Metal command encoder for the current frame.
renderer | The renderer to query |
Definition at line 2135 of file SDL_render.c.
References CHECK_RENDERER_MAGIC, SDL_Renderer::GetMetalCommandEncoder, and NULL.
void* SDL_RenderGetMetalLayer | ( | SDL_Renderer * | renderer | ) |
Get the CAMetalLayer associated with the given Metal renderer.
renderer | The renderer to query |
Definition at line 2124 of file SDL_render.c.
References CHECK_RENDERER_MAGIC, SDL_Renderer::GetMetalLayer, and NULL.
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 |
Definition at line 1479 of file SDL_render.c.
References CHECK_RENDERER_MAGIC, SDL_Renderer::scale, SDL_FPoint::x, and SDL_FPoint::y.
void SDL_RenderGetViewport | ( | SDL_Renderer * | renderer, |
SDL_Rect * | rect | ||
) |
Get the drawing area for the current target.
Definition at line 1418 of file SDL_render.c.
References CHECK_RENDERER_MAGIC, SDL_Rect::h, SDL_Renderer::scale, SDL_Renderer::viewport, SDL_Rect::w, SDL_FPoint::x, SDL_Rect::x, SDL_FPoint::y, and SDL_Rect::y.
Referenced by SDL_RenderCopy(), SDL_RenderCopyEx(), SDL_RenderDrawRect(), and SDL_RenderFillRect().
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. |
Definition at line 1462 of file SDL_render.c.
References CHECK_RENDERER_MAGIC, SDL_Renderer::clipping_enabled, and SDL_FALSE.
void SDL_RenderPresent | ( | SDL_Renderer * | renderer | ) |
Update the screen with rendering performed.
Definition at line 2022 of file SDL_render.c.
References CHECK_RENDERER_MAGIC, SDL_Renderer::hidden, and SDL_Renderer::RenderPresent.
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. |
Definition at line 1985 of file SDL_render.c.
References CHECK_RENDERER_MAGIC, SDL_Rect::h, SDL_Renderer::RenderReadPixels, SDL_BYTESPERPIXEL, SDL_GetWindowPixelFormat, SDL_IntersectRect, SDL_Unsupported, SDL_Renderer::viewport, SDL_Rect::w, SDL_Renderer::window, SDL_Rect::x, and SDL_Rect::y.
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, or NULL to disable clipping. |
Definition at line 1431 of file SDL_render.c.
References CHECK_RENDERER_MAGIC, SDL_Renderer::clip_rect, SDL_Renderer::clipping_enabled, SDL_Rect::h, SDL_Renderer::scale, SDL_ceil, SDL_FALSE, SDL_floor, SDL_TRUE, SDL_zero, SDL_Renderer::UpdateClipRect, SDL_Rect::w, SDL_FPoint::x, SDL_Rect::x, SDL_FPoint::y, and SDL_Rect::y.
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.
Definition at line 1380 of file SDL_render.c.
References CHECK_RENDERER_MAGIC, SDL_Renderer::integer_scale, and UpdateLogicalSize().
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.
Definition at line 1347 of file SDL_render.c.
References CHECK_RENDERER_MAGIC, SDL_Renderer::logical_h, SDL_Renderer::logical_w, NULL, SDL_RenderSetScale(), SDL_RenderSetViewport(), and UpdateLogicalSize().
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.
Definition at line 1469 of file SDL_render.c.
References CHECK_RENDERER_MAGIC, SDL_Renderer::scale, SDL_FPoint::x, and SDL_FPoint::y.
Referenced by SDL_RenderSetLogicalSize(), and UpdateLogicalSize().
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.
Definition at line 1398 of file SDL_render.c.
References CHECK_RENDERER_MAGIC, SDL_Rect::h, SDL_Renderer::scale, SDL_ceil, SDL_floor, SDL_GetRendererOutputSize(), SDL_Renderer::UpdateViewport, SDL_Renderer::viewport, SDL_Rect::w, SDL_FPoint::x, SDL_Rect::x, SDL_FPoint::y, and SDL_Rect::y.
Referenced by SDL_CreateRenderer(), SDL_CreateSoftwareRenderer(), SDL_RenderSetLogicalSize(), and UpdateLogicalSize().
SDL_bool SDL_RenderTargetSupported | ( | SDL_Renderer * | renderer | ) |
Determines whether a window supports the use of render targets.
renderer | The renderer that will be checked |
Definition at line 1156 of file SDL_render.c.
References SDL_RendererInfo::flags, SDL_Renderer::info, SDL_FALSE, SDL_RENDERER_TARGETTEXTURE, and SDL_Renderer::SetRenderTarget.
Referenced by SDL_SetRenderTarget().
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. |
Definition at line 1526 of file SDL_render.c.
References blendMode, SDL_Renderer::blendMode, CHECK_RENDERER_MAGIC, IsSupportedBlendMode(), and SDL_Unsupported.
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). |
Definition at line 1492 of file SDL_render.c.
References SDL_Renderer::a, SDL_Renderer::b, CHECK_RENDERER_MAGIC, SDL_Renderer::g, and SDL_Renderer::r.
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 |
Definition at line 1165 of file SDL_render.c.
References SDL_Texture::access, CHECK_TEXTURE_MAGIC, SDL_Renderer::clip_rect, SDL_Renderer::clip_rect_backup, SDL_Renderer::clipping_enabled, SDL_Renderer::clipping_enabled_backup, SDL_Texture::h, SDL_Rect::h, SDL_Renderer::logical_h, SDL_Renderer::logical_h_backup, SDL_Renderer::logical_w, SDL_Renderer::logical_w_backup, SDL_Texture::native, SDL_Texture::renderer, SDL_Renderer::scale, SDL_Renderer::scale_backup, SDL_FALSE, SDL_RenderTargetSupported(), SDL_SetError, SDL_TEXTUREACCESS_TARGET, SDL_Unsupported, SDL_zero, SDL_Renderer::SetRenderTarget, SDL_Renderer::target, SDL_Renderer::UpdateClipRect, SDL_Renderer::UpdateViewport, SDL_Renderer::viewport, SDL_Renderer::viewport_backup, SDL_Texture::w, SDL_Rect::w, SDL_FPoint::x, SDL_Rect::x, SDL_FPoint::y, and SDL_Rect::y.
Referenced by SDL_DestroyTexture(), and SDL_RendererEventWatch().
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. |
Definition at line 743 of file SDL_render.c.
References SDL_Texture::a, CHECK_TEXTURE_MAGIC, SDL_Texture::modMode, SDL_Texture::native, renderer, SDL_Texture::renderer, SDL_TEXTUREMODULATE_ALPHA, and SDL_Renderer::SetTextureAlphaMod.
Referenced by SDL_CreateTextureFromSurface().
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. |
Definition at line 777 of file SDL_render.c.
References blendMode, SDL_Texture::blendMode, CHECK_TEXTURE_MAGIC, IsSupportedBlendMode(), SDL_Texture::native, renderer, SDL_Texture::renderer, SDL_Unsupported, and SDL_Renderer::SetTextureBlendMode.
Referenced by SDL_CreateTextureFromSurface().
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. |
Definition at line 700 of file SDL_render.c.
References SDL_Texture::b, CHECK_TEXTURE_MAGIC, SDL_Texture::g, SDL_Texture::modMode, SDL_Texture::native, SDL_Texture::r, renderer, SDL_Texture::renderer, SDL_TEXTUREMODULATE_COLOR, and SDL_Renderer::SetTextureColorMod.
Referenced by SDL_CreateTextureFromSurface().
void SDL_UnlockTexture | ( | SDL_Texture * | texture | ) |
Unlock a texture, uploading the changes to video memory, if needed.
Definition at line 1136 of file SDL_render.c.
References SDL_Texture::access, CHECK_TEXTURE_MAGIC, SDL_Texture::native, renderer, SDL_Texture::renderer, SDL_TEXTUREACCESS_STREAMING, SDL_UnlockTextureNative(), SDL_UnlockTextureYUV(), SDL_Renderer::UnlockTexture, and SDL_Texture::yuv.
Referenced by SDL_UnlockTextureNative(), SDL_UnlockTextureYUV(), SDL_UpdateTextureNative(), SDL_UpdateTextureYUV(), and SDL_UpdateTextureYUVPlanar().
|
static |
Definition at line 1115 of file SDL_render.c.
References SDL_Texture::format, SDL_Rect::h, SDL_Texture::locked_rect, SDL_Texture::native, NULL, SDL_Texture::pitch, SDL_Texture::pixels, rect, SDL_BYTESPERPIXEL, SDL_ConvertPixels, SDL_LockTexture(), SDL_UnlockTexture(), SDL_Rect::w, SDL_Rect::x, and SDL_Rect::y.
Referenced by SDL_UnlockTexture().
|
static |
Definition at line 1094 of file SDL_render.c.
References SDL_Texture::format, SDL_Texture::h, SDL_Rect::h, SDL_Texture::native, NULL, rect, SDL_LockTexture(), SDL_SW_CopyYUVToRGB(), SDL_UnlockTexture(), SDL_Texture::w, SDL_Rect::w, SDL_Rect::x, SDL_Rect::y, and SDL_Texture::yuv.
Referenced by SDL_UnlockTexture().
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.
Definition at line 896 of file SDL_render.c.
References CHECK_TEXTURE_MAGIC, SDL_Texture::h, SDL_Rect::h, SDL_Texture::native, renderer, SDL_Texture::renderer, SDL_InvalidParamError, SDL_UpdateTextureNative(), SDL_UpdateTextureYUV(), SDL_Renderer::UpdateTexture, SDL_Texture::w, SDL_Rect::w, SDL_Rect::x, SDL_Rect::y, and SDL_Texture::yuv.
Referenced by SDL_CreateTextureFromSurface(), SDL_UpdateTextureNative(), SDL_UpdateTextureYUV(), and SDL_UpdateTextureYUVPlanar().
|
static |
Definition at line 855 of file SDL_render.c.
References SDL_Texture::access, SDL_Texture::format, SDL_Rect::h, SDL_Texture::native, NULL, SDL_BYTESPERPIXEL, SDL_ConvertPixels, SDL_free, SDL_LockTexture(), SDL_malloc, SDL_OutOfMemory, SDL_TEXTUREACCESS_STREAMING, SDL_UnlockTexture(), SDL_UpdateTexture(), and SDL_Rect::w.
Referenced by SDL_UpdateTexture().
|
static |
Definition at line 809 of file SDL_render.c.
References SDL_Texture::access, SDL_Texture::format, SDL_Texture::h, SDL_Rect::h, SDL_Texture::native, NULL, SDL_BYTESPERPIXEL, SDL_free, SDL_LockTexture(), SDL_malloc, SDL_OutOfMemory, SDL_SW_CopyYUVToRGB(), SDL_SW_UpdateYUVTexture(), SDL_TEXTUREACCESS_STREAMING, SDL_UnlockTexture(), SDL_UpdateTexture(), SDL_Texture::w, SDL_Rect::w, SDL_Rect::x, SDL_Rect::y, and SDL_Texture::yuv.
Referenced by SDL_UpdateTexture().
|
static |
Definition at line 932 of file SDL_render.c.
References SDL_Texture::access, SDL_Texture::format, SDL_Texture::h, SDL_Rect::h, SDL_Texture::native, NULL, SDL_BYTESPERPIXEL, SDL_free, SDL_LockTexture(), SDL_malloc, SDL_OutOfMemory, SDL_SW_CopyYUVToRGB(), SDL_SW_UpdateYUVTexturePlanar(), SDL_TEXTUREACCESS_STREAMING, SDL_UnlockTexture(), SDL_UpdateTexture(), SDL_Texture::w, SDL_Rect::w, SDL_Rect::x, SDL_Rect::y, and SDL_Texture::yuv.
Referenced by SDL_UpdateYUVTexture().
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. |
Definition at line 983 of file SDL_render.c.
References CHECK_TEXTURE_MAGIC, SDL_Texture::format, SDL_Texture::h, SDL_Rect::h, SDL_Texture::native, renderer, SDL_Texture::renderer, SDL_assert, SDL_InvalidParamError, SDL_PIXELFORMAT_IYUV, SDL_PIXELFORMAT_YV12, SDL_SetError, SDL_Unsupported, SDL_UpdateTextureYUVPlanar(), SDL_Renderer::UpdateTextureYUV, SDL_Texture::w, SDL_Rect::w, SDL_Rect::x, SDL_Rect::y, and SDL_Texture::yuv.
|
static |
Definition at line 1242 of file SDL_render.c.
References SDL_Rect::h, SDL_Renderer::integer_scale, SDL_Renderer::logical_h, SDL_Renderer::logical_w, NULL, SDL_ceil, SDL_fabs, SDL_FALSE, SDL_GetCurrentVideoDriver, SDL_GetHint, SDL_GetRendererOutputSize(), SDL_HINT_RENDER_LOGICAL_SIZE_MODE, SDL_RenderSetScale(), SDL_RenderSetViewport(), SDL_strcasecmp, SDL_TRUE, viewport, SDL_Rect::w, SDL_Rect::x, and SDL_Rect::y.
Referenced by SDL_RendererEventWatch(), SDL_RenderSetIntegerScale(), and SDL_RenderSetLogicalSize().
|
static |
Definition at line 76 of file SDL_render.c.
|
static |
Definition at line 105 of file SDL_render.c.
Referenced by SDL_CreateRenderer(), and SDL_CreateSoftwareRenderer().
|
static |
Definition at line 106 of file SDL_render.c.
Referenced by SDL_CreateTexture().