Implement Canvas support for iced_tiny_skia
This commit is contained in:
parent
3f6e28fa9b
commit
5fd5d1cdf8
65 changed files with 1354 additions and 570 deletions
64
native/src/widget/canvas/fill.rs
Normal file
64
native/src/widget/canvas/fill.rs
Normal file
|
|
@ -0,0 +1,64 @@
|
|||
//! Fill [crate::widget::canvas::Geometry] with a certain style.
|
||||
use crate::widget::canvas::Gradient;
|
||||
use crate::Color;
|
||||
|
||||
pub use crate::widget::canvas::Style;
|
||||
|
||||
/// The style used to fill geometry.
|
||||
#[derive(Debug, Clone)]
|
||||
pub struct Fill {
|
||||
/// The color or gradient of the fill.
|
||||
///
|
||||
/// By default, it is set to [`Style::Solid`] with [`Color::BLACK`].
|
||||
pub style: Style,
|
||||
|
||||
/// The fill rule defines how to determine what is inside and what is
|
||||
/// outside of a shape.
|
||||
///
|
||||
/// See the [SVG specification][1] for more details.
|
||||
///
|
||||
/// By default, it is set to `NonZero`.
|
||||
///
|
||||
/// [1]: https://www.w3.org/TR/SVG/painting.html#FillRuleProperty
|
||||
pub rule: Rule,
|
||||
}
|
||||
|
||||
impl Default for Fill {
|
||||
fn default() -> Self {
|
||||
Self {
|
||||
style: Style::Solid(Color::BLACK),
|
||||
rule: Rule::NonZero,
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
impl From<Color> for Fill {
|
||||
fn from(color: Color) -> Fill {
|
||||
Fill {
|
||||
style: Style::Solid(color),
|
||||
..Fill::default()
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
impl From<Gradient> for Fill {
|
||||
fn from(gradient: Gradient) -> Self {
|
||||
Fill {
|
||||
style: Style::Gradient(gradient),
|
||||
..Default::default()
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/// The fill rule defines how to determine what is inside and what is outside of
|
||||
/// a shape.
|
||||
///
|
||||
/// See the [SVG specification][1].
|
||||
///
|
||||
/// [1]: https://www.w3.org/TR/SVG/painting.html#FillRuleProperty
|
||||
#[derive(Debug, Clone, Copy, PartialEq, Eq)]
|
||||
#[allow(missing_docs)]
|
||||
pub enum Rule {
|
||||
NonZero,
|
||||
EvenOdd,
|
||||
}
|
||||
Loading…
Add table
Add a link
Reference in a new issue