diff options
| author | Felix Domke <tmbinc@elitedvb.net> | 2003-10-17 15:36:42 +0000 |
|---|---|---|
| committer | Felix Domke <tmbinc@elitedvb.net> | 2003-10-17 15:36:42 +0000 |
| commit | d63d2c3c6cbbd574dda4f8b00ebe6c661735edd5 (patch) | |
| tree | 84d0cacfd0b6c1241c236c7860f7cbd7f26901bb /lib/gdi/glcddc.cpp | |
| download | enigma2-d63d2c3c6cbbd574dda4f8b00ebe6c661735edd5.tar.gz enigma2-d63d2c3c6cbbd574dda4f8b00ebe6c661735edd5.zip | |
import of enigma2
Diffstat (limited to 'lib/gdi/glcddc.cpp')
| -rw-r--r-- | lib/gdi/glcddc.cpp | 56 |
1 files changed, 56 insertions, 0 deletions
diff --git a/lib/gdi/glcddc.cpp b/lib/gdi/glcddc.cpp new file mode 100644 index 00000000..3895df9a --- /dev/null +++ b/lib/gdi/glcddc.cpp @@ -0,0 +1,56 @@ +#ifndef DISABLE_LCD + +#include <lib/gdi/glcddc.h> +#include <lib/gdi/lcd.h> + +gLCDDC *gLCDDC::instance; + +gLCDDC::gLCDDC(eLCD *lcd): lcd(lcd) +{ + instance=this; + + update=1; + + pixmap=new gPixmap(); + pixmap->x=lcd->size().width(); + pixmap->y=lcd->size().height(); + pixmap->bpp=8; + pixmap->bypp=1; + pixmap->stride=lcd->stride(); + pixmap->data=lcd->buffer(); + + pixmap->clut.colors=256; + pixmap->clut.data=0; +} + +gLCDDC::~gLCDDC() +{ + delete pixmap; + instance=0; +} + +void gLCDDC::exec(gOpcode *o) +{ + switch (o->opcode) + { + case gOpcode::flush: + case gOpcode::end: + if (update) + lcd->update(); + default: + gPixmapDC::exec(o); + break; + } +} + +gLCDDC *gLCDDC::getInstance() +{ + return instance; +} + +void gLCDDC::setUpdate(int u) +{ + update=u; +} + +#endif //DISABLE_LCD |
