Example #1
0
        public void OnUpdate(ZoomEngine engine, Matrix transform)
        {
            double panX = Context.FromPixels(engine.PanX);
            double panY = Context.FromPixels(engine.PanY);

            Element.SetScrolledPosition(panX, panY);
        }
Example #2
0
        private void _framePreview_MouseWheel(object sender, MouseWheelEventArgs e)
        {
            if (e.LeftButton == MouseButtonState.Pressed || e.RightButton == MouseButtonState.Pressed)
            {
                return;
            }

            ZoomEngine.Zoom(e.Delta);

            Point mousePosition = e.GetPosition(_primary);

            // The relative center must be moved as well!
            double diffX = mousePosition.X / _primary.ActualWidth - _relativeCenter.X;
            double diffY = mousePosition.Y / _primary.ActualHeight - _relativeCenter.Y;

            _relativeCenter.X = mousePosition.X / _primary.ActualWidth - diffX / ZoomEngine.OldScale * ZoomEngine.Scale;
            _relativeCenter.Y = mousePosition.Y / _primary.ActualHeight - diffY / ZoomEngine.OldScale * ZoomEngine.Scale;

            _cbZoom.SelectedIndex = -1;
            _cbZoom.Text          = _zoomEngine.ScaleText;
            SizeUpdate();
        }
Example #3
0
 public void OnIdle(ZoomEngine engine)
 {
     Element.SendScrollFinished();
 }
Example #4
0
 internal void ReloadSettings()
 {
     _zoomEngine = new ZoomEngine {
         ZoomInMultiplier = _settings.ZoomInMultipler
     };
 }