示例#1
0
        private void Input_MouseScroll(object sender, MouseScrollEventArgs e)
        {
            if (_hoveredControl != null)
            {
                Bubble(_hoveredControl, x => x.InvokeMouseScroll(e));

                var hover = FindControl(e.X, e.Y);
                var mme   = e.MouseMoveEvent;

                if (hover != _hoveredControl)
                {
                    if (hover == null || !hover.HasParent(_hoveredControl))
                    {
                        Bubble(_hoveredControl, x => x.InvokeMouseLeave(mme));
                    }
                }

                _hoveredControl = hover;

                if (_hoveredControl != null)
                {
                    Bubble(_hoveredControl, x => x.InvokeMouseEnter(mme));
                }
            }
        }
示例#2
0
        protected override void OnMouseScroll(MouseScrollEventArgs args)
        {
            VerticalScrollPosition -= args.Steps * ScrollSpeed;
            args.Handled            = true;

            base.OnMouseScroll(args);
        }
示例#3
0
 public override UIElement OnMouseScroll(MouseScrollEventArgs mouse)
 {
     UIElement intercept;
     foreach (UIElement child in Children)
         if ((intercept = child.OnMouseScroll(mouse)) != null)
             return intercept;
     return base.OnMouseScroll(mouse);
 }
示例#4
0
        void InputDevice_MouseScroll(object sender, MouseScrollEventArgs e)
        {
            var hovered = ui.GetHoveredFrame(Game.Mouse.Position);

            if (hovered != null)
            {
                hovered.OnMouseWheel(e.WheelDelta);
            }
        }
示例#5
0
文件: GameUI.cs 项目: VilRan/Legatus
 private void OnMouseScroll(object sender, MouseScrollEventArgs mouse)
 {
     foreach (UIElement child in Children)
     {
         if (child.OnMouseScroll(mouse) != null)
         {
             break;
         }
     }
 }
示例#6
0
        protected override void OnMouseScroll(MouseScrollEventArgs args)
        {
            if (!IsActiveScreen)
            {
                return;
            }

            Manager.Player.SlotLeftInput  = args.Steps > 0;
            Manager.Player.SlotRightInput = args.Steps < 0;
            args.Handled = true;
        }
示例#7
0
        public override UIElement OnMouseScroll(MouseScrollEventArgs mouse)
        {
            UIElement intercept = base.OnMouseScroll(mouse);

            if (intercept == this)
            {
                View.OnMouseScroll(new MouseScrollEventArgs(mouse.Position - Position, mouse.Delta, mouse.HeldKeys));
            }

            return(intercept);
        }
示例#8
0
 private void OnMouseComponentScroll(object sender, MouseScrollEventArgs e)
 {
     foreach (var module in InputModules)
     {
         var input = module as IInputModule;
         if (input != null)
         {
             if (input.MouseScroll(GameTime, e))
                 break;
         }
     }
 }
示例#9
0
 private void OnMouseScroll(object sender, MouseScrollEventArgs args)
 {
     if (args.Delta > 0)
     {
         FocusLevel += 1;
         Camera     += new Vector2(0, 32);
     }
     else if (args.Delta < 0)
     {
         FocusLevel -= 1;
         Camera     -= new Vector2(0, 32);
     }
 }
示例#10
0
        public override bool MouseScroll(GameTime gameTime, MouseScrollEventArgs e)
        {
            var selected = Game.Client.HotbarSelection;

            selected += e.DeltaValue > 0 ? -1 : 1;
            if (selected < 0)
            {
                selected = 8;
            }
            if (selected > 8)
            {
                selected = 0;
            }
            Game.Client.HotbarSelection = selected;
            return(true);
        }
示例#11
0
        protected override bool OnMouseScroll(MouseScrollEventArgs e)
        {
            var nextOffset = _scrollOffset - e.WheelDelta;

            // Clamp the offset
            if (nextOffset > _scrollHeight - _pageHeight)
            {
                nextOffset = _scrollHeight - _pageHeight;
            }
            if (nextOffset < 0)
            {
                nextOffset = 0;
            }

            _scrollOffset = nextOffset;

            return(base.OnMouseScroll(e));
        }
示例#12
0
        private void OnMouseComponentScroll(object sender, MouseScrollEventArgs e)
        {
            if (!IsActive)
            {
                return;
            }

            foreach (var module in InputModules)
            {
                if (!(module is IInputModule input))
                {
                    continue;
                }

                if (input.MouseScroll(GameTime, e))
                {
                    break;
                }
            }
        }
