Wilbert George
/
NewOutrageousRetroSlot
Revised code. The original has been removed.
Diff: DisplayN18.h
- Revision:
- 0:305fa754c01e
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/DisplayN18.h Tue Feb 03 22:11:06 2015 +0000 @@ -0,0 +1,54 @@ + +#include "mbed.h" + +#pragma once + +class DisplayN18 { + static const unsigned char STEP = 4; + + DigitalOut resetPin; + DigitalOut backlightPin; + DigitalOut rsPin; + DigitalOut csPin; + SPI spi; + + void writeCommand(unsigned char command); + void writeData(unsigned char data); + void writeData(const unsigned char* data, unsigned int length); + + void reset(); + void initialize(); + void setClippingArea(unsigned char x, unsigned char y, unsigned char width, unsigned char height); + + public: + DisplayN18(); + + static const unsigned short BLUE = 0x00F8; + static const unsigned short GREEN = 0xE007; + static const unsigned short RED = 0x1F00; + static const unsigned short WHITE = 0xFFFF; + static const unsigned short BLACK = 0x0000; + + static const unsigned int WIDTH = 160; + static const unsigned int HEIGHT = 128; + static const unsigned char CHAR_WIDTH = 5; + static const unsigned char CHAR_HEIGHT = 8; + static const unsigned char CHAR_SPACING = 1; + + static unsigned short rgbToShort(unsigned char r, unsigned char g, unsigned char b); + + void clear(unsigned short backColor = 0x0000); + void draw(const unsigned short* data, int x, int y, int width, int height); + void setPixel(int x, int y, unsigned short foreColor); + + void fillRect(int x, int y, int width, int height, unsigned short foreColor); + void drawRect(int x, int y, int width, int height, unsigned short foreColor); + + void fillCircle(int x, int y, int radius, unsigned short foreColor); + void drawCircle(int x, int y, int radius, unsigned short foreColor); + + void drawLine(int x0, int y0, int x1, int y1, unsigned short foreColor); + + void drawCharacter(int x, int y, const char character, unsigned short foreColor, unsigned short backColor, unsigned char fontSize = 1); + void drawString(int x, int y, const char* str, unsigned short foreColor, unsigned short backColor, unsigned char fontSize = 1); +}; \ No newline at end of file