| 2131 | } |
| 2132 | |
| 2133 | int |
| 2134 | SDL_RenderSetClipRect(SDL_Renderer * renderer, const SDL_Rect * rect) |
| 2135 | { |
| 2136 | int retval; |
| 2137 | CHECK_RENDERER_MAGIC(renderer, -1) |
| 2138 | |
| 2139 | if (rect) { |
| 2140 | renderer->clipping_enabled = SDL_TRUE; |
| 2141 | renderer->clip_rect.x = (int)SDL_floor(rect->x * renderer->scale.x); |
| 2142 | renderer->clip_rect.y = (int)SDL_floor(rect->y * renderer->scale.y); |
| 2143 | renderer->clip_rect.w = (int)SDL_ceil(rect->w * renderer->scale.x); |
| 2144 | renderer->clip_rect.h = (int)SDL_ceil(rect->h * renderer->scale.y); |
| 2145 | } else { |
| 2146 | renderer->clipping_enabled = SDL_FALSE; |
| 2147 | SDL_zero(renderer->clip_rect); |
| 2148 | } |
| 2149 | |
| 2150 | retval = QueueCmdSetClipRect(renderer); |
| 2151 | return retval < 0 ? retval : FlushRenderCommandsIfNotBatching(renderer); |
| 2152 | } |
| 2153 | |
| 2154 | void |
| 2155 | SDL_RenderGetClipRect(SDL_Renderer * renderer, SDL_Rect * rect) |