Beispiel #1
0
 /// <summary>
 /// Construct new AutoScroll object that will scroll the given target object within it's container
 /// by attaching to the mouse events of the container.
 /// </summary>
 /// <param name="target">The target object to scroll</param>
 /// <param name="zoom">The master MapZoom object that manages the actual render transform</param>
 public AutoScroll(FrameworkElement target, MapZoom zoom)
 {
     _container             = target.Parent as Panel;
     _target                = target;
     _container.MouseDown  += new MouseButtonEventHandler(OnMouseDown);
     _container.MouseMove  += new MouseEventHandler(OnMouseMove);
     _container.MouseWheel += new MouseWheelEventHandler(OnMouseWheel);
     Keyboard.AddKeyDownHandler(_container, new KeyEventHandler(OnKeyDown));
     _fszoom = zoom;
 }
Beispiel #2
0
 /// <summary>
 /// Construct new RectangleSelectionGesture object for selecting things in the given target object.
 /// </summary>
 /// <param name="target">A FrameworkElement</param>
 /// <param name="zoom">The MapZoom object that wraps this same target object</param>
 public RectangleSelectionGesture(FrameworkElement target, MapZoom zoom, ModifierKeys mods)
 {
     _mods      = mods;
     _target    = target;
     _container = target.Parent as Panel;
     if (_container == null)
     {
         throw new ArgumentException("Target object must live in a Panel");
     }
     _fszoom = zoom;
     _container.MouseLeftButtonDown += new MouseButtonEventHandler(OnMouseLeftButtonDown);
     _container.MouseLeftButtonUp   += new MouseButtonEventHandler(OnMouseLeftButtonUp);
     _container.MouseMove           += new MouseEventHandler(OnMouseMove);
 }
Beispiel #3
0
        /// <summary>
        /// Construct new Pan gesture object.
        /// </summary>
        /// <param name="target">The target to be panned, must live inside a container Panel</param>
        /// <param name="zoom"></param>
        public Pan(FrameworkElement targetImage, DependencyObject parent, MapZoom zoom)
        {
            this._targetImage = targetImage;

            this._container = parent as Panel;
            if (this._container == null)
            {
                // todo: localization
                throw new ArgumentException("Target object must live in a Panel");
            }
            this._fszoom = zoom;
            _container.MouseLeftButtonDown += new MouseButtonEventHandler(OnMouseLeftButtonDown);
            _container.MouseLeftButtonUp   += new MouseButtonEventHandler(OnMouseLeftButtonUp);
            _container.MouseMove           += new MouseEventHandler(OnMouseMove);
        }