Use clipping functions provided by SDL (#1426)

This commit is contained in:
Guldoman
2023-08-19 12:38:35 +08:00
committed by takase1121
parent 1d0725f904
commit a61531dbf0
3 changed files with 18 additions and 20 deletions
+4 -2
View File
@@ -61,12 +61,14 @@ static RenRect scaled_rect(const RenRect rect, const int scale) {
void renwin_clip_to_surface(RenWindow *ren) {
SDL_Surface *surface = renwin_get_surface(ren);
ren->clip = (RenRect) {0, 0, surface->w, surface->h};
SDL_SetClipRect(surface, NULL);
}
void renwin_set_clip_rect(RenWindow *ren, RenRect rect) {
ren->clip = scaled_rect(rect, renwin_surface_scale(ren));
SDL_Surface *surface = renwin_get_surface(ren);
RenRect sr = scaled_rect(rect, renwin_surface_scale(ren));
SDL_SetClipRect(surface, &(SDL_Rect){.x = sr.x, .y = sr.y, .w = sr.width, .h = sr.height});
}