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 29 typedef enum deImageFormat_e 30 { 31 DE_IMAGEFORMAT_XRGB8888 = 0, 32 DE_IMAGEFORMAT_ARGB8888, 33 34 DE_IMAGEFORMAT_LAST 35 } deImageFormat; 36 37 typedef struct deImage_s 38 { 39 int width; 40 int height; 41 deImageFormat format; 42 void* pixels; 43 } deImage; 44 45 deImage* deImage_create (int width, int height, deImageFormat format); 46 void deImage_destroy (deImage* image); 47 48 int deImage_getWidth (const deImage* image); 49 int deImage_getHeight (const deImage* image); 50 void* deImage_getPixelPtr (const deImage* image); 51 52 deARGB deImage_getPixel (const deImage* image, int x, int y); 53 void deImage_setPixel (deImage* image, int x, int y, deARGB argb); 54 55 deImage* deImage_loadTarga (const char* fileName); 56 deBool deImage_saveTarga (const deImage* image, const char* fileName); 57 58 deImage* deImage_convertFormat (const deImage* image, deImageFormat format); 59 deImage* deImage_scale (const deImage* image, int dstWidth, int dstHeight); 60 void deImage_copyToUint8RGBA (const deImage* image, deUint8* pixels); 61 62 #endif /* _DEIMAGE_H */ 63