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 bool 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, uint8_t *pixels); 61 62 #endif /* _DEIMAGE_H */ 63