예제 #1
0
        private bool InitializeMoveParameter()
        {
            bool           rangeChanged = false;
            EasyChartXAxis xAxis        = (EasyChartXAxis.PlotAxis.Primary == _xAxis)
                ? _parentPlotArea.AxisX
                : _parentPlotArea.AxisX2;
            EasyChartXAxis yAxis = (EasyChartXAxis.PlotAxis.Primary == _yAxis)
                ? _parentPlotArea.AxisY
                : _parentPlotArea.AxisY2;

            if (Math.Abs(_xMax - xAxis.ViewMaximum) > Constants.MinDoubleValue || Math.Abs(_yMax - yAxis.ViewMaximum) > Constants.MinDoubleValue ||
                Math.Abs(_xMin - xAxis.ViewMinimum) > Constants.MinDoubleValue || Math.Abs(_yMin - yAxis.ViewMinimum) > Constants.MinDoubleValue)
            {
                _xMax        = xAxis.ViewMaximum;
                _yMax        = yAxis.ViewMaximum;
                _xMin        = xAxis.ViewMinimum;
                _yMin        = yAxis.ViewMinimum;
                rangeChanged = true;
            }
            _xAxisRatio = _adapter.PlotRealWidth / (_xMax - _xMin);
            _yAxisRatio = _adapter.PlotRealHeight / (_yMin - _yMax);

            int sizeOffset = (MarkerSize - 1) / 2;

            _xOffset = _adapter.PlotRealX - sizeOffset;
            _yOffset = _adapter.PlotRealY - sizeOffset;
            return(rangeChanged);
        }
예제 #2
0
 public AxisSynchronizer(EasyChartXAxis masterAxis, EasyChartXAxis slaveAxis)
 {
     this._masterAxis  = masterAxis;
     this._slaveAxis   = slaveAxis;
     this._shrinkRatio = 1;
     this._offset      = 0;
     this.NeedSync     = false;
 }