Class GlfwMouseInputVR

java.lang.Object
com.jme3.input.lwjgl.GlfwMouseInputVR
All Implemented Interfaces:
Input, MouseInput

public class GlfwMouseInputVR 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.

This class support modifications dedicated to VR rendering.
  • Constructor Details

    • GlfwMouseInputVR

      public GlfwMouseInputVR(LwjglWindowVR context)
      Create a new mouse input attached to the given context.
      Parameters:
      context - the context to which to attach the input.
  • 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
    • setCursorPosition

      public void setCursorPosition(int x, int y)
      Set the position of the cursor on the display.
      Parameters:
      x - the x position of the cursor (pixel).
      y - the y position of the cursor (pixel).
    • hideActiveCursor

      public void hideActiveCursor()
      Hide the active cursor within the display.
    • getLastDeltaX

      public int getLastDeltaX()
      Get the last delta in x (pixel).
      Returns:
      the last delta in x (pixel).
      See Also:
    • getLastDeltaY

      public int getLastDeltaY()
      Get the last delta in y (pixel).
      Returns:
      the last delta in y (pixel).
      See Also:
    • clearDeltas

      public void clearDeltas()
      Clear the last x and y deltas.
      See Also:
    • isInitialized

      public boolean isInitialized()
      Check if the input is initialized.
      Specified by:
      isInitialized in interface Input
      Returns:
      true if the input is initialized and false otherwise.
      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
      Returns:
      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
      Parameters:
      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
      Parameters:
      listener - the desired listener
    • getInputTimeNanos

      public long getInputTimeNanos()
      Specified by:
      getInputTimeNanos in interface Input
      Returns:
      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
      Parameters:
      jmeCursor - The cursor to use.