Interface OffscreenLayerSurface

  • All Known Implementing Classes:
    JAWTWindow

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

      All Methods Instance Methods Abstract Methods 
      Modifier and Type Method Description
      void attachSurfaceLayer​(long layerHandle)
      Attach the offscreen layer to this offscreen layer surface.
      void detachSurfaceLayer()
      Detaches a previously attached offscreen layer from this offscreen layer surface.
      long getAttachedSurfaceLayer()
      Returns the attached surface layer or null if none is attached.
      com.jogamp.common.util.locks.RecursiveLock getLock()
      Returns the recursive lock object of this surface, which synchronizes multithreaded access.
      boolean hideCursor()
      Optional method hiding the cursor in the corresponding on-screen surface/window, if exists.
      boolean isSurfaceLayerAttached()
      Returns true if a surface layer is attached, otherwise false.
      void setChosenCapabilities​(CapabilitiesImmutable caps)
      Sets the capabilities of this instance, allowing upstream API's to refine it, i.e.
      boolean setCursor​(PixelRectangle pixelrect, PointImmutable hotSpot)
      Optional method setting cursor in the corresponding on-screen surface/window, if exists.
    • Method Detail

      • 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:
        attachSurfaceLayer(long), #isOffscreenLayerSurfaceEnabled()
      • 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.