Interface VisualIDHolder

    • Field Detail

      • VID_UNDEFINED

        static final int VID_UNDEFINED
        getVisualID(VIDType) result indicating an undefined value, which could be cause by an unsupported query.

        We assume the const value 0 doesn't reflect a valid native visual ID and is interpreted as no value on all platforms. This is currently true for Android, X11 and Windows.

        See Also:
        Constant Field Values
    • Method Detail

      • getVisualID

        int getVisualID​(VisualIDHolder.VIDType type)
                 throws NativeWindowException
        Returns the native visual ID of the given type if supported, or VID_UNDEFINED if not supported.

        Depending on the native windowing system, type is handled as follows:

        • X11 throws NativeWindowException on EGL_CONFIG, WIN32_PFD
          • INTRINSIC: X11 XVisual ID
          • NATIVE: X11 XVisual ID
          • X11_XVISUAL: X11 XVisual ID
          • X11_FBCONFIG: VID_UNDEFINED
        • X11/GL throws NativeWindowException on EGL_CONFIG, WIN32_PFD
          • INTRINSIC: X11 XVisual ID
          • NATIVE: X11 XVisual ID
          • X11_XVISUAL: X11 XVisual ID
          • X11_FBCONFIG: X11 FBConfig ID or VID_UNDEFINED
        • Windows/GL throws NativeWindowException on EGL_CONFIG, X11_XVISUAL, X11_FBCONFIG
          • INTRINSIC: Win32 PIXELFORMATDESCRIPTOR ID
          • NATIVE: Win32 PIXELFORMATDESCRIPTOR ID
          • WIN32_PFD: Win32 PIXELFORMATDESCRIPTOR ID
        • EGL/GL throws NativeWindowException on X11_XVISUAL, X11_FBCONFIG, WIN32_PFD
          • INTRINSIC: EGL Config ID
          • NATIVE: EGL NativeVisual ID (X11 XVisual ID, Win32 PIXELFORMATDESCRIPTOR ID, ...)
          • EGL_CONFIG: EGL Config ID

        One may use isVisualIDSupported(VIDType) to test upfront whether a VisualIDHolder.VIDType is supported, e.g. to avoid an exception or query or compare all available.

        Note: INTRINSIC and NATIVE are always handled, but may result in VID_UNDEFINED. The latter is true if the native value are actually undefined or the corresponding object is not mapped to a native visual object.
        Throws:
        NativeWindowException - if type is neither INTRINSIC nor NATIVE and does not match the native implementation.
        See Also:
        isVisualIDSupported(VIDType)
      • isVisualIDSupported

        boolean isVisualIDSupported​(VisualIDHolder.VIDType type)
        Returns true if the given VisualIDHolder.VIDType is supported, otherwise false.

        Note: INTRINSIC and NATIVE are always handled, but may result in VID_UNDEFINED. The latter is true if the native value are actually undefined or the corresponding object is not mapped to a native visual object.

        See Also:
        getVisualID(VIDType)