GSplitter.h 720 B

123456789101112131415161718192021222324252627
  1. #pragma once
  2. #include <LibGUI/GFrame.h>
  3. class GSplitter : public GFrame {
  4. C_OBJECT(GSplitter)
  5. public:
  6. virtual ~GSplitter() override;
  7. protected:
  8. GSplitter(Orientation, GWidget* parent);
  9. virtual void mousedown_event(GMouseEvent&) override;
  10. virtual void mousemove_event(GMouseEvent&) override;
  11. virtual void mouseup_event(GMouseEvent&) override;
  12. virtual void enter_event(CEvent&) override;
  13. virtual void leave_event(CEvent&) override;
  14. private:
  15. Orientation m_orientation;
  16. bool m_resizing { false };
  17. Point m_resize_origin;
  18. WeakPtr<GWidget> m_first_resizee;
  19. WeakPtr<GWidget> m_second_resizee;
  20. Size m_first_resizee_start_size;
  21. Size m_second_resizee_start_size;
  22. };