Top Description Fields Constructors Methods
com.jogamp.nativewindow

public Class DefaultCapabilitiesChooser

extends Object
implements CapabilitiesChooser
Class Inheritance
All Implemented Interfaces
com.jogamp.nativewindow.CapabilitiesChooser
Imports
java.util.List, com.jogamp.common.util.PropertyAccess, jogamp.nativewindow.Debug

The default implementation of the CapabilitiesChooser interface, which provides consistent visual selection behavior across platforms. The precise algorithm is deliberately left loosely specified. Some properties are:

  • Attempts to match as closely as possible the given Capabilities, but will select one with fewer capabilities (i.e., lower color depth) if necessary.
  • If there is no exact match, prefers a more-capable visual to a less-capable one.
  • If there is more than one exact match, chooses an arbitrary one.
  • If a valid windowSystemRecommendedChoice parameter is supplied, chooses that instead of using the cross-platform code.
  • Field Summary

    Modifier and TypeField and Description
    private static final int
    private static final boolean
    private static final int

    Constructor Summary

    AccessConstructor and Description
    public

    Method Summary

    Modifier and TypeMethod and Description
    public int
    chooseCapabilities(final CapabilitiesImmutable desired, final List<? extends CapabilitiesImmutable> available, final int windowSystemRecommendedChoice)

    Implements com.jogamp.nativewindow.CapabilitiesChooser.chooseCapabilities.

    Chooses the index (0..available.length - 1) of the Capabilities most closely matching the desired one from the list of all supported.
    private static int
    sign(final int score)

    Inherited from java.lang.Object:
    cloneequalsfinalizegetClasshashCodenotifynotifyAlltoStringwaitwaitwait

    Field Detail

    COLOR_MISMATCH_PENALTY_SCALEback to summary
    private static final int COLOR_MISMATCH_PENALTY_SCALE
    DEBUGback to summary
    private static final boolean DEBUG
    NO_SCOREback to summary
    private static final int NO_SCORE

    Constructor Detail

    DefaultCapabilitiesChooserback to summary
    public DefaultCapabilitiesChooser()

    Method Detail

    chooseCapabilitiesback to summary
    public int chooseCapabilities(final CapabilitiesImmutable desired, final List<? extends CapabilitiesImmutable> available, final int windowSystemRecommendedChoice)

    Implements com.jogamp.nativewindow.CapabilitiesChooser.chooseCapabilities.

    Doc from com.jogamp.nativewindow.CapabilitiesChooser.chooseCapabilities.

    Chooses the index (0..available.length - 1) of the Capabilities most closely matching the desired one from the list of all supported. Some of the entries in the available array may be null; the chooser must ignore these. The windowSystemRecommendedChoice parameter may be provided to the chooser by the underlying window system; if this index is valid, it is recommended, but not necessarily required, that the chooser select that entry.

    Note

    this method is called automatically by the GraphicsConfigurationFactory#chooseGraphicsConfiguration method when an instance of this class is passed in to it. It should generally not be invoked by users directly, unless it is desired to delegate the choice to some other CapabilitiesChooser object.

    Annotations
    @Override
    signback to summary
    private static int sign(final int score)