Interface VisualIDHolder

All Known Subinterfaces:
AbstractGraphicsConfiguration, CapabilitiesImmutable
All Known Implementing Classes:
AWTGraphicsConfiguration, Capabilities, DefaultGraphicsConfiguration, MutableGraphicsConfiguration, X11GraphicsConfiguration

public interface VisualIDHolder
Visual ID holder interface.

Allows queries of different types of native visual IDs, see #getVisualID(int).

  • Field Details

    • 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:
  • Method Details

    • 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

      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.