Reorganize the window code a bit
[lsnes.git] / generic / framebuffer.hpp
blob72ce97042ef83ad246b5d990cbe88ebb9f2a05b0
1 #ifndef _framebuffer__hpp__included__
2 #define _framebuffer__hpp__included__
4 #include "render.hpp"
6 /**
7 * The main framebuffer.
8 */
9 extern lcscreen framebuffer;
10 /**
11 * Special screen: "NO SIGNAL".
13 extern lcscreen screen_nosignal;
14 /**
15 * Special screen: "SYSTEM STATE CORRUPT".
17 extern lcscreen screen_corrupt;
18 /**
19 * The main screen to draw on.
21 extern screen main_screen;
22 /**
23 * Initialize special screens.
25 * throws std::bad_alloc: Not enough memory.
27 void init_special_screens() throw(std::bad_alloc);
28 /**
29 * Redraw the framebuffer on screen.
31 void redraw_framebuffer();
32 /**
33 * Get scale factors.
35 std::pair<uint32_t, uint32_t> get_scale_factors(uint32_t width, uint32_t height);
37 #endif