summaryrefslogtreecommitdiffstats
path: root/examples/svg_style/src/main.rs
diff options
context:
space:
mode:
Diffstat (limited to 'examples/svg_style/src/main.rs')
-rw-r--r--examples/svg_style/src/main.rs78
1 files changed, 78 insertions, 0 deletions
diff --git a/examples/svg_style/src/main.rs b/examples/svg_style/src/main.rs
new file mode 100644
index 00000000..905e1d86
--- /dev/null
+++ b/examples/svg_style/src/main.rs
@@ -0,0 +1,78 @@
+use iced::widget::{container, svg};
+use iced::{Color, Element, Length, Sandbox, Settings};
+use iced_style::svg::Appearance;
+use iced_style::theme::{self, Theme};
+
+pub fn main() -> iced::Result {
+ SvgStyleExample::run(Settings::default())
+}
+
+struct SvgStyleExample;
+
+impl Sandbox for SvgStyleExample {
+ type Message = ();
+
+ fn new() -> Self {
+ SvgStyleExample
+ }
+
+ fn theme(&self) -> Theme {
+ Theme::Light
+ }
+
+ fn title(&self) -> String {
+ String::from("SVG - Iced")
+ }
+
+ fn update(&mut self, _message: ()) {}
+
+ fn view(&self) -> Element<()> {
+ let svg1: Element<_> = svg(svg::Handle::from_path(format!(
+ "{}/resources/go-next-symbolic.svg",
+ env!("CARGO_MANIFEST_DIR")
+ )))
+ .width(Length::Fill)
+ .height(Length::Fill)
+ .into();
+
+ let svg2: Element<_> = svg(svg::Handle::from_path(format!(
+ "{}/resources/go-next-symbolic.svg",
+ env!("CARGO_MANIFEST_DIR")
+ )))
+ .style(theme::Svg::Custom(|_theme| Appearance {
+ fill: Some(Color {
+ r: 0.0,
+ g: 0.28627452,
+ b: 0.42745098,
+ a: 1.0,
+ }),
+ }))
+ .width(Length::Fill)
+ .height(Length::Fill)
+ .into();
+
+ let svg3: Element<_> = svg(svg::Handle::from_path(format!(
+ "{}/resources/go-next-symbolic.svg",
+ env!("CARGO_MANIFEST_DIR")
+ )))
+ .style(theme::Svg::Custom(|_theme| Appearance {
+ fill: Some(Color {
+ r: 0.5803922,
+ g: 0.92156863,
+ b: 0.92156863,
+ a: 1.0,
+ }),
+ }))
+ .width(Length::Fill)
+ .height(Length::Fill)
+ .into();
+
+ container(iced::widget::row!(svg1, svg2, svg3))
+ .width(Length::Fill)
+ .height(Length::Fill)
+ .padding(20)
+ .center_x()
+ .center_y()
+ .into()
+ }
+}