示例#13
0
        private static void flushEvents()
        {
            foreach (var evt in keyEventList)
            {
                switch (evt.Type)
                {
                case KeyEventType.Pressed: KeyPressed(evt.Type, evt.Key); break;

                case KeyEventType.Released: KeyReleased(evt.Type, evt.Key); break;

                case KeyEventType.Held: KeyHeld(evt.Type, evt.Key); break;
                }
            }
            foreach (var evt in buttonEventList)
            {
                switch (evt.Type)
                {
                case ButtonEventType.Pressed: ButtonPressed(evt.Type, evt.Button); break;

                case ButtonEventType.Released: ButtonReleased(evt.Type, evt.Button); break;

                case ButtonEventType.Clicked: ButtonClicked(evt.Type, evt.Button); break;

                case ButtonEventType.DoubleClicked: ButtonDoubleClicked(evt.Type, evt.Button); break;
                }
            }
            if (mouseMoveEvent.HasValue)
            {
                MouseMoveEventArgs args = mouseMoveEvent.Value;
                MouseMoved(args.Buttons, args.LastPoint, args.CurrPoint, args.IsDrag);
            }
            if (mouseScrollEvent.HasValue)
            {
                MouseScrollEventArgs args = mouseScrollEvent.Value;
                MouseScrolled(args.LastVal, args.CurrVal);
            }
            keyEventList.Clear();
            buttonEventList.Clear();
            mouseMoveEvent   = null;
            mouseScrollEvent = null;
        }
示例#14
0
文件: MapView.cs 项目: VilRan/Legatus
        public void OnMouseScroll(MouseScrollEventArgs mouse)
        {
            int sign = Math.Sign(mouse.Delta);
            int abs  = Math.Abs(mouse.Delta);

            for (int i = 0; i < abs; i++)
            {
                if (sign < 0)
                {
                    Zoom = Zoom * 0.999f;
                }
                else
                {
                    Zoom = Zoom / 0.999f;
                }
            }

            if (Zoom > 4f)
            {
                Zoom = 4f;
            }
        }
示例#15
0
 public abstract UIElement OnMouseScroll(MouseScrollEventArgs mouse);
