X-Git-Url: http://code.vuplus.com/gitweb/?p=vuplus_dvbapp;a=blobdiff_plain;f=lib%2Fgdi%2Fgrc.cpp;h=ce33171fb4adcf6c130978b392b43b7add9801d3;hp=a45b3b1ec6feb386541c71a425bc8b00b870a9c5;hb=2872929ce24198202fa096d28ab94dea9f925450;hpb=b3c4891fe653d87333ada5cb14c0bf102ac7b27a diff --git a/lib/gdi/grc.cpp b/lib/gdi/grc.cpp index a45b3b1..ce33171 100644 --- a/lib/gdi/grc.cpp +++ b/lib/gdi/grc.cpp @@ -3,6 +3,9 @@ #include #include #include +#ifdef USE_LIBVUGLES2 +#include +#endif #ifndef SYNC_PAINT void *gRC::thread_wrapper(void *ptr) @@ -94,6 +97,12 @@ void gRC::submit(const gOpcode &o) void *gRC::thread() { int need_notify = 0; +#ifdef USE_LIBVUGLES2 + if (gles_open()) { + gles_state_open(); + gles_viewport(720, 576, 720 * 4); + } +#endif #ifndef SYNC_PAINT while (1) { @@ -185,6 +194,10 @@ void *gRC::thread() #endif } } +#ifdef USE_LIBVUGLES2 + gles_state_close(); + gles_close(); +#endif #ifndef SYNC_PAINT pthread_exit(0); #endif @@ -594,6 +607,46 @@ void gPainter::end() return; } +void gPainter::sendShow(ePoint point, eSize size) +{ + if ( m_dc->islocked() ) + return; + gOpcode o; + o.opcode=gOpcode::sendShow; + o.dc = m_dc.grabRef(); + o.parm.setShowHideInfo = new gOpcode::para::psetShowHideInfo; + o.parm.setShowHideInfo->point = point; + o.parm.setShowHideInfo->size = size; + m_rc->submit(o); +} + +void gPainter::sendHide(ePoint point, eSize size) +{ + if ( m_dc->islocked() ) + return; + gOpcode o; + o.opcode=gOpcode::sendHide; + o.dc = m_dc.grabRef(); + o.parm.setShowHideInfo = new gOpcode::para::psetShowHideInfo; + o.parm.setShowHideInfo->point = point; + o.parm.setShowHideInfo->size = size; + m_rc->submit(o); +} + +#ifdef USE_LIBVUGLES2 +void gPainter::setView(eSize size) +{ + if ( m_dc->islocked() ) + return; + gOpcode o; + o.opcode=gOpcode::setView; + o.dc = m_dc.grabRef(); + o.parm.setViewInfo = new gOpcode::para::psetViewInfo; + o.parm.setViewInfo->size = size; + m_rc->submit(o); +} +#endif + gDC::gDC() { m_spinner_pic = 0; @@ -781,6 +834,14 @@ void gDC::exec(const gOpcode *o) break; case gOpcode::flush: break; + case gOpcode::sendShow: + break; + case gOpcode::sendHide: + break; +#ifdef USE_LIBVUGLES2 + case gOpcode::setView: + break; +#endif case gOpcode::enableSpinner: enableSpinner(); break;