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 GRAPHICS_H
embeddedartists 0:c828045bbe69 3 #define GRAPHICS_H
embeddedartists 0:c828045bbe69 4
embeddedartists 0:c828045bbe69 5 /**
embeddedartists 0:c828045bbe69 6 * LcdController example
embeddedartists 0:c828045bbe69 7 *
embeddedartists 0:c828045bbe69 8 * @code
embeddedartists 0:c828045bbe69 9 * #include "mbed.h"
embeddedartists 0:c828045bbe69 10 * #include "LcdController.h"
embeddedartists 0:c828045bbe69 11 *
embeddedartists 0:c828045bbe69 12 * LcdController::Config innolux(
embeddedartists 0:c828045bbe69 13 * 45,
embeddedartists 0:c828045bbe69 14 * 17,
embeddedartists 0:c828045bbe69 15 * 2,
embeddedartists 0:c828045bbe69 16 * 800,
embeddedartists 0:c828045bbe69 17 * 22,
embeddedartists 0:c828045bbe69 18 * 22,
embeddedartists 0:c828045bbe69 19 * 2,
embeddedartists 0:c828045bbe69 20 * 480,
embeddedartists 0:c828045bbe69 21 * false,
embeddedartists 0:c828045bbe69 22 * false,
embeddedartists 0:c828045bbe69 23 * true,
embeddedartists 0:c828045bbe69 24 * true,
embeddedartists 0:c828045bbe69 25 * true,
embeddedartists 0:c828045bbe69 26 * LcdController::Bpp_16_565,
embeddedartists 0:c828045bbe69 27 * 36000000,
embeddedartists 0:c828045bbe69 28 * LcdController::Tft,
embeddedartists 0:c828045bbe69 29 * false);
embeddedartists 0:c828045bbe69 30 *
embeddedartists 0:c828045bbe69 31 * int main(void) {
embeddedartists 0:c828045bbe69 32 * LcdController lcd;
embeddedartists 0:c828045bbe69 33 *
embeddedartists 0:c828045bbe69 34 * lcd.open(&innolux);
embeddedartists 0:c828045bbe69 35 * lcd.setFrameBuffer(frameBuffer);
embeddedartists 0:c828045bbe69 36 * lcd.setPower(true);
embeddedartists 0:c828045bbe69 37 *
embeddedartists 0:c828045bbe69 38 * // draw on the frame buffer
embeddedartists 0:c828045bbe69 39 * ...
embeddedartists 0:c828045bbe69 40 * }
embeddedartists 0:c828045bbe69 41 * @endcode
embeddedartists 0:c828045bbe69 42 */
embeddedartists 0:c828045bbe69 43 class Graphics {
embeddedartists 0:c828045bbe69 44 public:
embeddedartists 0:c828045bbe69 45
embeddedartists 0:c828045bbe69 46 Graphics(uint16_t *pFrmBuf, uint16_t dispWidth, uint16_t dispHeight);
embeddedartists 0:c828045bbe69 47
embeddedartists 0:c828045bbe69 48 void setFrameBuffer( uint16_t *pFrmBuf );
embeddedartists 0:c828045bbe69 49 void put_line(int32_t x1, int32_t y1, int32_t x2, int32_t y2, int16_t color);
embeddedartists 0:c828045bbe69 50 void put_circle( int32_t cx, int32_t cy, int16_t color, int32_t radius, int32_t Filled );
embeddedartists 0:c828045bbe69 51 void put_dot( int32_t cx, int32_t cy, int16_t color );
embeddedartists 0:c828045bbe69 52
embeddedartists 0:c828045bbe69 53 protected:
embeddedartists 0:c828045bbe69 54 uint16_t windowX;
embeddedartists 0:c828045bbe69 55 uint16_t windowY;
embeddedartists 0:c828045bbe69 56 uint16_t *pFrmBuf;
embeddedartists 0:c828045bbe69 57
embeddedartists 0:c828045bbe69 58 int32_t abs(int32_t v1) const;
embeddedartists 0:c828045bbe69 59
embeddedartists 0:c828045bbe69 60 virtual void plot4points( int32_t cx, int32_t cy, int32_t x, int32_t y, int16_t color, int32_t Filled );
embeddedartists 0:c828045bbe69 61 void plot8points( int32_t cx, int32_t cy, int32_t x, int32_t y, int16_t color, int32_t Filled );
embeddedartists 0:c828045bbe69 62
embeddedartists 0:c828045bbe69 63 };
embeddedartists 0:c828045bbe69 64
embeddedartists 0:c828045bbe69 65 #endif
embeddedartists 0:c828045bbe69 66
embeddedartists 0:c828045bbe69 67
embeddedartists 0:c828045bbe69 68