示例#16
0
 protected virtual void OnMouseScroll(MouseScrollEventArgs args)
 {
 }
        /// <summary>
        /// Handling aller Eingaben, Mausbewegungen und Updaten aller Screens und Controls.
        /// </summary>
        /// <param name="gameTime"></param>
        public override void Update(GameTime gameTime)
        {
            if (Game.IsActive)
            {

                #region Mouse Interaction

                if (MouseEnabled)
                {
                    MouseState mouse = Mouse.GetState();

                    // Mausposition anhand des Mouse Modes ermitteln
                    Point mousePosition = mouse.Position;
                    if (MouseMode == MouseMode.Captured)
                        mousePosition = new Point(
                            mousePosition.X - (GraphicsDevice.Viewport.Width / 2),
                            mousePosition.Y - (GraphicsDevice.Viewport.Height / 2));

                    // Mouse Move
                    if (mousePosition != lastMousePosition)
                    {
                        MouseEventArgs moveArgs = new MouseEventArgs()
                        {
                            MouseMode = MouseMode,
                            GlobalPosition = mousePosition,
                            LocalPosition = mousePosition,
                        };

                        root.InternalMouseMove(moveArgs);
                        if (!moveArgs.Handled && MouseMove != null)
                            MouseMove(moveArgs);

                        // Start Drag Handling
                        if (mouse.LeftButton == ButtonState.Pressed &&
                            DraggingArgs == null)
                        {
                            DraggingArgs = new DragEventArgs()
                            {
                                GlobalPosition = mousePosition,
                                LocalPosition = mousePosition,
                            };

                            draggingId = null;

                            root.InternalStartDrag(DraggingArgs);
                            if (!DraggingArgs.Handled && StartDrag != null)
                                StartDrag(DraggingArgs);
                        }

                        // Drop move
                        if (mouse.LeftButton == ButtonState.Pressed &&
                            DraggingArgs != null &&
                            draggingId == null &&
                            DraggingArgs.Handled)
                        {
                            DragEventArgs args = new DragEventArgs()
                            {
                                GlobalPosition = mousePosition,
                                LocalPosition = mousePosition,
                                Content = DraggingArgs.Content,
                                Icon = DraggingArgs.Icon,
                                Sender = DraggingArgs.Sender
                            };

                            root.InternalDropMove(args);
                            if (!args.Handled && DropMove != null)
                                DropMove(args);
                        }
                    }

                    // Linke Maustaste
                    if (mouse.LeftButton == ButtonState.Pressed)
                    {
                        if (!lastLeftMouseButtonPressed)
                        {
                            MouseEventArgs leftDownArgs = new MouseEventArgs
                            {
                                MouseMode = MouseMode,
                                GlobalPosition = mousePosition,
                                LocalPosition = mousePosition
                            };

                            // Linke Maustaste wurde neu gedrückt
                            root.InternalLeftMouseDown(leftDownArgs);
                            if (!leftDownArgs.Handled && LeftMouseDown != null)
                                LeftMouseDown(leftDownArgs);
                        }
                        lastLeftMouseButtonPressed = true;
                    }
                    else
                    {
                        if (lastLeftMouseButtonPressed)
                        {
                            // Handle Drop
                            if (DraggingArgs != null && DraggingArgs.Handled)
                            {
                                DragEventArgs args = new DragEventArgs()
                                {
                                    GlobalPosition = mousePosition,
                                    LocalPosition = mousePosition,
                                    Content = DraggingArgs.Content,
                                    Icon = DraggingArgs.Icon,
                                    Sender = DraggingArgs.Sender
                                };

                                root.InternalEndDrop(args);
                                if (!args.Handled && EndDrop != null)
                                    EndDrop(args);
                            }

                            // Discard Dragging Infos
                            DraggingArgs = null;
                            draggingId = null;

                            // Linke Maustaste wurde losgelassen
                            MouseEventArgs leftClickArgs = new MouseEventArgs
                            {
                                MouseMode = MouseMode,
                                GlobalPosition = mousePosition,
                                LocalPosition = mousePosition
                            };

                            root.InternalLeftMouseClick(leftClickArgs);
                            if (!leftClickArgs.Handled && LeftMouseClick != null)
                                LeftMouseClick(leftClickArgs);

                            if (lastLeftClick.HasValue &&
                                gameTime.TotalGameTime - lastLeftClick.Value < TimeSpan.FromMilliseconds(DoubleClickDelay))
                            {
                                // Double Left Click
                                MouseEventArgs leftDoubleClickArgs = new MouseEventArgs
                                {
                                    MouseMode = MouseMode,
                                    GlobalPosition = mousePosition,
                                    LocalPosition = mousePosition
                                };

                                root.InternalLeftMouseDoubleClick(leftDoubleClickArgs);
                                if (!leftDoubleClickArgs.Handled && LeftMouseDoubleClick != null)
                                    LeftMouseDoubleClick(leftDoubleClickArgs);

                                lastLeftClick = null;
                            }
                            else
                            {
                                lastLeftClick = gameTime.TotalGameTime;
                            }

                            // Mouse Up
                            MouseEventArgs leftUpArgs = new MouseEventArgs
                            {
                                MouseMode = MouseMode,
                                GlobalPosition = mousePosition,
                                LocalPosition = mousePosition
                            };

                            root.InternalLeftMouseUp(leftUpArgs);
                            if (!leftUpArgs.Handled && LeftMouseUp != null)
                                LeftMouseUp(leftUpArgs);
                        }
                        lastLeftMouseButtonPressed = false;
                    }

                    // Rechte Maustaste
                    if (mouse.RightButton == ButtonState.Pressed)
                    {
                        if (!lastRightMouseButtonPressed)
                        {
                            // Rechte Maustaste neu gedrückt
                            MouseEventArgs rightDownArgs = new MouseEventArgs
                            {
                                MouseMode = MouseMode,
                                GlobalPosition = mousePosition,
                                LocalPosition = mousePosition
                            };

                            root.InternalRightMouseDown(rightDownArgs);
                            if (!rightDownArgs.Handled && RightMouseDown != null)
                                RightMouseDown(rightDownArgs);
                        }
                        lastRightMouseButtonPressed = true;
                    }
                    else
                    {
                        if (lastRightMouseButtonPressed)
                        {
                            // Rechte Maustaste losgelassen
                            MouseEventArgs rightClickArgs = new MouseEventArgs
                            {
                                MouseMode = MouseMode,
                                GlobalPosition = mousePosition,
                                LocalPosition = mousePosition
                            };
                            root.InternalRightMouseClick(rightClickArgs);
                            if (!rightClickArgs.Handled && RightMouseClick != null)
                                RightMouseClick(rightClickArgs);

                            if (lastRightClick.HasValue &&
                                gameTime.TotalGameTime - lastRightClick.Value < TimeSpan.FromMilliseconds(DoubleClickDelay))
                            {
                                // Double Left Click
                                MouseEventArgs rightDoubleClickArgs = new MouseEventArgs
                                {
                                    MouseMode = MouseMode,
                                    GlobalPosition = mousePosition,
                                    LocalPosition = mousePosition
                                };

                                root.InternalRightMouseDoubleClick(rightDoubleClickArgs);
                                if (!rightDoubleClickArgs.Handled && RightMouseDoubleClick != null)
                                    RightMouseDoubleClick(rightDoubleClickArgs);

                                lastRightClick = null;
                            }
                            else
                            {
                                lastRightClick = gameTime.TotalGameTime;
                            }

                            MouseEventArgs rightUpArgs = new MouseEventArgs
                            {
                                MouseMode = MouseMode,
                                GlobalPosition = mousePosition,
                                LocalPosition = mousePosition
                            };
                            root.InternalRightMouseUp(rightUpArgs);
                            if (!rightUpArgs.Handled && RightMouseUp != null)
                                RightMouseUp(rightUpArgs);
                        }
                        lastRightMouseButtonPressed = false;
                    }

                    // Mousewheel
                    if (lastMouseWheelValue != mouse.ScrollWheelValue)
                    {
                        int diff = (mouse.ScrollWheelValue - lastMouseWheelValue);

                        MouseScrollEventArgs scrollArgs = new MouseScrollEventArgs
                        {
                            MouseMode = MouseMode,
                            GlobalPosition = mousePosition,
                            LocalPosition = mousePosition,
                            Steps = diff
                        };
                        root.InternalMouseScroll(scrollArgs);
                        if (!scrollArgs.Handled && MouseScroll != null)
                            MouseScroll(scrollArgs);

                        lastMouseWheelValue = mouse.ScrollWheelValue;
                    }

                    // Potentieller Positionsreset
                    if (MouseMode == MouseMode.Free)
                    {
                        lastMousePosition = mouse.Position;
                    }
                    else if (mousePosition.X != 0 || mousePosition.Y != 0)
                    {
                        Mouse.SetPosition(GraphicsDevice.Viewport.Width / 2, GraphicsDevice.Viewport.Height / 2);
                    }
                }

                #endregion

                #region Keyboard Interaction

                if (KeyboardEnabled)
                {
                    KeyboardState keyboard = Keyboard.GetState();

                    bool shift = keyboard.IsKeyDown(Keys.LeftShift) | keyboard.IsKeyDown(Keys.RightShift);
                    bool ctrl = keyboard.IsKeyDown(Keys.LeftControl) | keyboard.IsKeyDown(Keys.RightControl);
                    bool alt = keyboard.IsKeyDown(Keys.LeftAlt) | keyboard.IsKeyDown(Keys.RightAlt);

                    KeyEventArgs args;
                    foreach (Keys key in Enum.GetValues(typeof(Keys)))
                    {
                        if (keyboard.IsKeyDown(key))
                        {
                            if (!pressedKeys.ContainsKey(key))
                            {
                                // Taste ist neu

                                args = new KeyEventArgs()
                                {
                                    Key = key,
                                    Shift = shift,
                                    Ctrl = ctrl,
                                    Alt = alt
                                };
                                root.InternalKeyDown(args);

                                if (!args.Handled)
                                {
                                    if (KeyDown != null)
                                        KeyDown(args);
                                }

                                args = new KeyEventArgs()
                                {
                                    Key = key,
                                    Shift = shift,
                                    Ctrl = ctrl,
                                    Alt = alt
                                };
                                root.InternalKeyPress(args);
                                pressedKeys.Add(key, gameTime.TotalGameTime.TotalMilliseconds + 500);

                                // Spezialfall Tab-Taste (falls nicht verarbeitet wurde)
                                if (key == Keys.Tab && !args.Handled)
                                {
                                    if (shift) root.InternalTabbedBackward();
                                    else root.InternalTabbedForward();
                                }
                            }
                            else
                            {
                                // Taste ist immernoch gedrückt
                                if (pressedKeys[key] <= gameTime.TotalGameTime.TotalMilliseconds)
                                {
                                    args = new KeyEventArgs()
                                    {
                                        Key = key,
                                        Shift = shift,
                                        Ctrl = ctrl,
                                        Alt = alt
                                    };
                                    root.InternalKeyPress(args);
                                    if (!args.Handled)
                                    {
                                        if (KeyPress != null)
                                            KeyPress(args);
                                    }
                                    pressedKeys[key] = gameTime.TotalGameTime.TotalMilliseconds + 50;
                                }
                            }
                        }
                        else
                        {
                            if (pressedKeys.ContainsKey(key))
                            {
                                // Taste losgelassen
                                args = new KeyEventArgs()
                                {
                                    Key = key,
                                    Shift = shift,
                                    Ctrl = ctrl,
                                    Alt = alt
                                };
                                root.InternalKeyUp(args);
                                pressedKeys.Remove(key);

                                if (!args.Handled)
                                {
                                    if (KeyUp != null)
                                        KeyUp(args);
                                }

                            }
                        }
                    }
                }

                #endregion

                #region Touchpanel Interaction

                if (TouchEnabled)
                {
                    TouchCollection touchPoints = TouchPanel.GetState();
                    foreach (var touchPoint in touchPoints)
                    {
                        Point point = touchPoint.Position.ToPoint();
                        TouchEventArgs args = new TouchEventArgs()
                        {
                            TouchId = touchPoint.Id,
                            GlobalPosition = point,
                            LocalPosition = point
                        };

                        switch (touchPoint.State)
                        {
                            case TouchLocationState.Pressed:
                                root.InternalTouchDown(args);
                                if (!args.Handled && TouchDown != null)
                                    TouchDown(args);
                                break;
                            case TouchLocationState.Moved:

                                // Touch Move
                                root.InternalTouchMove(args);
                                if (!args.Handled && TouchMove != null)
                                    TouchMove(args);

                                // Start Dragging
                                if (DraggingArgs == null)
                                {
                                    DraggingArgs = new DragEventArgs()
                                    {
                                        GlobalPosition = point,
                                        LocalPosition = point,
                                    };

                                    draggingId = touchPoint.Id;

                                    root.InternalStartDrag(DraggingArgs);
                                    if (!DraggingArgs.Handled && StartDrag != null)
                                        StartDrag(DraggingArgs);
                                }

                                // Drop move
                                if (DraggingArgs != null &&
                                    draggingId == touchPoint.Id &&
                                    DraggingArgs.Handled)
                                {
                                    DragEventArgs moveArgs = new DragEventArgs()
                                    {
                                        GlobalPosition = point,
                                        LocalPosition = point,
                                        Content = DraggingArgs.Content,
                                        Icon = DraggingArgs.Icon,
                                        Sender = DraggingArgs.Sender
                                    };

                                    root.InternalDropMove(moveArgs);
                                    if (!args.Handled && DropMove != null)
                                        DropMove(moveArgs);
                                }

                                break;
                            case TouchLocationState.Released:

                                // Handle Drop
                                if (DraggingArgs != null &&
                                    draggingId == touchPoint.Id &&
                                    DraggingArgs.Handled)
                                {
                                    DragEventArgs dropArgs = new DragEventArgs()
                                    {
                                        GlobalPosition = point,
                                        LocalPosition = point,
                                        Content = DraggingArgs.Content,
                                        Icon = DraggingArgs.Icon,
                                        Sender = DraggingArgs.Sender
                                    };

                                    root.InternalEndDrop(dropArgs);
                                    if (!args.Handled && EndDrop != null)
                                        EndDrop(dropArgs);
                                }

                                // Discard Dragging Infos
                                DraggingArgs = null;
                                draggingId = null;

                                // Linke Maustaste wurde losgelassen
                                TouchEventArgs tapArgs = new TouchEventArgs
                                {
                                    TouchId = touchPoint.Id,
                                    GlobalPosition = point,
                                    LocalPosition = point
                                };

                                root.InternalTouchTap(tapArgs);
                                if (!tapArgs.Handled && TouchTap != null)
                                    TouchTap(tapArgs);

                                if (lastTouchTap.HasValue &&
                                gameTime.TotalGameTime - lastLeftClick.Value < TimeSpan.FromMilliseconds(DoubleClickDelay))
                                {
                                    // Double Tap
                                    TouchEventArgs doubleTapArgs = new TouchEventArgs
                                    {
                                        TouchId = touchPoint.Id,
                                        GlobalPosition = point,
                                        LocalPosition = point
                                    };

                                    root.InternalTouchDoubleTap(doubleTapArgs);
                                    if (!doubleTapArgs.Handled && TouchDoubleTap != null)
                                        TouchDoubleTap(doubleTapArgs);

                                    lastTouchTap = null;
                                }
                                else
                                {
                                    lastTouchTap = gameTime.TotalGameTime;
                                }

                                root.InternalTouchUp(args);
                                if (!args.Handled && TouchUp != null)
                                    TouchUp(args);
                                break;
                        }
                    }
                }

                #endregion
            }

            #region Recalculate Sizes

            if (root.HasInvalidDimensions())
            {
                Point available = new Point(GraphicsDevice.Viewport.Width, GraphicsDevice.Viewport.Height);
                Point required = root.GetExpectedSize(available);
                root.SetActualSize(available);
            }

            root.Update(gameTime);

            #endregion

            #region Form anpassen

            string screentitle = ActiveScreen != null ? ActiveScreen.Title : string.Empty;
            string windowtitle = TitlePrefix + (string.IsNullOrEmpty(screentitle) ? "" : " - " + screentitle);

            if (Game.Window != null && Game.Window.Title != windowtitle)
                Game.Window.Title = windowtitle;

            #endregion
        }
