mirror of
https://github.com/RGBCube/serenity
synced 2025-05-31 19:38:12 +00:00
Let userland retain the window backing store while drawing into it.
To start painting, call: gui$get_window_backing_store() Then finish up with: gui$release_window_backing_store() Process will retain the underlying GraphicsBitmap behind the scenes. This fixes racing between the WindowServer and GUI clients. This patch also adds a WSWindowLocker that is exactly what it sounds like.
This commit is contained in:
parent
ccf3fc4618
commit
86eae0f8df
22 changed files with 244 additions and 102 deletions
|
@ -51,7 +51,7 @@ public:
|
|||
|
||||
virtual const char* class_name() const override { return "GWidget"; }
|
||||
|
||||
void set_relative_rect(const Rect&, bool should_update = true);
|
||||
void set_relative_rect(const Rect&);
|
||||
|
||||
Color background_color() const { return m_background_color; }
|
||||
Color foreground_color() const { return m_foreground_color; }
|
||||
|
@ -84,8 +84,6 @@ public:
|
|||
const Font& font() const { return *m_font; }
|
||||
void set_font(RetainPtr<Font>&&);
|
||||
|
||||
GraphicsBitmap* backing();
|
||||
|
||||
private:
|
||||
GWindow* m_window { nullptr };
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue