GitOS
Operating system exercise
Loading...
Searching...
No Matches
graphics.hpp
Go to the documentation of this file.
1//
2// Created by Pawel Reich on 1/23/25.
3//
4
5#pragma once
6
7#include <stdint.h>
8
9class Graphics {
10 public:
11 virtual ~Graphics() = default;
12
32
33 static Graphics* the();
34
35 virtual void print_char(char c) = 0;
36 virtual void print_char_color(char c, TEXT_MODE_COLOR color) = 0;
37
38 virtual void print_string(const char* str) = 0;
39 virtual void print_string_color(const char* str, TEXT_MODE_COLOR color) = 0;
40
41 virtual void clear_screen() = 0;
42
43 virtual void set_text_color(TEXT_MODE_COLOR color) = 0;
44 virtual void set_cursor(uint32_t x, uint32_t y) = 0;
45
46 virtual uint32_t get_cursor_x() = 0;
47 virtual uint32_t get_cursor_y() = 0;
49};
Definition graphics.hpp:9
virtual uint32_t get_cursor_y()=0
virtual void print_string_color(const char *str, TEXT_MODE_COLOR color)=0
virtual void set_cursor(uint32_t x, uint32_t y)=0
static Graphics * the()
TEXT_MODE_COLOR
Definition graphics.hpp:14
@ LIGHT_RED
Definition graphics.hpp:27
@ BROWN
Definition graphics.hpp:21
@ PURPLE
Definition graphics.hpp:20
@ WHITE
Definition graphics.hpp:30
@ BLUE
Definition graphics.hpp:16
@ DARK_GREY
Definition graphics.hpp:23
@ GREY
Definition graphics.hpp:22
@ LIGHT_PURPLE
Definition graphics.hpp:28
@ LIGHT_CYAN
Definition graphics.hpp:26
@ LIGHT_BLUE
Definition graphics.hpp:24
@ GREEN
Definition graphics.hpp:17
@ CYAN
Definition graphics.hpp:18
@ YELLOW
Definition graphics.hpp:29
@ BLACK
Definition graphics.hpp:15
@ RED
Definition graphics.hpp:19
@ LIGHT_GREEN
Definition graphics.hpp:25
virtual void print_string(const char *str)=0
virtual void clear_screen()=0
virtual void print_char_color(char c, TEXT_MODE_COLOR color)=0
virtual ~Graphics()=default
virtual void set_text_color(TEXT_MODE_COLOR color)=0
virtual TEXT_MODE_COLOR get_current_color()=0
virtual uint32_t get_cursor_x()=0
virtual void print_char(char c)=0