Index: fpdfsdk/src/fpdfeditpage.cpp |
diff --git a/fpdfsdk/src/fpdfeditpage.cpp b/fpdfsdk/src/fpdfeditpage.cpp |
index 6e1b852a471baaca102c354b2451268dd8eba4bf..f2d13d6ba1c6bce33e96b29f2e837e1728c647be 100644 |
--- a/fpdfsdk/src/fpdfeditpage.cpp |
+++ b/fpdfsdk/src/fpdfeditpage.cpp |
@@ -85,7 +85,7 @@ DLLEXPORT FPDF_PAGE STDCALL FPDFPage_New(FPDF_DOCUMENT document, |
} |
DLLEXPORT int STDCALL FPDFPage_GetRotation(FPDF_PAGE page) { |
- CPDF_Page* pPage = (CPDF_Page*)page; |
+ CPDF_Page* pPage = CPDFPageFromFPDFPage(page); |
if (!pPage || !pPage->m_pFormDict || !pPage->m_pFormDict->KeyExist("Type") || |
!pPage->m_pFormDict->GetElement("Type")->GetDirect() || |
pPage->m_pFormDict->GetElement("Type")->GetDirect()->GetString().Compare( |
@@ -129,7 +129,7 @@ DLLEXPORT int STDCALL FPDFPage_GetRotation(FPDF_PAGE page) { |
DLLEXPORT void STDCALL FPDFPage_InsertObject(FPDF_PAGE page, |
FPDF_PAGEOBJECT page_obj) { |
- CPDF_Page* pPage = (CPDF_Page*)page; |
+ CPDF_Page* pPage = CPDFPageFromFPDFPage(page); |
if (!pPage || !pPage->m_pFormDict || !pPage->m_pFormDict->KeyExist("Type") || |
!pPage->m_pFormDict->GetElement("Type")->GetDirect() || |
pPage->m_pFormDict->GetElement("Type")->GetDirect()->GetString().Compare( |
@@ -171,13 +171,10 @@ DLLEXPORT void STDCALL FPDFPage_InsertObject(FPDF_PAGE page, |
default: |
break; |
} |
- |
- // pPage->ParseContent(); |
- // pPage->GenerateContent(); |
} |
DLLEXPORT int STDCALL FPDFPage_CountObject(FPDF_PAGE page) { |
- CPDF_Page* pPage = (CPDF_Page*)page; |
+ CPDF_Page* pPage = CPDFPageFromFPDFPage(page); |
if (!pPage || !pPage->m_pFormDict || !pPage->m_pFormDict->KeyExist("Type") || |
!pPage->m_pFormDict->GetElement("Type")->GetDirect() || |
pPage->m_pFormDict->GetElement("Type")->GetDirect()->GetString().Compare( |
@@ -185,27 +182,22 @@ DLLEXPORT int STDCALL FPDFPage_CountObject(FPDF_PAGE page) { |
return -1; |
} |
return pPage->CountObjects(); |
- // return 0; |
} |
DLLEXPORT FPDF_PAGEOBJECT STDCALL FPDFPage_GetObject(FPDF_PAGE page, |
int index) { |
- CPDF_Page* pPage = (CPDF_Page*)page; |
+ CPDF_Page* pPage = CPDFPageFromFPDFPage(page); |
if (!pPage || !pPage->m_pFormDict || !pPage->m_pFormDict->KeyExist("Type") || |
pPage->m_pFormDict->GetElement("Type")->GetDirect()->GetString().Compare( |
"Page")) { |
return NULL; |
} |
return pPage->GetObjectByIndex(index); |
- // return NULL; |
} |
DLLEXPORT FPDF_BOOL STDCALL FPDFPage_HasTransparency(FPDF_PAGE page) { |
- if (!page) |
- return FALSE; |
- CPDF_Page* pPage = (CPDF_Page*)page; |
- |
- return pPage->BackgroundAlphaNeeded(); |
+ CPDF_Page* pPage = CPDFPageFromFPDFPage(page); |
+ return pPage && pPage->BackgroundAlphaNeeded(); |
} |
DLLEXPORT FPDF_BOOL STDCALL |
@@ -247,7 +239,7 @@ FPDFPageObj_HasTransparency(FPDF_PAGEOBJECT pageObject) { |
} |
DLLEXPORT FPDF_BOOL STDCALL FPDFPage_GenerateContent(FPDF_PAGE page) { |
- CPDF_Page* pPage = (CPDF_Page*)page; |
+ CPDF_Page* pPage = CPDFPageFromFPDFPage(page); |
if (!pPage || !pPage->m_pFormDict || !pPage->m_pFormDict->KeyExist("Type") || |
!pPage->m_pFormDict->GetElement("Type")->GetDirect() || |
pPage->m_pFormDict->GetElement("Type")->GetDirect()->GetString().Compare( |
@@ -282,9 +274,9 @@ DLLEXPORT void STDCALL FPDFPage_TransformAnnots(FPDF_PAGE page, |
double d, |
double e, |
double f) { |
- if (page == NULL) |
+ CPDF_Page* pPage = CPDFPageFromFPDFPage(page); |
+ if (!pPage) |
return; |
- CPDF_Page* pPage = (CPDF_Page*)page; |
CPDF_AnnotList AnnotList(pPage); |
for (int i = 0; i < AnnotList.Count(); i++) { |
CPDF_Annot* pAnnot = AnnotList.GetAt(i); |
@@ -310,7 +302,7 @@ DLLEXPORT void STDCALL FPDFPage_TransformAnnots(FPDF_PAGE page, |
} |
DLLEXPORT void STDCALL FPDFPage_SetRotation(FPDF_PAGE page, int rotate) { |
- CPDF_Page* pPage = (CPDF_Page*)page; |
+ CPDF_Page* pPage = CPDFPageFromFPDFPage(page); |
if (!pPage || !pPage->m_pFormDict || !pPage->m_pFormDict->KeyExist("Type") || |
!pPage->m_pFormDict->GetElement("Type")->GetDirect() || |
pPage->m_pFormDict->GetElement("Type")->GetDirect()->GetString().Compare( |