All Downloads are FREE. Search and download functionalities are using the official Maven repository.

jogamp.opengl.util.pngj.FilterType Maven / Gradle / Ivy

The newest version!
package jogamp.opengl.util.pngj;

import java.util.HashMap;

/**
 * Internal PNG predictor filter, or strategy to select it.
 *
 */
public enum FilterType {
	/**
	 * No filter.
	 */
	FILTER_NONE(0),
	/**
	 * SUB filter (uses same row)
	 */
	FILTER_SUB(1),
	/**
	 * UP filter (uses previous row)
	 */
	FILTER_UP(2),
	/**
	 * AVERAGE filter
	 */
	FILTER_AVERAGE(3),
	/**
	 * PAETH predictor
	 */
	FILTER_PAETH(4),
	/**
	 * Default strategy: select one of the above filters depending on global
	 * image parameters
	 */
	FILTER_DEFAULT(-1),
	/**
	 * Aggressive strategy: select one of the above filters trying each of the
	 * filters (every 8 rows)
	 */
	FILTER_AGGRESSIVE(-2),
	/**
	 * Very aggressive strategy: select one of the above filters trying each of
	 * the filters (for every row!)
	 */
	FILTER_VERYAGGRESSIVE(-3),
	/**
	 * Uses all fiters, one for lines, cyciclally. Only for tests.
	 */
	FILTER_CYCLIC(-50),

	/**
	 * Not specified, placeholder for unknown or NA filters.
	 */
	FILTER_UNKNOWN(-100), ;
	public final int val;

	private FilterType(final int val) {
		this.val = val;
	}

	private static HashMap byVal;

	static {
		byVal = new HashMap();
		for (final FilterType ft : values()) {
			byVal.put(ft.val, ft);
		}
	}

	public static FilterType getByVal(final int i) {
		return byVal.get(i);
	}

}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy