diff options
author | dan sinclair <dsinclair@chromium.org> | 2017-07-12 21:56:27 -0400 |
---|---|---|
committer | Chromium commit bot <commit-bot@chromium.org> | 2017-07-13 17:11:16 +0000 |
commit | adf922f278d23e7f955b89f48cc64b5de7925977 (patch) | |
tree | 1cae79929399b712938d88480d90ebc2c7ea59ff /fpdfsdk/pdfwindow/cpwl_edit.cpp | |
parent | a860a3d596f3daeadfdca0cc2093bfca722fa3a3 (diff) | |
download | pdfium-adf922f278d23e7f955b89f48cc64b5de7925977.tar.xz |
Remove CPWL_Utils::{In,De}flateRect
This CL removes the custom InflateRect and Deflate rect code in CPWL_Utils in
favour of calling the CFX_FloatRect version. This required inlining some extra
code at each callsite to check the rect size and normalize.
Change-Id: I7f60e5de03fc1db0c1d8e51eaa1d0e0700ebf157
Reviewed-on: https://pdfium-review.googlesource.com/7710
Reviewed-by: Tom Sepez <tsepez@chromium.org>
Commit-Queue: dsinclair <dsinclair@chromium.org>
Diffstat (limited to 'fpdfsdk/pdfwindow/cpwl_edit.cpp')
-rw-r--r-- | fpdfsdk/pdfwindow/cpwl_edit.cpp | 29 |
1 files changed, 22 insertions, 7 deletions
diff --git a/fpdfsdk/pdfwindow/cpwl_edit.cpp b/fpdfsdk/pdfwindow/cpwl_edit.cpp index a378156d41..2f9c5fbea5 100644 --- a/fpdfsdk/pdfwindow/cpwl_edit.cpp +++ b/fpdfsdk/pdfwindow/cpwl_edit.cpp @@ -89,16 +89,26 @@ void CPWL_Edit::RePosChildWnd() { pVSB->Move(rcVScroll, true, false); } - if (m_pEditCaret && !HasFlag(PES_TEXTOVERFLOW)) - m_pEditCaret->SetClipRect(CPWL_Utils::InflateRect( - GetClientRect(), 1.0f)); // +1 for caret beside border + if (m_pEditCaret && !HasFlag(PES_TEXTOVERFLOW)) { + CFX_FloatRect rect = GetClientRect(); + if (!rect.IsEmpty()) { + // +1 for caret beside border + rect.Inflate(1.0f, 1.0f); + rect.Normalize(); + } + m_pEditCaret->SetClipRect(rect); + } CPWL_EditCtrl::RePosChildWnd(); } CFX_FloatRect CPWL_Edit::GetClientRect() const { - CFX_FloatRect rcClient = CPWL_Utils::DeflateRect( - GetWindowRect(), (float)(GetBorderWidth() + GetInnerBorderWidth())); + CFX_FloatRect rcClient = GetWindowRect(); + if (!rcClient.IsEmpty()) { + float width = static_cast<float>(GetBorderWidth() + GetInnerBorderWidth()); + rcClient.Deflate(width, width); + rcClient.Normalize(); + } if (CPWL_ScrollBar* pVSB = GetVScrollBar()) { if (pVSB->IsVisible()) { @@ -183,8 +193,13 @@ void CPWL_Edit::SetParamByFlag() { m_pEdit->SetTextOverflow(true, false); } else { if (m_pEditCaret) { - m_pEditCaret->SetClipRect(CPWL_Utils::InflateRect( - GetClientRect(), 1.0f)); // +1 for caret beside border + CFX_FloatRect rect = GetClientRect(); + if (!rect.IsEmpty()) { + // +1 for caret beside border + rect.Inflate(1.0f, 1.0f); + rect.Normalize(); + } + m_pEditCaret->SetClipRect(rect); } } } |