Esempio n. 1
0
        public override void ScrollToValue(double position)
        {
            double num = this.ActualViewMaximum - this.ActualViewMinimum;
            double min = position;
            double max = position + num;

            RangeHelper.BoxRangeInsideAnother(ref min, ref max, this.ActualMinimum, this.ActualMaximum);
            double precision = DoubleHelper.GetPrecision(new double[2]
            {
                min,
                this.ActualViewMinimum
            });

            if (DoubleHelper.EqualsWithPrecision(min, this.ActualViewMinimum, precision))
            {
                return;
            }
            this._majorSequence.MoveToCover((DoubleR10)min, (DoubleR10)max);
            this.CalculateMinorSequence(this.MaxCount * 5, this.GetMaxAllowedMargin(this.MaxCount));
            this.BeginInit();
            this.ViewMinimum = new double?(this.ActualViewMinimum = min);
            this.ViewMaximum = new double?(this.ActualViewMaximum = max);
            this.IsScrolling = true;
            this.EndInit();
        }
Esempio n. 2
0
        public override void ScrollToValue(DateTime position)
        {
            long ticks1 = this.ActualViewMaximum.Ticks;
            long ticks2 = this.ActualViewMinimum.Ticks;
            long num    = ticks1 - ticks2;
            long ticks3 = position.Ticks;
            long min1   = ticks3;
            long max1   = ticks3 + num;

            RangeHelper.BoxRangeInsideAnother(ref min1, ref max1, this.ActualMinimum.Ticks, this.ActualMaximum.Ticks);
            if (min1 == ticks2)
            {
                return;
            }
            DateTime min2 = new DateTime(min1);
            DateTime max2 = new DateTime(max1);

            this._majorSequence.MoveToCover(min2, max2);
            this._minorSequence.MoveToCover(min2, max2);
            this.BeginInit();
            this.ViewMinimum = new DateTime?(this.ActualViewMinimum = min2);
            this.ViewMaximum = new DateTime?(this.ActualViewMaximum = max2);
            this.IsScrolling = true;
            this.EndInit();
        }
Esempio n. 3
0
        internal override void BoxViewRange(ref DateTime viewMinimum, ref DateTime viewMaximum)
        {
            long ticks1 = viewMinimum.Ticks;
            long ticks2 = viewMaximum.Ticks;

            RangeHelper.BoxRangeInsideAnother(ref ticks1, ref ticks2, this.ActualMinimum.Ticks, this.ActualMaximum.Ticks);
            viewMinimum = new DateTime(ticks1);
            viewMaximum = new DateTime(ticks2);
        }
Esempio n. 4
0
        public override void ZoomToPercent(double viewMinimum, double viewMaximum)
        {
            double minSize = 1.0 / this.ActualZoomRange.Maximum;
            double maxSize = 1.0 / this.ActualZoomRange.Minimum;

            RangeHelper.BoxRangeInsideAnother(ref viewMinimum, ref viewMaximum, 0.0, 1.0, minSize, maxSize, 0.01);
            Range <double> targetRange = new Range <double>(this.ActualMinimum, this.ActualMaximum);

            this.ZoomToValue(RangeHelper.Project(Scale.PercentRange, viewMinimum, targetRange), RangeHelper.Project(Scale.PercentRange, viewMaximum, targetRange));
        }
Esempio n. 5
0
        internal virtual void CalculateActualZoomRange()
        {
            Range <double> range           = this.ZoomRange.HasValue ? this.ZoomRange.Value : Scale.DefaultZoomRange;
            double         minimum         = range.Minimum;
            double         maximum         = range.Maximum;
            double         minPossibleZoom = this.GetMinPossibleZoom();
            double         maxPossibleZoom = this.GetMaxPossibleZoom();

            RangeHelper.BoxRangeInsideAnother(ref minimum, ref maximum, minPossibleZoom, maxPossibleZoom);
            this.ActualZoomRange = new Range <double>(minimum, maximum);
        }
Esempio n. 6
0
 internal override void BoxViewRange(ref double viewMinimum, ref double viewMaximum)
 {
     RangeHelper.BoxRangeInsideAnother(ref viewMinimum, ref viewMaximum, this.ActualMinimum, this.ActualMaximum);
 }