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

Port Terminal to LibGUI.

To facilitate listening for action on arbitrary file descriptors,
I've added a GNotifier class. It's quite simple but very useful:

GNotifier notifier(fd, GNotifier::Read);
notifier.on_ready_to_read = [this] (GNotifier& fd) {
    // read from fd or whatever else you like :^)
};

The callback will get invoked by GEventLoop when select() says we
have something to read on the fd.
This commit is contained in:
Andreas Kling 2019-02-10 14:28:39 +01:00
parent ae4811fbae
commit 53d34a0885
15 changed files with 268 additions and 151 deletions

View file

@ -58,7 +58,7 @@ public:
Size size() const { return m_relative_rect.size(); }
void update();
void repaint(const Rect&);
void update(const Rect&);
virtual bool accepts_focus() const { return false; }
@ -136,6 +136,7 @@ private:
SizePolicy m_vertical_size_policy { SizePolicy::Fill };
Size m_preferred_size;
bool m_has_pending_paint_event { false };
Vector<Rect> m_pending_paint_event_rects;
bool m_fill_with_background_color { true };
};