Fast and reasonably complete (framebuffer) terminal emulator (Zig fork)

Actually gate terminal size limiting behind bump allocated instance

mintsuki f4287305 fa54a602

Changed files
+10 -10
backends
+10 -10
backends/fb.c
···
}
#ifndef FLANTERM_FB_DISABLE_BUMP_ALLOC
-
// Limit terminal size if needed
-
if (width > FLANTERM_FB_WIDTH_LIMIT || height > FLANTERM_FB_HEIGHT_LIMIT) {
-
size_t width_limit = width > FLANTERM_FB_WIDTH_LIMIT ? FLANTERM_FB_WIDTH_LIMIT : width;
-
size_t height_limit = height > FLANTERM_FB_HEIGHT_LIMIT ? FLANTERM_FB_HEIGHT_LIMIT : height;
-
-
framebuffer = (uint32_t *)((uintptr_t)framebuffer + ((((height / 2) - (height_limit / 2)) * pitch) + (((width / 2) - (width_limit / 2)) * 4)));
-
-
width = width_limit;
-
height = height_limit;
-
}
#endif
#ifdef FLANTERM_FB_SUPPORT_BPP
···
return NULL;
}
_malloc = bump_alloc;
+
// Limit terminal size if needed
+
if (width > FLANTERM_FB_WIDTH_LIMIT || height > FLANTERM_FB_HEIGHT_LIMIT) {
+
size_t width_limit = width > FLANTERM_FB_WIDTH_LIMIT ? FLANTERM_FB_WIDTH_LIMIT : width;
+
size_t height_limit = height > FLANTERM_FB_HEIGHT_LIMIT ? FLANTERM_FB_HEIGHT_LIMIT : height;
+
+
framebuffer = (uint32_t *)((uintptr_t)framebuffer + ((((height / 2) - (height_limit / 2)) * pitch) + (((width / 2) - (width_limit / 2)) * 4)));
+
+
width = width_limit;
+
height = height_limit;
+
}
#else
return NULL;
#endif