From 5d01480f3da8cda543eb943f4da0fddd9401e99c Mon Sep 17 00:00:00 2001 From: Simon Forman Date: Sun, 26 Feb 2023 10:52:09 -0800 Subject: [PATCH] A start on draw_char(). --- implementations/uvm-ncc/xerblin.c | 15 ++++++++++++++- 1 file changed, 14 insertions(+), 1 deletion(-) diff --git a/implementations/uvm-ncc/xerblin.c b/implementations/uvm-ncc/xerblin.c index 413440e..afb42ce 100644 --- a/implementations/uvm-ncc/xerblin.c +++ b/implementations/uvm-ncc/xerblin.c @@ -12,6 +12,18 @@ u32 frame_buffer[307200]; int wid; +void +draw_char(u8 ch, u64 x, u64 y) +{ + u32* pix_ptr = frame_buffer + FRAME_WIDTH * y + x; + u32* character_data = font_data[ch]; + for (size_t x = 0; x < font_width; ++x) { + for (size_t y = 0; y < font_height; ++y) { + *pix_ptr = *character_data; + } + } +} + void draw_background() { @@ -54,7 +66,8 @@ main() { init_font_data(); wid = window_create(FRAME_WIDTH, FRAME_HEIGHT, "Bouncing Ball Example", 0); - time_delay_cb(0, draw_background); + draw_background(); + draw_char(0, 0, 0); //window_on_keydown(wid, keydown); window_on_mousemove(wid, mousemove); enable_event_loop();