git.ucc.asn.au
/
tpg
/
acess2.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Usermode/AxWin4 - Send mouse/keyboard events to client
[tpg/acess2.git]
/
Usermode
/
Applications
/
axwin4_src
/
Server
/
CWindow.cpp
diff --git
a/Usermode/Applications/axwin4_src/Server/CWindow.cpp
b/Usermode/Applications/axwin4_src/Server/CWindow.cpp
index
f70db32
..
7d50b7b
100644
(file)
--- a/
Usermode/Applications/axwin4_src/Server/CWindow.cpp
+++ b/
Usermode/Applications/axwin4_src/Server/CWindow.cpp
@@
-12,11
+12,13
@@
namespace AxWin {
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_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()");
}
{
_SysDebug("CWindow::CWindow()");
}
@@
-27,16
+29,15
@@
CWindow::~CWindow()
void CWindow::Repaint(const CRect& rect)
{
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)
}
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);
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, m_id, W, H);
+}
+void CWindow::SetFlags(uint32_t Flags)
+{
+ // TODO: CWindow::SetFlags
+ _SysDebug("TOOD: CWindow::SetFlags");
}
uint64_t CWindow::ShareSurface()
{
}
uint64_t CWindow::ShareSurface()
{
@@
-68,14
+74,18
@@
uint64_t CWindow::ShareSurface()
void CWindow::MouseButton(int ButtonID, int X, int Y, bool Down)
{
void CWindow::MouseButton(int ButtonID, int X, int Y, bool Down)
{
+ IPC::SendMessage_MouseButton(m_client, m_id, X, Y, ButtonID, Down);
}
void CWindow::MouseMove(int NewX, int NewY)
{
}
void CWindow::MouseMove(int NewX, int NewY)
{
+ // TODO: Only enable move events if client requests them
+ //IPC::SendMessage_MouseMove(m_client, m_id, NewX, NewY);
}
void CWindow::KeyEvent(::uint32_t Scancode, const ::std::string &Translated, bool Down)
{
}
void CWindow::KeyEvent(::uint32_t Scancode, const ::std::string &Translated, bool Down)
{
+ IPC::SendMessage_KeyEvent(m_client, m_id, Scancode, Down, Translated.c_str());
}
}
UCC
git Repository :: git.ucc.asn.au