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 - Screen dimensions acquisition, speedup, window render
[tpg/acess2.git]
/
Usermode
/
Applications
/
axwin4_src
/
Server
/
ipc.cpp
diff --git
a/Usermode/Applications/axwin4_src/Server/ipc.cpp
b/Usermode/Applications/axwin4_src/Server/ipc.cpp
index
70605fc
..
732ddfd
100644
(file)
--- a/
Usermode/Applications/axwin4_src/Server/ipc.cpp
+++ b/
Usermode/Applications/axwin4_src/Server/ipc.cpp
@@
-41,7
+41,6
@@
int FillSelect(fd_set& rfds)
int ret = 0;
for( const auto channel : glChannels )
{
int ret = 0;
for( const auto channel : glChannels )
{
- _SysDebug("IPC::FillSelect - channel=%p", channel);
assert(channel);
ret = ::std::max(ret, channel->FillSelect(rfds));
}
assert(channel);
ret = ::std::max(ret, channel->FillSelect(rfds));
}
@@
-122,6
+121,9
@@
void HandleMessage_GetGlobalAttr(CClient& client, CDeserialiser& message)
reply.WriteU16( (w <= UINT16_MAX ? w : UINT16_MAX) );
reply.WriteU16( (h <= UINT16_MAX ? h : UINT16_MAX) );
break; }
reply.WriteU16( (w <= UINT16_MAX ? w : UINT16_MAX) );
reply.WriteU16( (h <= UINT16_MAX ? h : UINT16_MAX) );
break; }
+ case IPC_GLOBATTR_MAXAREA:
+ assert(!"TODO: IPC_GLOBATTR_MAXAREA");
+ break;
default:
throw IPC::CClientFailure("Bad global attribute ID");
}
default:
throw IPC::CClientFailure("Bad global attribute ID");
}
@@
-195,6
+197,15
@@
void HandleMessage_SetWindowAttr(CClient& client, CDeserialiser& message)
int16_t new_y = message.ReadS16();
win->Move(new_x, new_y);
break; }
int16_t new_y = message.ReadS16();
win->Move(new_x, new_y);
break; }
+ case IPC_WINATTR_SHOW:
+ win->Show( message.ReadU8() != 0 );
+ break;
+ case IPC_WINATTR_FLAGS:
+ _SysDebug("TODO: IPC_WINATTR_FLAGS");
+ break;
+ case IPC_WINATTR_TITLE:
+ assert(!"TODO: IPC_WINATTR_TITLE");
+ break;
default:
_SysDebug("HandleMessage_SetWindowAttr - Bad attr %u", attr_id);
throw IPC::CClientFailure("Bad window attr");
default:
_SysDebug("HandleMessage_SetWindowAttr - Bad attr %u", attr_id);
throw IPC::CClientFailure("Bad window attr");
@@
-233,13
+244,12
@@
void HandleMessage_PushData(CClient& client, CDeserialiser& message)
for( unsigned int row = 0; row < h; row ++ )
{
const ::std::vector<uint8_t> scanline_data = message.ReadBuffer();
for( unsigned int row = 0; row < h; row ++ )
{
const ::std::vector<uint8_t> scanline_data = message.ReadBuffer();
- _SysDebug("_PushData: Scanline %i: %i bytes", row, scanline_data.size());
if( scanline_data.size() != w * 4 ) {
_SysDebug("ERROR _PushData: Scanline buffer size mismatch (%i,%i)",
scanline_data.size(), w*4);
continue ;
}
if( scanline_data.size() != w * 4 ) {
_SysDebug("ERROR _PushData: Scanline buffer size mismatch (%i,%i)",
scanline_data.size(), w*4);
continue ;
}
- win->
m_surface.
DrawScanline(y+row, x, w, scanline_data.data());
+ win->DrawScanline(y+row, x, w, scanline_data.data());
}
}
void HandleMessage_Blit(CClient& client, CDeserialiser& message)
}
}
void HandleMessage_Blit(CClient& client, CDeserialiser& message)
@@
-284,9
+294,7
@@
void HandleMessage(CClient& client, CDeserialiser& message)
return ;
}
return ;
}
- _SysDebug("IPC::HandleMessage - command=%i", command);
(message_handlers[command])(client, message);
(message_handlers[command])(client, message);
- _SysDebug("IPC::HandleMessage - Completed");
}
CClientFailure::CClientFailure(std::string&& what):
}
CClientFailure::CClientFailure(std::string&& what):
UCC
git Repository :: git.ucc.asn.au