aboutsummaryrefslogtreecommitdiffstats
path: root/src/nativewindow
diff options
context:
space:
mode:
authorSven Gothel <[email protected]>2019-09-07 18:48:42 +0200
committerSven Gothel <[email protected]>2019-09-07 18:48:42 +0200
commit125e4bd1c8e0a8f4b434209b155e6cd0d8f09092 (patch)
treeb221b78623c891af56453b3d8eaff521d22ce0df /src/nativewindow
parent7f6d030ba91060aa4dedbf4311290c5cf5f61c4a (diff)
Bug 1392: Simplify CapabilitiesFilter: Criteria -> Test, remove RemovalCriteria as all Test definitions may be used for anything.
Diffstat (limited to 'src/nativewindow')
-rw-r--r--src/nativewindow/classes/com/jogamp/nativewindow/CapabilitiesFilter.java37
1 files changed, 17 insertions, 20 deletions
diff --git a/src/nativewindow/classes/com/jogamp/nativewindow/CapabilitiesFilter.java b/src/nativewindow/classes/com/jogamp/nativewindow/CapabilitiesFilter.java
index d7785bc48..17bab355e 100644
--- a/src/nativewindow/classes/com/jogamp/nativewindow/CapabilitiesFilter.java
+++ b/src/nativewindow/classes/com/jogamp/nativewindow/CapabilitiesFilter.java
@@ -40,16 +40,13 @@ public class CapabilitiesFilter {
protected CapabilitiesFilter() {}
/** Generic filter criteria */
- public static interface Criteria<C extends CapabilitiesImmutable> {
+ public static interface Test<C extends CapabilitiesImmutable> {
public boolean match(final C cap);
}
- /** Filter {@link Criteria} for removal */
- public static interface RemovalCriteria<C extends CapabilitiesImmutable> extends Criteria<C> {
- }
- public static class RemoveLessColorCompBits<C extends CapabilitiesImmutable> implements RemovalCriteria<C> {
+ public static class TestLessColorCompBits<C extends CapabilitiesImmutable> implements Test<C> {
final int minColorCompBits;
- public RemoveLessColorCompBits(final int minColorCompBits) {
+ public TestLessColorCompBits(final int minColorCompBits) {
this.minColorCompBits = minColorCompBits;
}
public final boolean match(final C cap) {
@@ -59,9 +56,9 @@ public class CapabilitiesFilter {
cap.getAlphaBits() < minColorCompBits;
}
}
- public static class RemoveMoreColorCompBits<C extends CapabilitiesImmutable> implements RemovalCriteria<C> {
+ public static class TestMoreColorCompBits<C extends CapabilitiesImmutable> implements Test<C> {
final int maxColorCompBits;
- public RemoveMoreColorCompBits(final int maxColorCompBits) {
+ public TestMoreColorCompBits(final int maxColorCompBits) {
this.maxColorCompBits = maxColorCompBits;
}
public final boolean match(final C cap) {
@@ -71,9 +68,9 @@ public class CapabilitiesFilter {
cap.getAlphaBits() > maxColorCompBits;
}
}
- public static class RemoveUnmatchedNativeVisualID<C extends CapabilitiesImmutable> implements RemovalCriteria<C> {
+ public static class TestUnmatchedNativeVisualID<C extends CapabilitiesImmutable> implements Test<C> {
final int requiredNativeVisualID;
- public RemoveUnmatchedNativeVisualID(final int requiredNativeVisualID) {
+ public TestUnmatchedNativeVisualID(final int requiredNativeVisualID) {
this.requiredNativeVisualID = requiredNativeVisualID;
}
public final boolean match(final C cap) {
@@ -82,12 +79,12 @@ public class CapabilitiesFilter {
}
/**
- * Removing all {@link CapabilitiesImmutable} derived elements matching the given {@code criteria} {@link RemovalCriteria} list.
+ * Removing all {@link CapabilitiesImmutable} derived elements matching the given {@code criteria} {@link Test} list.
* @param availableCaps {@link CapabilitiesImmutable} derived list to be filtered
- * @param criteria {@link RemovalCriteria} list run on all non-removed {@link CapabilitiesImmutable} derived elements
+ * @param criteria {@link Test} list run on all non-removed {@link CapabilitiesImmutable} derived elements
* @return the list of removed {@link CapabilitiesImmutable} derived elements, might be of size 0 if none were removed.
*/
- public static <C extends CapabilitiesImmutable> ArrayList<C> removeMatching(final ArrayList<C> availableCaps, final List<RemovalCriteria<C>> criteria) {
+ public static <C extends CapabilitiesImmutable> ArrayList<C> removeMatching(final ArrayList<C> availableCaps, final List<Test<C>> criteria) {
final ArrayList<C> removedCaps = new ArrayList<C>();
for(int i=0; i<availableCaps.size(); ) {
final C cap = availableCaps.get(i);
@@ -120,8 +117,8 @@ public class CapabilitiesFilter {
if( VisualIDHolder.VID_UNDEFINED == requiredNativeVisualID) {
return new ArrayList<C>();
}
- final ArrayList<RemovalCriteria<C>> criteria = new ArrayList<RemovalCriteria<C>>();
- criteria.add(new CapabilitiesFilter.RemoveUnmatchedNativeVisualID<C>(requiredNativeVisualID));
+ final ArrayList<Test<C>> criteria = new ArrayList<Test<C>>();
+ criteria.add(new CapabilitiesFilter.TestUnmatchedNativeVisualID<C>(requiredNativeVisualID));
return removeMatching(availableCaps, criteria);
}
@@ -133,8 +130,8 @@ public class CapabilitiesFilter {
*/
public static <C extends CapabilitiesImmutable> ArrayList<C> removeMoreColorComps(final ArrayList<C> availableCaps,
final int maxColorCompBits) {
- final ArrayList<RemovalCriteria<C>> criteria = new ArrayList<RemovalCriteria<C>>();
- criteria.add(new CapabilitiesFilter.RemoveMoreColorCompBits<C>(maxColorCompBits));
+ final ArrayList<Test<C>> criteria = new ArrayList<Test<C>>();
+ criteria.add(new CapabilitiesFilter.TestMoreColorCompBits<C>(maxColorCompBits));
return removeMatching(availableCaps, criteria);
}
@@ -153,10 +150,10 @@ public class CapabilitiesFilter {
*/
public static <C extends CapabilitiesImmutable> ArrayList<C> removeMoreColorCompsAndUnmatchingNativeVisualID(final ArrayList<C> availableCaps,
final int maxColorCompBits, final int requiredNativeVisualID) {
- final ArrayList<RemovalCriteria<C>> criteria = new ArrayList<RemovalCriteria<C>>();
- criteria.add(new CapabilitiesFilter.RemoveMoreColorCompBits<C>(maxColorCompBits));
+ final ArrayList<Test<C>> criteria = new ArrayList<Test<C>>();
+ criteria.add(new CapabilitiesFilter.TestMoreColorCompBits<C>(maxColorCompBits));
if( VisualIDHolder.VID_UNDEFINED != requiredNativeVisualID) {
- criteria.add(new CapabilitiesFilter.RemoveUnmatchedNativeVisualID<C>(requiredNativeVisualID));
+ criteria.add(new CapabilitiesFilter.TestUnmatchedNativeVisualID<C>(requiredNativeVisualID));
}
return removeMatching(availableCaps, criteria);
}