summaryrefslogtreecommitdiffstats
path: root/graphics/src/widget/canvas/frame.rs
diff options
context:
space:
mode:
Diffstat (limited to 'graphics/src/widget/canvas/frame.rs')
-rw-r--r--graphics/src/widget/canvas/frame.rs9
1 files changed, 9 insertions, 0 deletions
diff --git a/graphics/src/widget/canvas/frame.rs b/graphics/src/widget/canvas/frame.rs
index 4873e7fb..b98c3002 100644
--- a/graphics/src/widget/canvas/frame.rs
+++ b/graphics/src/widget/canvas/frame.rs
@@ -1,6 +1,9 @@
+use std::borrow::Cow;
+
use iced_native::{Point, Rectangle, Size, Vector};
use crate::{
+ canvas::path,
canvas::{Fill, Geometry, Path, Stroke, Text},
triangle, Primitive,
};
@@ -164,6 +167,12 @@ impl Frame {
options.end_cap = stroke.line_cap.into();
options.line_join = stroke.line_join.into();
+ let path = if stroke.line_dash.segments.is_empty() {
+ Cow::Borrowed(path)
+ } else {
+ Cow::Owned(path::dashed(path, stroke.line_dash))
+ };
+
let result = if self.transforms.current.is_identity {
self.stroke_tessellator.tessellate_path(
path.raw(),