| Index: fpdfsdk/src/fpdf_progressive.cpp
|
| diff --git a/fpdfsdk/src/fpdf_progressive.cpp b/fpdfsdk/src/fpdf_progressive.cpp
|
| index 4ec73ac2ba7a9c2cfe35f195e403390cc90998d7..aaa55a18f644fcef0f21884aeefcb507b0351d0a 100644
|
| --- a/fpdfsdk/src/fpdf_progressive.cpp
|
| +++ b/fpdfsdk/src/fpdf_progressive.cpp
|
| @@ -9,82 +9,86 @@
|
| #include "../include/fsdk_define.h"
|
| #include "../include/fsdk_rendercontext.h"
|
|
|
| -DLLEXPORT int STDCALL FPDF_RenderPageBitmap_Start( FPDF_BITMAP bitmap, FPDF_PAGE page,
|
| - int start_x, int start_y, int size_x,
|
| - int size_y, int rotate, int flags,
|
| - IFSDK_PAUSE * pause )
|
| -{
|
| - if (bitmap == NULL || page == NULL)
|
| - return FPDF_RENDER_FAILED;
|
| -
|
| - if (!pause)
|
| - return FPDF_RENDER_FAILED;
|
| -
|
| - if (pause->version !=1)
|
| - return FPDF_RENDER_FAILED;
|
| -
|
| - CPDF_Page* pPage = (CPDF_Page*)page;
|
| - CRenderContext* pContext = new CRenderContext;
|
| - pPage->SetPrivateData((void*)1, pContext, DropContext);
|
| +DLLEXPORT int STDCALL FPDF_RenderPageBitmap_Start(FPDF_BITMAP bitmap,
|
| + FPDF_PAGE page,
|
| + int start_x,
|
| + int start_y,
|
| + int size_x,
|
| + int size_y,
|
| + int rotate,
|
| + int flags,
|
| + IFSDK_PAUSE* pause) {
|
| + if (bitmap == NULL || page == NULL)
|
| + return FPDF_RENDER_FAILED;
|
| +
|
| + if (!pause)
|
| + return FPDF_RENDER_FAILED;
|
| +
|
| + if (pause->version != 1)
|
| + return FPDF_RENDER_FAILED;
|
| +
|
| + CPDF_Page* pPage = (CPDF_Page*)page;
|
| + CRenderContext* pContext = new CRenderContext;
|
| + pPage->SetPrivateData((void*)1, pContext, DropContext);
|
| #ifdef _SKIA_SUPPORT_
|
| - pContext->m_pDevice = new CFX_SkiaDevice;
|
| - if (flags & FPDF_REVERSE_BYTE_ORDER)
|
| - ((CFX_SkiaDevice*)pContext->m_pDevice)->Attach((CFX_DIBitmap*)bitmap,0,TRUE);
|
| - else
|
| - ((CFX_SkiaDevice*)pContext->m_pDevice)->Attach((CFX_DIBitmap*)bitmap);
|
| + pContext->m_pDevice = new CFX_SkiaDevice;
|
| + if (flags & FPDF_REVERSE_BYTE_ORDER)
|
| + ((CFX_SkiaDevice*)pContext->m_pDevice)
|
| + ->Attach((CFX_DIBitmap*)bitmap, 0, TRUE);
|
| + else
|
| + ((CFX_SkiaDevice*)pContext->m_pDevice)->Attach((CFX_DIBitmap*)bitmap);
|
| #else
|
| - pContext->m_pDevice = new CFX_FxgeDevice;
|
| - if (flags & FPDF_REVERSE_BYTE_ORDER)
|
| - ((CFX_FxgeDevice*)pContext->m_pDevice)->Attach((CFX_DIBitmap*)bitmap,0,TRUE);
|
| - else
|
| - ((CFX_FxgeDevice*)pContext->m_pDevice)->Attach((CFX_DIBitmap*)bitmap);
|
| + pContext->m_pDevice = new CFX_FxgeDevice;
|
| + if (flags & FPDF_REVERSE_BYTE_ORDER)
|
| + ((CFX_FxgeDevice*)pContext->m_pDevice)
|
| + ->Attach((CFX_DIBitmap*)bitmap, 0, TRUE);
|
| + else
|
| + ((CFX_FxgeDevice*)pContext->m_pDevice)->Attach((CFX_DIBitmap*)bitmap);
|
| #endif
|
| - IFSDK_PAUSE_Adapter IPauseAdapter(pause);
|
| + IFSDK_PAUSE_Adapter IPauseAdapter(pause);
|
|
|
| - FPDF_RenderPage_Retail(pContext, page, start_x, start_y, size_x, size_y,
|
| - rotate, flags,FALSE, &IPauseAdapter);
|
| + FPDF_RenderPage_Retail(pContext, page, start_x, start_y, size_x, size_y,
|
| + rotate, flags, FALSE, &IPauseAdapter);
|
|
|
| - if (pContext->m_pRenderer)
|
| - return CPDF_ProgressiveRenderer::ToFPDFStatus(pContext->m_pRenderer->GetStatus());
|
| + if (pContext->m_pRenderer)
|
| + return CPDF_ProgressiveRenderer::ToFPDFStatus(
|
| + pContext->m_pRenderer->GetStatus());
|
|
|
| - return FPDF_RENDER_FAILED;
|
| + return FPDF_RENDER_FAILED;
|
| }
|
|
|
| -DLLEXPORT int STDCALL FPDF_RenderPage_Continue(FPDF_PAGE page,IFSDK_PAUSE * pause)
|
| -{
|
| - if (page == NULL)
|
| - return FPDF_RENDER_FAILED;
|
| -
|
| - if (!pause)
|
| - return FPDF_RENDER_FAILED;
|
| -
|
| - if (pause->version !=1)
|
| - return FPDF_RENDER_FAILED;
|
| -
|
| - CPDF_Page* pPage = (CPDF_Page*)page;
|
| - CRenderContext * pContext = (CRenderContext*)pPage->GetPrivateData((void*)1);
|
| - if (pContext && pContext->m_pRenderer)
|
| - {
|
| - IFSDK_PAUSE_Adapter IPauseAdapter(pause);
|
| - pContext->m_pRenderer->Continue(&IPauseAdapter);
|
| - return CPDF_ProgressiveRenderer::ToFPDFStatus(pContext->m_pRenderer->GetStatus());
|
| - }
|
| +DLLEXPORT int STDCALL FPDF_RenderPage_Continue(FPDF_PAGE page,
|
| + IFSDK_PAUSE* pause) {
|
| + if (page == NULL)
|
| return FPDF_RENDER_FAILED;
|
| -}
|
| -
|
|
|
| -DLLEXPORT void STDCALL FPDF_RenderPage_Close(FPDF_PAGE page)
|
| -{
|
| - if (!page)
|
| - return;
|
| + if (!pause)
|
| + return FPDF_RENDER_FAILED;
|
|
|
| - CPDF_Page* pPage = (CPDF_Page*)page;
|
| - CRenderContext * pContext = (CRenderContext*)pPage->GetPrivateData((void*)1);
|
| - if (!pContext)
|
| - return;
|
| + if (pause->version != 1)
|
| + return FPDF_RENDER_FAILED;
|
|
|
| - pContext->m_pDevice->RestoreState();
|
| - delete pContext;
|
| - pPage->RemovePrivateData((void*)1);
|
| + CPDF_Page* pPage = (CPDF_Page*)page;
|
| + CRenderContext* pContext = (CRenderContext*)pPage->GetPrivateData((void*)1);
|
| + if (pContext && pContext->m_pRenderer) {
|
| + IFSDK_PAUSE_Adapter IPauseAdapter(pause);
|
| + pContext->m_pRenderer->Continue(&IPauseAdapter);
|
| + return CPDF_ProgressiveRenderer::ToFPDFStatus(
|
| + pContext->m_pRenderer->GetStatus());
|
| + }
|
| + return FPDF_RENDER_FAILED;
|
| }
|
|
|
| +DLLEXPORT void STDCALL FPDF_RenderPage_Close(FPDF_PAGE page) {
|
| + if (!page)
|
| + return;
|
| +
|
| + CPDF_Page* pPage = (CPDF_Page*)page;
|
| + CRenderContext* pContext = (CRenderContext*)pPage->GetPrivateData((void*)1);
|
| + if (!pContext)
|
| + return;
|
| +
|
| + pContext->m_pDevice->RestoreState();
|
| + delete pContext;
|
| + pPage->RemovePrivateData((void*)1);
|
| +}
|
|
|