# :stopdoc:
# This file is automatically generated by the WXRuby3 documentation 
# generator. Do not alter this file.
# :startdoc:


module Wx

  # Symbolic names for the mouse buttons.
  # 
  # 
  # 
  class MouseButton < Wx::Enum
  
    # Any mouse button, means to check for any button being pressed for example.
    # 
    MOUSE_BTN_ANY = Wx::MouseButton.new(-1)
    
    # None of the mouse buttons.
    # 
    MOUSE_BTN_NONE = Wx::MouseButton.new(0)
    
    # Left mouse button.
    # 
    MOUSE_BTN_LEFT = Wx::MouseButton.new(1)
    
    # Middle mouse button.
    # 
    MOUSE_BTN_MIDDLE = Wx::MouseButton.new(2)
    
    # Right mouse button.
    # 
    MOUSE_BTN_RIGHT = Wx::MouseButton.new(3)
    
    # First additional mouse button.
    # 
    MOUSE_BTN_AUX1 = Wx::MouseButton.new(4)
    
    # Second additional mouse button.
    # 
    MOUSE_BTN_AUX2 = Wx::MouseButton.new(5)
    
    # 
    # 
    MOUSE_BTN_MAX = Wx::MouseButton.new(6)
    
  end # MouseButton
  
  # Represents the mouse state.
  # This class is used as a base class by {Wx::MouseEvent} and so its methods may be used to obtain information about the mouse state for the mouse events. It also inherits from {Wx::KeyboardState} and so carries information about the keyboard state and not only the mouse one.
  # This class is implemented entirely inline in <{Wx::/mousestate.h}> and thus has no linking requirements.
  # === 
  # 
  # Category:  {Wx::Events}
  # @see get_mouse_state
  # @see  Wx::MouseEvent 
  # 
  # 
  # 
  # @note This class is <b>untracked</b> and should not be derived from nor instances extended!
  class MouseState < KeyboardState
  
    # Returns the physical mouse position.
    # @return [Wx::Point]
    def get_position; end
    alias_method :position, :get_position
    
    # Default constructor.
    # @return [Wx::MouseState]
    def initialize; end
    
    # Returns X coordinate of the physical mouse event position.
    # @return [Integer]
    def get_x; end
    alias_method :x, :get_x
    
    # Returns Y coordinate of the physical mouse event position.
    # @return [Integer]
    def get_y; end
    alias_method :y, :get_y
    
    # Returns true if the left mouse button is currently down.
    # @return [Boolean]
    def left_is_down; end
    
    # Returns true if the middle mouse button is currently down.
    # @return [Boolean]
    def middle_is_down; end
    
    # Returns true if the right mouse button is currently down.
    # @return [Boolean]
    def right_is_down; end
    
    # Returns true if the first extra button mouse button is currently down.
    # @return [Boolean]
    def aux1is_down; end
    
    # Returns true if the second extra button mouse button is currently down.
    # @return [Boolean]
    def aux2is_down; end
    
    # @param x [Integer] 
    # @return [void]
    def set_x(x) end
    alias_method :x=, :set_x
    
    # @param y [Integer] 
    # @return [void]
    def set_y(y) end
    alias_method :y=, :set_y
    
    # @param pos [Array(Integer, Integer), Wx::Point] 
    # @return [void]
    def set_position(pos) end
    alias_method :position=, :set_position
    
    # @param down [Boolean] 
    # @return [void]
    def set_left_down(down) end
    alias_method :left_down=, :set_left_down
    
    # @param down [Boolean] 
    # @return [void]
    def set_middle_down(down) end
    alias_method :middle_down=, :set_middle_down
    
    # @param down [Boolean] 
    # @return [void]
    def set_right_down(down) end
    alias_method :right_down=, :set_right_down
    
    # @param down [Boolean] 
    # @return [void]
    def set_aux1down(down) end
    alias_method :aux1down=, :set_aux1down
    
    # @param down [Boolean] 
    # @return [void]
    def set_aux2down(down) end
    alias_method :aux2down=, :set_aux2down
    
    # @param state [Wx::MouseState] 
    # @return [void]
    def set_state(state) end
    alias_method :state=, :set_state
    
  end # MouseState
  

end