| Index: core/include/fpdfapi/fpdf_render.h
|
| diff --git a/core/include/fpdfapi/fpdf_render.h b/core/include/fpdfapi/fpdf_render.h
|
| deleted file mode 100644
|
| index 71711e3b168b70a50c1555bc8d9f56c8d6add2ad..0000000000000000000000000000000000000000
|
| --- a/core/include/fpdfapi/fpdf_render.h
|
| +++ /dev/null
|
| @@ -1,263 +0,0 @@
|
| -// Copyright 2014 PDFium Authors. All rights reserved.
|
| -// Use of this source code is governed by a BSD-style license that can be
|
| -// found in the LICENSE file.
|
| -
|
| -// Original code copyright 2014 Foxit Software Inc. http://www.foxitsoftware.com
|
| -
|
| -#ifndef CORE_INCLUDE_FPDFAPI_FPDF_RENDER_H_
|
| -#define CORE_INCLUDE_FPDFAPI_FPDF_RENDER_H_
|
| -
|
| -#include <map>
|
| -#include <memory>
|
| -
|
| -#include "core/include/fpdfapi/fpdf_page.h"
|
| -#include "core/include/fxge/fx_ge.h"
|
| -
|
| -class CFX_GraphStateData;
|
| -class CFX_PathData;
|
| -class CFX_RenderDevice;
|
| -class CPDF_ImageCacheEntry;
|
| -class CPDF_RenderStatus;
|
| -class IFX_Pause;
|
| -
|
| -class IPDF_OCContext {
|
| - public:
|
| - virtual ~IPDF_OCContext() {}
|
| -
|
| - virtual FX_BOOL CheckOCGVisible(const CPDF_Dictionary* pOCG) = 0;
|
| -
|
| - FX_BOOL CheckObjectVisible(const CPDF_PageObject* pObj);
|
| -};
|
| -#define RENDER_COLOR_NORMAL 0
|
| -#define RENDER_COLOR_GRAY 1
|
| -#define RENDER_COLOR_TWOCOLOR 2
|
| -#define RENDER_COLOR_ALPHA 3
|
| -#define RENDER_CLEARTYPE 0x00000001
|
| -#define RENDER_PRINTGRAPHICTEXT 0x00000002
|
| -#define RENDER_FORCE_DOWNSAMPLE 0x00000004
|
| -#define RENDER_PRINTPREVIEW 0x00000008
|
| -#define RENDER_BGR_STRIPE 0x00000010
|
| -#define RENDER_NO_NATIVETEXT 0x00000020
|
| -#define RENDER_FORCE_HALFTONE 0x00000040
|
| -#define RENDER_RECT_AA 0x00000080
|
| -#define RENDER_FILL_FULLCOVER 0x00000100
|
| -#define RENDER_PRINTIMAGETEXT 0x00000200
|
| -#define RENDER_OVERPRINT 0x00000400
|
| -#define RENDER_THINLINE 0x00000800
|
| -#define RENDER_NOTEXTSMOOTH 0x10000000
|
| -#define RENDER_NOPATHSMOOTH 0x20000000
|
| -#define RENDER_NOIMAGESMOOTH 0x40000000
|
| -#define RENDER_LIMITEDIMAGECACHE 0x80000000
|
| -
|
| -class CPDF_RenderOptions {
|
| - public:
|
| - CPDF_RenderOptions();
|
| - FX_ARGB TranslateColor(FX_ARGB argb) const;
|
| -
|
| - int m_ColorMode;
|
| - FX_COLORREF m_BackColor;
|
| - FX_COLORREF m_ForeColor;
|
| - FX_DWORD m_Flags;
|
| - int m_Interpolation;
|
| - FX_DWORD m_AddFlags;
|
| - IPDF_OCContext* m_pOCContext;
|
| - FX_DWORD m_dwLimitCacheSize;
|
| - int m_HalftoneLimit;
|
| -};
|
| -
|
| -class CPDF_RenderContext {
|
| - public:
|
| - class Layer {
|
| - public:
|
| - CPDF_PageObjectHolder* m_pObjectHolder;
|
| - CFX_Matrix m_Matrix;
|
| - };
|
| -
|
| - explicit CPDF_RenderContext(CPDF_Page* pPage);
|
| - CPDF_RenderContext(CPDF_Document* pDoc, CPDF_PageRenderCache* pPageCache);
|
| - ~CPDF_RenderContext();
|
| -
|
| - void AppendLayer(CPDF_PageObjectHolder* pObjectHolder,
|
| - const CFX_Matrix* pObject2Device);
|
| -
|
| - void Render(CFX_RenderDevice* pDevice,
|
| - const CPDF_RenderOptions* pOptions,
|
| - const CFX_Matrix* pFinalMatrix);
|
| -
|
| - void Render(CFX_RenderDevice* pDevice,
|
| - const CPDF_PageObject* pStopObj,
|
| - const CPDF_RenderOptions* pOptions,
|
| - const CFX_Matrix* pFinalMatrix);
|
| -
|
| - void GetBackground(CFX_DIBitmap* pBuffer,
|
| - const CPDF_PageObject* pObj,
|
| - const CPDF_RenderOptions* pOptions,
|
| - CFX_Matrix* pFinalMatrix);
|
| -
|
| - FX_DWORD CountLayers() const { return m_Layers.GetSize(); }
|
| - Layer* GetLayer(FX_DWORD index) { return m_Layers.GetDataPtr(index); }
|
| -
|
| - CPDF_Document* GetDocument() const { return m_pDocument; }
|
| - CPDF_Dictionary* GetPageResources() const { return m_pPageResources; }
|
| - CPDF_PageRenderCache* GetPageCache() const { return m_pPageCache; }
|
| -
|
| - protected:
|
| - CPDF_Document* const m_pDocument;
|
| - CPDF_Dictionary* m_pPageResources;
|
| - CPDF_PageRenderCache* m_pPageCache;
|
| - FX_BOOL m_bFirstLayer;
|
| - CFX_ArrayTemplate<Layer> m_Layers;
|
| -};
|
| -
|
| -class CPDF_ProgressiveRenderer {
|
| - public:
|
| - // Must match FDF_RENDER_* definitions in public/fpdf_progressive.h, but
|
| - // cannot #include that header. fpdfsdk/fpdf_progressive.cpp has
|
| - // static_asserts to make sure the two sets of values match.
|
| - 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();
|
| -
|
| - Status GetStatus() const { return m_Status; }
|
| - void Start(IFX_Pause* pPause);
|
| - void Continue(IFX_Pause* pPause);
|
| -
|
| - private:
|
| - void RenderStep();
|
| -
|
| - // Maximum page objects to render before checking for pause.
|
| - static const int kStepLimit = 100;
|
| -
|
| - Status m_Status;
|
| - CPDF_RenderContext* const m_pContext;
|
| - CFX_RenderDevice* const m_pDevice;
|
| - const CPDF_RenderOptions* const m_pOptions;
|
| - std::unique_ptr<CPDF_RenderStatus> m_pRenderStatus;
|
| - CFX_FloatRect m_ClipRect;
|
| - FX_DWORD m_LayerIndex;
|
| - CPDF_RenderContext::Layer* m_pCurrentLayer;
|
| - CPDF_PageObjectList::iterator m_LastObjectRendered;
|
| -};
|
| -
|
| -class CPDF_TextRenderer {
|
| - public:
|
| - static void DrawTextString(CFX_RenderDevice* pDevice,
|
| - int left,
|
| - int top,
|
| - CPDF_Font* pFont,
|
| - int height,
|
| - const CFX_ByteString& str,
|
| - FX_ARGB argb);
|
| -
|
| - static void DrawTextString(CFX_RenderDevice* pDevice,
|
| - FX_FLOAT origin_x,
|
| - FX_FLOAT origin_y,
|
| - CPDF_Font* pFont,
|
| - FX_FLOAT font_size,
|
| - const CFX_Matrix* matrix,
|
| - const CFX_ByteString& str,
|
| - FX_ARGB fill_argb,
|
| - FX_ARGB stroke_argb = 0,
|
| - const CFX_GraphStateData* pGraphState = NULL,
|
| - const CPDF_RenderOptions* pOptions = NULL);
|
| -
|
| - static FX_BOOL DrawTextPath(CFX_RenderDevice* pDevice,
|
| - int nChars,
|
| - FX_DWORD* pCharCodes,
|
| - FX_FLOAT* pCharPos,
|
| - CPDF_Font* pFont,
|
| - FX_FLOAT font_size,
|
| - const CFX_Matrix* pText2User,
|
| - const CFX_Matrix* pUser2Device,
|
| - const CFX_GraphStateData* pGraphState,
|
| - FX_ARGB fill_argb,
|
| - FX_ARGB stroke_argb,
|
| - CFX_PathData* pClippingPath,
|
| - int nFlag = 0);
|
| -
|
| - static FX_BOOL DrawNormalText(CFX_RenderDevice* pDevice,
|
| - int nChars,
|
| - FX_DWORD* pCharCodes,
|
| - FX_FLOAT* pCharPos,
|
| - CPDF_Font* pFont,
|
| - FX_FLOAT font_size,
|
| - const CFX_Matrix* pText2Device,
|
| - FX_ARGB fill_argb,
|
| - const CPDF_RenderOptions* pOptions);
|
| -
|
| - static FX_BOOL DrawType3Text(CFX_RenderDevice* pDevice,
|
| - int nChars,
|
| - FX_DWORD* pCharCodes,
|
| - FX_FLOAT* pCharPos,
|
| - CPDF_Font* pFont,
|
| - FX_FLOAT font_size,
|
| - const CFX_Matrix* pText2Device,
|
| - FX_ARGB fill_argb);
|
| -};
|
| -class CPDF_PageRenderCache {
|
| - public:
|
| - explicit CPDF_PageRenderCache(CPDF_Page* pPage)
|
| - : m_pPage(pPage),
|
| - m_pCurImageCacheEntry(nullptr),
|
| - m_nTimeCount(0),
|
| - m_nCacheSize(0),
|
| - m_bCurFindCache(FALSE) {}
|
| - ~CPDF_PageRenderCache();
|
| - void ClearImageData();
|
| -
|
| - FX_DWORD EstimateSize();
|
| - void CacheOptimization(int32_t dwLimitCacheSize);
|
| - FX_DWORD GetTimeCount() const { return m_nTimeCount; }
|
| - void SetTimeCount(FX_DWORD dwTimeCount) { m_nTimeCount = dwTimeCount; }
|
| -
|
| - void GetCachedBitmap(CPDF_Stream* pStream,
|
| - CFX_DIBSource*& pBitmap,
|
| - CFX_DIBSource*& pMask,
|
| - FX_DWORD& MatteColor,
|
| - FX_BOOL bStdCS = FALSE,
|
| - FX_DWORD GroupFamily = 0,
|
| - FX_BOOL bLoadMask = FALSE,
|
| - CPDF_RenderStatus* pRenderStatus = NULL,
|
| - int32_t downsampleWidth = 0,
|
| - int32_t downsampleHeight = 0);
|
| -
|
| - void ResetBitmap(CPDF_Stream* pStream, const CFX_DIBitmap* pBitmap);
|
| - void ClearImageCacheEntry(CPDF_Stream* pStream);
|
| - CPDF_Page* GetPage() const { return m_pPage; }
|
| - CPDF_ImageCacheEntry* GetCurImageCacheEntry() const {
|
| - return m_pCurImageCacheEntry;
|
| - }
|
| -
|
| - FX_BOOL StartGetCachedBitmap(CPDF_Stream* pStream,
|
| - FX_BOOL bStdCS = FALSE,
|
| - FX_DWORD GroupFamily = 0,
|
| - FX_BOOL bLoadMask = FALSE,
|
| - CPDF_RenderStatus* pRenderStatus = NULL,
|
| - int32_t downsampleWidth = 0,
|
| - int32_t downsampleHeight = 0);
|
| -
|
| - FX_BOOL Continue(IFX_Pause* pPause);
|
| -
|
| - protected:
|
| - friend class CPDF_Page;
|
| - CPDF_Page* const m_pPage;
|
| - CPDF_ImageCacheEntry* m_pCurImageCacheEntry;
|
| - std::map<CPDF_Stream*, CPDF_ImageCacheEntry*> m_ImageCache;
|
| - FX_DWORD m_nTimeCount;
|
| - FX_DWORD m_nCacheSize;
|
| - FX_BOOL m_bCurFindCache;
|
| -};
|
| -
|
| -FX_BOOL IsAvailableMatrix(const CFX_Matrix& matrix);
|
| -
|
| -#endif // CORE_INCLUDE_FPDFAPI_FPDF_RENDER_H_
|
|
|