Base LCDPanel based, required for all LCDPanel drivers

Committer:
silviogissi
Date:
Fri Mar 09 01:49:18 2012 +0000
Revision:
1:073d4f161f23
Parent:
0:3f345274c737
Child:
2:ab4040a7e8c9

        

Who changed what in which revision?

UserRevisionLine numberNew contents of line
silviogissi 1:073d4f161f23 1 /*
silviogissi 1:073d4f161f23 2 Placeholder for Copyright notice, etc
silviogissi 1:073d4f161f23 3
silviogissi 1:073d4f161f23 4 Author: silviogissi
silviogissi 1:073d4f161f23 5 */
silviogissi 1:073d4f161f23 6
silviogissi 1:073d4f161f23 7 #ifndef LCDPANEL_BASE_H
silviogissi 1:073d4f161f23 8 #define LCDPANEL_BASE_H
silviogissi 1:073d4f161f23 9
silviogissi 1:073d4f161f23 10 #include "mbed.h"
silviogissi 1:073d4f161f23 11
silviogissi 1:073d4f161f23 12 class LCDPanel {
silviogissi 1:073d4f161f23 13
silviogissi 1:073d4f161f23 14 public:
silviogissi 1:073d4f161f23 15 LCDPanel(unsigned int width, unsigned int height, PinName cs);
silviogissi 1:073d4f161f23 16
silviogissi 1:073d4f161f23 17 virtual void fill(unsigned int x1, unsigned int y1, unsigned int x2, unsigned int y2, unsigned int color);
silviogissi 1:073d4f161f23 18 virtual void fill(unsigned int x1, unsigned int y1, unsigned int x2, unsigned int y2, const unsigned int* color);
silviogissi 1:073d4f161f23 19 virtual void set_pixel(unsigned int x, unsigned int y, unsigned int color);
silviogissi 1:073d4f161f23 20
silviogissi 1:073d4f161f23 21 inline unsigned int height() { return _ymax+1; }
silviogissi 1:073d4f161f23 22 inline unsigned int width() { return _xmax+1; }
silviogissi 1:073d4f161f23 23
silviogissi 1:073d4f161f23 24 protected:
silviogissi 1:073d4f161f23 25 unsigned int _ymax;
silviogissi 1:073d4f161f23 26 unsigned int _xmax;
silviogissi 1:073d4f161f23 27 DigitalOut _cs;
silviogissi 1:073d4f161f23 28
silviogissi 1:073d4f161f23 29 class CsTransaction
silviogissi 1:073d4f161f23 30 {
silviogissi 1:073d4f161f23 31 private: LCDPanel *p;
silviogissi 1:073d4f161f23 32 public:
silviogissi 1:073d4f161f23 33 CsTransaction(LCDPanel *panel) : p(panel) { p->_cs=0; }
silviogissi 1:073d4f161f23 34 ~CsTransaction() { p->_cs=1; }
silviogissi 1:073d4f161f23 35 };
silviogissi 1:073d4f161f23 36
silviogissi 1:073d4f161f23 37 virtual void pixel(unsigned int color)=0;
silviogissi 1:073d4f161f23 38 virtual void window(unsigned int x1, unsigned int y1, unsigned int x2, unsigned int y2)=0;
silviogissi 1:073d4f161f23 39
silviogissi 1:073d4f161f23 40 };
silviogissi 1:073d4f161f23 41
silviogissi 0:3f345274c737 42 #endif // LCDPANEL_BASE_H