CPDF_Annot::GetRect() should return CFX_FloatRect.

Avoid using reference argument and return CFX_FloatRect instead.

Review-Url: https://codereview.chromium.org/2278153005
diff --git a/core/fpdfdoc/cpdf_annot.cpp b/core/fpdfdoc/cpdf_annot.cpp
index 76d3f9c..e70ee27 100644
--- a/core/fpdfdoc/cpdf_annot.cpp
+++ b/core/fpdfdoc/cpdf_annot.cpp
@@ -55,12 +55,13 @@
   return m_sSubtype;
 }
 
-void CPDF_Annot::GetRect(CFX_FloatRect& rect) const {
-  if (!m_pAnnotDict) {
-    return;
-  }
-  rect = m_pAnnotDict->GetRectBy("Rect");
+CFX_FloatRect CPDF_Annot::GetRect() const {
+  if (!m_pAnnotDict)
+    return CFX_FloatRect();
+
+  CFX_FloatRect rect = m_pAnnotDict->GetRectBy("Rect");
   rect.Normalize();
+  return rect;
 }
 
 uint32_t CPDF_Annot::GetFlags() const {
@@ -133,9 +134,7 @@
   CFX_FloatRect form_bbox = pForm->m_pFormDict->GetRectBy("BBox");
   CFX_Matrix form_matrix = pForm->m_pFormDict->GetMatrixBy("Matrix");
   form_matrix.TransformRect(form_bbox);
-  CFX_FloatRect arect;
-  pAnnot->GetRect(arect);
-  matrix.MatchRect(arect, form_bbox);
+  matrix.MatchRect(pAnnot->GetRect(), form_bbox);
   matrix.Concat(*pUser2Device);
   return pForm;
 }
@@ -272,8 +271,7 @@
       graph_state.m_DashArray[0] = graph_state.m_DashArray[1] = 3 * 1.0f;
     }
   }
-  CFX_FloatRect rect;
-  GetRect(rect);
+  CFX_FloatRect rect = GetRect();
   CFX_PathData path;
   width /= 2;
   path.AppendRect(rect.left + width, rect.bottom + width, rect.right - width,
diff --git a/core/fpdfdoc/cpdf_annotlist.cpp b/core/fpdfdoc/cpdf_annotlist.cpp
index 9dc0e95..153b25f 100644
--- a/core/fpdfdoc/cpdf_annotlist.cpp
+++ b/core/fpdfdoc/cpdf_annotlist.cpp
@@ -84,8 +84,7 @@
         continue;
       }
     }
