void CFWL_WidgetMgrDelegate::OnProcessMessageToForm(CFWL_Message* pMessage) { if (!pMessage) return; if (!pMessage->m_pDstTarget) return; IFWL_Widget* pDstWidget = pMessage->m_pDstTarget; IFWL_App* pApp = pDstWidget->GetOwnerApp(); if (!pApp) return; CFWL_NoteDriver* pNoteDriver = static_cast<CFWL_NoteDriver*>(pApp->GetNoteDriver()); if (!pNoteDriver) return; if (m_pWidgetMgr->IsThreadEnabled()) pMessage = static_cast<CFWL_Message*>(pMessage->Clone()); if (m_pWidgetMgr->IsFormDisabled()) pNoteDriver->ProcessMessage(pMessage); else pNoteDriver->QueueMessage(pMessage); #if (_FX_OS_ == _FX_MACOSX_) CFWL_NoteLoop* pTopLoop = pNoteDriver->GetTopLoop(); if (pTopLoop) pNoteDriver->UnqueueMessage(pTopLoop); #endif if (m_pWidgetMgr->IsThreadEnabled()) pMessage->Release(); return; }
FWL_ERR CFWL_NoteLoop::Idle(int32_t count) { #if (_FX_OS_ == _FX_WIN32_DESKTOP_) if (count <= 0) #endif { CFWL_EvtIdle ev; IFWL_App* pApp = FWL_GetApp(); if (!pApp) return FWL_ERR_Indefinite; IFWL_NoteDriver* pDriver = pApp->GetNoteDriver(); if (!pDriver) return FWL_ERR_Indefinite; pDriver->SendNote(&ev); } return FWL_ERR_Indefinite; }
IFWL_AdapterNative* FWL_GetAdapterNative() { IFWL_App* pApp = FWL_GetApp(); if (!pApp) return NULL; return pApp->GetAdapterNative(); }
IFWL_App* IFWL_App::Create(IFWL_AdapterNative* pAdapter) { IFWL_App* pApp = new IFWL_App; pApp->SetImpl(new CFWL_AppImp(pApp, pAdapter)); return pApp; }
IFWL_App* IFWL_App::Create(CXFA_FFApp* pAdapter) { IFWL_App* pApp = new IFWL_App; pApp->SetImpl(new CFWL_AppImp(pApp, pAdapter)); return pApp; }
CXFA_FFApp* FWL_GetAdapterNative() { IFWL_App* pApp = FWL_GetApp(); if (!pApp) return nullptr; return pApp->GetAdapterNative(); }
// static CFWL_WidgetMgr* CFWL_WidgetMgr::GetInstance() { IFWL_App* pApp = FWL_GetApp(); return pApp ? pApp->GetWidgetMgr() : nullptr; }