# Interface SyScreenType

All Superinterfaces:
  `AutoCloseable, SyScreenKeyEventsType, SyScreenMouseEventsType, SySizedReadableType<SySpaceViewportType>, SySizedType<SySpaceViewportType>`

public interface SyScreenType extends SyScreenMouseEventsType, SyScreenKeyEventsType, SySizedType<SySpaceViewportType>, AutoCloseable
The type of user interfaces.

- ## Method Summary

  Modifier and Type
  Method
  Description
  `void`
  `close()`
  `Optional<SyComponentType>`
  `componentOver()`
  `Flow.Publisher<SyEventType>`
  `events()`
  `default SyMenuServiceType`
  `menuService()`
  `com.io7m.jattribute.core.AttributeReadableType<com.io7m.jtensors.core.parameterized.vectors.PVector2I<SySpaceViewportType>>`
  `mousePosition()`
  `SyServiceDirectoryReadableType`
  `services()`
  `default SyTextSelectionServiceType`
  `textSelectionService()`
  `SyThemeType`
  `theme()`
  `SyThemeContextType`
  `themeContext()`
  `void`
  `update()`
  Update the screen, executing a layout pass and updating any animating elements.
  `default SyWindowServiceType`
  `windowService()`

  ### Methods inherited from interface SyScreenKeyEventsType

  `keyModifierPressed, keyModifierReleased, keyPressed, keyReleased`

  ### Methods inherited from interface SyScreenMouseEventsType

  `mouseDown, mouseMoved, mouseUp`

  ### Methods inherited from interface SySizedType

  `setSize, setSizeUpperLimit, size, sizeUpperLimit`

- ## Method Details

  - ### services

    SyServiceDirectoryReadableType services()
    Returns:
      Access to the services for the screen

  - ### windowService

    default SyWindowServiceType windowService()
    Returns:
      Access to the (mandatory) window service

  - ### menuService

    default SyMenuServiceType menuService()
    Returns:
      Access to the (mandatory) menu service

  - ### textSelectionService

    default SyTextSelectionServiceType textSelectionService()
    Returns:
      Access to the (mandatory) text selection service

  - ### themeContext

    SyThemeContextType themeContext()
    Returns:
      The theme context

  - ### theme

    SyThemeType theme()
    Returns:
      The current theme used by the screen

  - ### componentOver

    Optional<SyComponentType> componentOver()
    Returns:
      The component that is currently underneath the mouse pointer, if any

  - ### events

    Flow.Publisher<SyEventType> events()
    Returns:
      The stream of events for the screen

  - ### update

    void update()
    Update the screen, executing a layout pass and updating any animating elements.

  - ### mousePosition

    com.io7m.jattribute.core.AttributeReadableType<com.io7m.jtensors.core.parameterized.vectors.PVector2I<SySpaceViewportType>> mousePosition()
    Returns:
      An attribute that exposes the most recently published mouse position

  - ### close

    void close() throws RuntimeException
    Specified by:
      `close` in interface `AutoCloseable`
    Throws:
      `RuntimeException`