WindowServer+LibGUI: Simplify handling of paint event rects

Now that Vector<T> is convertible to Vector<T, n>, we don't have to
manually copy the paint event rectangles.
This commit is contained in:
Andreas Kling 2020-01-04 11:03:37 +01:00
parent 6dec88c7fa
commit 2d244a70a1
Notes: sideshowbarker 2024-07-19 10:23:12 +09:00
2 changed files with 3 additions and 13 deletions

View file

@ -48,13 +48,8 @@ void GWindowServerConnection::handle(const WindowClient::Paint& message)
#ifdef GEVENTLOOP_DEBUG
dbgprintf("WID=%d Paint\n", message.window_id());
#endif
if (auto* window = GWindow::from_window_id(message.window_id())) {
Vector<Rect, 32> rects;
for (auto& r : message.rects()) {
rects.append(r);
}
CEventLoop::current().post_event(*window, make<GMultiPaintEvent>(rects, message.window_size()));
}
if (auto* window = GWindow::from_window_id(message.window_id()))
CEventLoop::current().post_event(*window, make<GMultiPaintEvent>(message.rects(), message.window_size()));
}
void GWindowServerConnection::handle(const WindowClient::WindowResized& message)

View file

@ -436,12 +436,7 @@ void WSClientConnection::post_paint_message(WSWindow& window)
if (window.is_minimized() || window.is_occluded())
return;
Vector<Rect> rects;
rects.ensure_capacity(rect_set.size());
for (auto& r : rect_set.rects()) {
rects.append(r);
}
post_message(WindowClient::Paint(window.window_id(), window.size(), rects));
post_message(WindowClient::Paint(window.window_id(), window.size(), rect_set.rects()));
}
void WSClientConnection::handle(const WindowServer::InvalidateRect& message)