PixelFormat.cpp revision c2414bb0989763641ca57cf72c11ef6d86565a23
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: 295773d3f5b2694c647e010246dff99acc70131289Mathias Agopian return 4; 30c2414bb0989763641ca57cf72c11ef6d86565a23Mathias Agopian case PIXEL_FORMAT_RGB_888: 315773d3f5b2694c647e010246dff99acc70131289Mathias Agopian return 3; 32c2414bb0989763641ca57cf72c11ef6d86565a23Mathias Agopian case PIXEL_FORMAT_RGB_565: 33c2414bb0989763641ca57cf72c11ef6d86565a23Mathias Agopian case PIXEL_FORMAT_RGBA_5551: 34c2414bb0989763641ca57cf72c11ef6d86565a23Mathias Agopian case PIXEL_FORMAT_RGBA_4444: 355773d3f5b2694c647e010246dff99acc70131289Mathias Agopian return 2; 36edbf3b6af777b721cd2a1ef461947e51e88241e1The Android Open Source Project } 375773d3f5b2694c647e010246dff99acc70131289Mathias Agopian return BAD_VALUE; 38edbf3b6af777b721cd2a1ef461947e51e88241e1The Android Open Source Project} 39edbf3b6af777b721cd2a1ef461947e51e88241e1The Android Open Source Project 405773d3f5b2694c647e010246dff99acc70131289Mathias Agopianssize_t bitsPerPixel(PixelFormat format) { 413db21640519541141137166ce55627cf76e1974bMathias Agopian switch (format) { 42c2414bb0989763641ca57cf72c11ef6d86565a23Mathias Agopian case PIXEL_FORMAT_RGBA_8888: 43c2414bb0989763641ca57cf72c11ef6d86565a23Mathias Agopian case PIXEL_FORMAT_RGBX_8888: 44c2414bb0989763641ca57cf72c11ef6d86565a23Mathias Agopian case PIXEL_FORMAT_BGRA_8888: 455773d3f5b2694c647e010246dff99acc70131289Mathias Agopian return 32; 46c2414bb0989763641ca57cf72c11ef6d86565a23Mathias Agopian case PIXEL_FORMAT_RGB_888: 475773d3f5b2694c647e010246dff99acc70131289Mathias Agopian return 24; 48c2414bb0989763641ca57cf72c11ef6d86565a23Mathias Agopian case PIXEL_FORMAT_RGB_565: 49c2414bb0989763641ca57cf72c11ef6d86565a23Mathias Agopian case PIXEL_FORMAT_RGBA_5551: 50c2414bb0989763641ca57cf72c11ef6d86565a23Mathias Agopian case PIXEL_FORMAT_RGBA_4444: 515773d3f5b2694c647e010246dff99acc70131289Mathias Agopian return 16; 523db21640519541141137166ce55627cf76e1974bMathias Agopian } 535773d3f5b2694c647e010246dff99acc70131289Mathias Agopian return BAD_VALUE; 54edbf3b6af777b721cd2a1ef461947e51e88241e1The Android Open Source Project} 55edbf3b6af777b721cd2a1ef461947e51e88241e1The Android Open Source Project 5642e2458144778596281ea2c4a98ad671053234e0Mathias Agopian// ---------------------------------------------------------------------------- 57edbf3b6af777b721cd2a1ef461947e51e88241e1The Android Open Source Project}; // namespace android 5842e2458144778596281ea2c4a98ad671053234e0Mathias Agopian// ---------------------------------------------------------------------------- 59edbf3b6af777b721cd2a1ef461947e51e88241e1The Android Open Source Project 60