From 5b6aeef8575ae29f345450b630d75ebe74728fbe Mon Sep 17 00:00:00 2001 From: Fierelier Date: Sun, 21 Apr 2024 14:12:45 +0200 Subject: [PATCH] Add test pattern + demonstration of floats --- src/main.c | 34 ++++++++++++++++++++++++++++++---- 1 file changed, 30 insertions(+), 4 deletions(-) diff --git a/src/main.c b/src/main.c index cd8de8d..8365901 100644 --- a/src/main.c +++ b/src/main.c @@ -87,13 +87,39 @@ int main() { return 0; } } - unigi_type_resolution_pixel_axis startX = random() % (smallestValidRes.width); - unigi_type_resolution_pixel_axis startY = random() % (smallestValidRes.height); - unigi_type_resolution_pixel_axis width = random() % (smallestValidRes.width - startX); - unigi_type_resolution_pixel_axis height = random() % (smallestValidRes.height - startY); + + // Draw some random squares on the screen + unigi_type_resolution_pixel_axis startX = random() % (unigi_status_resolution.width); + unigi_type_resolution_pixel_axis startY = random() % (unigi_status_resolution.height); + unigi_type_resolution_pixel_axis width = random() % (unigi_status_resolution.width - startX); + unigi_type_resolution_pixel_axis height = random() % (unigi_status_resolution.height - startY); unigi_type_resolution_pixel_index startIndex = startX + (unigi_status_resolution.width * startY); unigi_type_resolution_pixel_index stopIndex = startIndex + width; unigi_graphics_draw_square(startIndex,stopIndex,height,random() % 65535); + + // Draw a simple test pattern, and demonstrate how to use floats + unigi_type_resolution_pixel_index prog = unigi_float_2int(unigi_float_mul( + unigi_float_make(unigi_status_resolution.width), + unigi_float_div(unigi_float_make(1),unigi_float_make(40)) + )); + unigi_type_resolution_pixel_axis ind = 0; + unigi_graphics_draw_square(prog * ind,prog * (ind + 1),unigi_status_resolution.height,0xF00F); + ind++; + unigi_graphics_draw_square(prog * ind,prog * (ind + 1),unigi_status_resolution.height,0xFF0F); + ind++; + unigi_graphics_draw_square(prog * ind,prog * (ind + 1),unigi_status_resolution.height,0x0F0F); + ind++; + unigi_graphics_draw_square(prog * ind,prog * (ind + 1),unigi_status_resolution.height,0x0FFF); + ind++; + unigi_graphics_draw_square(prog * ind,prog * (ind + 1),unigi_status_resolution.height,0x00FF); + ind++; + unigi_graphics_draw_square(prog * ind,prog * (ind + 1),unigi_status_resolution.height,0xF0FF); + ind++; + unigi_graphics_draw_square(prog * ind,prog * (ind + 1),unigi_status_resolution.height,0x0000); + ind++; + unigi_graphics_draw_square(prog * ind,prog * (ind + 1),unigi_status_resolution.height,0xFFFF); + ind++; + unigi_graphics_flush(); unigi_time_sleep(33000); // Wait 33ms }