From 8b9fbecd74e339db01fb46fb24040ea414b2144e Mon Sep 17 00:00:00 2001 From: Francesco Abbate Date: Tue, 27 Apr 2021 09:52:02 +0200 Subject: [PATCH] Ensure we update only modified rects --- src/renderer.c | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/src/renderer.c b/src/renderer.c index e4e9dcbf..3bd237c0 100644 --- a/src/renderer.c +++ b/src/renderer.c @@ -176,9 +176,12 @@ void ren_update_rects(RenRect *rects, int count) { initial_frame = false; } - // FIXME: we ignore the rects here. SDL_UpdateTexture(renderer.texture, NULL, renderer.surface->pixels, renderer.surface->w * 4); - SDL_RenderCopy(renderer.renderer, renderer.texture, NULL, NULL); + for (int i = 0; i < count; i++) { + const RenRect *r = &rects[i]; + SDL_Rect sr = {.x = r->x, .y = r->y, .w = r->width, .h = r->height}; + SDL_RenderCopy(renderer.renderer, renderer.texture, &sr, &sr); + } SDL_RenderPresent(renderer.renderer); }