usermode/axwin4 - Blit to screen planned
[tpg/acess2.git] / Usermode / Applications / axwin4_src / Server / include / CCompositor.hpp
index f6f2e7f..0b051be 100644 (file)
@@ -8,7 +8,43 @@
 #ifndef _CCOMPOSITOR_H_
 #define _CCOMPOSITOR_H_
 
+#include <list>
+#include <vector>
+#include "CRect.hpp"
+#include "CWindow.hpp"
 
+namespace AxWin {
+
+class CClient;
+class CVideo;
+
+struct TWindowID
+{
+       uint16_t        Client;
+       uint16_t        Window;
+};
+
+class CCompositor
+{
+       CVideo& m_video;
+       ::std::list<CRect>      m_damageRects;
+       ::std::list<CWindow*>   m_windows;
+
+       ::std::vector<TWindowID>        m_windowIDBuffer;       // One 32-bit value per pixel
+       //::std::vector<CPixel>         m_frameBuffer;  // Local copy of the framebuffer (needed?)
+       
+public:
+       CCompositor(CVideo& video);
+
+       CWindow* CreateWindow(CClient& client);
+
+       void    Redraw();
+       void    DamageArea(const CRect& rect);
+       void    BlitFromSurface(const CSurface& dest, const CRect& src_rect);
+};
+
+
+};
 
 #endif
 

UCC git Repository :: git.ucc.asn.au