1
Fork 0
mirror of https://github.com/RGBCube/serenity synced 2025-07-26 07:17:35 +00:00

Start refactoring graphics system to have per-window backing stores.

It was fun for everyone to share a single framebuffer but it was also
kinda really awful. Let's move towards having a "GraphicsBitmap" as the
backing store for each Window.

This is going to need a lot of refactoring so let's get started.
This commit is contained in:
Andreas Kling 2019-01-09 02:06:04 +01:00
parent 2735b7e50d
commit 9963da9005
21 changed files with 212 additions and 41 deletions

View file

@ -32,7 +32,7 @@ void Window::setTitle(String&& title)
if (m_title == title)
return;
m_title = std::move(title);
m_title = move(title);
WindowManager::the().notifyTitleChanged(*this);
}
@ -42,6 +42,7 @@ void Window::setRect(const Rect& rect)
return;
auto oldRect = m_rect;
m_rect = rect;
m_backing = GraphicsBitmap::create(m_rect.size());
WindowManager::the().notifyRectChanged(*this, oldRect, m_rect);
}
@ -95,6 +96,11 @@ void Window::event(Event& event)
return Object::event(event);
}
void Window::did_paint()
{
WindowManager::the().did_paint(*this);
}
bool Window::isActive() const
{
return WindowManager::the().activeWindow() == this;