From 2122e2fc56a9513078a02c904e793902d5ee095f Mon Sep 17 00:00:00 2001 From: 3gg <3gg@shellblade.net> Date: Wed, 15 Oct 2025 19:35:34 -0700 Subject: Add function to compute number of pixels in a framebuffer --- src/framebuffer.c | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) (limited to 'src/framebuffer.c') diff --git a/src/framebuffer.c b/src/framebuffer.c index dc9cc78..5cb41fd 100644 --- a/src/framebuffer.c +++ b/src/framebuffer.c @@ -54,13 +54,19 @@ const Framebuffer* framebuffer_get() { return &framebuffer; } +static inline uint32_t framebuffer_num_pixels() { + const uint32_t num_channels = framebuffer.depth / 8; + const uint32_t num_pixels = framebuffer.size / num_channels; + return num_pixels; +} + void framebuffer_present(const Pixel* pixels) { - memcpy(framebuffer.pixels, pixels, framebuffer.size); + const uint32_t num_pixels = framebuffer_num_pixels(); + memcpy(framebuffer.pixels, pixels, num_pixels); } void framebuffer_clear(Pixel colour) { - const uint32_t num_channels = framebuffer.depth / 8; - const uint32_t num_pixels = framebuffer.size / num_channels; + const uint32_t num_pixels = framebuffer_num_pixels(); volatile Pixel* fb = framebuffer.pixels; for (size_t i = 0; i < num_pixels; i++) { fb->r = colour.r; -- cgit v1.2.3