screencasting: Properly disable the cursor when it exits the viewport
Otherwise it would glitch
This commit is contained in:
parent
ed9e1e57b3
commit
9208a8eb0e
1 changed files with 10 additions and 1 deletions
|
@ -639,10 +639,19 @@ QRect ScreenCastStream::cursorGeometry(Cursor *cursor) const
|
||||||
|
|
||||||
void ScreenCastStream::sendCursorData(Cursor *cursor, spa_meta_cursor *spa_meta_cursor)
|
void ScreenCastStream::sendCursorData(Cursor *cursor, spa_meta_cursor *spa_meta_cursor)
|
||||||
{
|
{
|
||||||
if (!cursor || !spa_meta_cursor || !m_cursor.viewport.contains(cursor->pos())) {
|
if (!cursor || !spa_meta_cursor) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (!m_cursor.viewport.contains(cursor->pos())) {
|
||||||
|
spa_meta_cursor->id = 0;
|
||||||
|
spa_meta_cursor->position.x = -1;
|
||||||
|
spa_meta_cursor->position.y = -1;
|
||||||
|
spa_meta_cursor->hotspot.x = -1;
|
||||||
|
spa_meta_cursor->hotspot.y = -1;
|
||||||
|
spa_meta_cursor->bitmap_offset = 0;
|
||||||
|
return;
|
||||||
|
}
|
||||||
const auto position = (cursor->pos() - m_cursor.viewport.topLeft()) * m_cursor.scale;
|
const auto position = (cursor->pos() - m_cursor.viewport.topLeft()) * m_cursor.scale;
|
||||||
|
|
||||||
spa_meta_cursor->id = 1;
|
spa_meta_cursor->id = 1;
|
||||||
|
|
Loading…
Reference in a new issue