| Index: xfa/fwl/cfwl_widgetmgr.cpp
|
| diff --git a/xfa/fwl/cfwl_widgetmgr.cpp b/xfa/fwl/cfwl_widgetmgr.cpp
|
| index 48a4270068d374a0c1991abbdd77a2ccb576dc7f..132544fa84455255720536346ef92ce031c7d809 100644
|
| --- a/xfa/fwl/cfwl_widgetmgr.cpp
|
| +++ b/xfa/fwl/cfwl_widgetmgr.cpp
|
| @@ -28,14 +28,6 @@ struct FWL_NEEDREPAINTHITDATA {
|
|
|
| } // namespace
|
|
|
| -bool FWL_UseOffscreen(CFWL_Widget* pWidget) {
|
| -#if (_FX_OS_ == _FX_MACOSX_)
|
| - return false;
|
| -#else
|
| - return !!(pWidget->GetStyles() & FWL_WGTSTYLE_Offscreen);
|
| -#endif
|
| -}
|
| -
|
| CFWL_WidgetMgr::CFWL_WidgetMgr(CXFA_FFApp* pAdapterNative)
|
| : m_dwCapability(0), m_pAdapter(pAdapterNative->GetWidgetMgr(this)) {
|
| ASSERT(m_pAdapter);
|
| @@ -262,28 +254,6 @@ void CFWL_WidgetMgr::SetParent(CFWL_Widget* pParent, CFWL_Widget* pChild) {
|
| AppendWidget(pChild);
|
| }
|
|
|
| -void CFWL_WidgetMgr::SetWidgetRect_Native(CFWL_Widget* pWidget,
|
| - const CFX_RectF& rect) {
|
| - if (!FWL_UseOffscreen(pWidget))
|
| - return;
|
| -
|
| - Item* pItem = GetWidgetMgrItem(pWidget);
|
| - pItem->iRedrawCounter++;
|
| - if (pItem->pOffscreen) {
|
| - CFX_RenderDevice* pDevice = pItem->pOffscreen->GetRenderDevice();
|
| - if (pDevice && pDevice->GetBitmap()) {
|
| - CFX_DIBitmap* pBitmap = pDevice->GetBitmap();
|
| - if (pBitmap->GetWidth() - rect.width > 1 ||
|
| - pBitmap->GetHeight() - rect.height > 1) {
|
| - pItem->pOffscreen.reset();
|
| - }
|
| - }
|
| - }
|
| -#if (_FX_OS_ == _FX_WIN32_DESKTOP_) || (_FX_OS_ == _FX_WIN64_)
|
| - pItem->bOutsideChanged = !m_rtScreen.Contains(rect);
|
| -#endif
|
| -}
|
| -
|
| CFWL_Widget* CFWL_WidgetMgr::GetWidgetAtPoint(CFWL_Widget* parent,
|
| FX_FLOAT x,
|
| FX_FLOAT y) {
|
| @@ -314,13 +284,6 @@ CFWL_Widget* CFWL_WidgetMgr::GetWidgetAtPoint(CFWL_Widget* parent,
|
| return parent;
|
| }
|
|
|
| -void CFWL_WidgetMgr::NotifySizeChanged(CFWL_Widget* pForm,
|
| - FX_FLOAT fx,
|
| - FX_FLOAT fy) {
|
| - if (FWL_UseOffscreen(pForm))
|
| - GetWidgetMgrItem(pForm)->pOffscreen.reset();
|
| -}
|
| -
|
| CFWL_Widget* CFWL_WidgetMgr::NextTab(CFWL_Widget* parent,
|
| CFWL_Widget* focus,
|
| bool& bFind) {
|
| @@ -465,39 +428,34 @@ void CFWL_WidgetMgr::OnDrawWidget(CFWL_Widget* pWidget,
|
| if (!pWidget || !pGraphics)
|
| return;
|
|
|
| - CFX_Graphics* pTemp = DrawWidgetBefore(pWidget, pGraphics, pMatrix);
|
| CFX_RectF clipCopy = pWidget->GetWidgetRect();
|
| clipCopy.left = clipCopy.top = 0;
|
|
|
| - if (UseOffscreenDirect(pWidget)) {
|
| - DrawWidgetAfter(pWidget, pGraphics, clipCopy, pMatrix);
|
| - return;
|
| - }
|
| CFX_RectF clipBounds;
|
|
|
| #if _FX_OS_ == _FX_WIN32_DESKTOP_ || _FX_OS_ == _FX_WIN64_ || \
|
| _FX_OS_ == _FX_LINUX_DESKTOP_ || _FX_OS_ == _FX_ANDROID_
|
| - pWidget->GetDelegate()->OnDrawWidget(pTemp, pMatrix);
|
| + pWidget->GetDelegate()->OnDrawWidget(pGraphics, pMatrix);
|
| pGraphics->GetClipRect(clipBounds);
|
| clipCopy = clipBounds;
|
| #elif _FX_OS_ == _FX_MACOSX_
|
| if (IsFormDisabled()) {
|
| - pWidget->GetDelegate()->OnDrawWidget(pTemp, pMatrix);
|
| + pWidget->GetDelegate()->OnDrawWidget(pGraphics, pMatrix);
|
| pGraphics->GetClipRect(clipBounds);
|
| clipCopy = clipBounds;
|
| } else {
|
| clipBounds.Set(pMatrix->a, pMatrix->b, pMatrix->c, pMatrix->d);
|
| const_cast<CFX_Matrix*>(pMatrix)->SetIdentity(); // FIXME: const cast.
|
| - pWidget->GetDelegate()->OnDrawWidget(pTemp, pMatrix);
|
| + pWidget->GetDelegate()->OnDrawWidget(pGraphics, pMatrix);
|
| }
|
| #endif // _FX_OS_ == _FX_MACOSX_
|
|
|
| if (!IsFormDisabled())
|
| clipBounds.Intersect(pWidget->GetClientRect());
|
| if (!clipBounds.IsEmpty())
|
| - DrawChild(pWidget, clipBounds, pTemp, pMatrix);
|
| + DrawChild(pWidget, clipBounds, pGraphics, pMatrix);
|
|
|
| - DrawWidgetAfter(pWidget, pGraphics, clipCopy, pMatrix);
|
| + GetWidgetMgrItem(pWidget)->iRedrawCounter = 0;
|
| ResetRedrawCounts(pWidget);
|
| }
|
|
|
| @@ -551,41 +509,6 @@ void CFWL_WidgetMgr::DrawChild(CFWL_Widget* parent,
|
| }
|
| }
|
|
|
| -CFX_Graphics* CFWL_WidgetMgr::DrawWidgetBefore(CFWL_Widget* pWidget,
|
| - CFX_Graphics* pGraphics,
|
| - const CFX_Matrix* pMatrix) {
|
| - if (!FWL_UseOffscreen(pWidget))
|
| - return pGraphics;
|
| -
|
| - Item* pItem = GetWidgetMgrItem(pWidget);
|
| - if (!pItem->pOffscreen) {
|
| - pItem->pOffscreen = pdfium::MakeUnique<CFX_Graphics>();
|
| - CFX_RectF rect = pWidget->GetWidgetRect();
|
| - pItem->pOffscreen->Create((int32_t)rect.width, (int32_t)rect.height,
|
| - FXDIB_Argb);
|
| - }
|
| - CFX_RectF rect;
|
| - pGraphics->GetClipRect(rect);
|
| - pItem->pOffscreen->SetClipRect(rect);
|
| - return pItem->pOffscreen.get();
|
| -}
|
| -
|
| -void CFWL_WidgetMgr::DrawWidgetAfter(CFWL_Widget* pWidget,
|
| - CFX_Graphics* pGraphics,
|
| - CFX_RectF& rtClip,
|
| - const CFX_Matrix* pMatrix) {
|
| - if (FWL_UseOffscreen(pWidget)) {
|
| - Item* pItem = GetWidgetMgrItem(pWidget);
|
| - pGraphics->Transfer(pItem->pOffscreen.get(), rtClip.left, rtClip.top,
|
| - rtClip, pMatrix);
|
| -#ifdef _WIN32
|
| - pItem->pOffscreen->ClearClip();
|
| -#endif
|
| - }
|
| - Item* pItem = GetWidgetMgrItem(pWidget);
|
| - pItem->iRedrawCounter = 0;
|
| -}
|
| -
|
| bool CFWL_WidgetMgr::IsNeedRepaint(CFWL_Widget* pWidget,
|
| CFX_Matrix* pMatrix,
|
| const CFX_RectF& rtDirty) {
|
| @@ -684,26 +607,6 @@ bool CFWL_WidgetMgr::IsNeedRepaint(CFWL_Widget* pWidget,
|
| return true;
|
| }
|
|
|
| -bool CFWL_WidgetMgr::UseOffscreenDirect(CFWL_Widget* pWidget) const {
|
| - Item* pItem = GetWidgetMgrItem(pWidget);
|
| - if (!FWL_UseOffscreen(pWidget) || !(pItem->pOffscreen))
|
| - return false;
|
| -
|
| -#if (_FX_OS_ == _FX_WIN32_DESKTOP_) || (_FX_OS_ == _FX_WIN64_)
|
| - if (pItem->bOutsideChanged) {
|
| - CFX_RectF r = pWidget->GetWidgetRect();
|
| - CFX_RectF temp(m_rtScreen);
|
| - temp.Deflate(50, 50);
|
| - if (!temp.Contains(r))
|
| - return false;
|
| -
|
| - pItem->bOutsideChanged = false;
|
| - }
|
| -#endif
|
| -
|
| - return pItem->iRedrawCounter == 0;
|
| -}
|
| -
|
| CFWL_WidgetMgr::Item::Item() : CFWL_WidgetMgr::Item(nullptr) {}
|
|
|
| CFWL_WidgetMgr::Item::Item(CFWL_Widget* widget)
|
|
|