示例#1
0
        private static Stroke DataToStroke(StrokeData data, System.Windows.Size size)
        {
            Stroke stroke = null;

            switch (data.Type)
            {
            case StrokeTypes.Arrow:
                stroke = new ArrowStroke(StrokeDataEx.ToStylusPoints(data.Points, size));
                break;

            case StrokeTypes.Circle:
                CircleStroke cs = new CircleStroke(StrokeDataEx.ToStylusPoints(data.Points, size));
                stroke = cs;
                break;

            case StrokeTypes.Line:
                stroke = new StraightStroke(StrokeDataEx.ToStylusPoints(data.Points, size));
                break;

            case StrokeTypes.Rectangle:
                stroke = new RectangleStroke(StrokeDataEx.ToStylusPoints(data.Points, size));
                break;

            case StrokeTypes.Triangle:
                stroke = new TriangleStroke(StrokeDataEx.ToStylusPoints(data.Points, size));
                break;

            default:
                stroke = new Stroke(StrokeDataEx.ToStylusPoints(data.Points, size));
                break;
            }


            StrokeEx.SetID(stroke, data.ID);
            stroke.DrawingAttributes = DrawingAttributesDataEx.ToDrawingAttributes(data.Atts);
            if (stroke is ShapeStroke)
            {
                stroke.DrawingAttributes.FitToCurve = false;
            }
            return(stroke);
        }