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:
parent
2735b7e50d
commit
9963da9005
21 changed files with 212 additions and 41 deletions
|
@ -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;
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue