Ejemplo n.º 1
0
        private void finishMouseDragging()
        {
            if (!mouseDragging)
            {
                return;
            }

            using (plot.SuspendEvents())
            {
                AdvancedRect dataArea = plot.DataArea;

                if (zoomingPlotArea || zoomingXAxis)
                {
                    double newMin = plot.XAxis.CoordinateToData(selectionRect.TopLeft.X, dataArea);
                    double newMax = plot.XAxis.CoordinateToData(selectionRect.BottomRight.X, dataArea);
                    plot.XAxis.ZoomedMinimum = newMin;
                    plot.XAxis.ZoomedMaximum = newMax;

                    if (zoomingPlotArea)
                    {
                        foreach (KeyValuePair <string, NumericYAxis> kv in plot.YAxes)
                        {
                            NumericYAxis y = kv.Value;
                            newMax          = y.CoordinateToData(selectionRect.TopLeft.Y, dataArea);
                            newMin          = y.CoordinateToData(selectionRect.BottomRight.Y, dataArea);
                            y.ZoomedMinimum = newMin;
                            y.ZoomedMaximum = newMax;
                        }
                    }
                }
                else if (zoomingYAxis != null)
                {
                    double newMax = zoomingYAxis.CoordinateToData(selectionRect.TopLeft.Y, dataArea);
                    double newMin = zoomingYAxis.CoordinateToData(selectionRect.BottomRight.Y, dataArea);
                    zoomingYAxis.ZoomedMinimum = newMin;
                    zoomingYAxis.ZoomedMaximum = newMax;
                }

                selectionBr.Dispose();
                selectionBr   = null;
                mouseDragging = false;

                disableZoom();
            }
        }