Support focus animation for listbox
[vuplus_dvbapp] / lib / gdi / gfbdc.cpp
index d3cc55f..eda5bf2 100644 (file)
@@ -133,6 +133,8 @@ void gFBDC::exec(const gOpcode *o)
                        gles_do_animation();
                else
                        fb->blit();
+
+               gles_flush();
 #else
                fb->blit();
 #endif
@@ -143,6 +145,7 @@ void gFBDC::exec(const gOpcode *o)
                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
+               delete o->parm.setShowHideInfo;
                break;
        }
        case gOpcode::sendHide:
@@ -151,12 +154,27 @@ void gFBDC::exec(const gOpcode *o)
                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
+               delete o->parm.setShowHideInfo;
                break;
        }
 #ifdef USE_LIBVUGLES2
+       case gOpcode::sendShowItem:
+       {
+               gles_set_buffer((unsigned int *)surface.data);
+               gles_set_animation_listbox(o->parm.setShowItemInfo->dir, o->parm.setShowItemInfo->point.x(), o->parm.setShowItemInfo->point.y(), o->parm.setShowItemInfo->size.width(), o->parm.setShowItemInfo->size.height());
+               delete o->parm.setShowItemInfo;
+               break;
+       }
+       case gOpcode::setFlush:
+       {
+               gles_set_flush(o->parm.setFlush->enable);
+               delete o->parm.setFlush;
+               break;
+       }
        case gOpcode::setView:
        {
                gles_viewport(o->parm.setViewInfo->size.width(), o->parm.setViewInfo->size.height(), fb->Stride());
+               delete o->parm.setViewInfo;
                break;
        }
 #endif