Class DefaultCapabilitiesChooser
- java.lang.Object
-
- com.jogamp.nativewindow.DefaultCapabilitiesChooser
-
- All Implemented Interfaces:
CapabilitiesChooser
public class DefaultCapabilitiesChooser extends Object implements CapabilitiesChooser
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.
-
-
Constructor Summary
Constructors Constructor Description DefaultCapabilitiesChooser()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description int
chooseCapabilities(CapabilitiesImmutable desired, List<? extends CapabilitiesImmutable> available, int windowSystemRecommendedChoice)
Chooses the index (0..available.length - 1) of theCapabilities
most closely matching the desired one from the list of all supported.
-
-
-
Method Detail
-
chooseCapabilities
public int chooseCapabilities(CapabilitiesImmutable desired, List<? extends CapabilitiesImmutable> available, int windowSystemRecommendedChoice)
Description copied from interface:CapabilitiesChooser
Chooses the index (0..available.length - 1) of theCapabilities
most closely matching the desired one from the list of all supported. Some of the entries in theavailable
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(com.jogamp.nativewindow.CapabilitiesImmutable, com.jogamp.nativewindow.CapabilitiesImmutable, com.jogamp.nativewindow.CapabilitiesChooser, com.jogamp.nativewindow.AbstractGraphicsScreen, int)
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.- Specified by:
chooseCapabilities
in interfaceCapabilitiesChooser
-
-