X-Git-Url: https://git.ucc.asn.au/?a=blobdiff_plain;f=Usermode%2FApplications%2Faxwin4_src%2FServer%2FCWindow.cpp;h=55c24823c7dad6553b0cf12c97f9677bcdd6ec27;hb=b5f8fa2dea9d6a67ac5c8a3a442ee4570deaa56c;hp=f70db32195849231ea05cb6c84ff0a6c20006be9;hpb=145dd00e5c5a36f844be327e16a00b2983245423;p=tpg%2Facess2.git diff --git a/Usermode/Applications/axwin4_src/Server/CWindow.cpp b/Usermode/Applications/axwin4_src/Server/CWindow.cpp index f70db321..55c24823 100644 --- a/Usermode/Applications/axwin4_src/Server/CWindow.cpp +++ b/Usermode/Applications/axwin4_src/Server/CWindow.cpp @@ -12,11 +12,13 @@ namespace AxWin { -CWindow::CWindow(CCompositor& compositor, CClient& client, const ::std::string& name): +CWindow::CWindow(CCompositor& compositor, CClient& client, const ::std::string& name, unsigned int id): m_surface(0,0,0,0), m_compositor(compositor), m_client(client), - m_name(name) + m_id(id), + m_name(name), + m_is_shown(false) { _SysDebug("CWindow::CWindow()"); } @@ -27,16 +29,15 @@ CWindow::~CWindow() void CWindow::Repaint(const CRect& rect) { - #if 0 - for( auto rgn : m_regions ) + if( m_is_shown ) { - if( rect.Contains(rgn->m_rect) ) - { - CRect rel_rect(rect, rgn->m_rect); - rgn->Repaint(m_surface, rel_rect); - } + CRect outrect( + m_surface.m_rect.m_x + rect.m_x, + m_surface.m_rect.m_y + rect.m_y, + rect.m_w, rect.m_h + ); + m_compositor.DamageArea(outrect); } - #endif } void CWindow::Show(bool bShow) @@ -58,7 +59,12 @@ void CWindow::Move(int X, int Y) void CWindow::Resize(unsigned int W, unsigned int H) { m_surface.Resize(W, H); - IPC::SendNotify_Dims(m_client, W, H); + IPC::SendMessage_NotifyDims(m_client, W, H); +} +void CWindow::SetFlags(uint32_t Flags) +{ + // TODO: CWindow::SetFlags + _SysDebug("TOOD: CWindow::SetFlags"); } uint64_t CWindow::ShareSurface() {