From a34a84ba98201ae026023f0d4bea4ab2d0123d36 Mon Sep 17 00:00:00 2001
From: Sam Lantinga <[EMAIL REDACTED]>
Date: Fri, 3 Feb 2023 14:55:32 -0800
Subject: [PATCH] Rename int versions of the SDL2 render functions (#7235)
This makes it clear what the new versions are, and in the case of SDL_RenderDrawPoint() and SDL_RenderDrawLine(), the coccinelle script actually does the (float) casts for you.
---
build-scripts/SDL_migration.cocci | 109 +++++++++++++++++++++++++++---
docs/README-migration.md | 18 +++--
include/SDL3/SDL_oldnames.h | 16 +++++
3 files changed, 125 insertions(+), 18 deletions(-)
diff --git a/build-scripts/SDL_migration.cocci b/build-scripts/SDL_migration.cocci
index 6878ced6e77d..5804e5a85b67 100644
--- a/build-scripts/SDL_migration.cocci
+++ b/build-scripts/SDL_migration.cocci
@@ -1779,11 +1779,11 @@ typedef SDL_GameControllerButtonBind, SDL_GamepadBinding;
(...)
@@
SDL_Renderer *renderer;
-int *w;
-int *h;
+int *e1;
+int *e2;
@@
-- SDL_RenderGetLogicalSize(renderer, w, h)
-+ SDL_GetRenderLogicalPresentation(renderer, w, h, NULL, NULL)
+- SDL_RenderGetLogicalSize(renderer, e1, e2)
++ SDL_GetRenderLogicalPresentation(renderer, e1, e2, NULL, NULL)
@@
@@
- SDL_RenderGetMetalCommandEncoder
@@ -1821,15 +1821,15 @@ int *h;
(...)
@@
SDL_Renderer *renderer;
-expression w;
-expression h;
+expression e1;
+expression e2;
@@
(
- SDL_RenderSetLogicalSize(renderer, 0, 0)
+ SDL_SetRenderLogicalPresentation(renderer, 0, 0, SDL_LOGICAL_PRESENTATION_DISABLED, SDL_ScaleModeNearest)
|
-- SDL_RenderSetLogicalSize(renderer, w, h)
-+ SDL_SetRenderLogicalPresentation(renderer, w, h, SDL_LOGICAL_PRESENTATION_LETTERBOX, SDL_ScaleModeLinear)
+- SDL_RenderSetLogicalSize(renderer, e1, e2)
++ SDL_SetRenderLogicalPresentation(renderer, e1, e2, SDL_LOGICAL_PRESENTATION_LETTERBOX, SDL_ScaleModeLinear)
)
@@
@@
@@ -2400,3 +2400,96 @@ SDL_DisplayMode e;
@@
- SDL_ScaleModeBest
+ SDL_SCALEMODE_BEST
+
+- SDL_RenderCopy
++ SDL_RenderTexture
+ (...)
+@@
+@@
+- SDL_RenderCopyEx
++ SDL_RenderTextureRotated
+ (...)
+@@
+SDL_Renderer *renderer;
+constant c1;
+constant c2;
+constant c3;
+constant c4;
+expression e1;
+expression e2;
+expression e3;
+expression e4;
+@@
+- SDL_RenderDrawLine(renderer,
++ SDL_RenderLine(renderer,
+(
+ c1
+|
+- e1
++ (float)e1
+)
+ ,
+(
+ c2
+|
+- e2
++ (float)e2
+)
+ ,
+(
+ c3
+|
+- e3
++ (float)e3
+)
+ ,
+(
+ c4
+|
+- e4
++ (float)e4
+)
+ )
+@@
+@@
+- SDL_RenderDrawLines
++ SDL_RenderLines
+ (...)
+@@
+SDL_Renderer *renderer;
+constant c1;
+constant c2;
+expression e1;
+expression e2;
+@@
+- SDL_RenderDrawPoint(renderer,
++ SDL_RenderPoint(renderer,
+(
+ c1
+|
+- e1
++ (float)e1
+)
+ ,
+(
+ c2
+|
+- e2
++ (float)e2
+)
+ )
+@@
+@@
+- SDL_RenderDrawPoints
++ SDL_RenderPoints
+ (...)
+@@
+@@
+- SDL_RenderDrawRect
++ SDL_RenderRect
+ (...)
+@@
+@@
+- SDL_RenderDrawRects
++ SDL_RenderRects
+ (...)
\ No newline at end of file
diff --git a/docs/README-migration.md b/docs/README-migration.md
index b8030496cc41..f24c80bba42a 100644
--- a/docs/README-migration.md
+++ b/docs/README-migration.md
@@ -606,13 +606,21 @@ The viewport, clipping state, and scale for render targets are now persistent an
The following functions have been renamed:
* SDL_GetRendererOutputSize() => SDL_GetCurrentRenderOutputSize()
+* SDL_RenderCopy() => SDL_RenderTexture()
+* SDL_RenderCopyEx() => SDL_RenderTextureRotated()
* SDL_RenderCopyExF() => SDL_RenderTextureRotated()
* SDL_RenderCopyF() => SDL_RenderTexture()
+* SDL_RenderDrawLine() => SDL_RenderLine()
* SDL_RenderDrawLineF() => SDL_RenderLine()
+* SDL_RenderDrawLines() => SDL_RenderLines()
* SDL_RenderDrawLinesF() => SDL_RenderLines()
+* SDL_RenderDrawPoint() => SDL_RenderPoint()
* SDL_RenderDrawPointF() => SDL_RenderPoint()
+* SDL_RenderDrawPoints() => SDL_RenderPoints()
* SDL_RenderDrawPointsF() => SDL_RenderPoints()
+* SDL_RenderDrawRect() => SDL_RenderRect()
* SDL_RenderDrawRectF() => SDL_RenderRect()
+* SDL_RenderDrawRects() => SDL_RenderRects()
* SDL_RenderDrawRectsF() => SDL_RenderRects()
* SDL_RenderFillRectF() => SDL_RenderFillRect()
* SDL_RenderFillRectsF() => SDL_RenderFillRects()
@@ -635,16 +643,6 @@ The following functions have been renamed:
* SDL_RenderWindowToLogical() => SDL_RenderCoordinatesFromWindow()
The following functions have been removed:
-* SDL_RenderCopy()
-* SDL_RenderCopyEx()
-* SDL_RenderDrawLine()
-* SDL_RenderDrawLines()
-* SDL_RenderDrawPoint()
-* SDL_RenderDrawPoints()
-* SDL_RenderDrawRect()
-* SDL_RenderDrawRects()
-* SDL_RenderFillRect()
-* SDL_RenderFillRects()
* SDL_RenderGetIntegerScale()
* SDL_RenderSetIntegerScale() - this is now explicit with SDL_LOGICAL_PRESENTATION_INTEGER_SCALE
* SDL_RenderTargetSupported() - render targets are always supported
diff --git a/include/SDL3/SDL_oldnames.h b/include/SDL3/SDL_oldnames.h
index ae97d735ee2b..c20f7e81b886 100644
--- a/include/SDL3/SDL_oldnames.h
+++ b/include/SDL3/SDL_oldnames.h
@@ -346,13 +346,21 @@
/* ##SDL_render.h */
#define SDL_GetRendererOutputSize SDL_GetCurrentRenderOutputSize
+#define SDL_RenderCopy SDL_RenderTexture
+#define SDL_RenderCopyEx SDL_RenderTextureRotated
#define SDL_RenderCopyExF SDL_RenderTextureRotated
#define SDL_RenderCopyF SDL_RenderTexture
+#define SDL_RenderDrawLine SDL_RenderLine
#define SDL_RenderDrawLineF SDL_RenderLine
+#define SDL_RenderDrawLines SDL_RenderLines
#define SDL_RenderDrawLinesF SDL_RenderLines
+#define SDL_RenderDrawPoint SDL_RenderPoint
#define SDL_RenderDrawPointF SDL_RenderPoint
+#define SDL_RenderDrawPoints SDL_RenderPoints
#define SDL_RenderDrawPointsF SDL_RenderPoints
+#define SDL_RenderDrawRect SDL_RenderRect
#define SDL_RenderDrawRectF SDL_RenderRect
+#define SDL_RenderDrawRects SDL_RenderRects
#define SDL_RenderDrawRectsF SDL_RenderRects
#define SDL_RenderFillRectF SDL_RenderFillRect
#define SDL_RenderFillRectsF SDL_RenderFillRects
@@ -735,13 +743,21 @@
/* ##SDL_render.h */
#define SDL_GetRendererOutputSize SDL_GetRendererOutputSize_renamed_SDL_GetCurrentRenderOutputSize
+#define SDL_RenderCopy SDL_RenderCopy_renamed_SDL_RenderTexture
+#define SDL_RenderCopyEx SDL_RenderCopyEx_renamed_SDL_RenderTextureRotated
#define SDL_RenderCopyExF SDL_RenderCopyExF_renamed_SDL_RenderTextureRotated
#define SDL_RenderCopyF SDL_RenderCopyF_renamed_SDL_RenderTexture
+#define SDL_RenderDrawLine SDL_RenderDrawLine_renamed_SDL_RenderLine
#define SDL_RenderDrawLineF SDL_RenderDrawLineF_renamed_SDL_RenderLine
+#define SDL_RenderDrawLines SDL_RenderDrawLines_renamed_SDL_RenderLines
#define SDL_RenderDrawLinesF SDL_RenderDrawLinesF_renamed_SDL_RenderLines
+#define SDL_RenderDrawPoint SDL_RenderDrawPoint_renamed_SDL_RenderPoint
#define SDL_RenderDrawPointF SDL_RenderDrawPointF_renamed_SDL_RenderPoint
+#define SDL_RenderDrawPoints SDL_RenderDrawPoints_renamed_SDL_RenderPoints
#define SDL_RenderDrawPointsF SDL_RenderDrawPointsF_renamed_SDL_RenderPoints
+#define SDL_RenderDrawRect SDL_RenderDrawRect_renamed_SDL_RenderRect
#define SDL_RenderDrawRectF SDL_RenderDrawRectF_renamed_SDL_RenderRect
+#define SDL_RenderDrawRects SDL_RenderDrawRects_renamed_SDL_RenderRects
#define SDL_RenderDrawRectsF SDL_RenderDrawRectsF_renamed_SDL_RenderRects
#define SDL_RenderFillRectF SDL_RenderFillRectF_renamed_SDL_RenderFillRect
#define SDL_RenderFillRectsF SDL_RenderFillRectsF_renamed_SDL_RenderFillRects