| Index: fpdfsdk/src/fpdfview.cpp
|
| diff --git a/fpdfsdk/src/fpdfview.cpp b/fpdfsdk/src/fpdfview.cpp
|
| index 8da56dc3b6a00eefc48a1c7994b96e9e06cb8218..7dc17262c63d02b2b4677246a9d154e9fe3710a4 100644
|
| --- a/fpdfsdk/src/fpdfview.cpp
|
| +++ b/fpdfsdk/src/fpdfview.cpp
|
| @@ -23,16 +23,30 @@
|
| #include "third_party/base/nonstd_unique_ptr.h"
|
| #include "third_party/base/numerics/safe_conversions_impl.h"
|
|
|
| +UnderlyingDocumentType* UnderlyingFromFPDFDocument(FPDF_DOCUMENT doc) {
|
| + return static_cast<UnderlyingDocumentType*>(doc);
|
| +}
|
| +
|
| +FPDF_DOCUMENT FPDFDocumentFromUnderlying(UnderlyingDocumentType* doc) {
|
| + return static_cast<FPDF_DOCUMENT>(doc);
|
| +}
|
| +
|
| +UnderlyingPageType* UnderlyingFromFPDFPage(FPDF_PAGE page) {
|
| + return static_cast<UnderlyingPageType*>(page);
|
| +}
|
| +
|
| CPDF_Document* CPDFDocumentFromFPDFDocument(FPDF_DOCUMENT doc) {
|
| - return doc ? static_cast<CPDFXFA_Document*>(doc)->GetPDFDoc() : nullptr;
|
| + return doc ? UnderlyingFromFPDFDocument(doc)->GetPDFDoc() : nullptr;
|
| }
|
|
|
| FPDF_DOCUMENT FPDFDocumentFromCPDFDocument(CPDF_Document* doc) {
|
| - return doc ? new CPDFXFA_Document(doc, CPDFXFA_App::GetInstance()) : nullptr;
|
| + return doc ? FPDFDocumentFromUnderlying(
|
| + new CPDFXFA_Document(doc, CPDFXFA_App::GetInstance()))
|
| + : nullptr;
|
| }
|
|
|
| CPDF_Page* CPDFPageFromFPDFPage(FPDF_PAGE page) {
|
| - return page ? static_cast<CPDFXFA_Page*>(page)->GetPDFPage() : nullptr;
|
| + return page ? UnderlyingFromFPDFPage(page)->GetPDFPage() : nullptr;
|
| }
|
|
|
| CFPDF_FileStream::CFPDF_FileStream(FPDF_FILEHANDLER* pFS) {
|
|
|