summaryrefslogtreecommitdiff
path: root/fpdfsdk/pdfwindow/cpwl_edit.cpp
diff options
context:
space:
mode:
authordan sinclair <dsinclair@chromium.org>2017-07-12 21:56:27 -0400
committerChromium commit bot <commit-bot@chromium.org>2017-07-13 17:11:16 +0000
commitadf922f278d23e7f955b89f48cc64b5de7925977 (patch)
tree1cae79929399b712938d88480d90ebc2c7ea59ff /fpdfsdk/pdfwindow/cpwl_edit.cpp
parenta860a3d596f3daeadfdca0cc2093bfca722fa3a3 (diff)
downloadpdfium-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.cpp29
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);
}
}
}