1edbf3b6af777b721cd2a1ef461947e51e88241e1The Android Open Source Project/* 2edbf3b6af777b721cd2a1ef461947e51e88241e1The Android Open Source Project * Copyright (C) 2007 The Android Open Source Project 3edbf3b6af777b721cd2a1ef461947e51e88241e1The Android Open Source Project * 4edbf3b6af777b721cd2a1ef461947e51e88241e1The Android Open Source Project * Licensed under the Apache License, Version 2.0 (the "License"); 5edbf3b6af777b721cd2a1ef461947e51e88241e1The Android Open Source Project * you may not use this file except in compliance with the License. 6edbf3b6af777b721cd2a1ef461947e51e88241e1The Android Open Source Project * You may obtain a copy of the License at 7edbf3b6af777b721cd2a1ef461947e51e88241e1The Android Open Source Project * 8edbf3b6af777b721cd2a1ef461947e51e88241e1The Android Open Source Project * http://www.apache.org/licenses/LICENSE-2.0 9edbf3b6af777b721cd2a1ef461947e51e88241e1The Android Open Source Project * 10edbf3b6af777b721cd2a1ef461947e51e88241e1The Android Open Source Project * Unless required by applicable law or agreed to in writing, software 11edbf3b6af777b721cd2a1ef461947e51e88241e1The Android Open Source Project * distributed under the License is distributed on an "AS IS" BASIS, 12edbf3b6af777b721cd2a1ef461947e51e88241e1The Android Open Source Project * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13edbf3b6af777b721cd2a1ef461947e51e88241e1The Android Open Source Project * See the License for the specific language governing permissions and 14edbf3b6af777b721cd2a1ef461947e51e88241e1The Android Open Source Project * limitations under the License. 15edbf3b6af777b721cd2a1ef461947e51e88241e1The Android Open Source Project */ 16edbf3b6af777b721cd2a1ef461947e51e88241e1The Android Open Source Project 17edbf3b6af777b721cd2a1ef461947e51e88241e1The Android Open Source Project#include <ui/PixelFormat.h> 183db21640519541141137166ce55627cf76e1974bMathias Agopian#include <hardware/hardware.h> 19edbf3b6af777b721cd2a1ef461947e51e88241e1The Android Open Source Project 2042e2458144778596281ea2c4a98ad671053234e0Mathias Agopian// ---------------------------------------------------------------------------- 21edbf3b6af777b721cd2a1ef461947e51e88241e1The Android Open Source Projectnamespace android { 2242e2458144778596281ea2c4a98ad671053234e0Mathias Agopian// ---------------------------------------------------------------------------- 23edbf3b6af777b721cd2a1ef461947e51e88241e1The Android Open Source Project 245773d3f5b2694c647e010246dff99acc70131289Mathias Agopianssize_t bytesPerPixel(PixelFormat format) { 255773d3f5b2694c647e010246dff99acc70131289Mathias Agopian switch (format) { 26c2414bb0989763641ca57cf72c11ef6d86565a23Mathias Agopian case PIXEL_FORMAT_RGBA_8888: 27c2414bb0989763641ca57cf72c11ef6d86565a23Mathias Agopian case PIXEL_FORMAT_RGBX_8888: 28c2414bb0989763641ca57cf72c11ef6d86565a23Mathias Agopian case PIXEL_FORMAT_BGRA_8888: 296a5d35dd5cd8710c6c9f100076e62ffbdb0b868bDan Stoza case PIXEL_FORMAT_sRGB_A_8888: 306a5d35dd5cd8710c6c9f100076e62ffbdb0b868bDan Stoza case PIXEL_FORMAT_sRGB_X_8888: 315773d3f5b2694c647e010246dff99acc70131289Mathias Agopian return 4; 32c2414bb0989763641ca57cf72c11ef6d86565a23Mathias Agopian case PIXEL_FORMAT_RGB_888: 335773d3f5b2694c647e010246dff99acc70131289Mathias Agopian return 3; 34c2414bb0989763641ca57cf72c11ef6d86565a23Mathias Agopian case PIXEL_FORMAT_RGB_565: 35c2414bb0989763641ca57cf72c11ef6d86565a23Mathias Agopian case PIXEL_FORMAT_RGBA_5551: 36c2414bb0989763641ca57cf72c11ef6d86565a23Mathias Agopian case PIXEL_FORMAT_RGBA_4444: 375773d3f5b2694c647e010246dff99acc70131289Mathias Agopian return 2; 38edbf3b6af777b721cd2a1ef461947e51e88241e1The Android Open Source Project } 395773d3f5b2694c647e010246dff99acc70131289Mathias Agopian return BAD_VALUE; 40edbf3b6af777b721cd2a1ef461947e51e88241e1The Android Open Source Project} 41edbf3b6af777b721cd2a1ef461947e51e88241e1The Android Open Source Project 425773d3f5b2694c647e010246dff99acc70131289Mathias Agopianssize_t bitsPerPixel(PixelFormat format) { 433db21640519541141137166ce55627cf76e1974bMathias Agopian switch (format) { 44c2414bb0989763641ca57cf72c11ef6d86565a23Mathias Agopian case PIXEL_FORMAT_RGBA_8888: 45c2414bb0989763641ca57cf72c11ef6d86565a23Mathias Agopian case PIXEL_FORMAT_RGBX_8888: 46c2414bb0989763641ca57cf72c11ef6d86565a23Mathias Agopian case PIXEL_FORMAT_BGRA_8888: 475773d3f5b2694c647e010246dff99acc70131289Mathias Agopian return 32; 48c2414bb0989763641ca57cf72c11ef6d86565a23Mathias Agopian case PIXEL_FORMAT_RGB_888: 495773d3f5b2694c647e010246dff99acc70131289Mathias Agopian return 24; 50c2414bb0989763641ca57cf72c11ef6d86565a23Mathias Agopian case PIXEL_FORMAT_RGB_565: 51c2414bb0989763641ca57cf72c11ef6d86565a23Mathias Agopian case PIXEL_FORMAT_RGBA_5551: 52c2414bb0989763641ca57cf72c11ef6d86565a23Mathias Agopian case PIXEL_FORMAT_RGBA_4444: 535773d3f5b2694c647e010246dff99acc70131289Mathias Agopian return 16; 543db21640519541141137166ce55627cf76e1974bMathias Agopian } 555773d3f5b2694c647e010246dff99acc70131289Mathias Agopian return BAD_VALUE; 56edbf3b6af777b721cd2a1ef461947e51e88241e1The Android Open Source Project} 57edbf3b6af777b721cd2a1ef461947e51e88241e1The Android Open Source Project 5842e2458144778596281ea2c4a98ad671053234e0Mathias Agopian// ---------------------------------------------------------------------------- 59edbf3b6af777b721cd2a1ef461947e51e88241e1The Android Open Source Project}; // namespace android 6042e2458144778596281ea2c4a98ad671053234e0Mathias Agopian// ---------------------------------------------------------------------------- 61edbf3b6af777b721cd2a1ef461947e51e88241e1The Android Open Source Project 62