Ejemplo n.º 1
0
        private static StylusPointCollection Points(StylusPointCollection stylusPoints)
        {
            var start = stylusPoints.First().ToPoint();
            var end   = stylusPoints.Last().ToPoint();

            LineDynamicRenderer.Prepare(ref start, ref end);

            return(new StylusPointCollection(new[] { start, end }));
        }
Ejemplo n.º 2
0
        private static StylusPointCollection Points(StylusPointCollection stylusPoints)
        {
            var start = stylusPoints.First().ToPoint();
            var end   = stylusPoints.Last().ToPoint();

            LineDynamicRenderer.Prepare(ref start, ref end);

            ArrowDynamicRenderer.GetArrowPoints(start, end, out var p1, out var p2);

            return(new StylusPointCollection(new[] { start, end, p1, end, p2 }));
        }
Ejemplo n.º 3
0
        static StylusPointCollection Points(StylusPointCollection StylusPointCollection)
        {
            var start = StylusPointCollection.First().ToPoint();
            var end   = StylusPointCollection.Last().ToPoint();

            RectangleDynamicRenderer.Prepare(ref start, ref end, out var w, out var h);

            var center = new Point(start.X + w / 2, start.Y + h / 2);

            var stylusPoints = new StylusPointCollection();

            const double step = 0.05;

            var arc1 = new List <StylusPoint>();
            var arc2 = new List <StylusPoint>();
            var arc3 = new List <StylusPoint>();
            var arc4 = new List <StylusPoint>();

            for (var dx = 0.0; dx < w / 2; dx += step)
            {
                var dy = (h / 2) * Math.Sqrt(1 - Math.Pow(2 * dx / w, 2));

                arc1.Add(new StylusPoint(center.X + dx, center.Y + dy));
                arc2.Add(new StylusPoint(center.X - dx, center.Y + dy));
                arc3.Add(new StylusPoint(center.X - dx, center.Y - dy));
                arc4.Add(new StylusPoint(center.X + dx, center.Y - dy));
            }

            foreach (var point in arc1.AsEnumerable().Reverse())
            {
                stylusPoints.Add(point);
            }

            foreach (var point in arc2)
            {
                stylusPoints.Add(point);
            }

            foreach (var point in arc3.AsEnumerable().Reverse())
            {
                stylusPoints.Add(point);
            }

            foreach (var point in arc4)
            {
                stylusPoints.Add(point);
            }

            stylusPoints.Add(arc1[arc1.Count - 1]);

            return(stylusPoints);
        }
Ejemplo n.º 4
0
        protected override void OnDraw(DrawingContext DrawingContext, StylusPointCollection StylusPoints, Geometry Geometry, Brush FillBrush)
        {
            if (!_isManipulating)
            {
                _isManipulating = true;

                var currentStylus = Stylus.CurrentStylusDevice;
                Reset(currentStylus, StylusPoints);
            }

            _isManipulating = false;

            DrawingContext.DrawLine(new Pen(FillBrush, 2), _firstPoint, StylusPoints.First().ToPoint());
        }
Ejemplo n.º 5
0
        protected override void OnDraw(DrawingContext drawingContext, StylusPointCollection stylusPoints, Geometry geometry, Brush fillBrush)
        {
            if (!_isManipulating)
            {
                _isManipulating = true;

                var currentStylus = Stylus.CurrentStylusDevice;
                Reset(currentStylus, stylusPoints);
            }

            _isManipulating = false;

            Draw(drawingContext, _firstPoint, stylusPoints.First().ToPoint(), new Pen(fillBrush, 2));
        }
Ejemplo n.º 6
0
        static StylusPointCollection Points(StylusPointCollection StylusPointCollection)
        {
            var start = StylusPointCollection.First().ToPoint();
            var end   = StylusPointCollection.Last().ToPoint();

            RectangleDynamicRenderer.Prepare(ref start, ref end, out var w, out var h);

            return(new StylusPointCollection(new []
            {
                start,
                new Point(start.X, end.Y),
                end,
                new Point(end.X, start.Y),
                start
            }));
        }
Ejemplo n.º 7
0
        protected override void OnDraw(DrawingContext DrawingContext, StylusPointCollection StylusPoints, Geometry Geometry, Brush FillBrush)
        {
            if (!_isManipulating)
            {
                _isManipulating = true;

                var currentStylus = Stylus.CurrentStylusDevice;
                Reset(currentStylus, StylusPoints);
            }

            _isManipulating = false;

            var first = new Point(_firstPoint.X, _firstPoint.Y);
            var last  = StylusPoints.First().ToPoint();

            if (last.X < first.X)
            {
                var t = first.X;
                first.X = last.X;
                last.X  = t;
            }

            if (last.Y < first.Y)
            {
                var t = first.Y;
                first.Y = last.Y;
                last.Y  = t;
            }

            var w = last.X - first.X;
            var h = last.Y - first.Y;

            if (w <= 0)
            {
                w = 1;
            }

            if (h <= 0)
            {
                h = 1;
            }

            var center = new Point(first.X + w / 2, first.Y + h / 2);

            DrawingContext.DrawEllipse(null, new Pen(FillBrush, 2), center, w / 2, h / 2);
        }
        protected override void OnDraw(DrawingContext DrawingContext, StylusPointCollection StylusPoints, Geometry Geometry, Brush FillBrush)
        {
            if (!_isManipulating)
            {
                _isManipulating = true;

                var currentStylus = Stylus.CurrentStylusDevice;
                Reset(currentStylus, StylusPoints);
            }

            _isManipulating = false;

            var first = new Point(_firstPoint.X, _firstPoint.Y);
            var last  = StylusPoints.First().ToPoint();

            if (last.X < first.X)
            {
                var t = first.X;
                first.X = last.X;
                last.X  = t;
            }

            if (last.Y < first.Y)
            {
                var t = first.Y;
                first.Y = last.Y;
                last.Y  = t;
            }

            var w = last.X - first.X;
            var h = last.Y - first.Y;

            var r = new Rect(first, new Size(w <= 0 ? 1 : w, h <= 0 ? 1 : h));

            DrawingContext.DrawRectangle(null, new Pen(FillBrush, 2), r);
        }