render: Remove scale_mode option from logical presentation.

It doesn't make sense now that we don't have a render target texture to scale.
This commit is contained in:
Ryan C. Gordon 2024-09-19 11:50:03 -04:00
parent 9bd917ec80
commit b33748af6e
No known key found for this signature in database
GPG Key ID: FA148B892AB48044
12 changed files with 33 additions and 91 deletions

View File

@ -1761,10 +1761,10 @@ expression e2;
@@ @@
( (
- SDL_RenderSetLogicalSize(renderer, 0, 0) - SDL_RenderSetLogicalSize(renderer, 0, 0)
+ SDL_SetRenderLogicalPresentation(renderer, 0, 0, SDL_LOGICAL_PRESENTATION_DISABLED, SDL_ScaleModeNearest) + SDL_SetRenderLogicalPresentation(renderer, 0, 0, SDL_LOGICAL_PRESENTATION_DISABLED)
| |
- SDL_RenderSetLogicalSize(renderer, e1, e2) - SDL_RenderSetLogicalSize(renderer, e1, e2)
+ SDL_SetRenderLogicalPresentation(renderer, e1, e2, SDL_LOGICAL_PRESENTATION_LETTERBOX, SDL_ScaleModeLinear) + SDL_SetRenderLogicalPresentation(renderer, e1, e2, SDL_LOGICAL_PRESENTATION_LETTERBOX)
) )
@@ @@
@@ @@

View File

