From abaab98bd757cd0818cfcddc983eee25ab7672ed Mon Sep 17 00:00:00 2001 From: EmulatedSeasons <89668582+EmulatedSeasons@users.noreply.github.com> Date: Tue, 7 May 2024 11:07:03 -0400 Subject: Made framebuffer class, serial write functions, and finally got makefile to build without having to make clean --- kernel/framebuffer.cpp | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+) create mode 100644 kernel/framebuffer.cpp (limited to 'kernel/framebuffer.cpp') diff --git a/kernel/framebuffer.cpp b/kernel/framebuffer.cpp new file mode 100644 index 0000000..a07d61a --- /dev/null +++ b/kernel/framebuffer.cpp @@ -0,0 +1,22 @@ +#include +#include +#include + +Framebuffer::Framebuffer(uint32_t* addr, const uint64_t width, const uint64_t height) + : addr {addr}, width {width}, height {height} { + clear(); +} + +void Framebuffer::clear() { + for (size_t y = 0; y < height; y++) { + for (size_t x = 0; x < width; x++) { + const size_t i = y * width + x; + addr[i] = 0x000000; + } + } +} + +void Framebuffer::drawpixel(const uint64_t x, const uint64_t y, const uint32_t color) { + const size_t pos = y * width + x; + addr[pos] = color; +} \ No newline at end of file -- cgit v1.2.3-70-g09d2