mirror of
https://github.com/libsdl-org/SDL.git
synced 2025-05-29 07:59:11 +00:00
render: Fixed a FIXME for SDL_SetRenderViewport with a negative size.
This commit is contained in:
parent
54459def69
commit
7a6a0becb8
2 changed files with 11 additions and 1 deletions
|
@ -1400,12 +1400,20 @@ extern SDL_DECLSPEC bool SDLCALL SDL_ConvertEventToRenderCoordinates(SDL_Rendere
|
|||
/**
|
||||
* Set the drawing area for rendering on the current target.
|
||||
*
|
||||
* Drawing will clip to this area (separately from any clipping done with
|
||||
* SDL_SetRenderClipRect), and the top left of the area will become
|
||||
* coordinate (0, 0) for future drawing commands.
|
||||
*
|
||||
* The area's width and height must be >= 0.
|
||||
*
|
||||
* \param renderer the rendering context.
|
||||
* \param rect the SDL_Rect structure representing the drawing area, or NULL
|
||||
* to set the viewport to the entire target.
|
||||
* \returns true on success or false on failure; call SDL_GetError() for more
|
||||
* information.
|
||||
*
|
||||
* \threadsafety You may only call this function from the main thread.
|
||||
*
|
||||
* \since This function is available since SDL 3.0.0.
|
||||
*
|
||||
* \sa SDL_GetRenderViewport
|
||||
|
|
|
@ -2932,7 +2932,9 @@ bool SDL_SetRenderViewport(SDL_Renderer *renderer, const SDL_Rect *rect)
|
|||
CHECK_RENDERER_MAGIC(renderer, false);
|
||||
|
||||
if (rect) {
|
||||
// !!! FIXME: fail if rect->w or rect->h are negative (we use this to mean "the whole viewport").
|
||||
if ((rect->w < 0) || (rect->h < 0)) {
|
||||
return SDL_SetError("rect has a negative size");
|
||||
}
|
||||
SDL_copyp(&renderer->view->viewport, rect);
|
||||
} else {
|
||||
renderer->view->viewport.x = 0;
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue