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

LibGUI+WindowServer: Add a GResizeCorner widget.

This widget is automatically included in GStatusBar, but can be added in
any other place, too. When clicked (with the left button), it initiates a
window resize (using a WM request.)

In this patch I also fixed up some issues with override cursors being
cleared after the WindowServer finishes a drag or resize.
This commit is contained in:
Andreas Kling 2019-05-03 01:38:24 +02:00
parent 34c5db61aa
commit ea9a39a9f2
19 changed files with 189 additions and 26 deletions

18
LibGUI/GResizeCorner.h Normal file
View file

@ -0,0 +1,18 @@
#include <LibGUI/GWidget.h>
class GResizeCorner : public GWidget {
public:
explicit GResizeCorner(GWidget* parent);
virtual ~GResizeCorner() override;
virtual const char* class_name() const override { return "GResizeCorner"; }
protected:
virtual void paint_event(GPaintEvent&) override;
virtual void mousedown_event(GMouseEvent&) override;
virtual void enter_event(CEvent&) override;
virtual void leave_event(CEvent&) override;
private:
RetainPtr<GraphicsBitmap> m_bitmap;
};