Base LCDPanel based, required for all LCDPanel drivers

Committer:
silviogissi
Date:
Fri Mar 09 00:55:25 2012 +0000
Revision:
0:3f345274c737
Child:
1:073d4f161f23

        

Who changed what in which revision?

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