public override void OnMouseScroll(MouseScrollDirection direction, int scrollValue, GameTime gameTime) { if (_menu.Focused) { _menu.OnMouseScroll(direction, scrollValue, gameTime); return; } if (direction == MouseScrollDirection.Down) { _currentZLevel += 1; if (_currentZLevel >= _zLevels.Count) { _currentZLevel = _zLevels.Count - 1; } Camera.Z = _zLevels[_currentZLevel]; Camera.CheckBoundingBox(); } else { _currentZLevel -= 1; if (_currentZLevel < 0) { _currentZLevel = 0; } Camera.Z = _zLevels[_currentZLevel]; Camera.CheckBoundingBox(); } }
public override bool MouseScrolled(Rectangle mouseBounds, MouseScrollDirection direction) { if (!mouseBounds.Intersects(Bounds)) { return(base.MouseScrolled(mouseBounds, direction)); } switch (direction) { case MouseScrollDirection.Up: ScrollLine(1); break; case MouseScrollDirection.Down: ScrollLine(-1); break; default: throw new ArgumentOutOfRangeException(nameof(direction), direction, null); } return(base.MouseScrolled(mouseBounds, direction)); }
/// <summary> /// Creates a new instance of <see cref="MouseInput"/>. /// </summary> public MouseInput() { this.heldTimeByButton = new Dictionary<MouseButton, double>(); this.previousButtons = new HashSet<MouseButton>(); this.currentScrollDirection = MouseScrollDirection.None; this.previousScrollValue = 0; this.mousePosition = new MPoint2(0, 0); }
private void BuildMouseEvent(MouseState state, MouseButton button, MouseScrollDirection direction, ref MouseEventArgs e) { BuildMouseEvent(state, button, ref e); e.ScrollDirection = direction; }
public void OnMouseScroll(MouseScrollDirection direction, int scrollValue, GameTime gameTime) { if (!Active) { return; } SceneFrames.OnMouseScroll(direction, scrollValue, gameTime); }
//////////////////////////////////////////////////////////////////////////// private void UpdateMouse(MouseState state, GameTime gameTime) { #if (!XBOX && !XBOX_FAKE) if ((state.X != mouseState.X) || (state.Y != mouseState.Y)) { MouseEventArgs e = new MouseEventArgs(); MouseButton btn = MouseButton.None; if (state.LeftButton == ButtonState.Pressed) { btn = MouseButton.Left; } else if (state.RightButton == ButtonState.Pressed) { btn = MouseButton.Right; } else if (state.MiddleButton == ButtonState.Pressed) { btn = MouseButton.Middle; } else if (state.XButton1 == ButtonState.Pressed) { btn = MouseButton.XButton1; } else if (state.XButton2 == ButtonState.Pressed) { btn = MouseButton.XButton2; } BuildMouseEvent(state, btn, ref e); if (MouseMove != null) { MouseMove.Invoke(this, e); } } // Mouse wheel position changed if (state.ScrollWheelValue != mouseState.ScrollWheelValue) { MouseEventArgs e = new MouseEventArgs(); MouseScrollDirection direction = state.ScrollWheelValue < mouseState.ScrollWheelValue ? MouseScrollDirection.Down : MouseScrollDirection.Up; BuildMouseEvent(state, MouseButton.None, direction, ref e); if (MouseScroll != null) { MouseScroll.Invoke(this, e); } } UpdateButtons(state, gameTime); mouseState = state; #endif }
public bool OnMouseScroll(MouseScrollDirection direction, int scrollValue, GameTime gameTime) { for (int i = 0; i < _widgets.Count; i++) { if (_widgets[i].OnMouseScroll(direction, scrollValue, gameTime)) { return(true); } } return(false); }
public MouseScrollEventArgs(MouseScrollDirection direction) { Direction = direction; }
public virtual bool OnMouseScroll(MouseScrollDirection direction, int scrollValue, GameTime gameTime) { return(Widgets.OnMouseScroll(direction, scrollValue, gameTime)); }
public virtual bool MouseScrolled(Rectangle mouseBounds, MouseScrollDirection direction) => _children.Any(child => child.MouseScrolled(mouseBounds, direction));
public virtual bool OnMouseScroll(MouseScrollDirection direction, int scrollValue, GameTime gameTime) { return(false); }
/// <summary> /// Invokes the <see cref="MouseScrollDataReceived" /> event which the <see cref="IInputService" /> listens to as long /// as this provider is registered /// </summary> /// <param name="device">The device that triggered the event</param> /// <param name="direction">The direction in which was scrolled</param> /// <param name="delta">The scroll delta (can positive or negative)</param> protected virtual void OnMouseScrollDataReceived(ArtemisDevice?device, MouseScrollDirection direction, int delta) { MouseScrollDataReceived?.Invoke(this, new InputProviderMouseScrollEventArgs(device, direction, delta)); }
/// <summary> /// Updates the component with the specified seconds since last update. /// </summary> /// <param name="seconds">The amount of seconds since last update.</param> public void Update(double seconds) { MouseState currentState = Mouse.GetState(); // Buttons this.previousButtons.Clear(); this.previousButtons.UnionWith(heldTimeByButton.Keys); this.UpdateButton(MouseButton.Left, currentState.LeftButton == ButtonState.Pressed, seconds); this.UpdateButton(MouseButton.Middle, currentState.MiddleButton == ButtonState.Pressed, seconds); this.UpdateButton(MouseButton.Right, currentState.RightButton == ButtonState.Pressed, seconds); this.UpdateButton(MouseButton.XButton1, currentState.XButton1 == ButtonState.Pressed, seconds); this.UpdateButton(MouseButton.XButton2, currentState.XButton2 == ButtonState.Pressed, seconds); // Scroll wheel if (currentState.ScrollWheelValue > previousScrollValue) { this.currentScrollDirection = MouseScrollDirection.Up; } else if (currentState.ScrollWheelValue < previousScrollValue) { this.currentScrollDirection = MouseScrollDirection.Down; } else { this.currentScrollDirection = MouseScrollDirection.None; } this.previousScrollValue = currentState.ScrollWheelValue; // Mouse position this.deltaPosition = this.mousePosition; if (this.VirtualMouseEnabled) { this.mousePosition += new MPoint2(currentState.X, currentState.Y); Mouse.SetPosition(this.ScreenSize.X / 2, ScreenSize.Y / 2); this.mousePosition = new MRectangleInt(ScreenSize.X, ScreenSize.Y).Clamp(this.mousePosition); } else { this.mousePosition = new MPoint2(currentState.X, currentState.Y); } this.deltaPosition = this.mousePosition - this.deltaPosition; }
//////////////////////////////////////////////////////////////////////////// /// <summary> /// Creates a new initialized instace of the MouseEventArgs class. /// <param name="state">Mouse state at the time of the event.</param> /// <param name="button">Mouse button state at the time of the event.</param> /// <param name="position">Mosue cursor position at the time of the event.</param> /// <param name="scrollDirection">Mouse scroll direction at the time of the event.</param> public MouseEventArgs(MouseState state, MouseButton button, Point position, MouseScrollDirection scrollDirection) : this(state, button, position) { ScrollDirection = scrollDirection; }
} // OnMouseClicked public void OnMouseScroll(MouseScrollDirection direction, int scrollValue, GameTime gameTime) { }
public MouseEventArgs(MouseEventArgs e) : this(e.State, e.Button, e.Position) { Difference = e.Difference; ScrollDirection = e.ScrollDirection; }
/// <summary> /// </summary> /// <param name="device">The device that triggered the event</param> /// <param name="direction">The direction in which was scrolled</param> /// <param name="delta">The scroll delta (can positive or negative)</param> internal ArtemisMouseScrollEventArgs(ArtemisDevice?device, MouseScrollDirection direction, int delta) { Device = device; Direction = direction; Delta = delta; }
/// <summary> /// Creates a clone of an existing MouseEventArgs object. /// </summary> /// <param name="e"></param> public MouseEventArgs(MouseEventArgs e) { State = e.State; Button = e.Button; Position = e.Position; Difference = e.Difference; ScrollDirection = e.ScrollDirection; }
/// <summary> /// Creates a new initialized instace of the MouseEventArgs class. /// </summary> /// <param name="state">Mouse state at the time of the event.</param> /// <param name="button">Mouse button state at the time of the event.</param> /// <param name="position">Mosue cursor position at the time of the event.</param> /// <param name="scrollDirection">Mouse scroll direction at the time of the event.</param> public MouseEventArgs(MouseState state, MouseButton button, Point position, MouseScrollDirection scrollDirection) { State = state; Button = button; Position = position; ScrollDirection = scrollDirection; }
//////////////////////////////////////////////////////////////////////////// public MouseEventArgs(MouseEventArgs e) : this(e.State, e.Button, e.Position) { Difference = e.Difference; ScrollDirection = e.ScrollDirection; }
/// <param name="scrollDirection">Mouse scroll direction at the time of the event.</param> /// <param name="position">Mosue cursor position at the time of the event.</param> /// <param name="button">Mouse button state at the time of the event.</param> /// <param name="state">Mouse state at the time of the event.</param> /// Creates a new initialized instace of the MouseEventArgs class. /// </summary> public MouseEventArgs(MouseState state, MouseButton button, Point position, MouseScrollDirection scrollDirection) : this(state, button, position) { ScrollDirection = scrollDirection; }
/// <summary> /// </summary> /// <param name="device">The device that triggered the event</param> /// <param name="direction">The direction in which was scrolled</param> /// <param name="delta">The scroll delta (can positive or negative)</param> public InputProviderMouseScrollEventArgs(ArtemisDevice?device, MouseScrollDirection direction, int delta) { Device = device; Direction = direction; Delta = delta; }
public override void OnMouseScroll(MouseScrollDirection direction, int scrollValue, GameTime gameTime) { _menu.OnMouseScroll(direction, scrollValue, gameTime); }
/// <summary> /// Returns whether the mouse was scrolled in the specified direction. /// </summary> /// <param name="direction">Enumerated value specifying the direction to query.</param> /// <returns>True if the specified direction was scrolled; false otherwise.</returns> public bool IsMouseScrolled(MouseScrollDirection direction) { return direction == this.currentScrollDirection; }
//////////////////////////////////////////////////////////////////////////// private void BuildMouseEvent(MouseState state, MouseButton button, MouseScrollDirection direction, ref MouseEventArgs e) { BuildMouseEvent(state, button, ref e); e.ScrollDirection = direction; }
public XMouseScrollArgs(int direction) { m_eScrollDirection = (MouseScrollDirection)direction; }