diff options
-rw-r--r-- | fpdfsdk/fpdfeditpage.cpp | 8 | ||||
-rw-r--r-- | fpdfsdk/fpdfview_c_api_test.c | 1 | ||||
-rw-r--r-- | public/fpdf_edit.h | 9 |
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. |