示例#18
0
 public virtual bool MouseScroll(MouseScrollEventArgs e)
 {
     return(false);
 }
示例#19
0
 public void OnMouseScroll(MouseScrollEventArgs mouse)
 {
 }
示例#20
0
 public void FireMouseScroll(MouseScrollEventArgs e)
 {
     MouseScroll?.Invoke(this, e);
 }
示例#21
0
 public virtual bool MouseScroll(GameTime gameTime, MouseScrollEventArgs e)
 {
     return(false);
 }
示例#22
0
        protected override void OnMouseScroll(MouseScrollEventArgs args)
        {
            if (!IsActiveScreen) return;

            Manager.Player.SlotLeftInput = args.Steps > 0;
            Manager.Player.SlotRightInput = args.Steps < 0;
            args.Handled = true;
        }
示例#23
0
        internal bool InternalMouseScroll(MouseScrollEventArgs args)
        {
            // Ignorieren, falls nicht im Control-Bereich
            Point size = ActualSize;
            if (args.LocalPosition.X < 0 || args.LocalPosition.X >= size.X ||
                args.LocalPosition.Y < 0 || args.LocalPosition.Y >= size.Y)
                return false;

            // Ignorieren, falls nicht gehovered
            if (!Visible) return false;

            // Ignorieren, falls ausgeschaltet
            if (!Enabled) return true;

            // Children first (Order by Z-Order)
            foreach (var child in Children.InZOrder())
            {
                args.LocalPosition = CalculateLocalPosition(args.GlobalPosition, child);
                args.Bubbled = child.InternalMouseScroll(args) || args.Bubbled;
                if (args.Handled) break;
            }

            // Lokales Events
            if (!args.Handled)
            {
                args.LocalPosition = CalculateLocalPosition(args.GlobalPosition, this);
                OnMouseScroll(args);
                if (MouseScroll != null)
                    MouseScroll(this, args);
            }

            return Background != null;
        }
