package org.andengine.opengl.texture;
import android.opengl.GLES20;
/**
* (c) 2010 Nicolas Gramlich
* (c) 2011 Zynga Inc.
*
* @author Nicolas Gramlich
* @since 14:55:02 - 08.03.2010
*/
public enum PixelFormat {
// ===========================================================
// Elements
// ===========================================================
UNDEFINED(-1, -1, -1, -1),
RGBA_4444(GLES20.GL_RGBA, GLES20.GL_RGBA, GLES20.GL_UNSIGNED_SHORT_4_4_4_4, 16),
RGBA_5551(GLES20.GL_RGB, GLES20.GL_RGBA, GLES20.GL_UNSIGNED_SHORT_5_5_5_1, 16),
RGBA_8888(GLES20.GL_RGBA, GLES20.GL_RGBA, GLES20.GL_UNSIGNED_BYTE, 32),
RGB_565(GLES20.GL_RGB, GLES20.GL_RGB, GLES20.GL_UNSIGNED_SHORT_5_6_5, 16),
A_8(GLES20.GL_ALPHA, GLES20.GL_ALPHA, GLES20.GL_UNSIGNED_BYTE, 8),
I_8(GLES20.GL_LUMINANCE, GLES20.GL_LUMINANCE, GLES20.GL_UNSIGNED_BYTE, 8),
AI_88(GLES20.GL_LUMINANCE_ALPHA, GLES20.GL_LUMINANCE_ALPHA, GLES20.GL_UNSIGNED_BYTE, 16);
// ===========================================================
// Constants
// ===========================================================
// ===========================================================
// Fields
// ===========================================================
private final int mGLInternalFormat;
private final int mGLFormat;
private final int mGLType;
private final int mBitsPerPixel;
// ===========================================================
// Constructors
// ===========================================================
private PixelFormat(final int pGLInternalFormat, final int pGLFormat, final int pGLType, final int pBitsPerPixel) {
this.mGLInternalFormat = pGLInternalFormat;
this.mGLFormat= pGLFormat;
this.mGLType = pGLType;
this.mBitsPerPixel = pBitsPerPixel;
}
// ===========================================================
// Getter & Setter
// ===========================================================
public int getGLInternalFormat() {
return this.mGLInternalFormat;
}
public int getGLFormat() {
return this.mGLFormat;
}
public int getGLType() {
return this.mGLType;
}
public int getBitsPerPixel() {
return this.mBitsPerPixel;
}
// ===========================================================
// Methods from SuperClass/Interfaces
// ===========================================================
// ===========================================================
// Methods
// ===========================================================
// ===========================================================
// Inner and Anonymous Classes
// ===========================================================
}