mirror of
https://github.com/LadybirdBrowser/ladybird.git
synced 2024-09-19 17:27:51 +03:00
LibGfx+Base: Add Tray/TrayText theme colors and Gfx::ButtonStyle::Tray
A "Tray" is a sunken container area for widgets. The first intended client of this style is the GUI::FilePicker's common locations frame. Thanks to @nvella for coming up with the term "Tray" :^)
This commit is contained in:
parent
e34238945d
commit
11bea5d633
Notes:
sideshowbarker
2024-07-18 20:37:04 +09:00
Author: https://github.com/awesomekling Commit: https://github.com/SerenityOS/serenity/commit/11bea5d6333
@ -66,6 +66,8 @@ SyntaxPreprocessorStatement=#ffafff
|
||||
SyntaxPreprocessorValue=orange
|
||||
Tooltip=#1f1f1f
|
||||
TooltipText=white
|
||||
Tray=#171717
|
||||
TrayText=white
|
||||
|
||||
[Metrics]
|
||||
TitleHeight=24
|
||||
|
@ -62,6 +62,8 @@ SyntaxPreprocessorStatement=#008080
|
||||
SyntaxPreprocessorValue=#800000
|
||||
Tooltip=#ffffe1
|
||||
TooltipText=black
|
||||
Tray=#9397a5
|
||||
TrayText=white
|
||||
|
||||
[Metrics]
|
||||
TitleButtonWidth=17
|
||||
|
@ -58,3 +58,5 @@ SyntaxPreprocessorStatement=darkgray
|
||||
SyntaxPreprocessorValue=orange
|
||||
Tooltip=#444444
|
||||
TooltipText=white
|
||||
Tray=#323232
|
||||
TrayText=white
|
||||
|
@ -66,6 +66,8 @@ SyntaxPreprocessorStatement=#008080
|
||||
SyntaxPreprocessorValue=#800000
|
||||
Tooltip=#ffffe1
|
||||
TooltipText=black
|
||||
Tray=#808080
|
||||
TrayText=#ffffff
|
||||
|
||||
[Metrics]
|
||||
TitleHeight=19
|
||||
|
@ -66,6 +66,8 @@ SyntaxPreprocessorStatement=#008080
|
||||
SyntaxPreprocessorValue=#800000
|
||||
Tooltip=white
|
||||
TooltipText=black
|
||||
Tray=#a28d68
|
||||
TrayText=white
|
||||
|
||||
[Metrics]
|
||||
TitleHeight=19
|
||||
|
@ -58,3 +58,5 @@ SyntaxPreprocessorStatement=#008080
|
||||
SyntaxPreprocessorValue=#800000
|
||||
Tooltip=#ffffe1
|
||||
TooltipText=black
|
||||
Tray=#282828
|
||||
TrayText=white
|
||||
|
@ -58,3 +58,5 @@ SyntaxPreprocessorStatement=#ffafff
|
||||
SyntaxPreprocessorValue=orange
|
||||
Tooltip=#4c566a
|
||||
TooltipText=white
|
||||
Tray=#3b4252
|
||||
TrayText=white
|
||||
|
@ -62,6 +62,8 @@ SyntaxPreprocessorStatement=#008080
|
||||
SyntaxPreprocessorValue=#800000
|
||||
Tooltip=#ffffe1
|
||||
TooltipText=black
|
||||
Tray=#808080
|
||||
TrayText=white
|
||||
|
||||
[Metrics]
|
||||
TitleButtonWidth=17
|
||||
|
@ -62,6 +62,8 @@ SyntaxPreprocessorStatement=#008080
|
||||
SyntaxPreprocessorValue=#800000
|
||||
Tooltip=#ffffe1
|
||||
TooltipText=black
|
||||
Tray=#808080
|
||||
TrayText=white
|
||||
|
||||
[Metrics]
|
||||
TitleButtonWidth=17
|
||||
|
@ -58,3 +58,5 @@ SyntaxPreprocessorStatement=#008080
|
||||
SyntaxPreprocessorValue=#800000
|
||||
Tooltip=#ffffe1
|
||||
TooltipText=black
|
||||
Tray=#3b3b3b
|
||||
TrayText=white
|
||||
|
@ -62,6 +62,8 @@ SyntaxPreprocessorStatement=#008080
|
||||
SyntaxPreprocessorValue=#800000
|
||||
Tooltip=#ffffe1
|
||||
TooltipText=black
|
||||
Tray=#9397a5
|
||||
TrayText=white
|
||||
|
||||
[Paths]
|
||||
TitleButtonIcons=/res/icons/themes/Sunshine/16x16/
|
||||
|
@ -170,7 +170,7 @@ void ClassicStylePainter::paint_button(Painter& painter, const IntRect& rect, co
|
||||
|
||||
Color button_color = palette.button();
|
||||
Color highlight_color = palette.threed_highlight();
|
||||
Color shadow_color = palette.threed_shadow1();
|
||||
Color shadow_color = button_style == ButtonStyle::CoolBar ? palette.threed_shadow1() : palette.threed_shadow2();
|
||||
|
||||
PainterStateSaver saver(painter);
|
||||
painter.translate(rect.location());
|
||||
@ -178,10 +178,12 @@ void ClassicStylePainter::paint_button(Painter& painter, const IntRect& rect, co
|
||||
if (pressed || checked) {
|
||||
// Base
|
||||
IntRect base_rect { 1, 1, rect.width() - 2, rect.height() - 2 };
|
||||
if (checked && !pressed) {
|
||||
painter.fill_rect_with_dither_pattern(base_rect, palette.button().lightened(1.3f), palette.button());
|
||||
} else {
|
||||
painter.fill_rect(base_rect, button_color);
|
||||
if (button_style == ButtonStyle::CoolBar) {
|
||||
if (checked && !pressed) {
|
||||
painter.fill_rect_with_dither_pattern(base_rect, palette.button().lightened(1.3f), Color());
|
||||
} else {
|
||||
painter.fill_rect(base_rect, button_color);
|
||||
}
|
||||
}
|
||||
|
||||
// Sunken shadow
|
||||
@ -191,9 +193,11 @@ void ClassicStylePainter::paint_button(Painter& painter, const IntRect& rect, co
|
||||
// Bottom highlight
|
||||
painter.draw_line({ rect.width() - 2, 1 }, { rect.width() - 2, rect.height() - 3 }, highlight_color);
|
||||
painter.draw_line({ 1, rect.height() - 2 }, { rect.width() - 2, rect.height() - 2 }, highlight_color);
|
||||
} else if (button_style == ButtonStyle::CoolBar && hovered) {
|
||||
// Base
|
||||
painter.fill_rect({ 1, 1, rect.width() - 2, rect.height() - 2 }, button_color);
|
||||
} else if (hovered) {
|
||||
if (button_style == ButtonStyle::CoolBar) {
|
||||
// Base
|
||||
painter.fill_rect({ 1, 1, rect.width() - 2, rect.height() - 2 }, button_color);
|
||||
}
|
||||
|
||||
// Top highlight
|
||||
painter.draw_line({ 1, 1 }, { rect.width() - 2, 1 }, highlight_color);
|
||||
|
@ -33,7 +33,8 @@ namespace Gfx {
|
||||
|
||||
enum class ButtonStyle {
|
||||
Normal,
|
||||
CoolBar
|
||||
CoolBar,
|
||||
Tray,
|
||||
};
|
||||
enum class FrameShadow {
|
||||
Plain,
|
||||
|
@ -99,6 +99,8 @@ namespace Gfx {
|
||||
C(ThreedShadow2) \
|
||||
C(Tooltip) \
|
||||
C(TooltipText) \
|
||||
C(Tray) \
|
||||
C(TrayText) \
|
||||
C(VisitedLink) \
|
||||
C(Window) \
|
||||
C(WindowText)
|
||||
|
Loading…
Reference in New Issue
Block a user