mirror of
https://github.com/gnif/LookingGlass.git
synced 2024-11-22 05:27:20 +00:00
[client] don't draw the cursor if it leaves the frame
This commit is contained in:
parent
05dc713dac
commit
13f55011c0
@ -277,7 +277,7 @@ static int cursorThread(void * unused)
|
||||
state.lgr->on_mouse_event
|
||||
(
|
||||
state.lgrData,
|
||||
state.cursorVisible && state.drawCursor,
|
||||
state.cursorVisible && state.drawCursor && state.cursorInView,
|
||||
state.cursor.x,
|
||||
state.cursor.y
|
||||
);
|
||||
@ -686,7 +686,17 @@ static void handleMouseMoveEvent(int ex, int ey)
|
||||
ex > state.dstRect.x + state.dstRect.w ||
|
||||
ey < state.dstRect.y ||
|
||||
ey > state.dstRect.y + state.dstRect.h)
|
||||
{
|
||||
state.cursorInView = false;
|
||||
state.updateCursor = true;
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
||||
if (!state.cursorInView)
|
||||
{
|
||||
state.cursorInView = true;
|
||||
state.updateCursor = true;
|
||||
}
|
||||
|
||||
int rx = ex - state.curLastX;
|
||||
@ -760,6 +770,7 @@ static void handleWindowLeave()
|
||||
return;
|
||||
|
||||
state.drawCursor = false;
|
||||
state.cursorInView = false;
|
||||
state.updateCursor = true;
|
||||
}
|
||||
|
||||
|
@ -47,6 +47,7 @@ struct AppState
|
||||
bool serverMode;
|
||||
bool haveCursorPos;
|
||||
bool drawCursor;
|
||||
bool cursorInView;
|
||||
bool updateCursor;
|
||||
float scaleX, scaleY;
|
||||
float accX, accY;
|
||||
|
Loading…
Reference in New Issue
Block a user