87 lines
2.7 KiB
Java
87 lines
2.7 KiB
Java
/*
|
|
* Copyright (C) 2006 The Android Open Source Project
|
|
*
|
|
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
* you may not use this file except in compliance with the License.
|
|
* You may obtain a copy of the License at
|
|
*
|
|
* http://www.apache.org/licenses/LICENSE-2.0
|
|
*
|
|
* Unless required by applicable law or agreed to in writing, software
|
|
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
* See the License for the specific language governing permissions and
|
|
* limitations under the License.
|
|
*/
|
|
|
|
package android.graphics;
|
|
|
|
public class PixelFormat
|
|
{
|
|
/* these constants need to match those
|
|
in ui/PixelFormat.h & pixelflinger/format.h */
|
|
|
|
public static final int UNKNOWN = 0;
|
|
|
|
/** System chooses a format that supports translucency (many alpha bits) */
|
|
public static final int TRANSLUCENT = -3;
|
|
|
|
/**
|
|
* System chooses a format that supports transparency
|
|
* (at least 1 alpha bit)
|
|
*/
|
|
public static final int TRANSPARENT = -2;
|
|
|
|
/** System chooses an opaque format (no alpha bits required) */
|
|
public static final int OPAQUE = -1;
|
|
|
|
public static final int RGBA_8888 = 1;
|
|
public static final int RGBX_8888 = 2;
|
|
public static final int RGB_888 = 3;
|
|
public static final int RGB_565 = 4;
|
|
|
|
public static final int RGBA_5551 = 6;
|
|
public static final int RGBA_4444 = 7;
|
|
public static final int A_8 = 8;
|
|
public static final int L_8 = 9;
|
|
public static final int LA_88 = 0xA;
|
|
public static final int RGB_332 = 0xB;
|
|
|
|
/**
|
|
* YCbCr formats, used for video. These are not necessarily supported
|
|
* by the hardware.
|
|
*/
|
|
public static final int YCbCr_422_SP= 0x10;
|
|
public static final int YCbCr_420_SP= 0x11;
|
|
|
|
/**
|
|
* Encoded formats. These are not necessarily supported by the hardware.
|
|
*/
|
|
public static final int JPEG = 0x100;
|
|
|
|
/*
|
|
* We use a class initializer to allow the native code to cache some
|
|
* field offsets.
|
|
*/
|
|
native private static void nativeClassInit();
|
|
static { nativeClassInit(); }
|
|
|
|
public static native void getPixelFormatInfo(int format, PixelFormat info);
|
|
public static boolean formatHasAlpha(int format) {
|
|
switch (format) {
|
|
case PixelFormat.A_8:
|
|
case PixelFormat.LA_88:
|
|
case PixelFormat.RGBA_4444:
|
|
case PixelFormat.RGBA_5551:
|
|
case PixelFormat.RGBA_8888:
|
|
case PixelFormat.TRANSLUCENT:
|
|
case PixelFormat.TRANSPARENT:
|
|
return true;
|
|
}
|
|
return false;
|
|
}
|
|
|
|
public int bytesPerPixel;
|
|
public int bitsPerPixel;
|
|
}
|