[client] updated to use new cursor state flags

This commit is contained in:
Geoffrey McRae 2020-01-26 17:30:16 +11:00
parent b7e4426002
commit dcc9625803
2 changed files with 24 additions and 16 deletions

View File

@ -1 +1 @@
B1-107-g687eddcc63+1 B1-109-gb7e4426002+1

View File

@ -299,18 +299,22 @@ static int cursorThread(void * unused)
} }
KVMFRCursor * cursor = (KVMFRCursor *)msg.mem; KVMFRCursor * cursor = (KVMFRCursor *)msg.mem;
state.cursor.x = cursor->x;
state.cursor.y = cursor->y;
state.cursorVisible = cursor->visible;
state.haveCursorPos = true;
if (!state.haveAligned && state.haveSrcSize && state.haveCurLocal) if (msg.udata & CURSOR_FLAG_POSITION)
{ {
alignMouseWithHost(); state.cursor.x = cursor->x;
state.haveAligned = true; state.cursor.y = cursor->y;
state.cursorVisible = cursor->visible;
state.haveCursorPos = true;
if (!state.haveAligned && state.haveSrcSize && state.haveCurLocal)
{
alignMouseWithHost();
state.haveAligned = true;
}
} }
if (msg.udata == 1) if (msg.udata & CURSOR_FLAG_SHAPE)
{ {
switch(cursor->type) switch(cursor->type)
{ {
@ -341,13 +345,17 @@ static int cursorThread(void * unused)
lgmpClientMessageDone(queue); lgmpClientMessageDone(queue);
state.updateCursor = false; state.updateCursor = false;
state.lgr->on_mouse_event
( if (msg.udata & CURSOR_FLAG_POSITION)
state.lgrData, {
state.cursorVisible && state.drawCursor, state.lgr->on_mouse_event
state.cursor.x, (
state.cursor.y state.lgrData,
); state.cursorVisible && state.drawCursor,
state.cursor.x,
state.cursor.y
);
}
} }
lgmpClientUnsubscribe(&queue); lgmpClientUnsubscribe(&queue);