Class NewtFactory


  • public class NewtFactory
    extends Object
    • Field Detail

      • DEBUG_IMPLEMENTATION

        public static final boolean DEBUG_IMPLEMENTATION
    • Constructor Detail

      • NewtFactory

        public NewtFactory()
    • Method Detail

      • getWindowIcons

        public static IOUtil.ClassResources getWindowIcons()
        Returns the application window icon resources to be used.

        Property newt.window.icons may define a list of PNG icons separated by one whitespace or one comma character. Shall reference at least two PNG icons, from lower (16x16) to higher (>= 32x32) resolution.

        Users may also specify application window icons using setWindowIcons(com.jogamp.common.util.IOUtil.ClassResources).

      • setWindowIcons

        public static void setWindowIcons​(IOUtil.ClassResources cres)
        Allow user to set custom window icons, only applicable at application start before creating any NEWT instance.

        Shall reference at least two PNG icons, from lower (16x16) to higher (>= 32x32) resolution.

      • getCustomClass

        public static Class<?> getCustomClass​(String packageName,
                                              String classBaseName)
      • setUseEDT

        public static void setUseEDT​(boolean onoff)
        Toggles the usage of an EventDispatchThread while creating a Display.
        The default is enabled.
        The EventDispatchThread is thread local to the Display instance.
      • createDisplay

        public static Display createDisplay​(String name)
        Create a Display entity.

        Native creation is lazily done at usage, ie. Display.addReference().

        An already existing display connection of the same name will be reused.

        Parameters:
        name - the display connection name which is a technical platform specific detail, see AbstractGraphicsDevice.getConnection(). Use null for default.
        Returns:
        the new or reused Display instance
      • createDisplay

        public static Display createDisplay​(String name,
                                            boolean reuse)
        Create a Display entity.

        Native creation is lazily done at usage, ie. Display.addReference().

        An already existing display connection of the same name will be reused if reuse is true, otherwise a new instance is being created.

        Parameters:
        name - the display connection name which is a technical platform specific detail, see AbstractGraphicsDevice.getConnection(). Use null for default.
        reuse - attempt to reuse an existing Display with same name if set true, otherwise create a new instance.
        Returns:
        the new or reused Display instance
      • createDisplay

        public static Display createDisplay​(String type,
                                            String name,
                                            boolean reuse)
        Create a Display entity.

        Native creation is lazily done at usage, ie. Display.addReference().

        An already existing display connection of the same name will be reused if reuse is true, otherwise a new instance is being created.

        Parameters:
        type - explicit NativeWindow type eg. NativeWindowFactory.TYPE_AWT
        name - the display connection name which is a technical platform specific detail, see AbstractGraphicsDevice.getConnection(). Use null for default.
        reuse - attempt to reuse an existing Display with same name if set true, otherwise create a new instance.
        Returns:
        the new or reused Display instance
      • createWindow

        public static Window createWindow​(NativeWindow parentWindow,
                                          CapabilitiesImmutable caps)
        Create a child Window entity attached to the given parent.
        The Screen and Display information is regenerated utilizing the parents information, while reusing an existing Display.

        In case parentWindowObject is a Window instance,
        the new window is added to it's list of children.
        This assures proper handling of visibility, creation and destruction.
        WindowEvent.EVENT_WINDOW_RESIZED is not propagated to the child window for layout
        , you have to add an appropriate WindowListener for this use case.
        The parents visibility is passed to the new Window

        In case parentWindowObject is a different NativeWindow implementation,
        you have to handle all events appropriate.

        The lifecycle of this Window's Screen and Display is handled via Screen.addReference() and Screen.removeReference().

        Parameters:
        parentWindowObject - either a NativeWindow instance
      • createWindow

        public static Window createWindow​(String displayConnection,
                                          int screenIdx,
                                          long parentWindowHandle,
                                          CapabilitiesImmutable caps)
        Create a child Window entity attached to the given parent, incl native creation
        Parameters:
        displayConnection - the parent window's display connection
        screenIdx - the desired screen index
        parentWindowHandle - the native parent window handle
        caps - the desired capabilities
        Returns:
      • createWindow

        public static Window createWindow​(Object[] cstrArguments,
                                          Screen screen,
                                          CapabilitiesImmutable caps)
        Ability to try a Window type with a constructor argument, if supported ..

        Currently only valid is AWTWindow(Frame frame) , to support an external created AWT Frame, ie the browsers embedded frame.

        Parameters:
        undecorated - only impacts if the window is in top-level state, while attached to a parent window it's rendered undecorated always
      • createDisplay

        public static Display createDisplay​(String type,
                                            long handle,
                                            boolean reuse)
        Instantiate a Display entity using the native handle.
      • isScreenCompatible

        public static boolean isScreenCompatible​(NativeWindow parent,
                                                 Screen childScreen)
      • createCompatibleScreen

        public static Screen createCompatibleScreen​(NativeWindow parent)