mirror of
https://github.com/RGBCube/serenity
synced 2025-07-27 07:27:45 +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:
parent
ae4811fbae
commit
53d34a0885
15 changed files with 268 additions and 151 deletions
|
@ -52,6 +52,8 @@ public:
|
|||
void translate(int dx, int dy) { m_translation.move_by(dx, dy); }
|
||||
void translate(const Point& delta) { m_translation.move_by(delta); }
|
||||
|
||||
GraphicsBitmap* target() { return m_target.ptr(); }
|
||||
|
||||
private:
|
||||
void set_pixel_with_draw_op(dword& pixel, const Color&);
|
||||
void fill_rect_with_draw_op(const Rect&, Color);
|
||||
|
|
|
@ -99,6 +99,13 @@ public:
|
|||
return rect;
|
||||
}
|
||||
|
||||
Rect translated(const Point& delta) const
|
||||
{
|
||||
Rect rect = *this;
|
||||
rect.move_by(delta);
|
||||
return rect;
|
||||
}
|
||||
|
||||
bool contains(int x, int y) const
|
||||
{
|
||||
return x >= m_location.x() && x <= right() && y >= m_location.y() && y <= bottom();
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue