mirror of
https://github.com/RGBCube/serenity
synced 2025-05-31 07:48:11 +00:00
WindowServer: Coordinate double-buffering with the BochsVGA card.
Use the BochsVGA card's virtual-height + virtual-y features to implement a "hardware double buffering" type scheme. This is a performance degradation since we now draw a bunch more than before. But there's also no tearing or cursor flickering. I'm gonna commit this and try to improve upon it. :^)
This commit is contained in:
parent
1f159eaab0
commit
443d1c2237
6 changed files with 52 additions and 15 deletions
|
@ -59,7 +59,7 @@ void WSScreen::on_receive_mouse_data(int dx, int dy, bool left_button, bool righ
|
|||
WSMessageLoop::the().post_message(&WSWindowManager::the(), move(message));
|
||||
}
|
||||
if (m_cursor_location != prev_location || prev_left_button != left_button)
|
||||
WSWindowManager::the().draw_cursor();
|
||||
WSWindowManager::the().invalidate_cursor();
|
||||
}
|
||||
|
||||
void WSScreen::on_receive_keyboard_data(Keyboard::Event kernel_event)
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue