diff options
author | Lei Zhang <thestig@chromium.org> | 2017-08-29 11:34:12 -0700 |
---|---|---|
committer | Chromium commit bot <commit-bot@chromium.org> | 2017-08-29 20:37:23 +0000 |
commit | 77f9bff2c229df771a43448a9d5087e042235936 (patch) | |
tree | 3bdc3d70491248a301c53275ccfe583b074d9184 /fpdfsdk/formfiller | |
parent | c9d6d68e9b91a0373d8aac42cdde5dac1925ec42 (diff) | |
download | pdfium-77f9bff2c229df771a43448a9d5087e042235936.tar.xz |
Reduce rounding errors when Invalidating rects.
Instead of using CFX_FloatRect::ToFxRect(), which always rounds down,
use GetOuterRect() which correctly rounds up / down depending on the
side of the rectangle.
Change-Id: I7abd3a65e8c0467ed4303292f26a72737a5d553b
Reviewed-on: https://pdfium-review.googlesource.com/12312
Commit-Queue: dsinclair <dsinclair@chromium.org>
Reviewed-by: dsinclair <dsinclair@chromium.org>
Diffstat (limited to 'fpdfsdk/formfiller')
-rw-r--r-- | fpdfsdk/formfiller/cffl_formfiller.h | 3 | ||||
-rw-r--r-- | fpdfsdk/formfiller/cffl_textfield.cpp | 2 |
2 files changed, 3 insertions, 2 deletions
diff --git a/fpdfsdk/formfiller/cffl_formfiller.h b/fpdfsdk/formfiller/cffl_formfiller.h index 2b276c242e..b5bf1c8197 100644 --- a/fpdfsdk/formfiller/cffl_formfiller.h +++ b/fpdfsdk/formfiller/cffl_formfiller.h @@ -140,7 +140,6 @@ class CFFL_FormFiller : public IPWL_Provider, public CPWL_TimerHandler { CPDFSDK_PageView* GetCurPageView(bool renew); void SetChangeMark(); - virtual void InvalidateRect(const FX_RECT& rect); CPDFSDK_Annot* GetSDKAnnot() { return m_pWidget.Get(); } protected: @@ -154,6 +153,8 @@ class CFFL_FormFiller : public IPWL_Provider, public CPWL_TimerHandler { // until the PWL_Edit is done with it. pdfium:566 void DestroyWindows(); + void InvalidateRect(const FX_RECT& rect); + CFX_UnownedPtr<CPDFSDK_FormFillEnvironment> const m_pFormFillEnv; CFX_UnownedPtr<CPDFSDK_Widget> m_pWidget; bool m_bValid; diff --git a/fpdfsdk/formfiller/cffl_textfield.cpp b/fpdfsdk/formfiller/cffl_textfield.cpp index d26b4a5599..f6f768a049 100644 --- a/fpdfsdk/formfiller/cffl_textfield.cpp +++ b/fpdfsdk/formfiller/cffl_textfield.cpp @@ -101,7 +101,7 @@ bool CFFL_TextField::OnChar(CPDFSDK_Annot* pAnnot, ASSERT(pPageView); m_bValid = !m_bValid; m_pFormFillEnv->Invalidate(pAnnot->GetUnderlyingPage(), - pAnnot->GetRect().ToFxRect()); + pAnnot->GetRect().GetOuterRect()); if (m_bValid) { if (CPWL_Wnd* pWnd = GetPDFWindow(pPageView, true)) |