Class GlfwMouseInput

All Implemented Interfaces:
Input, MouseInput

public class GlfwMouseInput extends Object implements MouseInput
Captures mouse input using GLFW callbacks. It then temporarily stores these in event queues which are processed in the update() method. Due to some of the GLFW button IDs, there is a conversion method in this class which will convert the GLFW left, middle and right mouse button to JME3 left, middle and right button codes.
  • Constructor Details

    • GlfwMouseInput

      public GlfwMouseInput(LwjglWindow context)
  • Method Details

    • initialize

      public void initialize()
      Description copied from interface: Input
      Initializes the native side to listen into events from the device.
      Specified by:
      initialize in interface Input
    • resetContext

      public void resetContext()
      Re-initializes the mouse input context window specific callbacks
    • isInitialized

      public boolean isInitialized()
      Specified by:
      isInitialized in interface Input
      True if the device has been initialized and not destroyed.
      See Also:
    • getButtonCount

      public int getButtonCount()
      Description copied from interface: MouseInput
      Returns the number of buttons the mouse has. Typically 3 for most mice.
      Specified by:
      getButtonCount in interface MouseInput
      the number of buttons the mouse has.
    • update

      public void update()
      Description copied from interface: Input
      Queries the device for input. All events should be sent to the RawInputListener set with setInputListener.
      Specified by:
      update in interface Input
      See Also:
    • destroy

      public void destroy()
      Description copied from interface: Input
      Ceases listening to events from the device.
      Specified by:
      destroy in interface Input
    • setCursorVisible

      public void setCursorVisible(boolean visible)
      Description copied from interface: MouseInput
      Set whether the mouse cursor should be visible or not.
      Specified by:
      setCursorVisible in interface MouseInput
      visible - Whether the mouse cursor should be visible or not.
    • setInputListener

      public void setInputListener(RawInputListener listener)
      Description copied from interface: Input
      Sets the input listener to receive events from this device. The appropriate events should be dispatched through the callbacks in RawInputListener.
      Specified by:
      setInputListener in interface Input
      listener - the desired listener
    • getInputTimeNanos

      public long getInputTimeNanos()
      Specified by:
      getInputTimeNanos in interface Input
      The current absolute time as nanoseconds. This time is expected to be relative to the time given in InputEvents time property.
    • setNativeCursor

      public void setNativeCursor(JmeCursor jmeCursor)
      Description copied from interface: MouseInput
      Sets the cursor to use.
      Specified by:
      setNativeCursor in interface MouseInput
      jmeCursor - The cursor to use.