X-Git-Url: http://code.vuplus.com/gitweb/?p=vuplus_dvbapp;a=blobdiff_plain;f=lib%2Fgdi%2Fgfbdc.cpp;fp=lib%2Fgdi%2Fgfbdc.cpp;h=d3cc55f2b157576f4d18f73a07808b4320058530;hp=a4f65ebc2d24dc5082b18405bc4a66d59912df7b;hb=2872929ce24198202fa096d28ab94dea9f925450;hpb=157b03b04683b9a68d97ff431262ebe954e81e19 diff --git a/lib/gdi/gfbdc.cpp b/lib/gdi/gfbdc.cpp index a4f65eb..d3cc55f 100644 --- a/lib/gdi/gfbdc.cpp +++ b/lib/gdi/gfbdc.cpp @@ -6,6 +6,9 @@ #include #include +#ifdef USE_LIBVUGLES2 +#include +#endif gFBDC::gFBDC() { @@ -125,8 +128,38 @@ void gFBDC::exec(const gOpcode *o) break; } case gOpcode::flush: +#ifdef USE_LIBVUGLES2 + if (gles_is_animation()) + gles_do_animation(); + else + fb->blit(); +#else fb->blit(); +#endif + break; + case gOpcode::sendShow: + { +#ifdef USE_LIBVUGLES2 + gles_set_buffer((unsigned int *)surface.data); + gles_set_animation(1, o->parm.setShowHideInfo->point.x(), o->parm.setShowHideInfo->point.y(), o->parm.setShowHideInfo->size.width(), o->parm.setShowHideInfo->size.height()); +#endif + break; + } + case gOpcode::sendHide: + { +#ifdef USE_LIBVUGLES2 + gles_set_buffer((unsigned int *)surface.data); + gles_set_animation(0, o->parm.setShowHideInfo->point.x(), o->parm.setShowHideInfo->point.y(), o->parm.setShowHideInfo->size.width(), o->parm.setShowHideInfo->size.height()); +#endif break; + } +#ifdef USE_LIBVUGLES2 + case gOpcode::setView: + { + gles_viewport(o->parm.setViewInfo->size.width(), o->parm.setViewInfo->size.height(), fb->Stride()); + break; + } +#endif default: gDC::exec(o); break;