Index: fpdfsdk/src/fpdf_transformpage.cpp |
diff --git a/fpdfsdk/src/fpdf_transformpage.cpp b/fpdfsdk/src/fpdf_transformpage.cpp |
index 614c7a48fe6f6e23f29edbe91fcd6d52d899b75b..d0dee59d0d322eacee88a833f4bfea6b1a50f8e5 100644 |
--- a/fpdfsdk/src/fpdf_transformpage.cpp |
+++ b/fpdfsdk/src/fpdf_transformpage.cpp |
@@ -9,6 +9,10 @@ |
namespace { |
+CPDF_Page* GetPageFromFPDFPage(FPDF_PAGE page) { |
Tom Sepez
2015/10/13 21:53:45
note: if we put this (and an equivalent GetDocFrom
|
+ return static_cast<CPDF_Page*>(page); |
+} |
+ |
void SetBoundingBox(CPDF_Page* page, |
const CFX_ByteStringC& key, |
float left, |
@@ -49,11 +53,11 @@ DLLEXPORT void STDCALL FPDFPage_SetMediaBox(FPDF_PAGE page, |
float bottom, |
float right, |
float top) { |
- if (!page) |
+ CPDF_Page* pPage = GetPageFromFPDFPage(page); |
+ if (!pPage) |
return; |
- SetBoundingBox(static_cast<CPDF_Page*>(page), "MediaBox", left, bottom, right, |
- top); |
+ SetBoundingBox(pPage, "MediaBox", left, bottom, right, top); |
} |
DLLEXPORT void STDCALL FPDFPage_SetCropBox(FPDF_PAGE page, |
@@ -61,11 +65,11 @@ DLLEXPORT void STDCALL FPDFPage_SetCropBox(FPDF_PAGE page, |
float bottom, |
float right, |
float top) { |
- if (!page) |
+ CPDF_Page* pPage = GetPageFromFPDFPage(page); |
+ if (!pPage) |
return; |
- SetBoundingBox(static_cast<CPDF_Page*>(page), "CropBox", left, bottom, right, |
- top); |
+ SetBoundingBox(pPage, "CropBox", left, bottom, right, top); |
} |
DLLEXPORT FPDF_BOOL STDCALL FPDFPage_GetMediaBox(FPDF_PAGE page, |
@@ -73,8 +77,8 @@ DLLEXPORT FPDF_BOOL STDCALL FPDFPage_GetMediaBox(FPDF_PAGE page, |
float* bottom, |
float* right, |
float* top) { |
- return page && GetBoundingBox(static_cast<CPDF_Page*>(page), "MediaBox", left, |
- bottom, right, top); |
+ CPDF_Page* pPage = GetPageFromFPDFPage(page); |
+ return pPage && GetBoundingBox(pPage, "MediaBox", left, bottom, right, top); |
} |
DLLEXPORT FPDF_BOOL STDCALL FPDFPage_GetCropBox(FPDF_PAGE page, |
@@ -82,14 +86,15 @@ DLLEXPORT FPDF_BOOL STDCALL FPDFPage_GetCropBox(FPDF_PAGE page, |
float* bottom, |
float* right, |
float* top) { |
- return page && GetBoundingBox(static_cast<CPDF_Page*>(page), "CropBox", left, |
- bottom, right, top); |
+ CPDF_Page* pPage = GetPageFromFPDFPage(page); |
+ return pPage && GetBoundingBox(pPage, "CropBox", left, bottom, right, top); |
} |
DLLEXPORT FPDF_BOOL STDCALL FPDFPage_TransFormWithClip(FPDF_PAGE page, |
FS_MATRIX* matrix, |
FS_RECTF* clipRect) { |
- if (!page) |
+ CPDF_Page* pPage = GetPageFromFPDFPage(page); |
+ if (!pPage) |
return FALSE; |
CFX_ByteTextBuf textBuf; |
@@ -107,7 +112,6 @@ DLLEXPORT FPDF_BOOL STDCALL FPDFPage_TransFormWithClip(FPDF_PAGE page, |
matrix->d, matrix->e, matrix->f); |
textBuf << bsMatix; |
- CPDF_Page* pPage = (CPDF_Page*)page; |
CPDF_Dictionary* pPageDic = pPage->m_pFormDict; |
CPDF_Object* pContentObj = pPageDic ? pPageDic->GetElement("Contents") : NULL; |
if (!pContentObj) |
@@ -263,9 +267,10 @@ void OutputPath(CFX_ByteTextBuf& buf, CPDF_Path path) { |
DLLEXPORT void STDCALL FPDFPage_InsertClipPath(FPDF_PAGE page, |
FPDF_CLIPPATH clipPath) { |
- if (!page) |
+ CPDF_Page* pPage = GetPageFromFPDFPage(page); |
+ if (!pPage) |
return; |
- CPDF_Page* pPage = (CPDF_Page*)page; |
+ |
CPDF_Dictionary* pPageDic = pPage->m_pFormDict; |
CPDF_Object* pContentObj = pPageDic ? pPageDic->GetElement("Contents") : NULL; |
if (!pContentObj) |