mirror of
https://github.com/wichtounet/thor-os.git
synced 2025-08-03 17:26:08 -04:00
56 lines
1.5 KiB
C++
56 lines
1.5 KiB
C++
//=======================================================================
|
|
// Copyright Baptiste Wicht 2013-2018.
|
|
// Distributed under the terms of the MIT License.
|
|
// (See accompanying file LICENSE or copy at
|
|
// http://www.opensource.org/licenses/MIT)
|
|
//=======================================================================
|
|
|
|
#ifndef VESA_H
|
|
#define VESA_H
|
|
|
|
#include "vesa_types.hpp"
|
|
|
|
namespace vesa {
|
|
|
|
bool init();
|
|
bool enabled();
|
|
void disable();
|
|
|
|
uint32_t make_color(uint8_t r, uint8_t g, uint8_t b);
|
|
|
|
void draw_hline(size_t x, size_t y, size_t w, uint32_t color);
|
|
void draw_hline(void* buffer, size_t x, size_t y, size_t w, uint32_t color);
|
|
|
|
void draw_vline(size_t x, size_t y, size_t h, uint32_t color);
|
|
void draw_vline(void* buffer, size_t x, size_t y, size_t h, uint32_t color);
|
|
|
|
void draw_rect(size_t x, size_t y, size_t w, size_t h, uint32_t color);
|
|
void draw_rect(void* buffer, size_t x, size_t y, size_t w, size_t h, uint32_t color);
|
|
|
|
void draw_char(size_t x, size_t y, char c, uint32_t color);
|
|
void draw_char(void* buffer, size_t x, size_t y, char c, uint32_t color);
|
|
|
|
void move_lines_up(size_t y, size_t x, size_t w, size_t lines, size_t n);
|
|
void move_lines_up(void* buffer, size_t y, size_t x, size_t w, size_t lines, size_t n);
|
|
|
|
uint64_t get_width();
|
|
uint64_t get_height();
|
|
|
|
uint64_t get_x_shift();
|
|
uint64_t get_y_shift();
|
|
|
|
uint64_t get_bytes_per_scan_line();
|
|
|
|
uint64_t get_red_shift();
|
|
uint64_t get_green_shift();
|
|
uint64_t get_blue_shift();
|
|
|
|
void* create_buffer();
|
|
|
|
void redraw(const char* buffer);
|
|
void save(char* buffer);
|
|
|
|
} //end of vesa namespace
|
|
|
|
#endif
|