@ -29,7 +29,7 @@ SDL_AppResult SDL_AppInit(void **appstate, int argc, char *argv[])
return SDL_APP_FAILURE; return SDL_APP_FAILURE;
} }
SDL_SetRenderLogicalPresentation(renderer, 640, 480, SDL_LOGICAL_PRESENTATION_LETTERBOX, SDL_SCALEMODE_NEAREST); SDL_SetRenderLogicalPresentation(renderer, 640, 480, SDL_LOGICAL_PRESENTATION_LETTERBOX);
/* set up some random points */ /* set up some random points */
for (i = 0; i < SDL_arraysize(points); i++) { for (i = 0; i < SDL_arraysize(points); i++) {

View File

@ -1281,7 +1281,6 @@ extern SDL_DECLSPEC SDL_Texture * SDLCALL SDL_GetRenderTarget(SDL_Renderer *rend
* \param w the width of the logical resolution. * \param w the width of the logical resolution.
* \param h the height of the logical resolution. * \param h the height of the logical resolution.
* \param mode the presentation mode used. * \param mode the presentation mode used.
* \param scale_mode the scale mode used.
* \returns true on success or false on failure; call SDL_GetError() for more * \returns true on success or false on failure; call SDL_GetError() for more
* information. * information.
* *
@ -1291,7 +1290,7 @@ extern SDL_DECLSPEC SDL_Texture * SDLCALL SDL_GetRenderTarget(SDL_Renderer *rend
* \sa SDL_GetRenderLogicalPresentation * \sa SDL_GetRenderLogicalPresentation
* \sa SDL_GetRenderLogicalPresentationRect * \sa SDL_GetRenderLogicalPresentationRect
*/ */
extern SDL_DECLSPEC bool SDLCALL SDL_SetRenderLogicalPresentation(SDL_Renderer *renderer, int w, int h, SDL_RendererLogicalPresentation mode, SDL_ScaleMode scale_mode); extern SDL_DECLSPEC bool SDLCALL SDL_SetRenderLogicalPresentation(SDL_Renderer *renderer, int w, int h, SDL_RendererLogicalPresentation mode);
/** /**
* Get device independent resolution and presentation mode for rendering. * Get device independent resolution and presentation mode for rendering.
@ -1302,7 +1301,6 @@ extern SDL_DECLSPEC bool SDLCALL SDL_SetRenderLogicalPresentation(SDL_Renderer *
* \param renderer the rendering context. * \param renderer the rendering context.
* \param w an int to be filled with the width. * \param w an int to be filled with the width.
* \param h an int to be filled with the height. * \param h an int to be filled with the height.
* \param mode a pointer filled in with the presentation mode.
* \param scale_mode a pointer filled in with the scale mode. * \param scale_mode a pointer filled in with the scale mode.
* \returns true on success or false on failure; call SDL_GetError() for more * \returns true on success or false on failure; call SDL_GetError() for more
* information. * information.
@ -1311,7 +1309,7 @@ extern SDL_DECLSPEC bool SDLCALL SDL_SetRenderLogicalPresentation(SDL_Renderer *
* *
* \sa SDL_SetRenderLogicalPresentation * \sa SDL_SetRenderLogicalPresentation
*/ */
extern SDL_DECLSPEC bool SDLCALL SDL_GetRenderLogicalPresentation(SDL_Renderer *renderer, int *w, int *h, SDL_RendererLogicalPresentation *mode, SDL_ScaleMode *scale_mode); extern SDL_DECLSPEC bool SDLCALL SDL_GetRenderLogicalPresentation(SDL_Renderer *renderer, int *w, int *h, SDL_RendererLogicalPresentation *mode);
/** /**
* Get the final presentation rectangle for rendering. * Get the final presentation rectangle for rendering.

View File

@ -499,7 +499,7 @@ SDL_DYNAPI_PROC(bool,SDL_GetRenderDrawBlendMode,(SDL_Renderer *a, SDL_BlendMode
SDL_DYNAPI_PROC(bool,SDL_GetRenderDrawColor,(SDL_Renderer *a, Uint8 *b, Uint8 *c, Uint8 *d, Uint8 *e),(a,b,c,d,e),return) SDL_DYNAPI_PROC(bool,SDL_GetRenderDrawColor,(SDL_Renderer *a, Uint8 *b, Uint8 *c, Uint8 *d, Uint8 *e),(a,b,c,d,e),return)
SDL_DYNAPI_PROC(bool,SDL_GetRenderDrawColorFloat,(SDL_Renderer *a, float *b, float *c, float *d, float *e),(a,b,c,d,e),return) SDL_DYNAPI_PROC(bool,SDL_GetRenderDrawColorFloat,(SDL_Renderer *a, float *b, float *c, float *d, float *e),(a,b,c,d,e),return)
SDL_DYNAPI_PROC(const char*,SDL_GetRenderDriver,(int a),(a),return) SDL_DYNAPI_PROC(const char*,SDL_GetRenderDriver,(int a),(a),return)
SDL_DYNAPI_PROC(bool,SDL_GetRenderLogicalPresentation,(SDL_Renderer *a, int *b, int *c, SDL_RendererLogicalPresentation *d, SDL_ScaleMode *e),(a,b,c,d,e),return) SDL_DYNAPI_PROC(bool,SDL_GetRenderLogicalPresentation,(SDL_Renderer *a, int *b, int *c, SDL_RendererLogicalPresentation *d),(a,b,c,d),return)
SDL_DYNAPI_PROC(bool,SDL_GetRenderLogicalPresentationRect,(SDL_Renderer *a, SDL_FRect *b),(a,b),return) SDL_DYNAPI_PROC(bool,SDL_GetRenderLogicalPresentationRect,(SDL_Renderer *a, SDL_FRect *b),(a,b),return)
SDL_DYNAPI_PROC(void*,SDL_GetRenderMetalCommandEncoder,(SDL_Renderer *a),(a),return) SDL_DYNAPI_PROC(void*,SDL_GetRenderMetalCommandEncoder,(SDL_Renderer *a),(a),return)
SDL_DYNAPI_PROC(void*,SDL_GetRenderMetalLayer,(SDL_Renderer *a),(a),return) SDL_DYNAPI_PROC(void*,SDL_GetRenderMetalLayer,(SDL_Renderer *a),(a),return)
@ -879,7 +879,7 @@ SDL_DYNAPI_PROC(bool,SDL_SetRenderColorScale,(SDL_Renderer *a, float b),(a,b),re
SDL_DYNAPI_PROC(bool,SDL_SetRenderDrawBlendMode,(SDL_Renderer *a, SDL_BlendMode b),(a,b),return) SDL_DYNAPI_PROC(bool,SDL_SetRenderDrawBlendMode,(SDL_Renderer *a, SDL_BlendMode b),(a,b),return)
SDL_DYNAPI_PROC(bool,SDL_SetRenderDrawColor,(SDL_Renderer *a, Uint8 b, Uint8 c, Uint8 d, Uint8 e),(a,b,c,d,e),return) SDL_DYNAPI_PROC(bool,SDL_SetRenderDrawColor,(SDL_Renderer *a, Uint8 b, Uint8 c, Uint8 d, Uint8 e),(a,b,c,d,e),return)
SDL_DYNAPI_PROC(bool,SDL_SetRenderDrawColorFloat,(SDL_Renderer *a, float b, float c, float d, float e),(a,b,c,d,e),return) SDL_DYNAPI_PROC(bool,SDL_SetRenderDrawColorFloat,(SDL_Renderer *a, float b, float c, float d, float e),(a,b,c,d,e),return)
SDL_DYNAPI_PROC(bool,SDL_SetRenderLogicalPresentation,(SDL_Renderer *a, int b, int c, SDL_RendererLogicalPresentation d, SDL_ScaleMode e),(a,b,c,d,e),return) SDL_DYNAPI_PROC(bool,SDL_SetRenderLogicalPresentation,(SDL_Renderer *a, int b, int c, SDL_RendererLogicalPresentation d),(a,b,c,d),return)
SDL_DYNAPI_PROC(bool,SDL_SetRenderScale,(SDL_Renderer *a, float b, float c),(a,b,c),return) SDL_DYNAPI_PROC(bool,SDL_SetRenderScale,(SDL_Renderer *a, float b, float c),(a,b,c),return)
SDL_DYNAPI_PROC(bool,SDL_SetRenderTarget,(SDL_Renderer *a, SDL_Texture *b),(a,b),return) SDL_DYNAPI_PROC(bool,SDL_SetRenderTarget,(SDL_Renderer *a, SDL_Texture *b),(a,b),return)
SDL_DYNAPI_PROC(bool,SDL_SetRenderVSync,(SDL_Renderer *a, int b),(a,b),return) SDL_DYNAPI_PROC(bool,SDL_SetRenderVSync,(SDL_Renderer *a, int b),(a,b),return)

View File

@ -2648,12 +2648,11 @@ static void UpdateLogicalPresentation(SDL_Renderer *renderer)
renderer->view = &renderer->logical_view; renderer->view = &renderer->logical_view;
} }
bool SDL_SetRenderLogicalPresentation(SDL_Renderer *renderer, int w, int h, SDL_RendererLogicalPresentation mode, SDL_ScaleMode scale_mode) bool SDL_SetRenderLogicalPresentation(SDL_Renderer *renderer, int w, int h, SDL_RendererLogicalPresentation mode)
{ {
CHECK_RENDERER_MAGIC(renderer, false); CHECK_RENDERER_MAGIC(renderer, false);
renderer->logical_presentation_mode = mode; renderer->logical_presentation_mode = mode;
renderer->logical_scale_mode = scale_mode;
renderer->logical_w = w; renderer->logical_w = w;
renderer->logical_h = h; renderer->logical_h = h;
@ -2664,19 +2663,17 @@ bool SDL_SetRenderLogicalPresentation(SDL_Renderer *renderer, int w, int h, SDL_
return true; return true;
} }
bool SDL_GetRenderLogicalPresentation(SDL_Renderer *renderer, int *w, int *h, SDL_RendererLogicalPresentation *mode, SDL_ScaleMode *scale_mode) bool SDL_GetRenderLogicalPresentation(SDL_Renderer *renderer, int *w, int *h, SDL_RendererLogicalPresentation *mode)
{ {
#define SETVAL(ptr, val) if (ptr) { *ptr = val; } #define SETVAL(ptr, val) if (ptr) { *ptr = val; }
SETVAL(w, 0); SETVAL(w, 0);
SETVAL(h, 0); SETVAL(h, 0);
SETVAL(mode, SDL_LOGICAL_PRESENTATION_DISABLED); SETVAL(mode, SDL_LOGICAL_PRESENTATION_DISABLED);
SETVAL(scale_mode, SDL_SCALEMODE_NEAREST);
CHECK_RENDERER_MAGIC(renderer, false); CHECK_RENDERER_MAGIC(renderer, false);
SETVAL(mode, renderer->logical_presentation_mode); SETVAL(mode, renderer->logical_presentation_mode);
SETVAL(scale_mode, renderer->logical_scale_mode);
SETVAL(w, renderer->logical_w); SETVAL(w, renderer->logical_w);
SETVAL(h, renderer->logical_h); SETVAL(h, renderer->logical_h);

View File

@ -240,7 +240,6 @@ struct SDL_Renderer
// Support for logical output coordinates // Support for logical output coordinates
SDL_RendererLogicalPresentation logical_presentation_mode; SDL_RendererLogicalPresentation logical_presentation_mode;
SDL_ScaleMode logical_scale_mode;
int logical_w, logical_h; int logical_w, logical_h;
SDL_FRect logical_src_rect; SDL_FRect logical_src_rect;
SDL_FRect logical_dst_rect; SDL_FRect logical_dst_rect;

View File

@ -482,21 +482,6 @@ static int SDLCALL SDLTest_CommonStateParseVideoArguments(void *data, char **arg
} }
return -1; return -1;
} }
if (SDL_strcasecmp(argv[index], "--logical-scale-quality") == 0) {
++index;
if (!argv[index]) {
return -1;
}
if (SDL_strcasecmp(argv[index], "nearest") == 0) {
state->logical_scale_mode = SDL_SCALEMODE_NEAREST;
return 2;
}
if (SDL_strcasecmp(argv[index], "linear") == 0) {
state->logical_scale_mode = SDL_SCALEMODE_LINEAR;
return 2;
}
return -1;
}
if (SDL_strcasecmp(argv[index], "--scale") == 0) { if (SDL_strcasecmp(argv[index], "--scale") == 0) {
++index; ++index;
if (!argv[index]) { if (!argv[index]) {
@ -708,7 +693,6 @@ SDLTest_CommonState *SDLTest_CommonCreateState(char **argv, SDL_InitFlags flags)
state->window_w = DEFAULT_WINDOW_WIDTH; state->window_w = DEFAULT_WINDOW_WIDTH;
state->window_h = DEFAULT_WINDOW_HEIGHT; state->window_h = DEFAULT_WINDOW_HEIGHT;
state->logical_presentation = SDL_LOGICAL_PRESENTATION_DISABLED; state->logical_presentation = SDL_LOGICAL_PRESENTATION_DISABLED;
state->logical_scale_mode = SDL_SCALEMODE_LINEAR;
state->num_windows = 1; state->num_windows = 1;
state->audio_freq = 22050; state->audio_freq = 22050;
state->audio_format = SDL_AUDIO_S16; state->audio_format = SDL_AUDIO_S16;
@ -1082,21 +1066,6 @@ static void SDLTest_PrintLogicalPresentation(char *text, size_t maxlen, SDL_Rend
} }
} }
static void SDLTest_PrintScaleMode(char *text, size_t maxlen, SDL_ScaleMode scale_mode)
{
switch (scale_mode) {
case SDL_SCALEMODE_NEAREST:
SDL_snprintfcat(text, maxlen, "NEAREST");
break;
case SDL_SCALEMODE_LINEAR:
SDL_snprintfcat(text, maxlen, "LINEAR");
break;
default:
SDL_snprintfcat(text, maxlen, "0x%8.8x", scale_mode);
break;
}
}
static void SDLTest_PrintRenderer(SDL_Renderer *renderer) static void SDLTest_PrintRenderer(SDL_Renderer *renderer)
{ {
const char *name; const char *name;
@ -1480,7 +1449,7 @@ bool SDLTest_CommonInit(SDLTest_CommonState *state)
if (state->render_vsync) { if (state->render_vsync) {
SDL_SetRenderVSync(state->renderers[i], state->render_vsync); SDL_SetRenderVSync(state->renderers[i], state->render_vsync);
} }
if (!SDL_SetRenderLogicalPresentation(state->renderers[i], state->logical_w, state->logical_h, state->logical_presentation, state->logical_scale_mode)) { if (!SDL_SetRenderLogicalPresentation(state->renderers[i], state->logical_w, state->logical_h, state->logical_presentation)) {
SDL_Log("Couldn't set logical presentation: %s\n", SDL_GetError()); SDL_Log("Couldn't set logical presentation: %s\n", SDL_GetError());
return false; return false;
} }
@ -2587,7 +2556,6 @@ void SDLTest_CommonDrawWindowInfo(SDL_Renderer *renderer, SDL_Window *window, fl
SDL_DisplayID windowDisplayID = SDL_GetDisplayForWindow(window); SDL_DisplayID windowDisplayID = SDL_GetDisplayForWindow(window);
const char *name; const char *name;
SDL_RendererLogicalPresentation logical_presentation; SDL_RendererLogicalPresentation logical_presentation;
SDL_ScaleMode logical_scale_mode;
/* Video */ /* Video */
@ -2638,12 +2606,9 @@ void SDLTest_CommonDrawWindowInfo(SDL_Renderer *renderer, SDL_Window *window, fl
SDLTest_DrawString(renderer, 0.0f, textY, text); SDLTest_DrawString(renderer, 0.0f, textY, text);
textY += lineHeight; textY += lineHeight;
SDL_GetRenderLogicalPresentation(renderer, &w, &h, &logical_presentation, &logical_scale_mode); SDL_GetRenderLogicalPresentation(renderer, &w, &h, &logical_presentation);
(void)SDL_snprintf(text, sizeof(text), "SDL_GetRenderLogicalPresentation: %dx%d ", w, h); (void)SDL_snprintf(text, sizeof(text), "SDL_GetRenderLogicalPresentation: %dx%d ", w, h);
SDLTest_PrintLogicalPresentation(text, sizeof(text), logical_presentation); SDLTest_PrintLogicalPresentation(text, sizeof(text), logical_presentation);
SDL_snprintfcat(text, sizeof(text), ", ");
SDLTest_PrintScaleMode(text, sizeof(text), logical_scale_mode);
SDLTest_DrawString(renderer, 0.0f, textY, text);
textY += lineHeight; textY += lineHeight;
/* Window */ /* Window */

View File

@ -1089,7 +1089,6 @@ static int SDLCALL render_testLogicalSize(void *arg)
int w, h; int w, h;
int set_w, set_h; int set_w, set_h;
SDL_RendererLogicalPresentation set_presentation_mode; SDL_RendererLogicalPresentation set_presentation_mode;
SDL_ScaleMode set_scale_mode;
SDL_FRect set_rect; SDL_FRect set_rect;
const int factor = 2; const int factor = 2;
@ -1108,16 +1107,13 @@ static int SDLCALL render_testLogicalSize(void *arg)
/* Set the logical size and do a fill operation */ /* Set the logical size and do a fill operation */
CHECK_FUNC(SDL_GetCurrentRenderOutputSize, (renderer, &w, &h)) CHECK_FUNC(SDL_GetCurrentRenderOutputSize, (renderer, &w, &h))
CHECK_FUNC(SDL_SetRenderLogicalPresentation, (renderer, w / factor, h / factor, CHECK_FUNC(SDL_SetRenderLogicalPresentation, (renderer, w / factor, h / factor, SDL_LOGICAL_PRESENTATION_LETTERBOX))
SDL_LOGICAL_PRESENTATION_LETTERBOX, CHECK_FUNC(SDL_GetRenderLogicalPresentation, (renderer, &set_w, &set_h, &set_presentation_mode))
SDL_SCALEMODE_NEAREST))
CHECK_FUNC(SDL_GetRenderLogicalPresentation, (renderer, &set_w, &set_h, &set_presentation_mode, &set_scale_mode))
SDLTest_AssertCheck( SDLTest_AssertCheck(
set_w == (w / factor) && set_w == (w / factor) &&
set_h == (h / factor) && set_h == (h / factor) &&
set_presentation_mode == SDL_LOGICAL_PRESENTATION_LETTERBOX && set_presentation_mode == SDL_LOGICAL_PRESENTATION_LETTERBOX,
set_scale_mode == SDL_SCALEMODE_NEAREST, "Validate result from SDL_GetRenderLogicalPresentation, got %d, %d, %d", set_w, set_h, set_presentation_mode);
"Validate result from SDL_GetRenderLogicalPresentation, got %d, %d, %d, %d", set_w, set_h, set_presentation_mode, set_scale_mode);
CHECK_FUNC(SDL_GetRenderLogicalPresentationRect, (renderer, &set_rect)) CHECK_FUNC(SDL_GetRenderLogicalPresentationRect, (renderer, &set_rect))
SDLTest_AssertCheck( SDLTest_AssertCheck(
set_rect.x == 0.0f && set_rect.x == 0.0f &&
@ -1131,16 +1127,13 @@ static int SDLCALL render_testLogicalSize(void *arg)
rect.w = (float)viewport.w / factor; rect.w = (float)viewport.w / factor;
rect.h = (float)viewport.h / factor; rect.h = (float)viewport.h / factor;
CHECK_FUNC(SDL_RenderFillRect, (renderer, &rect)) CHECK_FUNC(SDL_RenderFillRect, (renderer, &rect))
CHECK_FUNC(SDL_SetRenderLogicalPresentation, (renderer, 0, 0, CHECK_FUNC(SDL_SetRenderLogicalPresentation, (renderer, 0, 0, SDL_LOGICAL_PRESENTATION_DISABLED))
SDL_LOGICAL_PRESENTATION_DISABLED, CHECK_FUNC(SDL_GetRenderLogicalPresentation, (renderer, &set_w, &set_h, &set_presentation_mode))
SDL_SCALEMODE_NEAREST))
CHECK_FUNC(SDL_GetRenderLogicalPresentation, (renderer, &set_w, &set_h, &set_presentation_mode, &set_scale_mode))
SDLTest_AssertCheck( SDLTest_AssertCheck(
set_w == 0 && set_w == 0 &&
set_h == 0 && set_h == 0 &&
set_presentation_mode == SDL_LOGICAL_PRESENTATION_DISABLED && set_presentation_mode == SDL_LOGICAL_PRESENTATION_DISABLED,
set_scale_mode == SDL_SCALEMODE_NEAREST, "Validate result from SDL_GetRenderLogicalPresentation, got %d, %d, %d", set_w, set_h, set_presentation_mode);
"Validate result from SDL_GetRenderLogicalPresentation, got %d, %d, %d, %d", set_w, set_h, set_presentation_mode, set_scale_mode);
CHECK_FUNC(SDL_GetRenderLogicalPresentationRect, (renderer, &set_rect)) CHECK_FUNC(SDL_GetRenderLogicalPresentationRect, (renderer, &set_rect))
SDLTest_AssertCheck( SDLTest_AssertCheck(
set_rect.x == 0.0f && set_rect.x == 0.0f &&
@ -1157,9 +1150,7 @@ static int SDLCALL render_testLogicalSize(void *arg)
/* Set the logical size and viewport and do a fill operation */ /* Set the logical size and viewport and do a fill operation */
CHECK_FUNC(SDL_GetCurrentRenderOutputSize, (renderer, &w, &h)) CHECK_FUNC(SDL_GetCurrentRenderOutputSize, (renderer, &w, &h))
CHECK_FUNC(SDL_SetRenderLogicalPresentation, (renderer, w / factor, h / factor, CHECK_FUNC(SDL_SetRenderLogicalPresentation, (renderer, w / factor, h / factor, SDL_LOGICAL_PRESENTATION_LETTERBOX))
SDL_LOGICAL_PRESENTATION_LETTERBOX,
SDL_SCALEMODE_NEAREST))
viewport.x = (TESTRENDER_SCREEN_W / 4) / factor; viewport.x = (TESTRENDER_SCREEN_W / 4) / factor;
viewport.y = (TESTRENDER_SCREEN_H / 4) / factor; viewport.y = (TESTRENDER_SCREEN_H / 4) / factor;
viewport.w = (TESTRENDER_SCREEN_W / 2) / factor; viewport.w = (TESTRENDER_SCREEN_W / 2) / factor;
@ -1168,9 +1159,7 @@ static int SDLCALL render_testLogicalSize(void *arg)
CHECK_FUNC(SDL_SetRenderDrawColor, (renderer, 0, 255, 0, SDL_ALPHA_OPAQUE)) CHECK_FUNC(SDL_SetRenderDrawColor, (renderer, 0, 255, 0, SDL_ALPHA_OPAQUE))
CHECK_FUNC(SDL_RenderFillRect, (renderer, NULL)) CHECK_FUNC(SDL_RenderFillRect, (renderer, NULL))
CHECK_FUNC(SDL_SetRenderViewport, (renderer, NULL)) CHECK_FUNC(SDL_SetRenderViewport, (renderer, NULL))
CHECK_FUNC(SDL_SetRenderLogicalPresentation, (renderer, 0, 0, CHECK_FUNC(SDL_SetRenderLogicalPresentation, (renderer, 0, 0, SDL_LOGICAL_PRESENTATION_DISABLED))
SDL_LOGICAL_PRESENTATION_DISABLED,
SDL_SCALEMODE_NEAREST))
/* Check to see if final image matches. */ /* Check to see if final image matches. */
compare(referenceSurface, ALLOWABLE_ERROR_OPAQUE); compare(referenceSurface, ALLOWABLE_ERROR_OPAQUE);
@ -1196,15 +1185,13 @@ static int SDLCALL render_testLogicalSize(void *arg)
CHECK_FUNC(SDL_SetRenderLogicalPresentation, (renderer, CHECK_FUNC(SDL_SetRenderLogicalPresentation, (renderer,
w - 2 * (TESTRENDER_SCREEN_W / 4), w - 2 * (TESTRENDER_SCREEN_W / 4),
h, h,
SDL_LOGICAL_PRESENTATION_LETTERBOX, SDL_LOGICAL_PRESENTATION_LETTERBOX))
SDL_SCALEMODE_LINEAR)) CHECK_FUNC(SDL_GetRenderLogicalPresentation, (renderer, &set_w, &set_h, &set_presentation_mode))
CHECK_FUNC(SDL_GetRenderLogicalPresentation, (renderer, &set_w, &set_h, &set_presentation_mode, &set_scale_mode))
SDLTest_AssertCheck( SDLTest_AssertCheck(
set_w == w - 2 * (TESTRENDER_SCREEN_W / 4) && set_w == w - 2 * (TESTRENDER_SCREEN_W / 4) &&
set_h == h && set_h == h &&
set_presentation_mode == SDL_LOGICAL_PRESENTATION_LETTERBOX && set_presentation_mode == SDL_LOGICAL_PRESENTATION_LETTERBOX,
set_scale_mode == SDL_SCALEMODE_LINEAR, "Validate result from SDL_GetRenderLogicalPresentation, got %d, %d, %d", set_w, set_h, set_presentation_mode);
"Validate result from SDL_GetRenderLogicalPresentation, got %d, %d, %d, %d", set_w, set_h, set_presentation_mode, set_scale_mode);
CHECK_FUNC(SDL_GetRenderLogicalPresentationRect, (renderer, &set_rect)) CHECK_FUNC(SDL_GetRenderLogicalPresentationRect, (renderer, &set_rect))
SDLTest_AssertCheck( SDLTest_AssertCheck(
set_rect.x == 20.0f && set_rect.x == 20.0f &&
@ -1214,16 +1201,13 @@ static int SDLCALL render_testLogicalSize(void *arg)
"Validate result from SDL_GetRenderLogicalPresentationRect, got {%g, %g, %gx%g}", set_rect.x, set_rect.y, set_rect.w, set_rect.h); "Validate result from SDL_GetRenderLogicalPresentationRect, got {%g, %g, %gx%g}", set_rect.x, set_rect.y, set_rect.w, set_rect.h);
CHECK_FUNC(SDL_SetRenderDrawColor, (renderer, 0, 255, 0, SDL_ALPHA_OPAQUE)) CHECK_FUNC(SDL_SetRenderDrawColor, (renderer, 0, 255, 0, SDL_ALPHA_OPAQUE))
CHECK_FUNC(SDL_RenderFillRect, (renderer, NULL)) CHECK_FUNC(SDL_RenderFillRect, (renderer, NULL))
CHECK_FUNC(SDL_SetRenderLogicalPresentation, (renderer, 0, 0, CHECK_FUNC(SDL_SetRenderLogicalPresentation, (renderer, 0, 0, SDL_LOGICAL_PRESENTATION_DISABLED))
SDL_LOGICAL_PRESENTATION_DISABLED, CHECK_FUNC(SDL_GetRenderLogicalPresentation, (renderer, &set_w, &set_h, &set_presentation_mode))
SDL_SCALEMODE_NEAREST))
CHECK_FUNC(SDL_GetRenderLogicalPresentation, (renderer, &set_w, &set_h, &set_presentation_mode, &set_scale_mode))
SDLTest_AssertCheck( SDLTest_AssertCheck(
set_w == 0 && set_w == 0 &&
set_h == 0 && set_h == 0 &&
set_presentation_mode == SDL_LOGICAL_PRESENTATION_DISABLED && set_presentation_mode == SDL_LOGICAL_PRESENTATION_DISABLED,
set_scale_mode == SDL_SCALEMODE_NEAREST, "Validate result from SDL_GetRenderLogicalPresentation, got %d, %d, %d", set_w, set_h, set_presentation_mode);
"Validate result from SDL_GetRenderLogicalPresentation, got %d, %d, %d, %d", set_w, set_h, set_presentation_mode, set_scale_mode);
CHECK_FUNC(SDL_GetRenderLogicalPresentationRect, (renderer, &set_rect)) CHECK_FUNC(SDL_GetRenderLogicalPresentationRect, (renderer, &set_rect))
SDLTest_AssertCheck( SDLTest_AssertCheck(
set_rect.x == 0.0f && set_rect.x == 0.0f &&

View File

@ -2086,8 +2086,7 @@ int main(int argc, char *argv[])
/* scale for platforms that don't give you the window size you asked for. */ /* scale for platforms that don't give you the window size you asked for. */
SDL_SetRenderLogicalPresentation(screen, (int)SCREEN_WIDTH, (int)SCREEN_HEIGHT, SDL_SetRenderLogicalPresentation(screen, (int)SCREEN_WIDTH, (int)SCREEN_HEIGHT,
SDL_LOGICAL_PRESENTATION_LETTERBOX, SDL_LOGICAL_PRESENTATION_LETTERBOX);
SDL_SCALEMODE_LINEAR);
title_area.w = GAMEPAD_WIDTH; title_area.w = GAMEPAD_WIDTH;

View File

@ -1109,7 +1109,7 @@ int main(int argc, char *argv[])
SDL_Renderer *renderer = state->renderers[i]; SDL_Renderer *renderer = state->renderers[i];
int icon_w = 0, icon_h = 0; int icon_w = 0, icon_h = 0;
SDL_SetRenderLogicalPresentation(renderer, WINDOW_WIDTH, WINDOW_HEIGHT, SDL_LOGICAL_PRESENTATION_LETTERBOX, SDL_SCALEMODE_LINEAR); SDL_SetRenderLogicalPresentation(renderer, WINDOW_WIDTH, WINDOW_HEIGHT, SDL_LOGICAL_PRESENTATION_LETTERBOX);
ctx->window = window; ctx->window = window;
ctx->renderer = renderer; ctx->renderer = renderer;

View File

@ -500,7 +500,7 @@ SDL_AppResult SDL_AppInit(void **appstate, int argc, char *argv[])
} }
for (i = 0; i < state->num_windows; i++) { for (i = 0; i < state->num_windows; i++) {
SDL_SetRenderLogicalPresentation(state->renderers[i], 640, 480, SDL_LOGICAL_PRESENTATION_LETTERBOX, SDL_SCALEMODE_NEAREST); SDL_SetRenderLogicalPresentation(state->renderers[i], 640, 480, SDL_LOGICAL_PRESENTATION_LETTERBOX);
} }
/* Create the windows, initialize the renderers, and load the textures */ /* Create the windows, initialize the renderers, and load the textures */

View File

@ -122,7 +122,7 @@ int main(int argc, char *argv[])
goto quit; goto quit;
} }
SDL_SetRenderLogicalPresentation(renderer, WINDOW_WIDTH, WINDOW_HEIGHT, SDL_LOGICAL_PRESENTATION_LETTERBOX, SDL_SCALEMODE_NEAREST); SDL_SetRenderLogicalPresentation(renderer, WINDOW_WIDTH, WINDOW_HEIGHT, SDL_LOGICAL_PRESENTATION_LETTERBOX);
sprite = CreateTexture(renderer, icon_bmp, icon_bmp_len, &sprite_w, &sprite_h); sprite = CreateTexture(renderer, icon_bmp, icon_bmp_len, &sprite_w, &sprite_h);