2011-09-16 06:13:33 +03:00
|
|
|
#ifndef _framebuffer__hpp__included__
|
|
|
|
#define _framebuffer__hpp__included__
|
|
|
|
|
|
|
|
#include "render.hpp"
|
|
|
|
|
2011-09-17 00:06:20 +03:00
|
|
|
/**
|
|
|
|
* The main framebuffer.
|
|
|
|
*/
|
2011-09-16 06:13:33 +03:00
|
|
|
extern lcscreen framebuffer;
|
2011-09-17 00:06:20 +03:00
|
|
|
/**
|
|
|
|
* Special screen: "NO SIGNAL".
|
|
|
|
*/
|
2011-09-16 06:13:33 +03:00
|
|
|
extern lcscreen screen_nosignal;
|
2011-09-17 00:06:20 +03:00
|
|
|
/**
|
|
|
|
* Special screen: "SYSTEM STATE CORRUPT".
|
|
|
|
*/
|
2011-09-16 06:13:33 +03:00
|
|
|
extern lcscreen screen_corrupt;
|
2011-09-17 00:06:20 +03:00
|
|
|
/**
|
|
|
|
* The main screen to draw on.
|
|
|
|
*/
|
2011-09-16 06:13:33 +03:00
|
|
|
extern screen main_screen;
|
2011-09-17 00:06:20 +03:00
|
|
|
/**
|
|
|
|
* Initialize special screens.
|
2011-09-26 19:02:43 +03:00
|
|
|
*
|
2011-09-17 00:06:20 +03:00
|
|
|
* throws std::bad_alloc: Not enough memory.
|
|
|
|
*/
|
2011-09-16 06:13:33 +03:00
|
|
|
void init_special_screens() throw(std::bad_alloc);
|
2011-09-17 00:06:20 +03:00
|
|
|
/**
|
|
|
|
* Redraw the framebuffer on screen.
|
|
|
|
*/
|
2011-09-17 01:05:41 +03:00
|
|
|
void redraw_framebuffer();
|
2011-10-08 23:02:47 +03:00
|
|
|
/**
|
|
|
|
* Get scale factors.
|
|
|
|
*/
|
|
|
|
std::pair<uint32_t, uint32_t> get_scale_factors(uint32_t width, uint32_t height);
|
2011-09-16 06:13:33 +03:00
|
|
|
|
|
|
|
#endif
|