Fork of LCD-Window which works with Enhanced TextLCD from Wim
Fork of LcdWindow by
Diff: multiwindow.cpp
- Revision:
- 2:5ac5bab7daaf
- Parent:
- 1:65f72ed914fa
- Child:
- 3:e5d5e2fe4bf6
--- a/multiwindow.cpp Tue Nov 16 20:49:18 2010 +0000 +++ b/multiwindow.cpp Sat Nov 27 22:54:13 2010 +0000 @@ -26,20 +26,36 @@ MultiWindow::MultiWindow(vector<Window*> lcds) { _lcds=lcds; int len=_lcds.size(); - _height=0; + _rows=0; for (int i=0;i<len;i++) { - _height+=_lcds[i]->getHeight(); + _rows+=_lcds[i]->getRows(); } - _width=_lcds[0]->getWidth(); + _columns=_lcds[0]->getColumns(); } -void MultiWindow::writeText(const unsigned int line, const unsigned int pos, const char text[]) { +void MultiWindow::character(int column, int row, int c) +{ int len=_lcds.size(); int lines=0; for (int i=0;i<len;i++) { - int height=_lcds[i]->getHeight(); - if (line>=lines && line <lines+height) { - _lcds[i]->writeText(line-lines,pos,text); + int height=_lcds[i]->getRows(); + if (row>=lines && row <lines+height) { + _lcds[i]->character(column,row-lines,c); + break; + } + lines+=height; + } +} + + +void MultiWindow::writeText(const unsigned int columns, const unsigned int row, const char text[]) { + int len=_lcds.size(); + int lines=0; + for (int i=0;i<len;i++) { + int height=_lcds[i]->getRows(); + if (row>=lines && row <lines+height) { + _lcds[i]->writeText(columns,row-lines,text); + break; } lines+=height; }