1
Fork 0
mirror of https://github.com/RGBCube/serenity synced 2025-07-26 23:17:46 +00:00

WindowServer: Allow temporarily overriding the system theme

This patch adds a new api to override the current system theme with an
in memory override theme.
This commit is contained in:
networkException 2022-06-16 20:25:01 +02:00 committed by Linus Groh
parent 278fd28502
commit 976b6156d4
5 changed files with 66 additions and 0 deletions

View file

@ -220,6 +220,11 @@ public:
bool update_theme(String theme_path, String theme_name, bool keep_desktop_background);
void invalidate_after_theme_or_font_change();
bool set_theme_override(Core::AnonymousBuffer const& theme_override);
Optional<Core::AnonymousBuffer> get_theme_override() const;
void clear_theme_override();
bool is_theme_overridden() { return m_theme_overridden; }
bool set_hovered_window(Window*);
void deliver_mouse_event(Window&, MouseEvent const&, bool process_double_click);
@ -431,6 +436,7 @@ private:
int m_max_distance_for_double_click { 4 };
bool m_previous_event_was_super_keydown { false };
bool m_buttons_switched { false };
bool m_theme_overridden { false };
WeakPtr<Window> m_hovered_window;
WeakPtr<Window> m_highlight_window;