OpenGL ES SDK for Android ARM Developer Center
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
Texture.h
Go to the documentation of this file.
1 /* Copyright (c) 2014-2017, ARM Limited and Contributors
2  *
3  * SPDX-License-Identifier: MIT
4  *
5  * Permission is hereby granted, free of charge,
6  * to any person obtaining a copy of this software and associated documentation files (the "Software"),
7  * to deal in the Software without restriction, including without limitation the rights to
8  * use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software,
9  * and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
10  *
11  * The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
12  *
13  * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED,
14  * INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
15  * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
16  * IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
17  * WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
18  * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
19  */
20 
21 #ifndef TEXTURE_H
22 #define TEXTURE_H
23 
24 #include "Common.h"
25 
26 #include <cstdio>
27 #include <cstdlib>
28 
29 namespace MaliSDK
30 {
31 
32  struct tagBITMAPFILEHEADER
33  {
34  short bfType;
35  int bfSize;
36  short bfReserved1;
37  short bfReserved2;
38  int bfOffBits;
39  };
40 
41  struct tagBITMAPINFOHEADER
42  {
43  int biSize;
44  int biWidth;
45  int biHeight;
46  short biPlanes;
47  short biBitCount;
48  int biCompression;
49  int biSizeImage;
50  int biXPelsPerMeter;
51  int biYPelsPerMeter;
52  int biClrUsed;
53  int biClrImportant;
54  };
55 
59  class Texture
60  {
61  private:
70  static void readBitmapFileHeader(FILE* filePtr, tagBITMAPFILEHEADER* bitmapFileHeaderPtr);
79  static void readBitmapInforHeader(FILE* filePtr, tagBITMAPINFOHEADER* bitmapInfoHeaderPtr);
80 
81  public:
92  static void loadBmpImageData(const char* fileName,
93  int* imageWidthPtr,
94  int* imageHeightPtr,
95  unsigned char** textureDataPtrPtr);
96  };
97 }
98 #endif /* TEXTURE_H */
static void readBitmapFileHeader(FILE *filePtr, tagBITMAPFILEHEADER *bitmapFileHeaderPtr)
Read BMP file header.
Definition: Texture.cpp:94
static void readBitmapInforHeader(FILE *filePtr, tagBITMAPINFOHEADER *bitmapInfoHeaderPtr)
Read BMP info header.
Definition: Texture.cpp:112
static void loadBmpImageData(const char *fileName, int *imageWidthPtr, int *imageHeightPtr, unsigned char **textureDataPtrPtr)
Load BMP texture data from a file into memory.
Definition: Texture.cpp:26