X-Git-Url: https://git.ucc.asn.au/?a=blobdiff_plain;f=Usermode%2FApplications%2Faxwin4_src%2FServer%2Finclude%2FCWindow.hpp;h=5161f03567edfca7de219c9160402c3861d1f822;hb=8b16265b4394af76f64c30393e27d08c294c4bac;hp=00bc7e87c7ced7c02fba378605e7ab0a23920333;hpb=b471bc9adca2cf2126c2b579bf0b33cedd2839a4;p=tpg%2Facess2.git diff --git a/Usermode/Applications/axwin4_src/Server/include/CWindow.hpp b/Usermode/Applications/axwin4_src/Server/include/CWindow.hpp index 00bc7e87..5161f035 100644 --- a/Usermode/Applications/axwin4_src/Server/include/CWindow.hpp +++ b/Usermode/Applications/axwin4_src/Server/include/CWindow.hpp @@ -17,24 +17,41 @@ 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 m_regions; + unsigned int m_id; + const ::std::string m_name; + ::std::vector m_regions; }; }; // namespace AxWin