|
@@ -1,4 +1,5 @@
|
|
|
-using Drawie.Backend.Core.Vector;
|
|
|
+using Drawie.Backend.Core.Surfaces.PaintImpl;
|
|
|
+using Drawie.Backend.Core.Vector;
|
|
|
using PixiEditor.ChangeableDocument.Changeables.Graph.Nodes.Shapes.Data;
|
|
|
using PixiEditor.ChangeableDocument.Rendering;
|
|
|
|
|
@@ -45,12 +46,29 @@ public class BoolOperationNode : Node
|
|
|
ShapeVectorData shapeA = ShapeA.Value;
|
|
|
ShapeVectorData shapeB = ShapeB.Value;
|
|
|
|
|
|
+ StrokeCap cap = StrokeCap.Round;
|
|
|
+ StrokeJoin join = StrokeJoin.Round;
|
|
|
+ PathFillType fillType = PathFillType.Winding;
|
|
|
+
|
|
|
+ if (shapeA is PathVectorData pathA)
|
|
|
+ {
|
|
|
+ cap = pathA.StrokeLineCap;
|
|
|
+ join = pathA.StrokeLineJoin;
|
|
|
+ }
|
|
|
+ else if (shapeB is PathVectorData pathB)
|
|
|
+ {
|
|
|
+ cap = pathB.StrokeLineCap;
|
|
|
+ join = pathB.StrokeLineJoin;
|
|
|
+ }
|
|
|
+
|
|
|
Result.Value = new PathVectorData(shapeA.ToPath(true).Op(shapeB.ToPath(true), Operation.Value))
|
|
|
{
|
|
|
Fill = shapeA.Fill,
|
|
|
Stroke = shapeA.Stroke,
|
|
|
StrokeWidth = shapeA.StrokeWidth,
|
|
|
FillPaintable = shapeA.FillPaintable,
|
|
|
+ StrokeLineCap = cap,
|
|
|
+ StrokeLineJoin = join,
|
|
|
};
|
|
|
}
|
|
|
|