Chromium Code Reviews| Index: fpdfsdk/src/fpdfview.cpp |
| diff --git a/fpdfsdk/src/fpdfview.cpp b/fpdfsdk/src/fpdfview.cpp |
| index 5d9bf4b2522f71198c655b999798b9ca540deb6c..b74606db090fa1701467f88046b30d1bc6e8f796 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; |
| @@ -105,6 +109,10 @@ FX_BOOL CFPDF_FileStream::Flush() { |
| return m_pFS->Flush(m_pFS->clientData) == 0; |
| } |
| +CPDF_Page* CPDFPageFromFPDFPage(FPDF_PAGE page) { |
|
Tom Sepez
2015/10/16 00:18:55
fixed.
Lei Zhang
2015/10/16 01:23:55
Wait, why do we have 2 impls in this file now?
Tom Sepez
2015/10/16 16:58:54
Twas deleted.
|
| + return static_cast<CPDF_Page*>(page); |
| +} |
| + |
| CPDF_CustomAccess::CPDF_CustomAccess(FPDF_FILEACCESS* pFileAccess) { |
| m_FileAccess = *pFileAccess; |
| m_BufferOffset = (FX_DWORD)-1; |
| @@ -436,13 +444,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 +469,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 +629,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 +705,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 +809,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) |