X-Git-Url: https://git.ucc.asn.au/?a=blobdiff_plain;ds=sidebyside;f=Usermode%2FApplications%2Faxwin4_src%2FServer%2Finclude%2FCCompositor.hpp;h=0b773cefb522c417c0f5ad03a1df99ff073b8b06;hb=aa5e13445f3d9ab6e0c0049780f38daed443104f;hp=0b051be2eff72359901d96e148d60bcf2a3db60a;hpb=b471bc9adca2cf2126c2b579bf0b33cedd2839a4;p=tpg%2Facess2.git diff --git a/Usermode/Applications/axwin4_src/Server/include/CCompositor.hpp b/Usermode/Applications/axwin4_src/Server/include/CCompositor.hpp index 0b051be2..0b773cef 100644 --- a/Usermode/Applications/axwin4_src/Server/include/CCompositor.hpp +++ b/Usermode/Applications/axwin4_src/Server/include/CCompositor.hpp @@ -8,6 +8,7 @@ #ifndef _CCOMPOSITOR_H_ #define _CCOMPOSITOR_H_ +#include #include #include #include "CRect.hpp" @@ -24,6 +25,15 @@ struct TWindowID uint16_t Window; }; +enum eMouseButton +{ + MOUSEBTN_MAIN, // Left + MOUSEBTN_SECONDARY, // Right + MOUSEBTN_MIDDLE, // Scroll wheel + MOUSEBTN_BTN4, + MOUSEBTN_BTN5, +}; + class CCompositor { CVideo& m_video; @@ -36,11 +46,18 @@ class CCompositor public: CCompositor(CVideo& video); - CWindow* CreateWindow(CClient& client); + CWindow* CreateWindow(CClient& client, const ::std::string& name); + + bool GetScreenDims(unsigned int ScrenID, unsigned int *Width, unsigned int *Height); void Redraw(); void DamageArea(const CRect& rect); void BlitFromSurface(const CSurface& dest, const CRect& src_rect); + + void MouseMove(unsigned int Cursor, unsigned int X, unsigned int Y, int dX, int dY); + void MouseButton(unsigned int Cursor, unsigned int X, unsigned int Y, eMouseButton Button, bool Press); + + void KeyState(unsigned int KeyboardID, uint32_t KeySym, bool Press, uint32_t Codepoint); };