29package com.jogamp.newt.util;
31import com.jogamp.newt.MonitorMode;
33import java.util.ArrayList;
34import java.util.Collections;
37import com.jogamp.nativewindow.util.DimensionImmutable;
38import com.jogamp.nativewindow.util.SurfaceSize;
47 return monitorModes.indexOf(search);
51 if(
null!=monitorModes && monitorModes.size()>0 ) {
52 for (
int i=0; i<monitorModes.size(); i++) {
53 if ( search.hashCode() == monitorModes.get(i).hashCode() ) {
62 if(
null!=monitorModes && monitorModes.size()>0 ) {
63 for (
int i=0; i<monitorModes.size(); i++) {
74 public static void sort(
final List<MonitorMode> monitorModes,
final boolean ascendingOrder) {
75 if( ascendingOrder ) {
76 Collections.sort(monitorModes);
89 final List<MonitorMode> out =
new ArrayList<MonitorMode>();
90 if(
null!=monitorModes && monitorModes.size()>0 ) {
91 for (
int i=0;
null!=monitorModes && i<monitorModes.size(); i++) {
107 public static List<MonitorMode>
filterByRotation(
final List<MonitorMode> monitorModes,
final int rotation) {
108 final List<MonitorMode> out =
new ArrayList<MonitorMode>();
109 if(
null!=monitorModes && monitorModes.size()>0 ) {
110 for (
int i=0;
null!=monitorModes && i<monitorModes.size(); i++) {
126 public static List<MonitorMode>
filterByBpp(
final List<MonitorMode> monitorModes,
final int bitsPerPixel) {
127 final List<MonitorMode> out =
new ArrayList<MonitorMode>();
128 if(
null!=monitorModes && monitorModes.size()>0 ) {
129 for (
int i=0;
null!=monitorModes && i<monitorModes.size(); i++) {
145 public static List<MonitorMode>
filterByFlags(
final List<MonitorMode> monitorModes,
final int flags) {
146 final List<MonitorMode> out =
new ArrayList<MonitorMode>();
147 if(
null!=monitorModes && monitorModes.size()>0 ) {
148 for (
int i=0;
null!=monitorModes && i<monitorModes.size(); i++) {
164 final List<MonitorMode> out =
new ArrayList<MonitorMode>();
165 if(
null!=monitorModes && monitorModes.size()>0 ) {
167 int mode_dsq=Integer.MAX_VALUE, mode_dsq_idx=0;
169 for (
int i=0;
null!=monitorModes && i<monitorModes.size(); i++) {
177 if(res.
equals(resolution)) {
181 if(out.size() == 0 && 0 <= mode_dsq_idx ) {
183 out.add(monitorModes.get(mode_dsq_idx));
195 public static List<MonitorMode>
filterByRate(
final List<MonitorMode> monitorModes,
final float refreshRate) {
196 final List<MonitorMode> out =
new ArrayList<MonitorMode>();
197 if(
null!=monitorModes && monitorModes.size()>0 ) {
198 float mode_dr = Float.MAX_VALUE;
199 int mode_dr_idx = -1;
200 for (
int i=0;
null!=monitorModes && i<monitorModes.size(); i++) {
211 if(out.size() == 0 && 0 <= mode_dr_idx ) {
213 out.add(monitorModes.get(mode_dr_idx));
224 if(
null!=monitorModes && monitorModes.size()>0 ) {
226 for (
int i=0;
null!=monitorModes && i < monitorModes.size(); i++) {
235 return new ArrayList<MonitorMode>();
244 if(
null!=monitorModes && monitorModes.size()>0 ) {
246 for (
int i=0;
null!=monitorModes && i < monitorModes.size(); i++) {
249 if (rate > highest) {
255 return new ArrayList<MonitorMode>();
Immutable SurfaceSize Class, consisting of it's read only components:
final boolean equals(final Object obj)
Checks whether two size objects are equal.
final DimensionImmutable getResolution()
Returns the resolution in pixel units.
final int getBitsPerPixel()
Immutable surfaceSize, flags and refreshRate Class, consisting of it's read only components:
final boolean equals(final Object obj)
Tests equality of two SizeAndRRate objects by evaluating equality of it's components:
Immutable MonitorMode Class, consisting of it's read only components:
final int getFlags()
Returns bitfield w/ flags, i.e.
static final Comparator< MonitorMode > monitorModeComparatorInv
Comparator for 2 MonitorModes, following comparison order as described in MonitorMode#compareTo(Monit...
final SizeAndRRate getSizeAndRRate()
Returns the surfaceSize and refreshRate instance.
final SurfaceSize getSurfaceSize()
Returns the unrotated SurfaceSize.
final int getRotation()
Returns the CCW rotation of this mode.
final float getRefreshRate()
Returns the vertical refresh rate.
Convenient com.jogamp.newt.MonitorMode utility methods, filters etc.
static List< MonitorMode > filterBySurfaceSize(final List< MonitorMode > monitorModes, final SurfaceSize surfaceSize)
static List< MonitorMode > filterByFlags(final List< MonitorMode > monitorModes, final int flags)
static List< MonitorMode > filterByResolution(final List< MonitorMode > monitorModes, final DimensionImmutable resolution)
static List< MonitorMode > getHighestAvailableRate(final List< MonitorMode > monitorModes)
static int getIndex(final List< MonitorMode > monitorModes, final MonitorMode search)
static void sort(final List< MonitorMode > monitorModes, final boolean ascendingOrder)
Sort the given MonitorMode collection w/ MonitorMode#compareTo(MonitorMode) function.
static List< MonitorMode > getHighestAvailableBpp(final List< MonitorMode > monitorModes)
static List< MonitorMode > filterByRotation(final List< MonitorMode > monitorModes, final int rotation)
static List< MonitorMode > filterByBpp(final List< MonitorMode > monitorModes, final int bitsPerPixel)
static MonitorMode getByNativeSizeRateIdAndRotation(final List< MonitorMode > monitorModes, final MonitorMode.SizeAndRRate sizeAndRate, final int modeId, final int rotation)
static int getIndexByHashCode(final List< MonitorMode > monitorModes, final MonitorMode search)
static List< MonitorMode > filterByRate(final List< MonitorMode > monitorModes, final float refreshRate)
Immutable Dimension Interface, consisting of it's read only components:
boolean equals(Object obj)
Checks whether two dimensions objects are equal.