Usermode/AxWin4 - Fixing ID lookups of windows and clients
[tpg/acess2.git] / Usermode / Applications / axwin4_src / Server / include / CWindow.hpp
index 00bc7e8..5161f03 100644 (file)
 namespace AxWin {
 
 class CClient;
+class CCompositor;
+class CRegion;
 
 class CWindow
 {
 public:
-       CWindow(CClient& client, const ::std::string &name);
+       CWindow(CCompositor& compositor, CClient& client, const ::std::string &name, unsigned int id);
        ~CWindow();
        
+       const CClient& client() const { return m_client; }
+       const unsigned int id() const { return m_id; }
+       
        void Repaint(const CRect& rect);
+
+       void Show(bool bShow);  
+       void Move(int X, int Y);
+       void Resize(unsigned int W, unsigned int H);
+       void SetFlags(uint32_t Flags);
+       
+       uint64_t ShareSurface();
        
        void MouseButton(int ButtonID, int X, int Y, bool Down);
        void MouseMove(int NewX, int NewY);
        void KeyEvent(::uint32_t Scancode, const ::std::string &Translated, bool Down);
 
+       void DrawScanline(unsigned int row, unsigned int x, unsigned int w, const uint8_t *data);
+       
+       bool    m_is_shown;
        CSurface        m_surface;
 private:
-       const ::std::string     m_name;
+       CCompositor&    m_compositor;
        CClient&        m_client;
-       //::std::list<CRegion*> m_regions;
+       unsigned int    m_id;
+       const ::std::string     m_name;
+       ::std::vector<CRegion*> m_regions;
 };
 
 };     // namespace AxWin

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