コード例 #1
0
        protected override void UpdateViewPort()
        {
            var region = FindViewPortValuesRange();

            ViewPortValues = GetViewPortValues(region);
            ViewPortChanged?.Invoke(this);
        }
コード例 #2
0
        protected override void UpdateViewPort()
        {
            var region = FindManagedViewPortValuesRange(ViewPortMinValue, ViewPortMaxValue);

            ManagedViewPortValues = GetManagedViewPortValues(region);
            region = FindUnmanagedViewPortValuesRange(ViewPortMinValue, ViewPortMaxValue);
            UnmanagedViewPortValues = GetUnmanagedViewPortValues(region);

            ViewPortChanged?.Invoke(this);
        }
コード例 #3
0
        public void SetViewPort(int x, int y)
        {
            int oldX = this.ViewPortX;
            int oldY = this.ViewPortY;

            this.ViewPortX = Math.Max(Math.Min(-x, 0), -1 * (MaxGridSize - this.ViewPortWidth));
            this.ViewPortY = Math.Max(Math.Min(-y, 0), -1 * (MaxGridSize - this.ViewPortHeight));

            if (this.ViewPortX != oldX || this.ViewPortY != oldY)
            {
                ViewPortChanged?.Invoke(this, EventArgs.Empty);
            }
        }
コード例 #4
0
        protected override void UpdateViewPort()
        {
            ViewPortValues.Clear();

            foreach (var s in _series)
            {
                var region = FindViewPortValuesRange(s.Values, ViewPortMinValue, ViewPortMaxValue);
                var values = GetViewPortValues(s.Values, region);
                ViewPortValues.Add(new SeriesData
                {
                    DataTypeId   = s.DataTypeId,
                    DataTypeName = s.DataTypeName,
                    Values       = values
                });
            }

            ViewPortChanged?.Invoke(this);
        }
コード例 #5
0
        public void Zoom(float delta)
        {
            // Don't let the apature become negative
            if (delta < 0.0f && (Apature.X <= -(delta * _aspectRatio) || Apature.Y <= -delta))
            {
                return;
            }

            Point aspectScale = new Point(_aspectRatio, 1.0f);
            Point scaledDelta = aspectScale * delta;

            float zoomFactor = Apature.Y / ViewSize.Y;

            scaledDelta *= zoomFactor;

            Apature   += scaledDelta;
            _location -= Point.ComponentWiseMul(scaledDelta, _yFlip) * 0.5f;

            ViewPortChanged?.Invoke();
        }
コード例 #6
0
 public void Dragging(double screenX, double screenY)
 {
     _draggable.Dragging(screenX, screenY);
     ViewPortChanged?.Invoke();
 }
コード例 #7
0
        public void OnViewPortChanged(Rectangle newSize)
        {
            ViewPort = newSize;

            ViewPortChanged?.Invoke(this, EventArgs.Empty);
        }