// 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 ; }
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(); } } }
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; }