public bool AnyButtonIsDown(gxtMouseButton[] buttons) { for (int i = 0; i < buttons.Length; ++i) { if (IsDown(buttons[i])) return true; } return false; }
/// <summary> /// Button up on this frame? /// </summary> /// <param name="button">Mouse Button</param> /// <returns>If up</returns> public bool IsUp(gxtMouseButton button) { return !IsDown(button); }
/// <summary> /// Gets the state of mouse button /// </summary> /// <param name="button">Mouse Button</param> /// <returns>State</returns> public gxtControlState GetState(gxtMouseButton button) { // LEFT if (button == gxtMouseButton.LEFT) { if (cur.LeftButton == ButtonState.Pressed) { if (prev.LeftButton == ButtonState.Pressed) return gxtControlState.DOWN; else return gxtControlState.FIRST_PRESSED; } else { if (prev.LeftButton == ButtonState.Pressed) return gxtControlState.FIRST_RELEASED; else return gxtControlState.UP; } } // RIGHT else if (button == gxtMouseButton.RIGHT) { if (cur.RightButton == ButtonState.Pressed) { if (prev.RightButton == ButtonState.Pressed) return gxtControlState.DOWN; else return gxtControlState.FIRST_PRESSED; } else { if (prev.RightButton == ButtonState.Pressed) return gxtControlState.FIRST_RELEASED; else return gxtControlState.UP; } } // MIDDLE else if (button == gxtMouseButton.MIDDLE) { if (cur.MiddleButton == ButtonState.Pressed) { if (prev.MiddleButton == ButtonState.Pressed) return gxtControlState.DOWN; else return gxtControlState.FIRST_PRESSED; } else { if (prev.MiddleButton == ButtonState.Pressed) return gxtControlState.FIRST_RELEASED; else return gxtControlState.UP; } } // SIDE1 else if (button == gxtMouseButton.SIDE1) { if (cur.XButton1 == ButtonState.Pressed) { if (prev.XButton1 == ButtonState.Pressed) return gxtControlState.DOWN; else return gxtControlState.FIRST_PRESSED; } else { if (prev.XButton1 == ButtonState.Pressed) return gxtControlState.FIRST_RELEASED; else return gxtControlState.UP; } } // SIDE2 else if (button == gxtMouseButton.SIDE2) { if (cur.XButton2 == ButtonState.Pressed) { if (prev.XButton2 == ButtonState.Pressed) return gxtControlState.DOWN; else return gxtControlState.FIRST_PRESSED; } else { if (prev.XButton2 == ButtonState.Pressed) return gxtControlState.FIRST_RELEASED; else return gxtControlState.UP; } } // NOT IMPLEMENTED -- ASSERT else { gxtDebug.Assert(false, "The Mouse Button: " + button.ToString() + " has not been implemented in GetState()"); return gxtControlState.UP; // will not be reached in debug mode } }
/// <summary> /// Button down on this frame? /// </summary> /// <param name="button">Mouse Button</param> /// <returns>If down</returns> public bool IsDown(gxtMouseButton button) { if (button == gxtMouseButton.LEFT) return cur.LeftButton == ButtonState.Pressed; else if (button == gxtMouseButton.RIGHT) return cur.RightButton == ButtonState.Pressed; else if (button == gxtMouseButton.MIDDLE) return cur.MiddleButton == ButtonState.Pressed; else if (button == gxtMouseButton.SIDE1) return cur.XButton1 == ButtonState.Pressed; else return cur.XButton2 == ButtonState.Pressed; }
public bool AnyButtonIsFirstPressed(gxtMouseButton[] buttons) { for (int i = 0; i < buttons.Length; ++i) { if (GetState(buttons[i]) == gxtControlState.FIRST_PRESSED) return true; } return false; }