# Interface SyScreenMouseEventsType

All Known Subinterfaces:
  `SyScreenType`

public interface SyScreenMouseEventsType
The type of mouse event interface exposed by screens.

- ## Method Summary

  Modifier and Type
  Method
  Description
  `Optional<SyComponentType>`
  `mouseDown(com.io7m.jtensors.core.parameterized.vectors.PVector2I<SySpaceViewportType> position, SyMouseButton button)`
  Notify the screen that a mouse button has been pressed.
  `Optional<SyComponentType>`
  `mouseMoved(com.io7m.jtensors.core.parameterized.vectors.PVector2I<SySpaceViewportType> position)`
  Notify the screen that the mouse cursor has moved.
  `Optional<SyComponentType>`
  `mouseUp(com.io7m.jtensors.core.parameterized.vectors.PVector2I<SySpaceViewportType> position, SyMouseButton button)`
  Notify the screen that a mouse button has been released.

- ## Method Details

  - ### mouseMoved

    Optional<SyComponentType> mouseMoved(com.io7m.jtensors.core.parameterized.vectors.PVector2I<SySpaceViewportType> position)
    Notify the screen that the mouse cursor has moved.
    Parameters:
      `position` - The current mouse position
    Returns:
      The component under the mouse cursor, if any

  - ### mouseDown

    Optional<SyComponentType> mouseDown(com.io7m.jtensors.core.parameterized.vectors.PVector2I<SySpaceViewportType> position, SyMouseButton button)
    Notify the screen that a mouse button has been pressed.
    Parameters:
      `position` - The current mouse position
      `button` - The mouse button
    Returns:
      The component under the mouse cursor, if any

  - ### mouseUp

    Optional<SyComponentType> mouseUp(com.io7m.jtensors.core.parameterized.vectors.PVector2I<SySpaceViewportType> position, SyMouseButton button)
    Notify the screen that a mouse button has been released.
    Parameters:
      `position` - The current mouse position
      `button` - The mouse button
    Returns:
      The component under the mouse cursor, if any