Removed non-float versions of SDL render API drawing functions

This simplifies the API and removes a level of API translation between the int variants of the functions and the float implementation

Fixes https://github.com/libsdl-org/SDL/issues/6656
This commit is contained in:
Sam Lantinga 2022-12-31 11:19:32 -08:00
parent bf76fc6b05
commit 9c1a9ecb4b
29 changed files with 465 additions and 1119 deletions

View file

@ -211,9 +211,7 @@ extern DECLSPEC const char *SDLCALL SDL_GetRenderDriver(int index);
* \sa SDL_CreateRenderer
* \sa SDL_CreateWindow
*/
extern DECLSPEC int SDLCALL SDL_CreateWindowAndRenderer(
int width, int height, Uint32 window_flags,
SDL_Window **window, SDL_Renderer **renderer);
extern DECLSPEC int SDLCALL SDL_CreateWindowAndRenderer(int width, int height, Uint32 window_flags, SDL_Window **window, SDL_Renderer **renderer);
/**
@ -241,8 +239,7 @@ extern DECLSPEC int SDLCALL SDL_CreateWindowAndRenderer(
* \sa SDL_GetRenderDriver
* \sa SDL_GetRendererInfo
*/
extern DECLSPEC SDL_Renderer * SDLCALL SDL_CreateRenderer(SDL_Window * window,
const char *name, Uint32 flags);
extern DECLSPEC SDL_Renderer *SDLCALL SDL_CreateRenderer(SDL_Window *window, const char *name, Uint32 flags);
/**
* Create a 2D software rendering context for a surface.
@ -263,7 +260,7 @@ extern DECLSPEC SDL_Renderer * SDLCALL SDL_CreateRenderer(SDL_Window * window,
* \sa SDL_CreateWindowRenderer
* \sa SDL_DestroyRenderer
*/
extern DECLSPEC SDL_Renderer * SDLCALL SDL_CreateSoftwareRenderer(SDL_Surface * surface);
extern DECLSPEC SDL_Renderer *SDLCALL SDL_CreateSoftwareRenderer(SDL_Surface *surface);
/**
* Get the renderer associated with a window.
@ -276,7 +273,7 @@ extern DECLSPEC SDL_Renderer * SDLCALL SDL_CreateSoftwareRenderer(SDL_Surface *
*
* \sa SDL_CreateRenderer
*/
extern DECLSPEC SDL_Renderer * SDLCALL SDL_GetRenderer(SDL_Window * window);
extern DECLSPEC SDL_Renderer *SDLCALL SDL_GetRenderer(SDL_Window *window);
/**
* Get the window associated with a renderer.
@ -287,7 +284,7 @@ extern DECLSPEC SDL_Renderer * SDLCALL SDL_GetRenderer(SDL_Window * window);
*
* \since This function is available since SDL 3.0.0.
*/
extern DECLSPEC SDL_Window * SDLCALL SDL_GetRenderWindow(SDL_Renderer *renderer);
extern DECLSPEC SDL_Window *SDLCALL SDL_GetRenderWindow(SDL_Renderer *renderer);
/**
* Get information about a rendering context.
@ -302,8 +299,7 @@ extern DECLSPEC SDL_Window * SDLCALL SDL_GetRenderWindow(SDL_Renderer *renderer)
*
* \sa SDL_CreateRenderer
*/
extern DECLSPEC int SDLCALL SDL_GetRendererInfo(SDL_Renderer * renderer,
SDL_RendererInfo * info);
extern DECLSPEC int SDLCALL SDL_GetRendererInfo(SDL_Renderer *renderer, SDL_RendererInfo *info);
/**
* Get the output size in pixels of a rendering context.
@ -322,8 +318,7 @@ extern DECLSPEC int SDLCALL SDL_GetRendererInfo(SDL_Renderer * renderer,
*
* \sa SDL_GetRenderer
*/
extern DECLSPEC int SDLCALL SDL_GetRendererOutputSize(SDL_Renderer * renderer,
int *w, int *h);
extern DECLSPEC int SDLCALL SDL_GetRendererOutputSize(SDL_Renderer *renderer, int *w, int *h);
/**
* Create a texture for a rendering context.
@ -347,10 +342,7 @@ extern DECLSPEC int SDLCALL SDL_GetRendererOutputSize(SDL_Renderer * renderer,
* \sa SDL_QueryTexture
* \sa SDL_UpdateTexture
*/
extern DECLSPEC SDL_Texture * SDLCALL SDL_CreateTexture(SDL_Renderer * renderer,
Uint32 format,
int access, int w,
int h);
extern DECLSPEC SDL_Texture *SDLCALL SDL_CreateTexture(SDL_Renderer *renderer, Uint32 format, int access, int w, int h);
/**
* Create a texture from an existing surface.
@ -376,7 +368,7 @@ extern DECLSPEC SDL_Texture * SDLCALL SDL_CreateTexture(SDL_Renderer * renderer,
* \sa SDL_DestroyTexture
* \sa SDL_QueryTexture
*/
extern DECLSPEC SDL_Texture * SDLCALL SDL_CreateTextureFromSurface(SDL_Renderer * renderer, SDL_Surface * surface);
extern DECLSPEC SDL_Texture *SDLCALL SDL_CreateTextureFromSurface(SDL_Renderer *renderer, SDL_Surface *surface);
/**
* Query the attributes of a texture.
@ -400,9 +392,7 @@ extern DECLSPEC SDL_Texture * SDLCALL SDL_CreateTextureFromSurface(SDL_Renderer
*
* \sa SDL_CreateTexture
*/
extern DECLSPEC int SDLCALL SDL_QueryTexture(SDL_Texture * texture,
Uint32 * format, int *access,
int *w, int *h);
extern DECLSPEC int SDLCALL SDL_QueryTexture(SDL_Texture *texture, Uint32 *format, int *access, int *w, int *h);
/**
* Set an additional color value multiplied into render copy operations.
@ -428,8 +418,7 @@ extern DECLSPEC int SDLCALL SDL_QueryTexture(SDL_Texture * texture,
* \sa SDL_GetTextureColorMod
* \sa SDL_SetTextureAlphaMod
*/
extern DECLSPEC int SDLCALL SDL_SetTextureColorMod(SDL_Texture * texture,
Uint8 r, Uint8 g, Uint8 b);
extern DECLSPEC int SDLCALL SDL_SetTextureColorMod(SDL_Texture *texture, Uint8 r, Uint8 g, Uint8 b);
/**
@ -447,9 +436,7 @@ extern DECLSPEC int SDLCALL SDL_SetTextureColorMod(SDL_Texture * texture,
* \sa SDL_GetTextureAlphaMod
* \sa SDL_SetTextureColorMod
*/
extern DECLSPEC int SDLCALL SDL_GetTextureColorMod(SDL_Texture * texture,
Uint8 * r, Uint8 * g,
Uint8 * b);
extern DECLSPEC int SDLCALL SDL_GetTextureColorMod(SDL_Texture *texture, Uint8 *r, Uint8 *g, Uint8 *b);
/**
* Set an additional alpha value multiplied into render copy operations.
@ -472,8 +459,7 @@ extern DECLSPEC int SDLCALL SDL_GetTextureColorMod(SDL_Texture * texture,
* \sa SDL_GetTextureAlphaMod
* \sa SDL_SetTextureColorMod
*/
extern DECLSPEC int SDLCALL SDL_SetTextureAlphaMod(SDL_Texture * texture,
Uint8 alpha);
extern DECLSPEC int SDLCALL SDL_SetTextureAlphaMod(SDL_Texture *texture, Uint8 alpha);
/**
* Get the additional alpha value multiplied into render copy operations.
@ -488,8 +474,7 @@ extern DECLSPEC int SDLCALL SDL_SetTextureAlphaMod(SDL_Texture * texture,
* \sa SDL_GetTextureColorMod
* \sa SDL_SetTextureAlphaMod
*/
extern DECLSPEC int SDLCALL SDL_GetTextureAlphaMod(SDL_Texture * texture,
Uint8 * alpha);
extern DECLSPEC int SDLCALL SDL_GetTextureAlphaMod(SDL_Texture *texture, Uint8 *alpha);
/**
* Set the blend mode for a texture, used by SDL_RenderTexture().
@ -507,8 +492,7 @@ extern DECLSPEC int SDLCALL SDL_GetTextureAlphaMod(SDL_Texture * texture,
* \sa SDL_GetTextureBlendMode
* \sa SDL_RenderTexture
*/
extern DECLSPEC int SDLCALL SDL_SetTextureBlendMode(SDL_Texture * texture,
SDL_BlendMode blendMode);
extern DECLSPEC int SDLCALL SDL_SetTextureBlendMode(SDL_Texture *texture, SDL_BlendMode blendMode);
/**
* Get the blend mode used for texture copy operations.
@ -522,8 +506,7 @@ extern DECLSPEC int SDLCALL SDL_SetTextureBlendMode(SDL_Texture * texture,
*
* \sa SDL_SetTextureBlendMode
*/
extern DECLSPEC int SDLCALL SDL_GetTextureBlendMode(SDL_Texture * texture,
SDL_BlendMode *blendMode);
extern DECLSPEC int SDLCALL SDL_GetTextureBlendMode(SDL_Texture *texture, SDL_BlendMode *blendMode);
/**
* Set the scale mode used for texture scale operations.
@ -538,8 +521,7 @@ extern DECLSPEC int SDLCALL SDL_GetTextureBlendMode(SDL_Texture * texture,
*
* \sa SDL_GetTextureScaleMode
*/
extern DECLSPEC int SDLCALL SDL_SetTextureScaleMode(SDL_Texture * texture,
SDL_ScaleMode scaleMode);
extern DECLSPEC int SDLCALL SDL_SetTextureScaleMode(SDL_Texture *texture, SDL_ScaleMode scaleMode);
/**
* Get the scale mode used for texture scale operations.
@ -552,8 +534,7 @@ extern DECLSPEC int SDLCALL SDL_SetTextureScaleMode(SDL_Texture * texture,
*
* \sa SDL_SetTextureScaleMode
*/
extern DECLSPEC int SDLCALL SDL_GetTextureScaleMode(SDL_Texture * texture,
SDL_ScaleMode *scaleMode);
extern DECLSPEC int SDLCALL SDL_GetTextureScaleMode(SDL_Texture *texture, SDL_ScaleMode *scaleMode);
/**
* Associate a user-specified pointer with a texture.
@ -566,8 +547,7 @@ extern DECLSPEC int SDLCALL SDL_GetTextureScaleMode(SDL_Texture * texture,
*
* \sa SDL_GetTextureUserData
*/
extern DECLSPEC int SDLCALL SDL_SetTextureUserData(SDL_Texture * texture,
void *userdata);
extern DECLSPEC int SDLCALL SDL_SetTextureUserData(SDL_Texture *texture, void *userdata);
/**
* Get the user-specified pointer associated with a texture
@ -580,7 +560,7 @@ extern DECLSPEC int SDLCALL SDL_SetTextureUserData(SDL_Texture * texture,
*
* \sa SDL_SetTextureUserData
*/
extern DECLSPEC void * SDLCALL SDL_GetTextureUserData(SDL_Texture * texture);
extern DECLSPEC void *SDLCALL SDL_GetTextureUserData(SDL_Texture *texture);
/**
* Update the given texture rectangle with new pixel data.
@ -611,9 +591,7 @@ extern DECLSPEC void * SDLCALL SDL_GetTextureUserData(SDL_Texture * texture);
* \sa SDL_LockTexture
* \sa SDL_UnlockTexture
*/
extern DECLSPEC int SDLCALL SDL_UpdateTexture(SDL_Texture * texture,
const SDL_Rect * rect,
const void *pixels, int pitch);
extern DECLSPEC int SDLCALL SDL_UpdateTexture(SDL_Texture *texture, const SDL_Rect *rect, const void *pixels, int pitch);
/**
* Update a rectangle within a planar YV12 or IYUV texture with new pixel
@ -642,8 +620,8 @@ extern DECLSPEC int SDLCALL SDL_UpdateTexture(SDL_Texture * texture,
*
* \sa SDL_UpdateTexture
*/
extern DECLSPEC int SDLCALL SDL_UpdateYUVTexture(SDL_Texture * texture,
const SDL_Rect * rect,
extern DECLSPEC int SDLCALL SDL_UpdateYUVTexture(SDL_Texture *texture,
const SDL_Rect *rect,
const Uint8 *Yplane, int Ypitch,
const Uint8 *Uplane, int Upitch,
const Uint8 *Vplane, int Vpitch);
@ -668,8 +646,8 @@ extern DECLSPEC int SDLCALL SDL_UpdateYUVTexture(SDL_Texture * texture,
*
* \since This function is available since SDL 3.0.0.
*/
extern DECLSPEC int SDLCALL SDL_UpdateNVTexture(SDL_Texture * texture,
const SDL_Rect * rect,
extern DECLSPEC int SDLCALL SDL_UpdateNVTexture(SDL_Texture *texture,
const SDL_Rect *rect,
const Uint8 *Yplane, int Ypitch,
const Uint8 *UVplane, int UVpitch);
@ -700,8 +678,8 @@ extern DECLSPEC int SDLCALL SDL_UpdateNVTexture(SDL_Texture * texture,
*
* \sa SDL_UnlockTexture
*/
extern DECLSPEC int SDLCALL SDL_LockTexture(SDL_Texture * texture,
const SDL_Rect * rect,
extern DECLSPEC int SDLCALL SDL_LockTexture(SDL_Texture *texture,
const SDL_Rect *rect,
void **pixels, int *pitch);
/**
@ -757,7 +735,7 @@ extern DECLSPEC int SDLCALL SDL_LockTextureToSurface(SDL_Texture *texture,
*
* \sa SDL_LockTexture
*/
extern DECLSPEC void SDLCALL SDL_UnlockTexture(SDL_Texture * texture);
extern DECLSPEC void SDLCALL SDL_UnlockTexture(SDL_Texture *texture);
/**
* Determine whether a renderer supports the use of render targets.
@ -793,8 +771,7 @@ extern DECLSPEC SDL_bool SDLCALL SDL_RenderTargetSupported(SDL_Renderer *rendere
*
* \sa SDL_GetRenderTarget
*/
extern DECLSPEC int SDLCALL SDL_SetRenderTarget(SDL_Renderer *renderer,
SDL_Texture *texture);
extern DECLSPEC int SDLCALL SDL_SetRenderTarget(SDL_Renderer *renderer, SDL_Texture *texture);
/**
* Get the current render target.
@ -809,7 +786,7 @@ extern DECLSPEC int SDLCALL SDL_SetRenderTarget(SDL_Renderer *renderer,
*
* \sa SDL_SetRenderTarget
*/
extern DECLSPEC SDL_Texture * SDLCALL SDL_GetRenderTarget(SDL_Renderer *renderer);
extern DECLSPEC SDL_Texture *SDLCALL SDL_GetRenderTarget(SDL_Renderer *renderer);
/**
* Set a device independent resolution for rendering.
@ -837,7 +814,7 @@ extern DECLSPEC SDL_Texture * SDLCALL SDL_GetRenderTarget(SDL_Renderer *renderer
*
* \sa SDL_GetRenderLogicalSize
*/
extern DECLSPEC int SDLCALL SDL_SetRenderLogicalSize(SDL_Renderer * renderer, int w, int h);
extern DECLSPEC int SDLCALL SDL_SetRenderLogicalSize(SDL_Renderer *renderer, int w, int h);
/**
* Get device independent resolution for rendering.
@ -858,7 +835,7 @@ extern DECLSPEC int SDLCALL SDL_SetRenderLogicalSize(SDL_Renderer * renderer, in
*
* \sa SDL_SetRenderLogicalSize
*/
extern DECLSPEC void SDLCALL SDL_GetRenderLogicalSize(SDL_Renderer * renderer, int *w, int *h);
extern DECLSPEC void SDLCALL SDL_GetRenderLogicalSize(SDL_Renderer *renderer, int *w, int *h);
/**
* Set whether to force integer scales for resolution-independent rendering.
@ -877,8 +854,7 @@ extern DECLSPEC void SDLCALL SDL_GetRenderLogicalSize(SDL_Renderer * renderer, i
* \sa SDL_GetRenderIntegerScale
* \sa SDL_SetRenderLogicalSize
*/
extern DECLSPEC int SDLCALL SDL_SetRenderIntegerScale(SDL_Renderer * renderer,
SDL_bool enable);
extern DECLSPEC int SDLCALL SDL_SetRenderIntegerScale(SDL_Renderer *renderer, SDL_bool enable);
/**
* Get whether integer scales are forced for resolution-independent rendering.
@ -891,7 +867,7 @@ extern DECLSPEC int SDLCALL SDL_SetRenderIntegerScale(SDL_Renderer * renderer,
*
* \sa SDL_SetRenderIntegerScale
*/
extern DECLSPEC SDL_bool SDLCALL SDL_GetRenderIntegerScale(SDL_Renderer * renderer);
extern DECLSPEC SDL_bool SDLCALL SDL_GetRenderIntegerScale(SDL_Renderer *renderer);
/**
* Set the drawing area for rendering on the current target.
@ -909,8 +885,7 @@ extern DECLSPEC SDL_bool SDLCALL SDL_GetRenderIntegerScale(SDL_Renderer * render
*
* \sa SDL_GetRenderViewport
*/
extern DECLSPEC int SDLCALL SDL_SetRenderViewport(SDL_Renderer * renderer,
const SDL_Rect * rect);
extern DECLSPEC int SDLCALL SDL_SetRenderViewport(SDL_Renderer *renderer, const SDL_Rect *rect);
/**
* Get the drawing area for the current target.
@ -922,8 +897,7 @@ extern DECLSPEC int SDLCALL SDL_SetRenderViewport(SDL_Renderer * renderer,
*
* \sa SDL_SetRenderViewport
*/
extern DECLSPEC void SDLCALL SDL_GetRenderViewport(SDL_Renderer * renderer,
SDL_Rect * rect);
extern DECLSPEC void SDLCALL SDL_GetRenderViewport(SDL_Renderer *renderer, SDL_Rect *rect);
/**
* Set the clip rectangle for rendering on the specified target.
@ -940,8 +914,7 @@ extern DECLSPEC void SDLCALL SDL_GetRenderViewport(SDL_Renderer * renderer,
* \sa SDL_GetRenderClipRect
* \sa SDL_RenderClipEnabled
*/
extern DECLSPEC int SDLCALL SDL_SetRenderClipRect(SDL_Renderer * renderer,
const SDL_Rect * rect);
extern DECLSPEC int SDLCALL SDL_SetRenderClipRect(SDL_Renderer *renderer, const SDL_Rect *rect);
/**
* Get the clip rectangle for the current target.
@ -956,8 +929,7 @@ extern DECLSPEC int SDLCALL SDL_SetRenderClipRect(SDL_Renderer * renderer,
* \sa SDL_RenderClipEnabled
* \sa SDL_SetRenderClipRect
*/
extern DECLSPEC void SDLCALL SDL_GetRenderClipRect(SDL_Renderer * renderer,
SDL_Rect * rect);
extern DECLSPEC void SDLCALL SDL_GetRenderClipRect(SDL_Renderer *renderer, SDL_Rect *rect);
/**
* Get whether clipping is enabled on the given renderer.
@ -971,7 +943,7 @@ extern DECLSPEC void SDLCALL SDL_GetRenderClipRect(SDL_Renderer * renderer,
* \sa SDL_GetRenderClipRect
* \sa SDL_SetRenderClipRect
*/
extern DECLSPEC SDL_bool SDLCALL SDL_RenderClipEnabled(SDL_Renderer * renderer);
extern DECLSPEC SDL_bool SDLCALL SDL_RenderClipEnabled(SDL_Renderer *renderer);
/**
@ -996,8 +968,7 @@ extern DECLSPEC SDL_bool SDLCALL SDL_RenderClipEnabled(SDL_Renderer * renderer);
* \sa SDL_GetRenderScale
* \sa SDL_SetRenderLogicalSize
*/
extern DECLSPEC int SDLCALL SDL_SetRenderScale(SDL_Renderer * renderer,
float scaleX, float scaleY);
extern DECLSPEC int SDLCALL SDL_SetRenderScale(SDL_Renderer *renderer, float scaleX, float scaleY);
/**
* Get the drawing scale for the current target.
@ -1010,8 +981,7 @@ extern DECLSPEC int SDLCALL SDL_SetRenderScale(SDL_Renderer * renderer,
*
* \sa SDL_SetRenderScale
*/
extern DECLSPEC void SDLCALL SDL_GetRenderScale(SDL_Renderer * renderer,
float *scaleX, float *scaleY);
extern DECLSPEC void SDLCALL SDL_GetRenderScale(SDL_Renderer *renderer, float *scaleX, float *scaleY);
/**
* Get logical coordinates of point in renderer when given real coordinates of
@ -1093,9 +1063,7 @@ extern DECLSPEC void SDLCALL SDL_RenderLogicalToWindow(SDL_Renderer *renderer,
* \sa SDL_RenderFillRect
* \sa SDL_RenderFillRects
*/
extern DECLSPEC int SDLCALL SDL_SetRenderDrawColor(SDL_Renderer * renderer,
Uint8 r, Uint8 g, Uint8 b,
Uint8 a);
extern DECLSPEC int SDLCALL SDL_SetRenderDrawColor(SDL_Renderer *renderer, Uint8 r, Uint8 g, Uint8 b, Uint8 a);
/**
* Get the color used for drawing operations (Rect, Line and Clear).
@ -1116,9 +1084,7 @@ extern DECLSPEC int SDLCALL SDL_SetRenderDrawColor(SDL_Renderer * renderer,
*
* \sa SDL_SetRenderDrawColor
*/
extern DECLSPEC int SDLCALL SDL_GetRenderDrawColor(SDL_Renderer * renderer,
Uint8 * r, Uint8 * g, Uint8 * b,
Uint8 * a);
extern DECLSPEC int SDLCALL SDL_GetRenderDrawColor(SDL_Renderer *renderer, Uint8 *r, Uint8 *g, Uint8 *b, Uint8 *a);
/**
* Set the blend mode used for drawing operations (Fill and Line).
@ -1142,8 +1108,7 @@ extern DECLSPEC int SDLCALL SDL_GetRenderDrawColor(SDL_Renderer * renderer,
* \sa SDL_RenderFillRect
* \sa SDL_RenderFillRects
*/
extern DECLSPEC int SDLCALL SDL_SetRenderDrawBlendMode(SDL_Renderer * renderer,
SDL_BlendMode blendMode);
extern DECLSPEC int SDLCALL SDL_SetRenderDrawBlendMode(SDL_Renderer *renderer, SDL_BlendMode blendMode);
/**
* Get the blend mode used for drawing operations.
@ -1157,8 +1122,7 @@ extern DECLSPEC int SDLCALL SDL_SetRenderDrawBlendMode(SDL_Renderer * renderer,
*
* \sa SDL_SetRenderDrawBlendMode
*/
extern DECLSPEC int SDLCALL SDL_GetRenderDrawBlendMode(SDL_Renderer * renderer,
SDL_BlendMode *blendMode);
extern DECLSPEC int SDLCALL SDL_GetRenderDrawBlendMode(SDL_Renderer *renderer, SDL_BlendMode *blendMode);
/**
* Clear the current rendering target with the drawing color.
@ -1174,307 +1138,7 @@ extern DECLSPEC int SDLCALL SDL_GetRenderDrawBlendMode(SDL_Renderer * renderer,
*
* \sa SDL_SetRenderDrawColor
*/
extern DECLSPEC int SDLCALL SDL_RenderClear(SDL_Renderer * renderer);
/**
* Draw a point on the current rendering target.
*
* SDL_RenderPoint() draws a single point. If you want to draw multiple,
* use SDL_RenderPoints() instead.
*
* \param renderer the rendering context
* \param x the x coordinate of the point
* \param y the y coordinate of the point
* \returns 0 on success or a negative error code on failure; call
* SDL_GetError() for more information.
*
* \since This function is available since SDL 3.0.0.
*
* \sa SDL_RenderLine
* \sa SDL_RenderLines
* \sa SDL_RenderPoints
* \sa SDL_RenderRect
* \sa SDL_RenderRects
* \sa SDL_RenderFillRect
* \sa SDL_RenderFillRects
* \sa SDL_RenderPresent
* \sa SDL_SetRenderDrawBlendMode
* \sa SDL_SetRenderDrawColor
*/
extern DECLSPEC int SDLCALL SDL_RenderPoint(SDL_Renderer * renderer,
int x, int y);
/**
* Draw multiple points on the current rendering target.
*
* \param renderer the rendering context
* \param points an array of SDL_Point structures that represent the points to
* draw
* \param count the number of points to draw
* \returns 0 on success or a negative error code on failure; call
* SDL_GetError() for more information.
*
* \since This function is available since SDL 3.0.0.
*
* \sa SDL_RenderLine
* \sa SDL_RenderLines
* \sa SDL_RenderPoint
* \sa SDL_RenderRect
* \sa SDL_RenderRects
* \sa SDL_RenderFillRect
* \sa SDL_RenderFillRects
* \sa SDL_RenderPresent
* \sa SDL_SetRenderDrawBlendMode
* \sa SDL_SetRenderDrawColor
*/
extern DECLSPEC int SDLCALL SDL_RenderPoints(SDL_Renderer * renderer,
const SDL_Point * points,
int count);
/**
* Draw a line on the current rendering target.
*
* SDL_RenderLine() draws the line to include both end points. If you want
* to draw multiple, connecting lines use SDL_RenderLines() instead.
*
* \param renderer the rendering context
* \param x1 the x coordinate of the start point
* \param y1 the y coordinate of the start point
* \param x2 the x coordinate of the end point
* \param y2 the y coordinate of the end point
* \returns 0 on success or a negative error code on failure; call
* SDL_GetError() for more information.
*
* \since This function is available since SDL 3.0.0.
*
* \sa SDL_RenderLines
* \sa SDL_RenderPoint
* \sa SDL_RenderPoints
* \sa SDL_RenderRect
* \sa SDL_RenderRects
* \sa SDL_RenderFillRect
* \sa SDL_RenderFillRects
* \sa SDL_RenderPresent
* \sa SDL_SetRenderDrawBlendMode
* \sa SDL_SetRenderDrawColor
*/
extern DECLSPEC int SDLCALL SDL_RenderLine(SDL_Renderer * renderer,
int x1, int y1, int x2, int y2);
/**
* Draw a series of connected lines on the current rendering target.
*
* \param renderer the rendering context
* \param points an array of SDL_Point structures representing points along
* the lines
* \param count the number of points, drawing count-1 lines
* \returns 0 on success or a negative error code on failure; call
* SDL_GetError() for more information.
*
* \since This function is available since SDL 3.0.0.
*
* \sa SDL_RenderLine
* \sa SDL_RenderPoint
* \sa SDL_RenderPoints
* \sa SDL_RenderRect
* \sa SDL_RenderRects
* \sa SDL_RenderFillRect
* \sa SDL_RenderFillRects
* \sa SDL_RenderPresent
* \sa SDL_SetRenderDrawBlendMode
* \sa SDL_SetRenderDrawColor
*/
extern DECLSPEC int SDLCALL SDL_RenderLines(SDL_Renderer * renderer,
const SDL_Point * points,
int count);
/**
* Draw a rectangle on the current rendering target.
*
* \param renderer the rendering context
* \param rect an SDL_Rect structure representing the rectangle to draw, or
* NULL to outline the entire rendering target
* \returns 0 on success or a negative error code on failure; call
* SDL_GetError() for more information.
*
* \since This function is available since SDL 3.0.0.
*
* \sa SDL_RenderLine
* \sa SDL_RenderLines
* \sa SDL_RenderPoint
* \sa SDL_RenderPoints
* \sa SDL_RenderRects
* \sa SDL_RenderFillRect
* \sa SDL_RenderFillRects
* \sa SDL_RenderPresent
* \sa SDL_SetRenderDrawBlendMode
* \sa SDL_SetRenderDrawColor
*/
extern DECLSPEC int SDLCALL SDL_RenderRect(SDL_Renderer * renderer,
const SDL_Rect * rect);
/**
* Draw some number of rectangles on the current rendering target.
*
* \param renderer the rendering context
* \param rects an array of SDL_Rect structures representing the rectangles to
* be drawn
* \param count the number of rectangles
* \returns 0 on success or a negative error code on failure; call
* SDL_GetError() for more information.
*
* \since This function is available since SDL 3.0.0.
*
* \sa SDL_RenderLine
* \sa SDL_RenderLines
* \sa SDL_RenderPoint
* \sa SDL_RenderPoints
* \sa SDL_RenderRect
* \sa SDL_RenderFillRect
* \sa SDL_RenderFillRects
* \sa SDL_RenderPresent
* \sa SDL_SetRenderDrawBlendMode
* \sa SDL_SetRenderDrawColor
*/
extern DECLSPEC int SDLCALL SDL_RenderRects(SDL_Renderer * renderer,
const SDL_Rect * rects,
int count);
/**
* Fill a rectangle on the current rendering target with the drawing color.
*
* The current drawing color is set by SDL_SetRenderDrawColor(), and the
* color's alpha value is ignored unless blending is enabled with the
* appropriate call to SDL_SetRenderDrawBlendMode().
*
* \param renderer the rendering context
* \param rect the SDL_Rect structure representing the rectangle to fill, or
* NULL for the entire rendering target
* \returns 0 on success or a negative error code on failure; call
* SDL_GetError() for more information.
*
* \since This function is available since SDL 3.0.0.
*
* \sa SDL_RenderLine
* \sa SDL_RenderLines
* \sa SDL_RenderPoint
* \sa SDL_RenderPoints
* \sa SDL_RenderRect
* \sa SDL_RenderRects
* \sa SDL_RenderFillRects
* \sa SDL_RenderPresent
* \sa SDL_SetRenderDrawBlendMode
* \sa SDL_SetRenderDrawColor
*/
extern DECLSPEC int SDLCALL SDL_RenderFillRect(SDL_Renderer * renderer,
const SDL_Rect * rect);
/**
* Fill some number of rectangles on the current rendering target with the
* drawing color.
*
* \param renderer the rendering context
* \param rects an array of SDL_Rect structures representing the rectangles to
* be filled
* \param count the number of rectangles
* \returns 0 on success or a negative error code on failure; call
* SDL_GetError() for more information.
*
* \since This function is available since SDL 3.0.0.
*
* \sa SDL_RenderLine
* \sa SDL_RenderLines
* \sa SDL_RenderPoint
* \sa SDL_RenderPoints
* \sa SDL_RenderRect
* \sa SDL_RenderRects
* \sa SDL_RenderFillRect
* \sa SDL_RenderPresent
*/
extern DECLSPEC int SDLCALL SDL_RenderFillRects(SDL_Renderer * renderer,
const SDL_Rect * rects,
int count);
/**
* Copy a portion of the texture to the current rendering target.
*
* The texture is blended with the destination based on its blend mode set
* with SDL_SetTextureBlendMode().
*
* The texture color is affected based on its color modulation set by
* SDL_SetTextureColorMod().
*
* The texture alpha is affected based on its alpha modulation set by
* SDL_SetTextureAlphaMod().
*
* \param renderer the rendering context
* \param texture the source texture
* \param srcrect the source SDL_Rect structure or NULL for the entire texture
* \param dstrect the destination SDL_Rect structure or NULL for the entire
* rendering target; the texture will be stretched to fill the
* given rectangle
* \returns 0 on success or a negative error code on failure; call
* SDL_GetError() for more information.
*
* \since This function is available since SDL 3.0.0.
*
* \sa SDL_RenderTextureRotated
* \sa SDL_SetTextureAlphaMod
* \sa SDL_SetTextureBlendMode
* \sa SDL_SetTextureColorMod
*/
extern DECLSPEC int SDLCALL SDL_RenderTexture(SDL_Renderer * renderer,
SDL_Texture * texture,
const SDL_Rect * srcrect,
const SDL_Rect * dstrect);
/**
* Copy a portion of the texture to the current rendering, with optional
* rotation and flipping.
*
* Copy a portion of the texture to the current rendering target, optionally
* rotating it by angle around the given center and also flipping it
* top-bottom and/or left-right.
*
* The texture is blended with the destination based on its blend mode set
* with SDL_SetTextureBlendMode().
*
* The texture color is affected based on its color modulation set by
* SDL_SetTextureColorMod().
*
* The texture alpha is affected based on its alpha modulation set by
* SDL_SetTextureAlphaMod().
*
* \param renderer the rendering context
* \param texture the source texture
* \param srcrect the source SDL_Rect structure or NULL for the entire texture
* \param dstrect the destination SDL_Rect structure or NULL for the entire
* rendering target
* \param angle an angle in degrees that indicates the rotation that will be
* applied to dstrect, rotating it in a clockwise direction
* \param 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`)
* \param flip a SDL_RendererFlip value stating which flipping actions should
* be performed on the texture
* \returns 0 on success or a negative error code on failure; call
* SDL_GetError() for more information.
*
* \since This function is available since SDL 3.0.0.
*
* \sa SDL_RenderTexture
* \sa SDL_SetTextureAlphaMod
* \sa SDL_SetTextureBlendMode
* \sa SDL_SetTextureColorMod
*/
extern DECLSPEC int SDLCALL SDL_RenderTextureRotated(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);
extern DECLSPEC int SDLCALL SDL_RenderClear(SDL_Renderer *renderer);
/**
* Draw a point on the current rendering target at subpixel precision.
@ -1486,8 +1150,7 @@ extern DECLSPEC int SDLCALL SDL_RenderTextureRotated(SDL_Renderer * renderer,
*
* \since This function is available since SDL 3.0.0.
*/
extern DECLSPEC int SDLCALL SDL_RenderPointFloat(SDL_Renderer * renderer,
float x, float y);
extern DECLSPEC int SDLCALL SDL_RenderPoint(SDL_Renderer *renderer, float x, float y);
/**
* Draw multiple points on the current rendering target at subpixel precision.
@ -1499,9 +1162,7 @@ extern DECLSPEC int SDLCALL SDL_RenderPointFloat(SDL_Renderer * renderer,
*
* \since This function is available since SDL 3.0.0.
*/
extern DECLSPEC int SDLCALL SDL_RenderPointsFloat(SDL_Renderer * renderer,
const SDL_FPoint * points,
int count);
extern DECLSPEC int SDLCALL SDL_RenderPoints(SDL_Renderer *renderer, const SDL_FPoint *points, int count);
/**
* Draw a line on the current rendering target at subpixel precision.
@ -1515,8 +1176,7 @@ extern DECLSPEC int SDLCALL SDL_RenderPointsFloat(SDL_Renderer * renderer,
*
* \since This function is available since SDL 3.0.0.
*/
extern DECLSPEC int SDLCALL SDL_RenderLineFloat(SDL_Renderer * renderer,
float x1, float y1, float x2, float y2);
extern DECLSPEC int SDLCALL SDL_RenderLine(SDL_Renderer *renderer, float x1, float y1, float x2, float y2);
/**
* Draw a series of connected lines on the current rendering target at
@ -1529,9 +1189,7 @@ extern DECLSPEC int SDLCALL SDL_RenderLineFloat(SDL_Renderer * renderer,
*
* \since This function is available since SDL 3.0.0.
*/
extern DECLSPEC int SDLCALL SDL_RenderLinesFloat(SDL_Renderer * renderer,
const SDL_FPoint * points,
int count);
extern DECLSPEC int SDLCALL SDL_RenderLines(SDL_Renderer *renderer, const SDL_FPoint *points, int count);
/**
* Draw a rectangle on the current rendering target at subpixel precision.
@ -1543,8 +1201,7 @@ extern DECLSPEC int SDLCALL SDL_RenderLinesFloat(SDL_Renderer * renderer,
*
* \since This function is available since SDL 3.0.0.
*/
extern DECLSPEC int SDLCALL SDL_RenderRectFloat(SDL_Renderer * renderer,
const SDL_FRect * rect);
extern DECLSPEC int SDLCALL SDL_RenderRect(SDL_Renderer *renderer, const SDL_FRect *rect);
/**
* Draw some number of rectangles on the current rendering target at subpixel
@ -1557,9 +1214,7 @@ extern DECLSPEC int SDLCALL SDL_RenderRectFloat(SDL_Renderer * renderer,
*
* \since This function is available since SDL 3.0.0.
*/
extern DECLSPEC int SDLCALL SDL_RenderRectsFloat(SDL_Renderer * renderer,
const SDL_FRect * rects,
int count);
extern DECLSPEC int SDLCALL SDL_RenderRects(SDL_Renderer *renderer, const SDL_FRect *rects, int count);
/**
* Fill a rectangle on the current rendering target with the drawing color at
@ -1572,8 +1227,7 @@ extern DECLSPEC int SDLCALL SDL_RenderRectsFloat(SDL_Renderer * renderer,
*
* \since This function is available since SDL 3.0.0.
*/
extern DECLSPEC int SDLCALL SDL_RenderFillRectFloat(SDL_Renderer * renderer,
const SDL_FRect * rect);
extern DECLSPEC int SDLCALL SDL_RenderFillRect(SDL_Renderer *renderer, const SDL_FRect *rect);
/**
* Fill some number of rectangles on the current rendering target with the
@ -1586,9 +1240,7 @@ extern DECLSPEC int SDLCALL SDL_RenderFillRectFloat(SDL_Renderer * renderer,
*
* \since This function is available since SDL 3.0.0.
*/
extern DECLSPEC int SDLCALL SDL_RenderFillRectsFloat(SDL_Renderer * renderer,
const SDL_FRect * rects,
int count);
extern DECLSPEC int SDLCALL SDL_RenderFillRects(SDL_Renderer *renderer, const SDL_FRect *rects, int count);
/**
* Copy a portion of the texture to the current rendering target at subpixel
@ -1604,10 +1256,7 @@ extern DECLSPEC int SDLCALL SDL_RenderFillRectsFloat(SDL_Renderer * renderer,
*
* \since This function is available since SDL 3.0.0.
*/
extern DECLSPEC int SDLCALL SDL_RenderTextureFloat(SDL_Renderer * renderer,
SDL_Texture * texture,
const SDL_Rect * srcrect,
const SDL_FRect * dstrect);
extern DECLSPEC int SDLCALL SDL_RenderTexture(SDL_Renderer *renderer, SDL_Texture *texture, const SDL_Rect *srcrect, const SDL_FRect *dstrect);
/**
* Copy a portion of the source texture to the current rendering target, with
@ -1630,13 +1279,10 @@ extern DECLSPEC int SDLCALL SDL_RenderTextureFloat(SDL_Renderer * renderer,
*
* \since This function is available since SDL 3.0.0.
*/
extern DECLSPEC int SDLCALL SDL_RenderTextureRotatedFloat(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);
extern DECLSPEC int SDLCALL SDL_RenderTextureRotated(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);
/**
* Render a list of triangles, optionally using a texture and indices into the
@ -1722,8 +1368,8 @@ extern DECLSPEC int SDLCALL SDL_RenderGeometryRaw(SDL_Renderer *renderer,
*
* \since This function is available since SDL 3.0.0.
*/
extern DECLSPEC int SDLCALL SDL_RenderReadPixels(SDL_Renderer * renderer,
const SDL_Rect * rect,
extern DECLSPEC int SDLCALL SDL_RenderReadPixels(SDL_Renderer *renderer,
const SDL_Rect *rect,
Uint32 format,
void *pixels, int pitch);
@ -1762,7 +1408,7 @@ extern DECLSPEC int SDLCALL SDL_RenderReadPixels(SDL_Renderer * renderer,
* \sa SDL_SetRenderDrawBlendMode
* \sa SDL_SetRenderDrawColor
*/
extern DECLSPEC void SDLCALL SDL_RenderPresent(SDL_Renderer * renderer);
extern DECLSPEC void SDLCALL SDL_RenderPresent(SDL_Renderer *renderer);
/**
* Destroy the specified texture.
@ -1777,7 +1423,7 @@ extern DECLSPEC void SDLCALL SDL_RenderPresent(SDL_Renderer * renderer);
* \sa SDL_CreateTexture
* \sa SDL_CreateTextureFromSurface
*/
extern DECLSPEC void SDLCALL SDL_DestroyTexture(SDL_Texture * texture);
extern DECLSPEC void SDLCALL SDL_DestroyTexture(SDL_Texture *texture);
/**
* Destroy the rendering context for a window and free associated textures.
@ -1791,7 +1437,7 @@ extern DECLSPEC void SDLCALL SDL_DestroyTexture(SDL_Texture * texture);
*
* \sa SDL_CreateRenderer
*/
extern DECLSPEC void SDLCALL SDL_DestroyRenderer(SDL_Renderer * renderer);
extern DECLSPEC void SDLCALL SDL_DestroyRenderer(SDL_Renderer *renderer);
/**
* Force the rendering context to flush any pending commands to the underlying
@ -1822,7 +1468,7 @@ extern DECLSPEC void SDLCALL SDL_DestroyRenderer(SDL_Renderer * renderer);
*
* \since This function is available since SDL 3.0.0.
*/
extern DECLSPEC int SDLCALL SDL_RenderFlush(SDL_Renderer * renderer);
extern DECLSPEC int SDLCALL SDL_RenderFlush(SDL_Renderer *renderer);
/**
@ -1891,7 +1537,7 @@ extern DECLSPEC int SDLCALL SDL_GL_UnbindTexture(SDL_Texture *texture);
*
* \sa SDL_GetRenderMetalCommandEncoder
*/
extern DECLSPEC void *SDLCALL SDL_GetRenderMetalLayer(SDL_Renderer * renderer);
extern DECLSPEC void *SDLCALL SDL_GetRenderMetalLayer(SDL_Renderer *renderer);
/**
* Get the Metal command encoder for the current frame
@ -1912,7 +1558,7 @@ extern DECLSPEC void *SDLCALL SDL_GetRenderMetalLayer(SDL_Renderer * renderer);
*
* \sa SDL_GetRenderMetalLayer
*/
extern DECLSPEC void *SDLCALL SDL_GetRenderMetalCommandEncoder(SDL_Renderer * renderer);
extern DECLSPEC void *SDLCALL SDL_GetRenderMetalCommandEncoder(SDL_Renderer *renderer);
/**
* Toggle VSync of the given renderer.
@ -1923,7 +1569,7 @@ extern DECLSPEC void *SDLCALL SDL_GetRenderMetalCommandEncoder(SDL_Renderer * re
*
* \since This function is available since SDL 3.0.0.
*/
extern DECLSPEC int SDLCALL SDL_SetRenderVSync(SDL_Renderer* renderer, int vsync);
extern DECLSPEC int SDLCALL SDL_SetRenderVSync(SDL_Renderer *renderer, int vsync);
/**
* Get VSync of the given renderer.