// ---------------------------------------------------------------------------- void clKeyboardManager::Update(wxFrame* frame) // ---------------------------------------------------------------------------- { // Since we keep the accelerators with their original resource ID in the form of string // we need to convert the map into a different integer with integer as the resource ID // Note that we place the items from the m_menuTable first and then we add the globals // this is because menu entries takes precedence over global accelerators MenuItemDataMap_t accels = m_menuTable; accels.insert(m_globalTable.begin(), m_globalTable.end()); MenuItemDataIntMap_t intAccels; DoConvertToIntMap(accels, intAccels); if(!frame) { // update all frames wxFrame* topFrame = dynamic_cast<wxFrame*>(wxTheApp->GetTopWindow()); CHECK_PTR_RET(topFrame); FrameList_t frames; DoGetFrames(topFrame, frames); for(FrameList_t::iterator iter = frames.begin(); iter != frames.end(); ++iter) { DoUpdateFrame(*iter, intAccels); } } else { // update only the requested frame DoUpdateFrame(frame, intAccels); } }
void CBitmapAnimator::Tick() { --iTicksLeft; if (iTicksLeft < 1) { iTicksLeft = iFrameArray[iNextFrame]->FrameInfo().iDelay.Int64() / iRenderer->AnimatorTicker().TickLength().Int(); DoUpdateFrame(); } }