Beispiel #1
0
// Handle messages for this resource.
UtlBoolean MprFromStream::handleMessage(MpFlowGraphMsg& rMsg)
{
   UtlBoolean bHandled = FALSE ;

   switch (rMsg.getMsg())
   {
      case SOURCE_RENDER:
         bHandled = handleRender((MpStreamFeeder*) rMsg.getPtr1()) ;
         break ;
      case SOURCE_PLAY:
         bHandled = handlePlay((MpStreamFeeder*) rMsg.getPtr1()) ;
         break ;
      case SOURCE_REWIND:
         bHandled = handleRewind((MpStreamFeeder*) rMsg.getPtr1()) ;
         break ;
      case SOURCE_PAUSE:
         bHandled = handlePause((MpStreamFeeder*) rMsg.getPtr1()) ;
         break ;
      case SOURCE_STOP:
         bHandled = handleStop((MpStreamFeeder*) rMsg.getPtr1()) ;
         break ;
      case SOURCE_DESTROY:
         bHandled = handleDestroy((MpStreamFeeder*) rMsg.getPtr1()) ;
         break ;
      default:
         bHandled = MpResource::handleMessage(rMsg);
         break;
   }
   return bHandled ;
}
Beispiel #2
0
void Menu::render(DirtyList &dirtyList)
{
    handleRender(dirtyList);

    for (std::list < MenuText >::iterator it = statics_.begin();
        it != statics_.end(); it++) {
        MenuText & m = *it;
        if ( m.isVisible() && dirtyList.intersectsList(m.getX(), m.getY(), m.getWidth(), m.getHeight()) ) {
            m.draw();
        }
    }

    for (std::list < ActionWidget * >::iterator it = actions_.begin();
        it != actions_.end(); it++) {
            ActionWidget * a = *it;
            if ( a->isVisible() && dirtyList.intersectsList(a->getX(), a->getY(), a->getWidth(), a->getHeight())) {
                a->draw();
            }
    }
}
Beispiel #3
0
int Window::handleMessage( uint32_t code, void* data, size_t size ) {
    switch (code) {
        case Y_WINDOW_SHOW :
            registerWindow();
            break;

        case Y_WINDOW_HIDE :
            unregisterWindow();
            break;

        case Y_WINDOW_DO_RESIZE :
            resize(reinterpret_cast<WinResize*>(data)->m_size);
            break;

        case Y_WINDOW_DO_MOVETO :
            moveTo(reinterpret_cast<WinMoveTo*>(data)->m_position);
            break;

        case Y_WINDOW_RENDER : {
            if (!m_rendering) {
                m_renderContext.init(m_bitmap);
                m_rendering = true;
            }

            bool renderingFinished = handleRender(
                reinterpret_cast<uint8_t*>(data) + sizeof(WinHeader),
                size - sizeof(WinHeader)
            );

            if (renderingFinished) {
                m_renderContext.finish();
                m_rendering = false;
            }

            break;
        }
    }

    return 0;
}