Add public API for getting the bounds of a page object.

BUG=pdfium:721
R=npm@chromium.org

Change-Id: I71b6281346b3ed67f6b8703eccd7794588559819
Reviewed-on: https://pdfium-review.googlesource.com/6013
Commit-Queue: Nicolás Peña <npm@chromium.org>
Reviewed-by: Nicolás Peña <npm@chromium.org>
diff --git a/fpdfsdk/fpdfeditpage.cpp b/fpdfsdk/fpdfeditpage.cpp
index 2c58caf..37469ed 100644
--- a/fpdfsdk/fpdfeditpage.cpp
+++ b/fpdfsdk/fpdfeditpage.cpp
@@ -320,3 +320,20 @@
       CPDF_ColorSpace::GetStockCS(PDFCS_DEVICERGB), rgb, 3);
   return true;
 }
+
+DLLEXPORT FPDF_BOOL STDCALL FPDFPageObj_GetBounds(FPDF_PAGEOBJECT pageObject,
+                                                  float* left,
+                                                  float* bottom,
+                                                  float* right,
+                                                  float* top) {
+  if (!pageObject)
+    return false;
+
+  CPDF_PageObject* pPageObj = static_cast<CPDF_PageObject*>(pageObject);
+  CFX_FloatRect bbox = pPageObj->GetRect();
+  *left = bbox.left;
+  *bottom = bbox.bottom;
+  *right = bbox.right;
+  *top = bbox.top;
+  return true;
+}
diff --git a/public/fpdf_edit.h b/public/fpdf_edit.h
index 904231f..677bdb2 100644
--- a/public/fpdf_edit.h
+++ b/public/fpdf_edit.h
@@ -296,6 +296,21 @@
                                                             float w,
                                                             float h);
 
+// Get the bounding box of |pageObject|.
+//
+// pageObject - handle to a page object.
+// left       - pointer where the left coordinate will be stored
+// bottom     - pointer where the bottom coordinate will be stored
+// right      - pointer where the right coordinate will be stored
+// top        - pointer where the top coordinate will be stored
+//
+// Returns TRUE on success.
+DLLEXPORT FPDF_BOOL STDCALL FPDFPageObj_GetBounds(FPDF_PAGEOBJECT pageObject,
+                                                  float* left,
+                                                  float* bottom,
+                                                  float* right,
+                                                  float* top);
+
 // Set the stroke RGBA of a path. Range of values: 0 - 255.
 //
 // path   - the handle to the path object.