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.

Dependencies:   EALib mbed

Committer:
embeddedartists
Date:
Fri Oct 03 12:48:37 2014 +0000
Revision:
0:c828045bbe69
First version.

Who changed what in which revision?

UserRevisionLine numberNew 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