-    CFX_FloatRect annot_rect_f;
-    pAnnot->GetRect(annot_rect_f);
+    CFX_FloatRect annot_rect_f = pAnnot->GetRect();
     CFX_Matrix matrix = *pMatrix;
     if (clip_rect) {
       annot_rect_f.Transform(&matrix);
diff --git a/core/fpdfdoc/include/cpdf_annot.h b/core/fpdfdoc/include/cpdf_annot.h
index 4029bba..9f86716 100644
--- a/core/fpdfdoc/include/cpdf_annot.h
+++ b/core/fpdfdoc/include/cpdf_annot.h
@@ -44,7 +44,7 @@
 
   CFX_ByteString GetSubType() const;
   uint32_t GetFlags() const;
-  void GetRect(CFX_FloatRect& rect) const;
+  CFX_FloatRect GetRect() const;
   const CPDF_Dictionary* GetAnnotDict() const { return m_pAnnotDict; }
   CPDF_Dictionary* GetAnnotDict() { return m_pAnnotDict; }
   FX_BOOL DrawAppearance(CPDF_Page* pPage,
diff --git a/fpdfsdk/cba_annotiterator.cpp b/fpdfsdk/cba_annotiterator.cpp
index f07805e..bd68997 100644
--- a/fpdfsdk/cba_annotiterator.cpp
+++ b/fpdfsdk/cba_annotiterator.cpp
@@ -168,7 +168,5 @@
 }
 
 CFX_FloatRect CBA_AnnotIterator::GetAnnotRect(const CPDFSDK_Annot* pAnnot) {
-  CFX_FloatRect rcAnnot;
-  pAnnot->GetPDFAnnot()->GetRect(rcAnnot);
-  return rcAnnot;
+  return pAnnot->GetPDFAnnot()->GetRect();
 }
diff --git a/fpdfsdk/cpdfsdk_baannot.cpp b/fpdfsdk/cpdfsdk_baannot.cpp
index 6a4ba86..99dd2e0 100644
--- a/fpdfsdk/cpdfsdk_baannot.cpp
+++ b/fpdfsdk/cpdfsdk_baannot.cpp
@@ -35,9 +35,7 @@
 }
 
 CFX_FloatRect CPDFSDK_BAAnnot::GetRect() const {
-  CFX_FloatRect rect;
-  m_pAnnot->GetRect(rect);
-  return rect;
+  return m_pAnnot->GetRect();
 }
 
 CFX_ByteString CPDFSDK_BAAnnot::GetType() const {
diff --git a/fpdfsdk/cpdfsdk_widget.cpp b/fpdfsdk/cpdfsdk_widget.cpp
index a36014c..dcccf0c 100644
--- a/fpdfsdk/cpdfsdk_widget.cpp
+++ b/fpdfsdk/cpdfsdk_widget.cpp
@@ -1975,8 +1975,7 @@
 
 FX_BOOL CPDFSDK_Widget::HitTest(FX_FLOAT pageX, FX_FLOAT pageY) {
   CPDF_Annot* pAnnot = GetPDFAnnot();
-  CFX_FloatRect annotRect;
-  pAnnot->GetRect(annotRect);
+  CFX_FloatRect annotRect = pAnnot->GetRect();
   if (!annotRect.Contains(pageX, pageY))
     return FALSE;
 
diff --git a/fpdfsdk/formfiller/cffl_formfiller.cpp b/fpdfsdk/formfiller/cffl_formfiller.cpp
index 92e9282..0779f26 100644
--- a/fpdfsdk/formfiller/cffl_formfiller.cpp
+++ b/fpdfsdk/formfiller/cffl_formfiller.cpp
@@ -419,8 +419,7 @@
 CFX_Matrix CFFL_FormFiller::GetCurMatrix() {
   CFX_Matrix mt;
 
-  CFX_FloatRect rcDA;
-  m_pWidget->GetPDFAnnot()->GetRect(rcDA);
+  CFX_FloatRect rcDA = m_pWidget->GetPDFAnnot()->GetRect();
 
   switch (m_pWidget->GetRotate()) {
     default:
@@ -451,8 +450,7 @@
 }
 
 CFX_FloatRect CFFL_FormFiller::GetPDFWindowRect() const {
-  CFX_FloatRect rectAnnot;
-  m_pWidget->GetPDFAnnot()->GetRect(rectAnnot);
+  CFX_FloatRect rectAnnot = m_pWidget->GetPDFAnnot()->GetRect();
 
   FX_FLOAT fWidth = rectAnnot.right - rectAnnot.left;
   FX_FLOAT fHeight = rectAnnot.top - rectAnnot.bottom;
diff --git a/fpdfsdk/formfiller/cffl_iformfiller.cpp b/fpdfsdk/formfiller/cffl_iformfiller.cpp
index 9e252cb..1f63844 100644
--- a/fpdfsdk/formfiller/cffl_iformfiller.cpp
+++ b/fpdfsdk/formfiller/cffl_iformfiller.cpp
@@ -45,10 +45,7 @@
   ASSERT(pPageView);
 
   CPDF_Annot* pPDFAnnot = pAnnot->GetPDFAnnot();
-  CFX_FloatRect rcAnnot;
-  pPDFAnnot->GetRect(rcAnnot);
-
-  CFX_FloatRect rcWin = CPWL_Utils::InflateRect(rcAnnot, 1);
+  CFX_FloatRect rcWin = CPWL_Utils::InflateRect(pPDFAnnot->GetRect(), 1);
   return rcWin.GetOuterRect();
 }
 
diff --git a/fpdfsdk/fpdfeditpage.cpp b/fpdfsdk/fpdfeditpage.cpp
index 0daa459..1301018 100644
--- a/fpdfsdk/fpdfeditpage.cpp
+++ b/fpdfsdk/fpdfeditpage.cpp
@@ -295,8 +295,7 @@
   for (size_t i = 0; i < AnnotList.Count(); ++i) {
     CPDF_Annot* pAnnot = AnnotList.GetAt(i);
     // transformAnnots Rectangle
-    CFX_FloatRect rect;
-    pAnnot->GetRect(rect);
+    CFX_FloatRect rect = pAnnot->GetRect();
     CFX_Matrix matrix((FX_FLOAT)a, (FX_FLOAT)b, (FX_FLOAT)c, (FX_FLOAT)d,
                       (FX_FLOAT)e, (FX_FLOAT)f);
     rect.Transform(&matrix);
diff --git a/fpdfsdk/fsdk_mgr.cpp b/fpdfsdk/fsdk_mgr.cpp
index 24efd40..9017e20 100644
--- a/fpdfsdk/fsdk_mgr.cpp
+++ b/fpdfsdk/fsdk_mgr.cpp
@@ -576,8 +576,7 @@
 const CPDF_Annot* CPDFSDK_PageView::GetPDFAnnotAtPoint(FX_FLOAT pageX,
                                                        FX_FLOAT pageY) {
   for (const auto& pAnnot : m_pAnnotList->All()) {
-    CFX_FloatRect annotRect;
-    pAnnot->GetRect(annotRect);
+    CFX_FloatRect annotRect = pAnnot->GetRect();
     if (annotRect.Contains(pageX, pageY))
       return pAnnot.get();
   }
@@ -588,8 +587,7 @@
                                                         FX_FLOAT pageY) {
   for (const auto& pAnnot : m_pAnnotList->All()) {
     if (pAnnot->GetSubType() == "Widget") {
-      CFX_FloatRect annotRect;
-      pAnnot->GetRect(annotRect);
+      CFX_FloatRect annotRect = pAnnot->GetRect();
       if (annotRect.Contains(pageX, pageY))
         return pAnnot.get();
     }