Interface OffscreenLayerSurface

All Known Implementing Classes:
JAWTWindow

public interface OffscreenLayerSurface
Interface specifying the offscreen layer surface protocol.
  • Method Summary

    Modifier and Type
    Method
    Description
    void
    attachSurfaceLayer(long layerHandle)
    Attach the offscreen layer to this offscreen layer surface.
    void
    Detaches a previously attached offscreen layer from this offscreen layer surface.
    long
    Returns the attached surface layer or null if none is attached.
    com.jogamp.common.util.locks.RecursiveLock
    Returns the recursive lock object of this surface, which synchronizes multithreaded access.
    boolean
    Optional method hiding the cursor in the corresponding on-screen surface/window, if exists.
    boolean
    Returns true if a surface layer is attached, otherwise false.
    void
    Sets the capabilities of this instance, allowing upstream API's to refine it, i.e.
    boolean
    Optional method setting cursor in the corresponding on-screen surface/window, if exists.
  • Method Details

    • attachSurfaceLayer

      void attachSurfaceLayer(long layerHandle) throws NativeWindowException
      Attach the offscreen layer to this offscreen layer surface.

      Implementation may realize all required resources at this point.

      Throws:
      NativeWindowException - if #isOffscreenLayerSurfaceEnabled() == false
      See Also:
      • #isOffscreenLayerSurfaceEnabled()
    • detachSurfaceLayer

      void detachSurfaceLayer() throws NativeWindowException
      Detaches a previously attached offscreen layer from this offscreen layer surface.
      Throws:
      NativeWindowException - if #isOffscreenLayerSurfaceEnabled() == false or no surface layer is attached.
      See Also:
    • getAttachedSurfaceLayer

      long getAttachedSurfaceLayer()
      Returns the attached surface layer or null if none is attached.
    • isSurfaceLayerAttached

      boolean isSurfaceLayerAttached()
      Returns true if a surface layer is attached, otherwise false.
    • setChosenCapabilities

      void setChosenCapabilities(CapabilitiesImmutable caps)
      Sets the capabilities of this instance, allowing upstream API's to refine it, i.e. OpenGL related settings.
    • getLock

      com.jogamp.common.util.locks.RecursiveLock getLock()
      Returns the recursive lock object of this surface, which synchronizes multithreaded access.
    • setCursor

      boolean setCursor(PixelRectangle pixelrect, PointImmutable hotSpot)
      Optional method setting cursor in the corresponding on-screen surface/window, if exists.
      Parameters:
      pixelrect - cursor pixels, maybe null for default cursor
      hotSpot - maybe null for default cursor
      Returns:
      true if successful, i.e. on-screen surface/window w/ cursor capabilities exists. Otherwise false.
    • hideCursor

      boolean hideCursor()
      Optional method hiding the cursor in the corresponding on-screen surface/window, if exists.
      Returns:
      true if successful, i.e. on-screen surface/window w/ cursor capabilities exists. Otherwise false.