X-Git-Url: https://git.ucc.asn.au/?a=blobdiff_plain;f=Usermode%2FApplications%2Faxwin4_src%2FServer%2Finclude%2FCWindow.hpp;h=704f0c164cc23c1d371da510e0624a3f1a86eba2;hb=4d0188930e7d0e571db78d1d2e3c4d9b3f0fe8fb;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..704f0c16 100644 --- a/Usermode/Applications/axwin4_src/Server/include/CWindow.hpp +++ b/Usermode/Applications/axwin4_src/Server/include/CWindow.hpp @@ -17,24 +17,36 @@ 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); ~CWindow(); void Repaint(const CRect& rect); + + void Show(bool bShow); + void Move(int X, int Y); + void Resize(unsigned int W, unsigned int H); + + 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; + const ::std::string m_name; + ::std::vector m_regions; }; }; // namespace AxWin