From 8a347f9515a0021361549016e86fcca159c948f5 Mon Sep 17 00:00:00 2001 From: dario-loi Date: Sun, 24 Nov 2024 17:33:45 +0100 Subject: Working CMakeLists.txt and many bugfixes Provided a working CMakeLists.txt file to build all of the examples, also fixed a bunch of bugs (some fixes also depend on personal preference and should be reviewed by maintainers): 1. Switched fbgl_t types from size_t to uint32_t as there is no way a screen resolution will be more than 2^32, this way we save 4 bytes and we have faster comparisons 2. Used int32_t instead of int for better clarity 3. fbgl_point now uses int32_t instead of uint32_t, no more sign comparison warnings (for loops that worked with fbgl_point were already working with int32_t in practice) 4. line.c now uses usleep(1000) to wait inbetween individual line draws instead of an empty for loop, as that was optimized away in release builds and led to all the animation being played instantly 5. removed the void fbgl_set_bg() forward declaration as it was incorrect w.r.t the actual function definition 6. fbgl_draw_texture specifies a const pointer to the texture resource, possibly allowing for compiler optimizations 7. fbgl_set_bg and fbgl_put_pixel now use #ifdef DEBUG to compile away checks in release builds, for faster performance 8. various const-correctness improvements 9. all required UNIX headers have been imported so that fbgl_check_esc_key does not give any more warnings All examples have been tested (on my local machine, so take this with a grain of salt) --- examples/raw_mode.c | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) create mode 100644 examples/raw_mode.c (limited to 'examples/raw_mode.c') diff --git a/examples/raw_mode.c b/examples/raw_mode.c new file mode 100644 index 0000000..449a824 --- /dev/null +++ b/examples/raw_mode.c @@ -0,0 +1,20 @@ +#define FBGL_IMPLEMENTATION +#include "../fbgl.h" +#include + +int main(int argc, char *argv[]) +{ + fbgl_t fb; + fbgl_init("/dev/fb0", &fb); + + fbgl_set_bg(&fb, 0xFFFFFF); + + while (1) { + if (fbgl_check_esc_key()) { + printf("pressed"); + fbgl_set_bg(&fb, 0x000000); + } + } + + return 0; +} -- cgit v1.2.3