Index: fpdfsdk/src/fpdfview.cpp |
diff --git a/fpdfsdk/src/fpdfview.cpp b/fpdfsdk/src/fpdfview.cpp |
index 5d9bf4b2522f71198c655b999798b9ca540deb6c..6254eb2b675e5f6194368079cf31039b13f3bb0c 100644 |
--- a/fpdfsdk/src/fpdfview.cpp |
+++ b/fpdfsdk/src/fpdfview.cpp |
@@ -26,6 +26,10 @@ CPDF_Document* CPDFDocumentFromFPDFDocument(FPDF_DOCUMENT doc) { |
return doc ? static_cast<CPDFXFA_Document*>(doc)->GetPDFDoc() : nullptr; |
} |
+CPDF_Page* CPDFPageFromFPDFPage(FPDF_PAGE page) { |
+ return page ? static_cast<CPDFXFA_Page*>(page)->GetPDFPage() : nullptr; |
+} |
+ |
CFPDF_FileStream::CFPDF_FileStream(FPDF_FILEHANDLER* pFS) { |
m_pFS = pFS; |
m_nCurPos = 0; |
@@ -436,13 +440,11 @@ DLLEXPORT double STDCALL FPDF_GetPageWidth(FPDF_PAGE page) { |
if (!page) |
return 0.0; |
return ((CPDFXFA_Page*)page)->GetPageWidth(); |
- // return ((CPDF_Page*)page)->GetPageWidth(); |
} |
DLLEXPORT double STDCALL FPDF_GetPageHeight(FPDF_PAGE page) { |
if (!page) |
return 0.0; |
- // return ((CPDF_Page*)page)->GetPageHeight(); |
return ((CPDFXFA_Page*)page)->GetPageHeight(); |
} |
@@ -463,9 +465,7 @@ DLLEXPORT void STDCALL FPDF_RenderPage(HDC dc, |
int size_y, |
int rotate, |
int flags) { |
- if (page == NULL) |
- return; |
- CPDF_Page* pPage = ((CPDFXFA_Page*)page)->GetPDFPage(); |
+ CPDF_Page* pPage = CPDFPageFromFPDFPage(page); |
if (!pPage) |
return; |
@@ -625,12 +625,11 @@ DLLEXPORT void STDCALL FPDF_RenderPageBitmap(FPDF_BITMAP bitmap, |
int size_y, |
int rotate, |
int flags) { |
- if (bitmap == NULL || page == NULL) |
+ if (!bitmap) |
return; |
- CPDF_Page* pPage = ((CPDFXFA_Page*)page)->GetPDFPage(); |
+ CPDF_Page* pPage = CPDFPageFromFPDFPage(page); |
if (!pPage) |
return; |
- |
CRenderContext* pContext = new CRenderContext; |
pPage->SetPrivateData((void*)1, pContext, DropContext); |
#ifdef _SKIA_SUPPORT_ |
@@ -702,9 +701,11 @@ DLLEXPORT void STDCALL FPDF_PageToDevice(FPDF_PAGE page, |
double page_y, |
int* device_x, |
int* device_y) { |
- if (page == NULL || device_x == NULL || device_y == NULL) |
+ if (!device_x || !device_y) |
return; |
CPDFXFA_Page* pPage = (CPDFXFA_Page*)page; |
+ if (!pPage) |
+ return; |
pPage->PageToDevice(start_x, start_y, size_x, size_y, rotate, page_x, page_y, |
device_x, device_y); |
} |
@@ -804,8 +805,8 @@ void FPDF_RenderPage_Retail(CRenderContext* pContext, |
int flags, |
FX_BOOL bNeedToRestore, |
IFSDK_PAUSE_Adapter* pause) { |
- CPDF_Page* pPage = ((CPDFXFA_Page*)page)->GetPDFPage(); |
- if (pPage == NULL) |
+ CPDF_Page* pPage = CPDFPageFromFPDFPage(page); |
+ if (!pPage) |
return; |
if (!pContext->m_pOptions) |