示例#24
0
 public override bool MouseScroll(MouseScrollEventArgs e)
 {
     return(_currentScene?.MouseScroll(e) ?? false);
 }
示例#25
0
 public override UIElement OnMouseScroll(MouseScrollEventArgs mouse)
 {
     return(CheckIntercept(mouse.Position));
 }
示例#26
0
        internal void InternalMouseScroll(MouseScrollEventArgs args)
        {
            // Ignorieren, falls nicht gehovered
            if (Hovered == TreeState.None || !Visible || !Enabled) return;

            // Children first (Order by Z-Order)
            foreach (var child in Children.InZOrder())
            {
                args.LocalPosition = CalculateLocalPosition(args.GlobalPosition, child);
                child.InternalMouseScroll(args);
                if (args.Handled) break;
            }

            // Lokales Events
            if (!args.Handled)
            {
                args.LocalPosition = CalculateLocalPosition(args.GlobalPosition, this);
                OnMouseScroll(args);
                if (MouseScroll != null)
                    MouseScroll(this, args);
            }
        }
示例#27
0
 public override UIElement OnMouseScroll(MouseScrollEventArgs mouse)
 {
     return(null);
 }
示例#28
0
        public override void OnMouseScroll(MouseScrollEventArgs args)
        {
            browser.MouseScroll((int)(args.Position.X - 10), (int)(args.Position.Y - 10), (int)args.OffsetX, (int)args.OffsetY);

            args.Handled = true;
        }
示例#29
0
        protected override void OnMouseScroll(MouseScrollEventArgs args)
        {
            VerticalScrollPosition -= args.Steps / 5;
            args.Handled = true;

            base.OnMouseScroll(args);
        }