From 0e26c6f11c2608c7f1620b105df243e4a5a33e85 Mon Sep 17 00:00:00 2001 From: Bad Diode Date: Thu, 15 Apr 2021 16:49:58 +0200 Subject: Try drawing different patterns --- src/main.c | 53 ++++++++++++++++------------------------------------- 1 file changed, 16 insertions(+), 37 deletions(-) diff --git a/src/main.c b/src/main.c index e8a5ea0..b8731b8 100644 --- a/src/main.c +++ b/src/main.c @@ -230,56 +230,35 @@ wait_vsync() { int main(void) { set_display_mode(DISP_MODE_3 | DISP_BG2); - // Rectangle drawing testing. - Color clr = COLOR_WHITE; - for (size_t j = 0; j < SCREEN_HEIGHT; j += 8) { - clr = clr == COLOR_WHITE ? COLOR_BLACK : COLOR_WHITE; - for (size_t i = 0; i < SCREEN_WIDTH; i += 8) { - clr = clr == COLOR_WHITE ? COLOR_BLACK : COLOR_WHITE; - draw_fill_rect(i, j, 0 + i + 7, j + 7, clr); - } - } - clr = COLOR_GREY; - for (size_t j = 8; j < SCREEN_HEIGHT - 8; j += 8) { - for (size_t i = 8; i < SCREEN_WIDTH - 8; i += 8) { - draw_rect(i, j, 0 + i + 8, j + 8, clr); + // Draw a grid pattern. + for (size_t j = 30; j < SCREEN_HEIGHT - 30; j += 8) { + for (size_t i = 30; i < 50; i += 8) { + draw_rect(i, j, 0 + i + 8, j + 8, COLOR_RED); } } - // Bresenham's testing + // Draw the text line. for (size_t i = 0; i < SCREEN_WIDTH; i += 8) { draw_fill_rect(i, 7, 0 + i + 7, 16, COLOR_RED); } - put_text(8, 8, COLOR_BLACK, "Lines and rectangles"); + put_text(8, 8, COLOR_BLACK, "Testing other patterns"); + // Test line drawings. draw_fill_rect(69, 29, SCREEN_WIDTH - 69, SCREEN_HEIGHT - 29, COLOR_BLACK); - for (size_t i = 70; i <= SCREEN_WIDTH - 70; i += 5) { - int x0 = i; - int y0 = 30; - int x1 = SCREEN_WIDTH - i; - int y1 = SCREEN_HEIGHT - 30; - draw_line(x0, y0, x1, y1, COLOR_BLUE); - } - for (size_t i = 30; i <= SCREEN_HEIGHT - 30; i += 5) { + int step = 10; + for (size_t k = 0; k < (SCREEN_WIDTH - 70 - 70) / step; k++) { int x0 = 70; - int y0 = i; - int x1 = SCREEN_WIDTH - 70; - int y1 = SCREEN_HEIGHT - i; + int y0 = 30 + k * step; + int x1 = x0 + k * step + step; + int y1 = SCREEN_HEIGHT - 30; draw_line(x0, y0, x1, y1, COLOR_BLUE); } - for (size_t i = 70; i <= SCREEN_WIDTH - 70; i += 10) { - int x0 = i; + for (size_t k = 0; k < (SCREEN_WIDTH - 70 - 70) / step; k++) { + int x0 = 70 + k * step; int y0 = 30; - int x1 = SCREEN_WIDTH - i; - int y1 = SCREEN_HEIGHT - 30; - draw_line(x0, y0, x1, y1, COLOR_CYAN); - } - for (size_t i = 30; i <= SCREEN_HEIGHT - 30; i += 10) { - int x0 = 70; - int y0 = i; int x1 = SCREEN_WIDTH - 70; - int y1 = SCREEN_HEIGHT - i; - draw_line(x0, y0, x1, y1, COLOR_CYAN); + int y1 = y0 + k * step + step; + draw_line(x0, y0, x1, y1, COLOR_RED); } while(true) { -- cgit v1.2.1