Graphical demo for the LPC4088 Experiment Base Board with one of the Display Expansion Kits. This demo shows a rotating 3D cube with and without textures.
Image.h@0:c828045bbe69, 2014-10-03 (annotated)
- Committer:
- embeddedartists
- Date:
- Fri Oct 03 12:48:37 2014 +0000
- Revision:
- 0:c828045bbe69
First version.
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
embeddedartists | 0:c828045bbe69 | 1 | |
embeddedartists | 0:c828045bbe69 | 2 | #ifndef IMAGE_H |
embeddedartists | 0:c828045bbe69 | 3 | #define IMAGE_H |
embeddedartists | 0:c828045bbe69 | 4 | |
embeddedartists | 0:c828045bbe69 | 5 | class Image { |
embeddedartists | 0:c828045bbe69 | 6 | public: |
embeddedartists | 0:c828045bbe69 | 7 | |
embeddedartists | 0:c828045bbe69 | 8 | enum Type { |
embeddedartists | 0:c828045bbe69 | 9 | BMP = 0, |
embeddedartists | 0:c828045bbe69 | 10 | PNG, |
embeddedartists | 0:c828045bbe69 | 11 | UNKNOWN |
embeddedartists | 0:c828045bbe69 | 12 | }; |
embeddedartists | 0:c828045bbe69 | 13 | |
embeddedartists | 0:c828045bbe69 | 14 | typedef struct { |
embeddedartists | 0:c828045bbe69 | 15 | uint16_t* pixels; |
embeddedartists | 0:c828045bbe69 | 16 | uint32_t width; |
embeddedartists | 0:c828045bbe69 | 17 | uint32_t height; |
embeddedartists | 0:c828045bbe69 | 18 | } ImageData_t; |
embeddedartists | 0:c828045bbe69 | 19 | |
embeddedartists | 0:c828045bbe69 | 20 | /** Decodes the specified image data |
embeddedartists | 0:c828045bbe69 | 21 | * |
embeddedartists | 0:c828045bbe69 | 22 | * Note that if this function returns a zero, indicating success, |
embeddedartists | 0:c828045bbe69 | 23 | * the pixels member of the pDataOut structure must be |
embeddedartists | 0:c828045bbe69 | 24 | * deallocated using lpc_free() when no longer needed. |
embeddedartists | 0:c828045bbe69 | 25 | * |
embeddedartists | 0:c828045bbe69 | 26 | * @param pDataIn the image data |
embeddedartists | 0:c828045bbe69 | 27 | * @param sizeIn the number of bytes in the pDataIn array |
embeddedartists | 0:c828045bbe69 | 28 | * @param pDataOut the decoded image (only valid if 0 is returned) |
embeddedartists | 0:c828045bbe69 | 29 | * |
embeddedartists | 0:c828045bbe69 | 30 | * @returns |
embeddedartists | 0:c828045bbe69 | 31 | * 0 on success |
embeddedartists | 0:c828045bbe69 | 32 | * 1 on failure |
embeddedartists | 0:c828045bbe69 | 33 | */ |
embeddedartists | 0:c828045bbe69 | 34 | static int decode(const unsigned char* pDataIn, unsigned int sizeIn, ImageData_t* pDataOut); |
embeddedartists | 0:c828045bbe69 | 35 | |
embeddedartists | 0:c828045bbe69 | 36 | private: |
embeddedartists | 0:c828045bbe69 | 37 | |
embeddedartists | 0:c828045bbe69 | 38 | /** No instance needed |
embeddedartists | 0:c828045bbe69 | 39 | * |
embeddedartists | 0:c828045bbe69 | 40 | */ |
embeddedartists | 0:c828045bbe69 | 41 | Image(); |
embeddedartists | 0:c828045bbe69 | 42 | |
embeddedartists | 0:c828045bbe69 | 43 | static Type imageType(const unsigned char* pDataIn, unsigned int sizeIn); |
embeddedartists | 0:c828045bbe69 | 44 | }; |
embeddedartists | 0:c828045bbe69 | 45 | |
embeddedartists | 0:c828045bbe69 | 46 | #endif |
embeddedartists | 0:c828045bbe69 | 47 |