diff options
| author | Laurenz <laurmaedje@gmail.com> | 2022-10-28 16:43:38 +0200 |
|---|---|---|
| committer | Laurenz <laurmaedje@gmail.com> | 2022-10-28 16:43:38 +0200 |
| commit | 95e9134a3c7d7a14d8c8928413fdffc665671895 (patch) | |
| tree | 822b5f6c2d23aba33cfe4d199405e493e37c3d70 /src/export/render.rs | |
| parent | 66030ae5d73d85a0463562230b87f8ec7554c746 (diff) | |
Refactor `geom` module
Diffstat (limited to 'src/export/render.rs')
| -rw-r--r-- | src/export/render.rs | 19 |
1 files changed, 9 insertions, 10 deletions
diff --git a/src/export/render.rs b/src/export/render.rs index e8702f34..df8f512f 100644 --- a/src/export/render.rs +++ b/src/export/render.rs @@ -10,7 +10,7 @@ use usvg::FitTo; use crate::frame::{Element, Frame, Group, Text}; use crate::geom::{ - self, Geometry, Length, Paint, PathElement, Shape, Size, Stroke, Transform, + self, Abs, Geometry, Paint, PathElement, Shape, Size, Stroke, Transform, }; use crate::image::{DecodedImage, Image}; @@ -286,18 +286,17 @@ fn render_shape( shape: &Shape, ) -> Option<()> { let path = match shape.geometry { + Geometry::Line(target) => { + let mut builder = sk::PathBuilder::new(); + builder.line_to(target.x.to_f32(), target.y.to_f32()); + builder.finish()? + } Geometry::Rect(size) => { let w = size.x.to_f32(); let h = size.y.to_f32(); let rect = sk::Rect::from_xywh(0.0, 0.0, w, h)?; sk::PathBuilder::from_rect(rect) } - Geometry::Ellipse(size) => convert_path(&geom::Path::ellipse(size))?, - Geometry::Line(target) => { - let mut builder = sk::PathBuilder::new(); - builder.line_to(target.x.to_f32(), target.y.to_f32()); - builder.finish()? - } Geometry::Path(ref path) => convert_path(path)?, }; @@ -460,12 +459,12 @@ impl OutlineBuilder for WrappedPathBuilder { } /// Additional methods for [`Length`]. -trait LengthExt { - /// Convert an em length to a number of points as f32. +trait AbsExt { + /// Convert to a number of points as f32. fn to_f32(self) -> f32; } -impl LengthExt for Length { +impl AbsExt for Abs { fn to_f32(self) -> f32 { self.to_pt() as f32 } |
