2018-04-04 09:32:15 +02:00

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