1#ifndef _DEIMAGE_H 2#define _DEIMAGE_H 3/*------------------------------------------------------------------------- 4 * drawElements Image Library 5 * -------------------------- 6 * 7 * Copyright 2014 The Android Open Source Project 8 * 9 * Licensed under the Apache License, Version 2.0 (the "License"); 10 * you may not use this file except in compliance with the License. 11 * You may obtain a copy of the License at 12 * 13 * http://www.apache.org/licenses/LICENSE-2.0 14 * 15 * Unless required by applicable law or agreed to in writing, software 16 * distributed under the License is distributed on an "AS IS" BASIS, 17 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 18 * See the License for the specific language governing permissions and 19 * limitations under the License. 20 * 21 *//*! 22 * \file 23 * \brief Image library. 24 *//*--------------------------------------------------------------------*/ 25 26#include "deDefs.h" 27#include "deARGB.h" 28 29typedef enum deImageFormat_e 30{ 31 DE_IMAGEFORMAT_XRGB8888 = 0, 32 DE_IMAGEFORMAT_ARGB8888, 33 34 DE_IMAGEFORMAT_LAST 35} deImageFormat; 36 37typedef struct deImage_s 38{ 39 int width; 40 int height; 41 deImageFormat format; 42 void* pixels; 43} deImage; 44 45deImage* deImage_create (int width, int height, deImageFormat format); 46void deImage_destroy (deImage* image); 47 48int deImage_getWidth (const deImage* image); 49int deImage_getHeight (const deImage* image); 50void* deImage_getPixelPtr (const deImage* image); 51 52deARGB deImage_getPixel (const deImage* image, int x, int y); 53void deImage_setPixel (deImage* image, int x, int y, deARGB argb); 54 55deImage* deImage_loadTarga (const char* fileName); 56deBool deImage_saveTarga (const deImage* image, const char* fileName); 57 58deImage* deImage_convertFormat (const deImage* image, deImageFormat format); 59deImage* deImage_scale (const deImage* image, int dstWidth, int dstHeight); 60void deImage_copyToUint8RGBA (const deImage* image, deUint8* pixels); 61 62#endif /* _DEIMAGE_H */ 63