From b66077d3ef7ba594f2a831840783549f4dd70d86 Mon Sep 17 00:00:00 2001 From: Miklos Vajna Date: Wed, 11 Jul 2018 13:25:02 +0000 Subject: Add FPDFFormObj_CountObjects() API MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit To find out the number of sub-objects a form object has, similar to how FPDFPage_CountObjects() does it for page objects. Change-Id: I7e5775dece42b74fd5b71b1d9622a1aa37bf64ac Reviewed-on: https://pdfium-review.googlesource.com/37316 Commit-Queue: Nicolás Peña Moreno Reviewed-by: Nicolás Peña Moreno --- fpdfsdk/fpdf_editpage.cpp | 21 +++++++++++++++++++++ 1 file changed, 21 insertions(+) (limited to 'fpdfsdk/fpdf_editpage.cpp') diff --git a/fpdfsdk/fpdf_editpage.cpp b/fpdfsdk/fpdf_editpage.cpp index 8a1200885a..4151de5dfd 100644 --- a/fpdfsdk/fpdf_editpage.cpp +++ b/fpdfsdk/fpdf_editpage.cpp @@ -751,3 +751,24 @@ FPDFPageObj_SetLineCap(FPDF_PAGEOBJECT page_object, int line_cap) { pPageObj->SetDirty(true); return true; } + +FPDF_EXPORT int FPDF_CALLCONV +FPDFFormObj_CountObjects(FPDF_PAGEOBJECT page_object) { + auto* pPageObj = CPDFPageObjectFromFPDFPageObject(page_object); + if (!pPageObj) + return -1; + + CPDF_FormObject* pFormObject = pPageObj->AsForm(); + if (!pFormObject) + return -1; + + const CPDF_Form* pForm = pFormObject->form(); + if (!pForm) + return -1; + + const CPDF_PageObjectList* pObjectList = pForm->GetPageObjectList(); + if (!pObjectList) + return -1; + + return pObjectList->size(); +} -- cgit v1.2.3