Implement From<Color> for canvas::Fill

This commit is contained in:
Héctor Ramón Jiménez 2020-04-14 06:38:06 +02:00
parent 2a795faf4e
commit 81096ef454
3 changed files with 15 additions and 12 deletions

View File

@ -101,10 +101,7 @@ impl canvas::Drawable for LocalTime {
let clock = canvas::Path::new(|path| path.circle(center, radius)); let clock = canvas::Path::new(|path| path.circle(center, radius));
frame.fill( frame.fill(&clock, Color::from_rgb8(0x12, 0x93, 0xD8));
&clock,
canvas::Fill::Color(Color::from_rgb8(0x12, 0x93, 0xD8)),
);
fn draw_hand( fn draw_hand(
n: u32, n: u32,

View File

@ -128,7 +128,7 @@ impl State {
impl canvas::Drawable for State { impl canvas::Drawable for State {
fn draw(&self, frame: &mut canvas::Frame) { fn draw(&self, frame: &mut canvas::Frame) {
use canvas::{Fill, Path, Stroke}; use canvas::{Path, Stroke};
use std::f32::consts::PI; use std::f32::consts::PI;
let center = frame.center(); let center = frame.center();
@ -146,9 +146,9 @@ impl canvas::Drawable for State {
let sun = Path::new(|path| path.circle(center, Self::SUN_RADIUS)); let sun = Path::new(|path| path.circle(center, Self::SUN_RADIUS));
let orbit = Path::new(|path| path.circle(center, Self::ORBIT_RADIUS)); let orbit = Path::new(|path| path.circle(center, Self::ORBIT_RADIUS));
frame.fill(&space, Fill::Color(Color::BLACK)); frame.fill(&space, Color::BLACK);
frame.fill(&stars, Fill::Color(Color::WHITE)); frame.fill(&stars, Color::WHITE);
frame.fill(&sun, Fill::Color(Color::from_rgb8(0xF9, 0xD7, 0x1C))); frame.fill(&sun, Color::from_rgb8(0xF9, 0xD7, 0x1C));
frame.stroke( frame.stroke(
&orbit, &orbit,
Stroke { Stroke {
@ -184,7 +184,7 @@ impl canvas::Drawable for State {
) )
}); });
frame.fill(&earth, Fill::Color(Color::from_rgb8(0x6B, 0x93, 0xD6))); frame.fill(&earth, Color::from_rgb8(0x6B, 0x93, 0xD6));
frame.with_save(|frame| { frame.with_save(|frame| {
frame.rotate( frame.rotate(
@ -197,15 +197,15 @@ impl canvas::Drawable for State {
path.circle(Point::ORIGIN, Self::MOON_RADIUS) path.circle(Point::ORIGIN, Self::MOON_RADIUS)
}); });
frame.fill(&moon, Fill::Color(Color::WHITE)); frame.fill(&moon, Color::WHITE);
}); });
frame.fill( frame.fill(
&shadow, &shadow,
Fill::Color(Color { Color {
a: 0.7, a: 0.7,
..Color::BLACK ..Color::BLACK
}), },
); );
}); });
} }

View File

@ -12,3 +12,9 @@ impl Default for Fill {
Fill::Color(Color::BLACK) Fill::Color(Color::BLACK)
} }
} }
impl From<Color> for Fill {
fn from(color: Color) -> Fill {
Fill::Color(color)
}
}