summaryrefslogtreecommitdiff
path: root/Servers/WindowServer/WSWindow.h
diff options
context:
space:
mode:
Diffstat (limited to 'Servers/WindowServer/WSWindow.h')
-rw-r--r--Servers/WindowServer/WSWindow.h12
1 files changed, 12 insertions, 0 deletions
diff --git a/Servers/WindowServer/WSWindow.h b/Servers/WindowServer/WSWindow.h
index 0be54481ca..9276a6a192 100644
--- a/Servers/WindowServer/WSWindow.h
+++ b/Servers/WindowServer/WSWindow.h
@@ -102,6 +102,9 @@ public:
void set_rect_from_window_manager_resize(const Rect&);
+ void set_taskbar_rect(const Rect& rect) { m_taskbar_rect = rect; }
+ const Rect& taskbar_rect() const { return m_taskbar_rect; }
+
void move_to(const Point& position) { set_rect({ position, size() }); }
void move_to(int x, int y) { move_to({ x, y }); }
@@ -152,6 +155,13 @@ public:
void request_update(const Rect&);
DisjointRectSet take_pending_paint_rects() { return move(m_pending_paint_rects); }
+ bool in_minimize_animation() const { return m_minimize_animation_step != -1; }
+
+ int minimize_animation_index() const { return m_minimize_animation_step; }
+ void step_minimize_animation() { m_minimize_animation_step += 1; }
+ void start_minimize_animation() { m_minimize_animation_step = 0; }
+ void end_minimize_animation() { m_minimize_animation_step = -1; }
+
// For InlineLinkedList.
// FIXME: Maybe make a ListHashSet and then WSWindowManager can just use that.
WSWindow* m_next { nullptr };
@@ -164,6 +174,7 @@ private:
String m_title;
Rect m_rect;
Rect m_saved_nonfullscreen_rect;
+ Rect m_taskbar_rect;
WSWindowType m_type { WSWindowType::Normal };
bool m_global_cursor_tracking_enabled { false };
bool m_automatic_cursor_tracking_enabled { false };
@@ -190,4 +201,5 @@ private:
DisjointRectSet m_pending_paint_rects;
Rect m_unmaximized_rect;
RefPtr<WSMenu> m_window_menu;
+ int m_minimize_animation_step { -1 };
};