LibDraw+LibHTML: Make link colors themeable

Add "Link", "ActiveLink" and "VisitedLink" colors to the system theme
definition, and implement support for them in LibHTML.

Note that <body link="foo" alink="bar" vlink="baz"> takes precedence
over the system colors. Author style also takes precedence, since we
only fetch the system color in case the CSS color is -libhtml-link.
This commit is contained in:
Andreas Kling 2020-01-13 20:33:15 +01:00
parent 3b2f20ed4d
commit fd64e97c8a
Notes: sideshowbarker 2024-07-19 10:04:18 +09:00
9 changed files with 56 additions and 6 deletions

View file

@ -64,13 +64,13 @@ public:
Color background_color(const Palette&) const;
RefPtr<GraphicsBitmap> background_image() const;
Color link_color() const { return m_link_color; }
Color link_color() const;
void set_link_color(Color);
Color active_link_color() const { return m_active_link_color; }
Color active_link_color() const;
void set_active_link_color(Color);
Color visited_link_color() const { return m_visited_link_color; }
Color visited_link_color() const;
void set_visited_link_color(Color);
void layout();
@ -105,9 +105,9 @@ private:
RefPtr<LayoutDocument> m_layout_root;
Color m_link_color { Color::Blue };
Color m_active_link_color { Color::Red };
Color m_visited_link_color { Color::Magenta };
Optional<Color> m_link_color;
Optional<Color> m_active_link_color;
Optional<Color> m_visited_link_color;
RefPtr<CTimer> m_style_update_timer;