![]() |
Max OS 0.3
|
Driver for the video controller, handles the setting of the video mode. More...
#include <video.h>
Public Member Functions | |
| virtual bool | supports_mode (uint32_t width, uint32_t height, uint32_t color_depth) |
| Check if the video driver supports a certain mode. | |
| bool | set_mode (uint32_t width, uint32_t height, uint32_t color_depth) |
| Set the mode of the video driver. | |
Public Member Functions inherited from MaxOS::drivers::Driver | |
| virtual void | activate () |
| Activate the driver. | |
| virtual void | deactivate () |
| Deactivate the driver. | |
| virtual void | initialise () |
| Initialise the driver. | |
| virtual uint32_t | reset () |
| Reset the driver. | |
| virtual string | vendor_name () |
| Get who created the device. | |
| virtual string | device_name () |
| Get the device name of the driver. | |
Public Member Functions inherited from MaxOS::common::GraphicsContext | |
| GraphicsContext () | |
| Constructs a GraphicsContext object and initializes the color palette. | |
| uint32_t | colour_to_int (const Colour &) |
| Converts a colour to an integer value based on the current color depth. | |
| Colour | int_to_colour (uint32_t) |
| Converts an integer value to a colour based on the current color depth. | |
| uint32_t | width () const |
| Gets the width of the screen. | |
| uint32_t | height () const |
| Gets the height of the screen. | |
| uint32_t | color_depth () const |
| Gets the current color depth (bits per pixel) | |
| uint64_t * | framebuffer_address () |
| Gets the address of the context's framebuffer to draw on. | |
| void | put_pixel (uint32_t x, uint32_t y, const Colour &colour) |
| Renders a pixel to the screen (automatically converts the colour to an integer) | |
| void | put_pixel (uint32_t x, uint32_t y, uint32_t colour) |
| Renders a pixel to the screen (automatically converts the colour to an integer), will not render the pixel if it is outside the screen. | |
| Colour | get_pixel (uint32_t x, uint32_t y) |
| Gets the colour of a pixel, or returns black if the pixel is outside the screen. | |
| void | invert_pixel (uint32_t x, uint32_t y) |
| Inverts a pixel. | |
| void | draw_line (uint32_t x0, uint32_t y0, uint32_t x1, uint32_t y1, const Colour &colour) |
| Draws a line on the screen. | |
| void | draw_line (uint32_t x0, uint32_t y0, uint32_t x1, uint32_t y1, uint32_t colour) |
| Draws a line on the screen. | |
| void | draw_rectangle (uint32_t x0, uint32_t y0, uint32_t x1, uint32_t y1, const Colour &colour) |
| Draws a rectangle on the screen. | |
| void | draw_rectangle (uint32_t x0, uint32_t y0, uint32_t x1, uint32_t y1, uint32_t colour) |
| Draws a rectangle on the screen. | |
| void | fill_rectangle (uint32_t x0, uint32_t y0, uint32_t x1, uint32_t y1, const Colour &colour) |
| Draws a rectangle on the screen, filled with a colour. | |
| void | fill_rectangle (uint32_t x0, uint32_t y0, uint32_t x1, uint32_t y1, uint32_t colour) |
| Draws a rectangle on the screen, filled with a colour. | |
| void | draw_circle (uint32_t x0, uint32_t y0, uint32_t radius, const Colour &colour) |
| Draws a circle on the screen. | |
| void | draw_circle (uint32_t x0, uint32_t y0, uint32_t radius, uint32_t colour) |
| Draws a circle on the screen. | |
| void | fill_circle (uint32_t x0, uint32_t y0, uint32_t radius, const Colour &colour) |
| Draws a circle on the screen, filled with a colour. | |
| void | fill_circle (uint32_t x0, uint32_t y0, uint32_t radius, uint32_t colour) |
| Draws a circle on the screen, filled with a colour. | |
Protected Member Functions | |
| virtual bool | internal_set_mode (uint32_t width, uint32_t height, uint32_t color_depth) |
| Set the mode of the video driver. | |
Protected Member Functions inherited from MaxOS::common::GraphicsContext | |
| virtual void | render_pixel (uint32_t x, uint32_t y, uint32_t colour) |
| Renders a pixel to the screen based on the current color depth. | |
| virtual void | render_pixel_8_bit (uint32_t x, uint32_t y, uint8_t colour) |
| Renders a pixel to the screen using the 8 bit color depth. | |
| virtual void | render_pixel_16_bit (uint32_t x, uint32_t y, uint16_t colour) |
| Renders a pixel to the screen using the 16 bit color depth. | |
| virtual void | render_pixel_24_bit (uint32_t x, uint32_t y, uint32_t colour) |
| Renders a pixel to the screen using the 24 bit color depth. | |
| virtual void | render_pixel_32_bit (uint32_t x, uint32_t y, uint32_t colour) |
| Renders a pixel to the screen using the 32 bit color depth. | |
| virtual uint32_t | get_rendered_pixel (uint32_t x, uint32_t y) |
| Gets the colour of a pixel on the screen, automatically uses the correct color depth. | |
| virtual uint8_t | get_rendered_pixel_8_bit (uint32_t x, uint32_t y) |
| Gets the colour of a pixel on the screen using the 8 bit color depth. | |
| virtual uint16_t | get_rendered_pixel_16_bit (uint32_t x, uint32_t y) |
| Gets the colour of a pixel on the screen using the 16 bit color depth. | |
| virtual uint32_t | get_rendered_pixel_24_bit (uint32_t x, uint32_t y) |
| Gets the colour of a pixel on the screen using the 24 bit color depth. | |
| virtual uint32_t | get_rendered_pixel_32_bit (uint32_t x, uint32_t y) |
| Gets the colour of a pixel on the screen using the 32 bit color depth. | |
Additional Inherited Members | |
Protected Attributes inherited from MaxOS::common::GraphicsContext | |
| bool | mirror_y_axis |
| Should the y axis be mirrored (0,0 is top left if false, bottom left if true) | |
| uint32_t | m_width { 0 } |
| The width of the screen in pixels. | |
| uint32_t | m_height { 0 } |
| The height of the screen in pixels. | |
| uint32_t | m_color_depth { 0 } |
| The color depth of the screen in bits per pixel. | |
| Colour | m_colour_pallet [256] |
| The colour pallet for 8 bit color depth. | |
| uint64_t * | m_framebuffer_address { nullptr } |
| The address of the framebuffer. | |
Driver for the video controller, handles the setting of the video mode.
|
protectedvirtual |
Set the mode of the video driver.
| width | The width of the screen |
| height | The height of the screen |
| color_depth | The color depth of the screen |
Definition at line 29 of file video.cpp.
Referenced by set_mode().
Set the mode of the video driver.
| width | The width of the screen |
| height | The height of the screen |
| color_depth | The color depth of the screen |
Definition at line 53 of file video.cpp.
References MaxOS::common::GraphicsContext::color_depth(), MaxOS::common::GraphicsContext::height(), internal_set_mode(), MaxOS::common::GraphicsContext::m_color_depth, MaxOS::common::GraphicsContext::m_height, MaxOS::common::GraphicsContext::m_width, supports_mode(), and MaxOS::common::GraphicsContext::width().
Referenced by MaxOS::drivers::video::VideoElectronicsStandardsAssociation::VideoElectronicsStandardsAssociation().
Check if the video driver supports a certain mode.
| width | The width of the screen |
| height | The height of the screen |
| color_depth | The color depth of the screen |
Reimplemented in MaxOS::drivers::video::VideoGraphicsArray, and MaxOS::drivers::video::VideoElectronicsStandardsAssociation.
Definition at line 41 of file video.cpp.
Referenced by set_mode().