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.