summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--fpdfsdk/fpdfeditpage.cpp8
-rw-r--r--fpdfsdk/fpdfview_c_api_test.c1
-rw-r--r--public/fpdf_edit.h9
3 files changed, 18 insertions, 0 deletions
diff --git a/fpdfsdk/fpdfeditpage.cpp b/fpdfsdk/fpdfeditpage.cpp
index 7b55e4d99d..511b7f5b4b 100644
--- a/fpdfsdk/fpdfeditpage.cpp
+++ b/fpdfsdk/fpdfeditpage.cpp
@@ -246,6 +246,14 @@ FPDFPageObj_HasTransparency(FPDF_PAGEOBJECT pageObject) {
return false;
}
+DLLEXPORT int STDCALL FPDFPageObj_GetType(FPDF_PAGEOBJECT pageObject) {
+ if (!pageObject)
+ return FPDF_PAGEOBJ_UNKNOWN;
+
+ CPDF_PageObject* pPageObj = reinterpret_cast<CPDF_PageObject*>(pageObject);
+ return pPageObj->GetType();
+}
+
DLLEXPORT FPDF_BOOL STDCALL FPDFPage_GenerateContent(FPDF_PAGE page) {
CPDF_Page* pPage = CPDFPageFromFPDFPage(page);
if (!IsPageObject(pPage))
diff --git a/fpdfsdk/fpdfview_c_api_test.c b/fpdfsdk/fpdfview_c_api_test.c
index b090319d86..fec91efeca 100644
--- a/fpdfsdk/fpdfview_c_api_test.c
+++ b/fpdfsdk/fpdfview_c_api_test.c
@@ -79,6 +79,7 @@ int CheckPDFiumCApi() {
CHK(FPDFPage_HasTransparency);
CHK(FPDFPage_GenerateContent);
CHK(FPDFPageObj_HasTransparency);
+ CHK(FPDFPageObj_GetType);
CHK(FPDFPageObj_Transform);
CHK(FPDFPage_TransformAnnots);
CHK(FPDFPageObj_NewImageObj);
diff --git a/public/fpdf_edit.h b/public/fpdf_edit.h
index 34a47a7c83..ce02a6406d 100644
--- a/public/fpdf_edit.h
+++ b/public/fpdf_edit.h
@@ -21,6 +21,7 @@
#define FPDF_GetAValue(argb) ((uint8_t)((argb) >> 24))
// The page object constants.
+#define FPDF_PAGEOBJ_UNKNOWN 0
#define FPDF_PAGEOBJ_TEXT 1
#define FPDF_PAGEOBJ_PATH 2
#define FPDF_PAGEOBJ_IMAGE 3
@@ -135,6 +136,14 @@ DLLEXPORT FPDF_BOOL STDCALL FPDFPage_GenerateContent(FPDF_PAGE page);
DLLEXPORT FPDF_BOOL STDCALL
FPDFPageObj_HasTransparency(FPDF_PAGEOBJECT pageObject);
+// Get type of |pageObject|.
+//
+// pageObject - handle to a page object.
+//
+// Returns one of the FPDF_PAGEOBJ_* values on success, FPDF_PAGEOBJ_UNKNOWN on
+// error.
+DLLEXPORT int STDCALL FPDFPageObj_GetType(FPDF_PAGEOBJECT pageObject);
+
// Transform |pageObject| by the given matrix.
//
// page_object - handle to a page object.