| Index: core/include/fpdfapi/fpdf_render.h
|
| diff --git a/core/include/fpdfapi/fpdf_render.h b/core/include/fpdfapi/fpdf_render.h
|
| index c0792cfc356c79ac086304fa8e08a254f58e8929..f3590095ad517b1b6d7f7e06a2739ff4f9225340 100644
|
| --- a/core/include/fpdfapi/fpdf_render.h
|
| +++ b/core/include/fpdfapi/fpdf_render.h
|
| @@ -7,22 +7,26 @@
|
| #ifndef CORE_INCLUDE_FPDFAPI_FPDF_RENDER_H_
|
| #define CORE_INCLUDE_FPDFAPI_FPDF_RENDER_H_
|
|
|
| +#include "../../../third_party/base/nonstd_unique_ptr.h"
|
| +#include "../../../public/fpdf_progressive.h"
|
| #include "../fxge/fx_ge.h"
|
| #include "fpdf_page.h"
|
|
|
| -class CPDF_RenderContext;
|
| -class CPDF_RenderOptions;
|
| -class CPDF_ImageCache;
|
| -class IPDF_OCContext;
|
| -class CPDF_QuickStretcher;
|
| -class CFX_PathData;
|
| class CFX_GraphStateData;
|
| +class CFX_PathData;
|
| class CFX_RenderDevice;
|
| -class CPDF_TextObject;
|
| -class CPDF_PathObject;
|
| +class CPDF_FormObject;
|
| +class CPDF_ImageCache;
|
| class CPDF_ImageObject;
|
| +class CPDF_PathObject;
|
| +class CPDF_QuickStretcher;
|
| +class CPDF_RenderContext;
|
| +class CPDF_RenderOptions;
|
| +class CPDF_RenderStatus;
|
| class CPDF_ShadingObject;
|
| -class CPDF_FormObject;
|
| +class CPDF_TextObject;
|
| +class IFX_Pause;
|
| +
|
| class IPDF_OCContext
|
| {
|
| public:
|
| @@ -129,63 +133,44 @@ protected:
|
| friend class CPDF_RenderStatus;
|
| friend class CPDF_ProgressiveRenderer;
|
| };
|
| +
|
| class CPDF_ProgressiveRenderer
|
| {
|
| public:
|
| -
|
| - CPDF_ProgressiveRenderer();
|
| -
|
| + // Must match FDF_RENDER_* definitions in fpdf_progressive.h.
|
| + enum Status {
|
| + Ready = FPDF_RENDER_READER,
|
| + ToBeContinued = FPDF_RENDER_TOBECOUNTINUED,
|
| + Done = FPDF_RENDER_DONE,
|
| + Failed = FPDF_RENDER_FAILED
|
| + };
|
| + static int ToFPDFStatus(Status status) { return static_cast<int>(status); }
|
| +
|
| + CPDF_ProgressiveRenderer(CPDF_RenderContext* pContext,
|
| + CFX_RenderDevice* pDevice,
|
| + const CPDF_RenderOptions* pOptions);
|
| ~CPDF_ProgressiveRenderer();
|
|
|
| - typedef enum {
|
| - Ready,
|
| - ToBeContinued,
|
| - Done,
|
| - Failed
|
| - } RenderStatus;
|
| -
|
| - RenderStatus GetStatus()
|
| - {
|
| - return m_Status;
|
| - }
|
| -
|
| -
|
| -
|
| - void Start(CPDF_RenderContext* pContext, CFX_RenderDevice* pDevice,
|
| - const CPDF_RenderOptions* pOptions, class IFX_Pause* pPause, FX_BOOL bDropObjects = FALSE);
|
| -
|
| - void Continue(class IFX_Pause* pPause);
|
| -
|
| -
|
| - int EstimateProgress();
|
| -
|
| - void Clear();
|
| -protected:
|
| -
|
| - RenderStatus m_Status;
|
| -
|
| - CPDF_RenderContext* m_pContext;
|
| -
|
| - CFX_RenderDevice* m_pDevice;
|
| -
|
| - const CPDF_RenderOptions* m_pOptions;
|
| -
|
| - FX_BOOL m_bDropObjects;
|
| -
|
| - class CPDF_RenderStatus* m_pRenderer;
|
| -
|
| - CFX_FloatRect m_ClipRect;
|
| -
|
| - FX_DWORD m_LayerIndex;
|
| -
|
| - FX_DWORD m_ObjectIndex;
|
| -
|
| - FX_POSITION m_ObjectPos;
|
| -
|
| - FX_POSITION m_PrevLastPos;
|
| -
|
| - void RenderStep();
|
| + Status GetStatus() const { return m_Status; }
|
| + void Start(IFX_Pause* pPause);
|
| + void Continue(IFX_Pause* pPause);
|
| + int EstimateProgress();
|
| +
|
| +private:
|
| + void RenderStep();
|
| +
|
| + Status m_Status;
|
| + CPDF_RenderContext* const m_pContext;
|
| + CFX_RenderDevice* const m_pDevice;
|
| + const CPDF_RenderOptions* const m_pOptions;
|
| + nonstd::unique_ptr<CPDF_RenderStatus> m_pRenderStatus;
|
| + CFX_FloatRect m_ClipRect;
|
| + FX_DWORD m_LayerIndex;
|
| + FX_DWORD m_ObjectIndex;
|
| + FX_POSITION m_ObjectPos;
|
| + FX_POSITION m_PrevLastPos;
|
| };
|
| +
|
| class CPDF_TextRenderer
|
| {
|
| public:
|
|
|