summaryrefslogtreecommitdiff
path: root/Terminal/Terminal.h
diff options
context:
space:
mode:
authorAndreas Kling <awesomekling@gmail.com>2019-01-26 05:20:32 +0100
committerAndreas Kling <awesomekling@gmail.com>2019-01-26 05:20:32 +0100
commit7cf3c7461c54ea6bdcfdbd47f1e2644ca5d0f35a (patch)
tree686fd26a6bdef3da271d773fac53d24608fbc47e /Terminal/Terminal.h
parent3a401d5249a453f952086e7096499853961bb2f3 (diff)
downloadserenity-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.h4
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 };
};