Max OS 0.3
Loading...
Searching...
No Matches
vesa.h
Go to the documentation of this file.
1
9#ifndef MAXOS_VIDEO_VESA_H
10#define MAXOS_VIDEO_VESA_H
11
12#include <cstdint>
13#include <common/string.h>
14#include <drivers/video/video.h>
16#include <system/multiboot.h>
17#include <memory/memoryIO.h>
18
19
20namespace MaxOS::drivers::video {
21
27
28 private:
29 bool internal_set_mode(uint32_t width, uint32_t height, uint32_t) final;
30
31 void render_pixel_32_bit(uint32_t x, uint32_t y, uint32_t colour) final;
32 uint32_t get_rendered_pixel_32_bit(uint32_t x, uint32_t y) final;
33
34 // Memory
35 size_t m_framebuffer_size;
36
37 // Info
38 multiboot_tag_framebuffer* m_framebuffer_info;
39 uint8_t m_bpp;
40 uint16_t m_pitch;
41
42 public:
45
46 bool supports_mode(uint32_t width, uint32_t height, uint32_t) final;
47
48 string vendor_name() final;
49 string device_name() final;
50
51 };
52
53}
54
55
56#endif //MAXOS_VIDEO_VESA_H
uint32_t width() const
Gets the width of the screen.
uint32_t height() const
Gets the height of the screen.
Driver for the video controller, handles the setting of the video mode.
Definition video.h:26
Driver for the VESA video controller, handles the rendering of pixels to the screen using VESA.
Definition vesa.h:26
bool supports_mode(uint32_t width, uint32_t height, uint32_t) final
Checks if the VESA driver supports the given mode.
Definition vesa.cpp:79
string device_name() final
The name of the device.
Definition vesa.cpp:130
string vendor_name() final
The name of the vendor of the VESA standard.
Definition vesa.cpp:119
Defines classes for memory input and output operations of various bit widths (8, 16,...
Defines a MemoryManager class for handling memory allocation and deallocation.
Defines a String class for dynamically sized strings with various operations.
A tag containing information about the framebuffer.
Definition multiboot.h:356
Defines a generic VideoDriver class for handling video modes and graphics context operations.