Use text color to paint SVGs
This commit is contained in:
parent
e031718747
commit
597a9f9548
5 changed files with 22 additions and 20 deletions
|
@ -84,14 +84,13 @@ where
|
||||||
Self: Sized,
|
Self: Sized,
|
||||||
{
|
{
|
||||||
self.base.paint(bounds, view, element_state, cx);
|
self.base.paint(bounds, view, element_state, cx);
|
||||||
let fill_color = self
|
let color = self
|
||||||
.base
|
.base
|
||||||
.compute_style(bounds, element_state, cx)
|
.compute_style(bounds, element_state, cx)
|
||||||
.fill
|
.text
|
||||||
.as_ref()
|
.color;
|
||||||
.and_then(|fill| fill.color());
|
if let Some((path, color)) = self.path.as_ref().zip(color) {
|
||||||
if let Some((path, fill_color)) = self.path.as_ref().zip(fill_color) {
|
cx.paint_svg(bounds, path.clone(), color).log_err();
|
||||||
cx.paint_svg(bounds, path.clone(), fill_color).log_err();
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -144,7 +144,7 @@ impl CollabPanel {
|
||||||
})
|
})
|
||||||
.w_3p5()
|
.w_3p5()
|
||||||
.h_3p5()
|
.h_3p5()
|
||||||
.fill(theme.middle.variant.default.foreground),
|
.text_color(theme.middle.variant.default.foreground),
|
||||||
),
|
),
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
|
|
|
@ -215,7 +215,7 @@ impl Titlebar {
|
||||||
svg()
|
svg()
|
||||||
.path("icons/exit.svg")
|
.path("icons/exit.svg")
|
||||||
.size_4()
|
.size_4()
|
||||||
.fill(theme.lowest.base.default.foreground),
|
.text_color(theme.lowest.base.default.foreground),
|
||||||
),
|
),
|
||||||
),
|
),
|
||||||
),
|
),
|
||||||
|
@ -245,7 +245,7 @@ impl Titlebar {
|
||||||
svg()
|
svg()
|
||||||
.path("icons/mic.svg")
|
.path("icons/mic.svg")
|
||||||
.size_3p5()
|
.size_3p5()
|
||||||
.fill(theme.lowest.base.default.foreground),
|
.text_color(theme.lowest.base.default.foreground),
|
||||||
),
|
),
|
||||||
)
|
)
|
||||||
.child(
|
.child(
|
||||||
|
@ -265,7 +265,7 @@ impl Titlebar {
|
||||||
svg()
|
svg()
|
||||||
.path("icons/speaker-loud.svg")
|
.path("icons/speaker-loud.svg")
|
||||||
.size_3p5()
|
.size_3p5()
|
||||||
.fill(theme.lowest.base.default.foreground),
|
.text_color(theme.lowest.base.default.foreground),
|
||||||
),
|
),
|
||||||
)
|
)
|
||||||
.child(
|
.child(
|
||||||
|
@ -285,7 +285,7 @@ impl Titlebar {
|
||||||
svg()
|
svg()
|
||||||
.path("icons/desktop.svg")
|
.path("icons/desktop.svg")
|
||||||
.size_3p5()
|
.size_3p5()
|
||||||
.fill(theme.lowest.base.default.foreground),
|
.text_color(theme.lowest.base.default.foreground),
|
||||||
),
|
),
|
||||||
),
|
),
|
||||||
),
|
),
|
||||||
|
@ -318,7 +318,7 @@ impl Titlebar {
|
||||||
.path("icons/caret_down.svg")
|
.path("icons/caret_down.svg")
|
||||||
.w_2()
|
.w_2()
|
||||||
.h_2()
|
.h_2()
|
||||||
.fill(theme.lowest.variant.default.foreground),
|
.text_color(theme.lowest.variant.default.foreground),
|
||||||
),
|
),
|
||||||
),
|
),
|
||||||
)
|
)
|
||||||
|
@ -374,7 +374,7 @@ mod statusbar {
|
||||||
.path("icons/project.svg")
|
.path("icons/project.svg")
|
||||||
.w_4()
|
.w_4()
|
||||||
.h_4()
|
.h_4()
|
||||||
.fill(theme.lowest.base.default.foreground),
|
.text_color(theme.lowest.base.default.foreground),
|
||||||
),
|
),
|
||||||
)
|
)
|
||||||
.child(
|
.child(
|
||||||
|
@ -389,7 +389,7 @@ mod statusbar {
|
||||||
.path("icons/conversations.svg")
|
.path("icons/conversations.svg")
|
||||||
.w_4()
|
.w_4()
|
||||||
.h_4()
|
.h_4()
|
||||||
.fill(theme.lowest.base.default.foreground),
|
.text_color(theme.lowest.base.default.foreground),
|
||||||
),
|
),
|
||||||
)
|
)
|
||||||
.child(
|
.child(
|
||||||
|
@ -404,7 +404,7 @@ mod statusbar {
|
||||||
.path("icons/file_icons/notebook.svg")
|
.path("icons/file_icons/notebook.svg")
|
||||||
.w_4()
|
.w_4()
|
||||||
.h_4()
|
.h_4()
|
||||||
.fill(theme.lowest.accent.default.foreground),
|
.text_color(theme.lowest.accent.default.foreground),
|
||||||
),
|
),
|
||||||
),
|
),
|
||||||
)
|
)
|
||||||
|
@ -432,7 +432,7 @@ mod statusbar {
|
||||||
.path("icons/error.svg")
|
.path("icons/error.svg")
|
||||||
.w_4()
|
.w_4()
|
||||||
.h_4()
|
.h_4()
|
||||||
.fill(theme.lowest.negative.default.foreground),
|
.text_color(theme.lowest.negative.default.foreground),
|
||||||
)
|
)
|
||||||
.child(div().text_sm().child("2")),
|
.child(div().text_sm().child("2")),
|
||||||
)
|
)
|
||||||
|
@ -473,7 +473,7 @@ mod statusbar {
|
||||||
.path("icons/check_circle.svg")
|
.path("icons/check_circle.svg")
|
||||||
.w_4()
|
.w_4()
|
||||||
.h_4()
|
.h_4()
|
||||||
.fill(theme.lowest.base.default.foreground),
|
.text_color(theme.lowest.base.default.foreground),
|
||||||
),
|
),
|
||||||
)
|
)
|
||||||
.child(
|
.child(
|
||||||
|
@ -488,7 +488,7 @@ mod statusbar {
|
||||||
.path("icons/copilot.svg")
|
.path("icons/copilot.svg")
|
||||||
.w_4()
|
.w_4()
|
||||||
.h_4()
|
.h_4()
|
||||||
.fill(theme.lowest.accent.default.foreground),
|
.text_color(theme.lowest.accent.default.foreground),
|
||||||
),
|
),
|
||||||
),
|
),
|
||||||
)
|
)
|
||||||
|
|
|
@ -121,7 +121,7 @@ impl<S: 'static + Send + Sync + Clone> CollabPanel<S> {
|
||||||
})
|
})
|
||||||
.w_3p5()
|
.w_3p5()
|
||||||
.h_3p5()
|
.h_3p5()
|
||||||
.fill(theme.middle.variant.default.foreground),
|
.text_color(theme.middle.variant.default.foreground),
|
||||||
),
|
),
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
|
|
|
@ -183,7 +183,10 @@ impl<S: 'static + Send + Sync> IconElement<S> {
|
||||||
IconSize::Large => svg().size_4(),
|
IconSize::Large => svg().size_4(),
|
||||||
};
|
};
|
||||||
|
|
||||||
sized_svg.flex_none().path(self.icon.path()).fill(fill)
|
sized_svg
|
||||||
|
.flex_none()
|
||||||
|
.path(self.icon.path())
|
||||||
|
.text_color(fill)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue