Base LCDPanel based, required for all LCDPanel drivers
Diff: LCDPanel.cpp
- Revision:
- 1:073d4f161f23
- Parent:
- 0:3f345274c737
- Child:
- 2:ab4040a7e8c9
--- a/LCDPanel.cpp Fri Mar 09 00:55:25 2012 +0000 +++ b/LCDPanel.cpp Fri Mar 09 01:49:18 2012 +0000 @@ -1,34 +1,37 @@ -/* -Placeholder for Copyright notice, etc - -Author: silviogissi -*/ -#include "LCDPanel.h" - - LCDPanel::LCDPanel(unsigned int width, unsigned int height) : _ymax(height-1), _xmax(width-1) - { - } - -// Default implementation, pixel by pixel -void LCDPanel::fill(unsigned int x1, unsigned int y1, unsigned int x2, unsigned int y2, unsigned int color) { - CsTransaction(*this); - if (x1>x2) {unsigned int tmp=x1; x1=x2; x2=tmp;} - if (y1>y2) {unsigned int tmp=y1; y1=y2; y2=tmp;} - window(x1,y1,x2,y2); - for(unsigned int i=0;i<(x2-x1)*(y2-y1);i++) { pixel(color); } -} - -// Default implementation, pixel by pixel -void LCDPanel::fill(unsigned int x1, unsigned int y1, unsigned int x2, unsigned int y2, const unsigned int* color) { - CsTransaction(*this); - if (x1>x2) {unsigned int tmp=x1; x1=x2; x2=tmp;} - if (y1>y2) {unsigned int tmp=y1; y1=y2; y2=tmp;} - window(x1,y1,x2,y2); - for(unsigned int i=0;i<(x2-x1)*(y2-y1);i++) { pixel(color[i]); } -} - -void LCDPanel::set_pixel(unsigned int x, unsigned int y, unsigned int color) { - CsTransaction(*this); - window(x,y,1,1); - pixel(x,y,color); +/* +Placeholder for Copyright notice, etc + +Author: silviogissi +*/ +#include "LCDPanel.h" + + LCDPanel::LCDPanel(unsigned int width, unsigned int height, PinName cs) + : _ymax(height-1) + , _xmax(width-1) + , _cs(cs) + { + } + +// Default implementation, pixel by pixel +void LCDPanel::fill(unsigned int x1, unsigned int y1, unsigned int x2, unsigned int y2, unsigned int color) { + CsTransaction(this); + if (x1>x2) {unsigned int tmp=x1; x1=x2; x2=tmp;} + if (y1>y2) {unsigned int tmp=y1; y1=y2; y2=tmp;} + window(x1,y1,x2,y2); + for(unsigned int i=0;i<(x2-x1)*(y2-y1);i++) { pixel(color); } +} + +// Default implementation, pixel by pixel +void LCDPanel::fill(unsigned int x1, unsigned int y1, unsigned int x2, unsigned int y2, const unsigned int* color) { + if (x1>x2) {unsigned int tmp=x1; x1=x2; x2=tmp;} + if (y1>y2) {unsigned int tmp=y1; y1=y2; y2=tmp;} + CsTransaction(this); + window(x1,y1,x2,y2); + for(unsigned int i=0;i<(x2-x1)*(y2-y1);i++) { pixel(color[i]); } +} + +void LCDPanel::set_pixel(unsigned int x, unsigned int y, unsigned int color) { + CsTransaction(this); + window(x,y,1,1); + pixel(color); } \ No newline at end of file