openMSX
OSDGUILayer.hh
Go to the documentation of this file.
1 #ifndef OSDGUILAYER_HH
2 #define OSDGUILAYER_HH
3 
4 #include "Layer.hh"
5 
6 namespace openmsx {
7 
8 class OSDGUI;
9 
10 class OSDGUILayer : public Layer
11 {
12 public:
13  OSDGUI& getGUI() { return gui; }
14 
15 protected:
16  explicit OSDGUILayer(OSDGUI& gui);
17  ~OSDGUILayer() override;
18 
19 private:
20  OSDGUI& gui;
21 };
22 
23 class SDLOSDGUILayer final : public OSDGUILayer
24 {
25 public:
26  explicit SDLOSDGUILayer(OSDGUI& gui);
27 
28  // Layer
29  void paint(OutputSurface& output) override;
30 };
31 
32 class GLOSDGUILayer final : public OSDGUILayer
33 {
34 public:
35  explicit GLOSDGUILayer(OSDGUI& gui);
36 
37  // Layer
38  void paint(OutputSurface& output) override;
39 };
40 
41 } // namespace openmsx
42 
43 #endif
virtual void paint(OutputSurface &output)=0
Paint this layer.
Interface for display layers.
Definition: Layer.hh:11
A frame buffer where pixels can be written to.
OSDGUILayer(OSDGUI &gui)
Definition: OSDGUILayer.cc:9
Thanks to enen for testing this on a real cartridge:
Definition: Autofire.cc:5
~OSDGUILayer() override
Definition: OSDGUILayer.cc:15