-#ifndef DISABLE_LCD
-
#include <lib/gdi/glcddc.h>
+#include <lib/gdi/lcd.h>
+#include <lib/base/init.h>
+#include <lib/base/init_num.h>
gLCDDC *gLCDDC::instance;
-gLCDDC::gLCDDC(eLCD *lcd): lcd(lcd)
+gLCDDC::gLCDDC()
{
+ lcd = new eDBoxLCD();
instance=this;
update=1;
surface.x=lcd->size().width();
surface.y=lcd->size().height();
- surface.bpp=8;
- surface.bypp=1;
surface.stride=lcd->stride();
+ surface.bypp=surface.stride / surface.x;
+ surface.bpp=surface.bypp*8;
surface.data=lcd->buffer();
-
- surface.clut.colors=256;
+ surface.clut.colors=0;
surface.clut.data=0;
+
m_pixmap = new gPixmap(&surface);
}
gLCDDC::~gLCDDC()
{
+ delete lcd;
instance=0;
}
-void gLCDDC::exec(gOpcode *o)
+void gLCDDC::exec(const gOpcode *o)
{
switch (o->opcode)
{
-// case gOpcode::flush:
- case gOpcode::end:
- if (update)
+ case gOpcode::flush:
+// if (update)
lcd->update();
default:
gDC::exec(o);
}
}
-gLCDDC *gLCDDC::getInstance()
-{
- return instance;
-}
-
void gLCDDC::setUpdate(int u)
{
update=u;
}
-#endif //DISABLE_LCD
+eAutoInitPtr<gLCDDC> init_gLCDDC(eAutoInitNumbers::graphic-1, "gLCDDC");