Split Fill and Stroke into their own modules
This commit is contained in:
parent
1beeaf9db5
commit
de8f06b512
3 changed files with 83 additions and 78 deletions
12
wgpu/src/widget/canvas/fill.rs
Normal file
12
wgpu/src/widget/canvas/fill.rs
Normal file
|
|
@ -0,0 +1,12 @@
|
|||
use iced_native::Color;
|
||||
|
||||
#[derive(Debug, Clone, Copy)]
|
||||
pub enum Fill {
|
||||
Color(Color),
|
||||
}
|
||||
|
||||
impl Default for Fill {
|
||||
fn default() -> Fill {
|
||||
Fill::Color(Color::BLACK)
|
||||
}
|
||||
}
|
||||
66
wgpu/src/widget/canvas/stroke.rs
Normal file
66
wgpu/src/widget/canvas/stroke.rs
Normal file
|
|
@ -0,0 +1,66 @@
|
|||
use iced_native::Color;
|
||||
|
||||
#[derive(Debug, Clone, Copy)]
|
||||
pub struct Stroke {
|
||||
pub color: Color,
|
||||
pub width: f32,
|
||||
pub line_cap: LineCap,
|
||||
pub line_join: LineJoin,
|
||||
}
|
||||
|
||||
impl Default for Stroke {
|
||||
fn default() -> Stroke {
|
||||
Stroke {
|
||||
color: Color::BLACK,
|
||||
width: 1.0,
|
||||
line_cap: LineCap::default(),
|
||||
line_join: LineJoin::default(),
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
#[derive(Debug, Clone, Copy)]
|
||||
pub enum LineCap {
|
||||
Butt,
|
||||
Square,
|
||||
Round,
|
||||
}
|
||||
|
||||
impl Default for LineCap {
|
||||
fn default() -> LineCap {
|
||||
LineCap::Butt
|
||||
}
|
||||
}
|
||||
|
||||
impl From<LineCap> for lyon::tessellation::LineCap {
|
||||
fn from(line_cap: LineCap) -> lyon::tessellation::LineCap {
|
||||
match line_cap {
|
||||
LineCap::Butt => lyon::tessellation::LineCap::Butt,
|
||||
LineCap::Square => lyon::tessellation::LineCap::Square,
|
||||
LineCap::Round => lyon::tessellation::LineCap::Round,
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
#[derive(Debug, Clone, Copy)]
|
||||
pub enum LineJoin {
|
||||
Miter,
|
||||
Round,
|
||||
Bevel,
|
||||
}
|
||||
|
||||
impl Default for LineJoin {
|
||||
fn default() -> LineJoin {
|
||||
LineJoin::Miter
|
||||
}
|
||||
}
|
||||
|
||||
impl From<LineJoin> for lyon::tessellation::LineJoin {
|
||||
fn from(line_join: LineJoin) -> lyon::tessellation::LineJoin {
|
||||
match line_join {
|
||||
LineJoin::Miter => lyon::tessellation::LineJoin::Miter,
|
||||
LineJoin::Round => lyon::tessellation::LineJoin::Round,
|
||||
LineJoin::Bevel => lyon::tessellation::LineJoin::Bevel,
|
||||
}
|
||||
}
|
||||
}
|
||||
Loading…
Add table
Add a link
Reference in a new issue