X-Git-Url: http://code.vuplus.com/gitweb/?a=blobdiff_plain;f=lib%2Fgdi%2Fgfbdc.cpp;h=a4f65ebc2d24dc5082b18405bc4a66d59912df7b;hb=dfb72b815d91d564557fc895c347531217ea2195;hp=02ebc4ff02134c1898d1b187124424bf4e6039f4;hpb=cff3511b75d95143bcd315ade417a41aa1d8316e;p=vuplus_dvbapp diff --git a/lib/gdi/gfbdc.cpp b/lib/gdi/gfbdc.cpp index 02ebc4f..a4f65eb 100644 --- a/lib/gdi/gfbdc.cpp +++ b/lib/gdi/gfbdc.cpp @@ -7,11 +7,8 @@ #include -gFBDC *gFBDC::instance; - gFBDC::gFBDC() { - instance=this; fb=new fbClass; if (!fb->Available()) @@ -27,7 +24,6 @@ gFBDC::~gFBDC() { delete fb; delete[] surface.clut.data; - instance=0; } void gFBDC::calcRamp() @@ -84,7 +80,7 @@ void gFBDC::setPalette() fb->PutCMAP(); } -void gFBDC::exec(gOpcode *o) +void gFBDC::exec(const gOpcode *o) { switch (o->opcode) { @@ -124,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; @@ -178,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; @@ -231,7 +231,4 @@ void gFBDC::reloadSettings() setPalette(); } -// eAutoInitPtr init_gFBDC(eAutoInitNumbers::graphic-1, "GFBDC"); -#ifndef SDLDC eAutoInitPtr init_gFBDC(eAutoInitNumbers::graphic-1, "GFBDC"); -#endif