示例#1
0
        public void Draw(IEditableFrame Editor, Func <Point, Point> PointTransform = null)
        {
            if (!_settings.DisplayScroll)
            {
                return;
            }

            if (_lastArgs is { } args)
            {
                var p = args.Location;
                var r = _settings.Radius;
                var d = 2 * r;

                Editor.FillEllipse(_settings.ScrollCircleColor, new RectangleF(p.X - r, p.Y - r, d, d));

                var above = new Point(p.X, p.Y + r / 2);
                var below = new Point(p.X, p.Y - r / 2);

                // Scroll down
                if (args.Delta < 0)
                {
                    (above, below) = (below, above);
                }

                Editor.DrawArrow(above, below, _settings.ScrollArrowColor, r / 4f);

                _lastArgs = null;
            }
        }
示例#2
0
        public override void Draw(IEditableFrame Editor, Func <Point, Point> PointTransform)
        {
            var start = StartPoint;
            var end   = EndPoint;

            if (PointTransform != null)
            {
                start = PointTransform(start);
                end   = PointTransform(end);
            }

            Editor.DrawArrow(start, end, _settings.Color, _settings.Radius);

            base.Draw(Editor, PointTransform);
        }
示例#3
0
        public override void Draw(IEditableFrame Editor, Func <Point, Point> PointTransform)
        {
            var p = Args.Location;

            var r = _settings.Radius;
            var d = 2 * r;

            Editor.FillEllipse(_settings.Color, new RectangleF(p.X - r, p.Y - r, d, d));

            var above = new Point(p.X, p.Y + r / 2);
            var below = new Point(p.X, p.Y - r / 2);

            if (Args.Delta < 0)
            {
                (above, below) = (below, above);
            }

            Editor.DrawArrow(above, below, _settings.BorderColor, r / 4f);

            base.Draw(Editor, PointTransform);
        }