private static bool IsFilled(SP.Painting.Paint paint) { if (paint is null) { return(false); } return(paint.Style == SP.Painting.PaintStyle.Fill || paint.Style == SP.Painting.PaintStyle.StrokeAndFill); }
private static ShapeStyleViewModel ToStyle(SP.Painting.Paint paint, IFactory factory) { var style = factory.CreateShapeStyle("Style"); if (paint is null) { return(style); } switch (paint.Shader) { case SP.Painting.Shaders.ColorShader colorShader: style.Stroke.Color = ToArgbColor(colorShader, factory); style.Fill.Color = ToArgbColor(colorShader, factory); break; case SP.Painting.Shaders.LinearGradientShader linearGradientShader: // TODO: break; case SP.Painting.Shaders.TwoPointConicalGradientShader twoPointConicalGradientShader: // TODO: break; case SP.Painting.Shaders.PictureShader pictureShader: // TODO: break; default: break; } style.Stroke.Thickness = paint.StrokeWidth; style.Stroke.LineCap = ToLineCap(paint.StrokeCap); if (paint.PathEffect is SP.Painting.PathEffects.DashPathEffect dashPathEffect && dashPathEffect.Intervals is { })