Quellcode durchsuchen

Updated the documentation for SDL_GetRenderLogicalPresentation()

Fixes https://github.com/libsdl-org/SDL/issues/13791
Sam Lantinga vor 1 Woche
Ursprung
Commit
fb2daa2f5f
2 geänderte Dateien mit 11 neuen und 6 gelöschten Zeilen
  1. 4 4
      include/SDL3/SDL_render.h
  2. 7 2
      src/render/SDL_render.c

+ 4 - 4
include/SDL3/SDL_render.h

@@ -1477,15 +1477,15 @@ extern SDL_DECLSPEC bool SDLCALL SDL_SetRenderLogicalPresentation(SDL_Renderer *
  * Get device independent resolution and presentation mode for rendering.
  *
  * This function gets the width and height of the logical rendering output, or
- * the output size in pixels if a logical resolution is not enabled.
+ * 0 if a logical resolution is not enabled.
  *
  * Each render target has its own logical presentation state. This function
  * gets the state for the current render target.
  *
  * \param renderer the rendering context.
- * \param w an int to be filled with the width.
- * \param h an int to be filled with the height.
- * \param mode the presentation mode used.
+ * \param w an int filled with the logical presentation width.
+ * \param h an int filled with the logical presentation height.
+ * \param mode a variable filled with the logical presentation mode being used.
  * \returns true on success or false on failure; call SDL_GetError() for more
  *          information.
  *

+ 7 - 2
src/render/SDL_render.c

@@ -2757,9 +2757,14 @@ bool SDL_SetRenderLogicalPresentation(SDL_Renderer *renderer, int w, int h, SDL_
     CHECK_RENDERER_MAGIC(renderer, false);
 
     SDL_RenderViewState *view = renderer->view;
+    if (mode == SDL_LOGICAL_PRESENTATION_DISABLED) {
+        view->logical_w = 0;
+        view->logical_h = 0;
+    } else {
+        view->logical_w = w;
+        view->logical_h = h;
+    }
     view->logical_presentation_mode = mode;
-    view->logical_w = w;
-    view->logical_h = h;
 
     UpdateLogicalPresentation(renderer);