diff options
author | tsepez <tsepez@chromium.org> | 2016-05-26 17:35:54 -0700 |
---|---|---|
committer | Commit bot <commit-bot@chromium.org> | 2016-05-26 17:35:54 -0700 |
commit | 54ab2343c338f55735c37ed6751040791e1df1e2 (patch) | |
tree | 59851961d740cb6c913dbdd42d54a8d64bfbf5de /xfa/fxfa/app/xfa_fwladapter.cpp | |
parent | 3bd3841291b46bd7ae31cfb8dc8035e5b4ed4e40 (diff) | |
download | pdfium-54ab2343c338f55735c37ed6751040791e1df1e2.tar.xz |
Add opaque "layout item" to widgets for caller's use.
This avoids another use of CFX_PrivateData. Note that in the old
code, we'd be calling through a m_pImpl onto the same underlying
object as we passed as the "key" argument when setting the value,
which explains why the get calls, happening one object lower, pass
the same argument as which they are being inovked against.
Review-Url: https://codereview.chromium.org/2010923002
Diffstat (limited to 'xfa/fxfa/app/xfa_fwladapter.cpp')
-rw-r--r-- | xfa/fxfa/app/xfa_fwladapter.cpp | 10 |
1 files changed, 6 insertions, 4 deletions
diff --git a/xfa/fxfa/app/xfa_fwladapter.cpp b/xfa/fxfa/app/xfa_fwladapter.cpp index 4a0828b5ef..ea63d84dfb 100644 --- a/xfa/fxfa/app/xfa_fwladapter.cpp +++ b/xfa/fxfa/app/xfa_fwladapter.cpp @@ -18,11 +18,12 @@ FWL_Error CXFA_FWLAdapterWidgetMgr::RepaintWidget(IFWL_Widget* pWidget, if (!pWidget) return FWL_Error::Indefinite; - CXFA_FFField* pField = (CXFA_FFField*)pWidget->GetPrivateData(pWidget); - if (!pField) + CXFA_FFWidget* pFFWidget = + static_cast<CXFA_FFWidget*>(pWidget->GetLayoutItem()); + if (!pFFWidget) return FWL_Error::Indefinite; - pField->AddInvalidateRect(nullptr); + pFFWidget->AddInvalidateRect(nullptr); return FWL_Error::Succeeded; } @@ -31,7 +32,8 @@ FX_BOOL CXFA_FWLAdapterWidgetMgr::GetPopupPos(IFWL_Widget* pWidget, FX_FLOAT fMaxHeight, const CFX_RectF& rtAnchor, CFX_RectF& rtPopup) { - CXFA_FFWidget* pFFWidget = (CXFA_FFWidget*)(pWidget->GetPrivateData(pWidget)); + CXFA_FFWidget* pFFWidget = + static_cast<CXFA_FFWidget*>(pWidget->GetLayoutItem()); CFX_Matrix mt; pFFWidget->GetRotateMatrix(mt); CFX_RectF rtRotateAnchor(rtAnchor); |