diff options
author | Andreas Kling <awesomekling@gmail.com> | 2019-01-26 05:20:32 +0100 |
---|---|---|
committer | Andreas Kling <awesomekling@gmail.com> | 2019-01-26 05:20:32 +0100 |
commit | 7cf3c7461c54ea6bdcfdbd47f1e2644ca5d0f35a (patch) | |
tree | 686fd26a6bdef3da271d773fac53d24608fbc47e /Terminal/Terminal.h | |
parent | 3a401d5249a453f952086e7096499853961bb2f3 (diff) | |
download | serenity-7cf3c7461c54ea6bdcfdbd47f1e2644ca5d0f35a.zip |
Refactor GUI rendering model to be two-phased.
Instead of clients painting whenever they feel like it, we now ask that they
paint in response to a paint message.
After finishing painting, clients notify the WindowServer about the rect(s)
they painted into and then flush eventually happens, etc.
This stuff leaves us with a lot of badly named things. Need to fix that.
Diffstat (limited to 'Terminal/Terminal.h')
-rw-r--r-- | Terminal/Terminal.h | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/Terminal/Terminal.h b/Terminal/Terminal.h index 3c8f6a2a1f..ed43ac5e8b 100644 --- a/Terminal/Terminal.h +++ b/Terminal/Terminal.h @@ -18,6 +18,7 @@ public: void on_char(byte); void set_in_active_window(bool); + void update(); private: Font& font() { return *m_font; } @@ -25,6 +26,7 @@ private: void set_cursor(unsigned row, unsigned column); void put_character_at(unsigned row, unsigned column, byte ch); void invalidate_cursor(); + void did_paint(const Rect& = Rect()); void invalidate_window(const Rect& = Rect()); void set_window_title(const String&); @@ -67,7 +69,7 @@ private: bool has_only_one_background_color() const; byte* characters { nullptr }; Attribute* attributes { nullptr }; - bool needs_invalidation { false }; + bool did_paint { false }; bool dirty { false }; word length { 0 }; }; |