X-Git-Url: http://code.vuplus.com/gitweb/?a=blobdiff_plain;f=lib%2Fgdi%2Fgfbdc.cpp;h=a4f65ebc2d24dc5082b18405bc4a66d59912df7b;hb=41a34ba7cc10000dbc950203aed2285879b5b11d;hp=75efe891af5e82b4f9f0856c29d2636170d3cb36;hpb=9daf6014a224d717fa423130a8e04acd461efc24;p=vuplus_dvbapp diff --git a/lib/gdi/gfbdc.cpp b/lib/gdi/gfbdc.cpp index 75efe89..a4f65eb 100644 --- a/lib/gdi/gfbdc.cpp +++ b/lib/gdi/gfbdc.cpp @@ -7,18 +7,8 @@ #include -gFBDC *gFBDC::instance; - -ePtr NewgFBDCPtr(void) -{ - ePtr ptr; - gFBDC::getInstance(ptr); - return ptr; -} - gFBDC::gFBDC() { - instance=this; fb=new fbClass; if (!fb->Available()) @@ -34,7 +24,6 @@ gFBDC::~gFBDC() { delete fb; delete[] surface.clut.data; - instance=0; } void gFBDC::calcRamp() @@ -91,7 +80,7 @@ void gFBDC::setPalette() fb->PutCMAP(); } -void gFBDC::exec(gOpcode *o) +void gFBDC::exec(const gOpcode *o) { switch (o->opcode) { @@ -131,9 +120,13 @@ void gFBDC::exec(gOpcode *o) ++t; + fb->blit(); fb->waitVSync(); break; } + case gOpcode::flush: + fb->blit(); + break; default: gDC::exec(o); break; @@ -185,7 +178,7 @@ void gFBDC::setResolution(int xres, int yres) surface.data = fb->lfb; surface.offset = 0; - surface.data_phys = 50*1024*1024; // FIXME + surface.data_phys = fb->getPhysAddr(); int fb_size = surface.stride * surface.y; @@ -238,7 +231,4 @@ void gFBDC::reloadSettings() setPalette(); } -// eAutoInitPtr init_gFBDC(eAutoInitNumbers::graphic-1, "GFBDC"); -#ifndef SDLDC eAutoInitPtr init_gFBDC(eAutoInitNumbers::graphic-1, "GFBDC"); -#endif