Index: core/fpdfapi/fpdf_render/render_int.h |
diff --git a/core/fpdfapi/fpdf_render/render_int.h b/core/fpdfapi/fpdf_render/render_int.h |
deleted file mode 100644 |
index aa82a9f53cc8dfb55581d74f8b4b04a72c65668d..0000000000000000000000000000000000000000 |
--- a/core/fpdfapi/fpdf_render/render_int.h |
+++ /dev/null |
@@ -1,596 +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_FPDFAPI_FPDF_RENDER_RENDER_INT_H_ |
-#define CORE_FPDFAPI_FPDF_RENDER_RENDER_INT_H_ |
- |
-#include <map> |
-#include <memory> |
-#include <vector> |
- |
-#include "core/fpdfapi/fpdf_render/cpdf_renderoptions.h" |
-#include "core/fpdfapi/page/cpdf_clippath.h" |
-#include "core/fpdfapi/page/cpdf_countedobject.h" |
-#include "core/fpdfapi/page/cpdf_graphicstates.h" |
-#include "core/fpdfapi/parser/cpdf_stream_acc.h" |
-#include "core/fxge/cfx_fxgedevice.h" |
-#include "core/fxge/cfx_renderdevice.h" |
- |
-class CCodec_Jbig2Context; |
-class CCodec_ScanlineDecoder; |
-class CFX_GlyphBitmap; |
-class CFX_ImageTransformer; |
-class CFX_PathData; |
-class CPDF_Color; |
-class CPDF_Dictionary; |
-class CPDF_Document; |
-class CPDF_Font; |
-class CPDF_FormObject; |
-class CPDF_ImageCacheEntry; |
-class CPDF_ImageLoaderHandle; |
-class CPDF_ImageObject; |
-class CPDF_ImageRenderer; |
-class CPDF_Object; |
-class CPDF_PageObject; |
-class CPDF_PageObjectHolder; |
-class CPDF_PageRenderCache; |
-class CPDF_PathObject; |
-class CPDF_RenderStatus; |
-class CPDF_ShadingObject; |
-class CPDF_ShadingPattern; |
-class CPDF_Stream; |
-class CPDF_TilingPattern; |
-class CPDF_TransferFunc; |
-class CPDF_Type3Cache; |
-class CPDF_Type3Glyphs; |
-class CPDF_Type3Char; |
-class CPDF_Type3Font; |
- |
-FX_BOOL IsAvailableMatrix(const CFX_Matrix& matrix); |
- |
-class CPDF_TransferFunc { |
- public: |
- explicit CPDF_TransferFunc(CPDF_Document* pDoc); |
- |
- FX_COLORREF TranslateColor(FX_COLORREF src) const; |
- CFX_DIBSource* TranslateImage(const CFX_DIBSource* pSrc, |
- FX_BOOL bAutoDropSrc); |
- |
- CPDF_Document* const m_pPDFDoc; |
- FX_BOOL m_bIdentity; |
- uint8_t m_Samples[256 * 3]; |
-}; |
- |
-class CPDF_DocRenderData { |
- public: |
- explicit CPDF_DocRenderData(CPDF_Document* pPDFDoc); |
- ~CPDF_DocRenderData(); |
- CPDF_Type3Cache* GetCachedType3(CPDF_Type3Font* pFont); |
- CPDF_TransferFunc* GetTransferFunc(CPDF_Object* pObj); |
- void Clear(FX_BOOL bRelease = FALSE); |
- void ReleaseCachedType3(CPDF_Type3Font* pFont); |
- void ReleaseTransferFunc(CPDF_Object* pObj); |
- |
- private: |
- using CPDF_Type3CacheMap = |
- std::map<CPDF_Font*, CPDF_CountedObject<CPDF_Type3Cache>*>; |
- using CPDF_TransferFuncMap = |
- std::map<CPDF_Object*, CPDF_CountedObject<CPDF_TransferFunc>*>; |
- |
- CPDF_Document* m_pPDFDoc; |
- CPDF_Type3CacheMap m_Type3FaceMap; |
- CPDF_TransferFuncMap m_TransferFuncMap; |
-}; |
- |
-class CPDF_RenderStatus { |
- public: |
- CPDF_RenderStatus(); |
- ~CPDF_RenderStatus(); |
- |
- FX_BOOL Initialize(class CPDF_RenderContext* pContext, |
- CFX_RenderDevice* pDevice, |
- const CFX_Matrix* pDeviceMatrix, |
- const CPDF_PageObject* pStopObj, |
- const CPDF_RenderStatus* pParentStatus, |
- const CPDF_GraphicStates* pInitialStates, |
- const CPDF_RenderOptions* pOptions, |
- int transparency, |
- FX_BOOL bDropObjects, |
- CPDF_Dictionary* pFormResource = nullptr, |
- FX_BOOL bStdCS = FALSE, |
- CPDF_Type3Char* pType3Char = nullptr, |
- FX_ARGB fill_color = 0, |
- uint32_t GroupFamily = 0, |
- FX_BOOL bLoadMask = FALSE); |
- void RenderObjectList(const CPDF_PageObjectHolder* pObjectHolder, |
- const CFX_Matrix* pObj2Device); |
- void RenderSingleObject(CPDF_PageObject* pObj, const CFX_Matrix* pObj2Device); |
- FX_BOOL ContinueSingleObject(CPDF_PageObject* pObj, |
- const CFX_Matrix* pObj2Device, |
- IFX_Pause* pPause); |
- CPDF_RenderContext* GetContext() { return m_pContext; } |
- |
-#if defined _SKIA_SUPPORT_ |
- void DebugVerifyDeviceIsPreMultiplied() const; |
-#endif |
- |
- CPDF_RenderOptions m_Options; |
- CPDF_Dictionary* m_pFormResource; |
- CPDF_Dictionary* m_pPageResource; |
- CFX_ArrayTemplate<CPDF_Type3Font*> m_Type3FontCache; |
- |
- protected: |
- friend class CPDF_ImageRenderer; |
- friend class CPDF_RenderContext; |
- |
- void ProcessClipPath(CPDF_ClipPath ClipPath, const CFX_Matrix* pObj2Device); |
- void DrawClipPath(CPDF_ClipPath ClipPath, const CFX_Matrix* pObj2Device); |
- FX_BOOL ProcessTransparency(CPDF_PageObject* PageObj, |
- const CFX_Matrix* pObj2Device); |
- void ProcessObjectNoClip(CPDF_PageObject* PageObj, |
- const CFX_Matrix* pObj2Device); |
- void DrawObjWithBackground(CPDF_PageObject* pObj, |
- const CFX_Matrix* pObj2Device); |
- FX_BOOL DrawObjWithBlend(CPDF_PageObject* pObj, |
- const CFX_Matrix* pObj2Device); |
- FX_BOOL ProcessPath(CPDF_PathObject* pPathObj, const CFX_Matrix* pObj2Device); |
- void ProcessPathPattern(CPDF_PathObject* pPathObj, |
- const CFX_Matrix* pObj2Device, |
- int& filltype, |
- FX_BOOL& bStroke); |
- void DrawPathWithPattern(CPDF_PathObject* pPathObj, |
- const CFX_Matrix* pObj2Device, |
- const CPDF_Color* pColor, |
- FX_BOOL bStroke); |
- void DrawTilingPattern(CPDF_TilingPattern* pPattern, |
- CPDF_PageObject* pPageObj, |
- const CFX_Matrix* pObj2Device, |
- FX_BOOL bStroke); |
- void DrawShadingPattern(CPDF_ShadingPattern* pPattern, |
- const CPDF_PageObject* pPageObj, |
- const CFX_Matrix* pObj2Device, |
- FX_BOOL bStroke); |
- FX_BOOL SelectClipPath(const CPDF_PathObject* pPathObj, |
- const CFX_Matrix* pObj2Device, |
- FX_BOOL bStroke); |
- FX_BOOL ProcessImage(CPDF_ImageObject* pImageObj, |
- const CFX_Matrix* pObj2Device); |
- FX_BOOL OutputBitmapAlpha(CPDF_ImageObject* pImageObj, |
- const CFX_Matrix* pImage2Device); |
- FX_BOOL OutputImage(CPDF_ImageObject* pImageObj, |
- const CFX_Matrix* pImage2Device); |
- FX_BOOL OutputDIBSource(const CFX_DIBSource* pOutputBitmap, |
- FX_ARGB fill_argb, |
- int bitmap_alpha, |
- const CFX_Matrix* pImage2Device, |
- CPDF_ImageCacheEntry* pImageCache, |
- uint32_t flags); |
- void CompositeDIBitmap(CFX_DIBitmap* pDIBitmap, |
- int left, |
- int top, |
- FX_ARGB mask_argb, |
- int bitmap_alpha, |
- int blend_mode, |
- int bIsolated); |
- void ProcessShading(const CPDF_ShadingObject* pShadingObj, |
- const CFX_Matrix* pObj2Device); |
- void DrawShading(CPDF_ShadingPattern* pPattern, |
- CFX_Matrix* pMatrix, |
- FX_RECT& clip_rect, |
- int alpha, |
- FX_BOOL bAlphaMode); |
- FX_BOOL ProcessType3Text(CPDF_TextObject* textobj, |
- const CFX_Matrix* pObj2Device); |
- FX_BOOL ProcessText(CPDF_TextObject* textobj, |
- const CFX_Matrix* pObj2Device, |
- CFX_PathData* pClippingPath); |
- void DrawTextPathWithPattern(const CPDF_TextObject* textobj, |
- const CFX_Matrix* pObj2Device, |
- CPDF_Font* pFont, |
- FX_FLOAT font_size, |
- const CFX_Matrix* pTextMatrix, |
- FX_BOOL bFill, |
- FX_BOOL bStroke); |
- FX_BOOL ProcessForm(const CPDF_FormObject* pFormObj, |
- const CFX_Matrix* pObj2Device); |
- CFX_DIBitmap* GetBackdrop(const CPDF_PageObject* pObj, |
- const FX_RECT& rect, |
- int& left, |
- int& top, |
- FX_BOOL bBackAlphaRequired); |
- CFX_DIBitmap* LoadSMask(CPDF_Dictionary* pSMaskDict, |
- FX_RECT* pClipRect, |
- const CFX_Matrix* pMatrix); |
- void Init(CPDF_RenderContext* pParent); |
- static class CPDF_Type3Cache* GetCachedType3(CPDF_Type3Font* pFont); |
- static CPDF_GraphicStates* CloneObjStates(const CPDF_GraphicStates* pPathObj, |
- FX_BOOL bStroke); |
- CPDF_TransferFunc* GetTransferFunc(CPDF_Object* pObject) const; |
- FX_ARGB GetFillArgb(CPDF_PageObject* pObj, FX_BOOL bType3 = FALSE) const; |
- FX_ARGB GetStrokeArgb(CPDF_PageObject* pObj) const; |
- FX_BOOL GetObjectClippedRect(const CPDF_PageObject* pObj, |
- const CFX_Matrix* pObj2Device, |
- FX_BOOL bLogical, |
- FX_RECT& rect) const; |
- void GetScaledMatrix(CFX_Matrix& matrix) const; |
- |
- static const int kRenderMaxRecursionDepth = 64; |
- static int s_CurrentRecursionDepth; |
- |
- CPDF_RenderContext* m_pContext; |
- FX_BOOL m_bStopped; |
- CFX_RenderDevice* m_pDevice; |
- CFX_Matrix m_DeviceMatrix; |
- CPDF_ClipPath m_LastClipPath; |
- const CPDF_PageObject* m_pCurObj; |
- const CPDF_PageObject* m_pStopObj; |
- CPDF_GraphicStates m_InitialStates; |
- int m_HalftoneLimit; |
- std::unique_ptr<CPDF_ImageRenderer> m_pImageRenderer; |
- FX_BOOL m_bPrint; |
- int m_Transparency; |
- FX_BOOL m_bDropObjects; |
- FX_BOOL m_bStdCS; |
- uint32_t m_GroupFamily; |
- FX_BOOL m_bLoadMask; |
- CPDF_Type3Char* m_pType3Char; |
- FX_ARGB m_T3FillColor; |
- int m_curBlend; |
-}; |
- |
-class CPDF_ImageLoader { |
- public: |
- CPDF_ImageLoader() |
- : m_pBitmap(nullptr), |
- m_pMask(nullptr), |
- m_MatteColor(0), |
- m_bCached(FALSE), |
- m_nDownsampleWidth(0), |
- m_nDownsampleHeight(0) {} |
- ~CPDF_ImageLoader(); |
- |
- FX_BOOL Start(const CPDF_ImageObject* pImage, |
- CPDF_PageRenderCache* pCache, |
- std::unique_ptr<CPDF_ImageLoaderHandle>* pLoadHandle, |
- FX_BOOL bStdCS = FALSE, |
- uint32_t GroupFamily = 0, |
- FX_BOOL bLoadMask = FALSE, |
- CPDF_RenderStatus* pRenderStatus = nullptr, |
- int32_t nDownsampleWidth = 0, |
- int32_t nDownsampleHeight = 0); |
- FX_BOOL Continue(CPDF_ImageLoaderHandle* LoadHandle, IFX_Pause* pPause); |
- |
- CFX_DIBSource* m_pBitmap; |
- CFX_DIBSource* m_pMask; |
- uint32_t m_MatteColor; |
- FX_BOOL m_bCached; |
- |
- protected: |
- int32_t m_nDownsampleWidth; |
- int32_t m_nDownsampleHeight; |
-}; |
- |
-class CPDF_ImageLoaderHandle { |
- public: |
- CPDF_ImageLoaderHandle(); |
- ~CPDF_ImageLoaderHandle(); |
- |
- FX_BOOL Start(CPDF_ImageLoader* pImageLoader, |
- const CPDF_ImageObject* pImage, |
- CPDF_PageRenderCache* pCache, |
- FX_BOOL bStdCS = FALSE, |
- uint32_t GroupFamily = 0, |
- FX_BOOL bLoadMask = FALSE, |
- CPDF_RenderStatus* pRenderStatus = nullptr, |
- int32_t nDownsampleWidth = 0, |
- int32_t nDownsampleHeight = 0); |
- FX_BOOL Continue(IFX_Pause* pPause); |
- |
- protected: |
- void HandleFailure(); |
- |
- CPDF_ImageLoader* m_pImageLoader; |
- CPDF_PageRenderCache* m_pCache; |
- CPDF_ImageObject* m_pImage; |
- int32_t m_nDownsampleWidth; |
- int32_t m_nDownsampleHeight; |
-}; |
- |
-class CPDF_ImageRenderer { |
- public: |
- CPDF_ImageRenderer(); |
- ~CPDF_ImageRenderer(); |
- |
- FX_BOOL Start(CPDF_RenderStatus* pStatus, |
- CPDF_PageObject* pObj, |
- const CFX_Matrix* pObj2Device, |
- FX_BOOL bStdCS, |
- int blendType = FXDIB_BLEND_NORMAL); |
- FX_BOOL Continue(IFX_Pause* pPause); |
- |
- FX_BOOL Start(CPDF_RenderStatus* pStatus, |
- const CFX_DIBSource* pDIBSource, |
- FX_ARGB bitmap_argb, |
- int bitmap_alpha, |
- const CFX_Matrix* pImage2Device, |
- uint32_t flags, |
- FX_BOOL bStdCS, |
- int blendType = FXDIB_BLEND_NORMAL); |
- |
- FX_BOOL m_Result; |
- |
- protected: |
- FX_BOOL StartBitmapAlpha(); |
- FX_BOOL StartDIBSource(); |
- FX_BOOL StartRenderDIBSource(); |
- FX_BOOL StartLoadDIBSource(); |
- FX_BOOL DrawMaskedImage(); |
- FX_BOOL DrawPatternImage(const CFX_Matrix* pObj2Device); |
- |
- CPDF_RenderStatus* m_pRenderStatus; |
- CPDF_ImageObject* m_pImageObject; |
- int m_Status; |
- const CFX_Matrix* m_pObj2Device; |
- CFX_Matrix m_ImageMatrix; |
- CPDF_ImageLoader m_Loader; |
- const CFX_DIBSource* m_pDIBSource; |
- std::unique_ptr<CFX_DIBitmap> m_pClone; |
- int m_BitmapAlpha; |
- FX_BOOL m_bPatternColor; |
- CPDF_Pattern* m_pPattern; |
- FX_ARGB m_FillArgb; |
- uint32_t m_Flags; |
- std::unique_ptr<CFX_ImageTransformer> m_pTransformer; |
- void* m_DeviceHandle; |
- std::unique_ptr<CPDF_ImageLoaderHandle> m_LoadHandle; |
- FX_BOOL m_bStdCS; |
- int m_BlendType; |
-}; |
- |
-class CPDF_ScaledRenderBuffer { |
- public: |
- CPDF_ScaledRenderBuffer(); |
- ~CPDF_ScaledRenderBuffer(); |
- |
- FX_BOOL Initialize(CPDF_RenderContext* pContext, |
- CFX_RenderDevice* pDevice, |
- const FX_RECT& pRect, |
- const CPDF_PageObject* pObj, |
- const CPDF_RenderOptions* pOptions = nullptr, |
- int max_dpi = 0); |
- CFX_RenderDevice* GetDevice() { |
- return m_pBitmapDevice ? m_pBitmapDevice.get() : m_pDevice; |
- } |
- CFX_Matrix* GetMatrix() { return &m_Matrix; } |
- void OutputToDevice(); |
- |
- private: |
- CFX_RenderDevice* m_pDevice; |
- CPDF_RenderContext* m_pContext; |
- FX_RECT m_Rect; |
- const CPDF_PageObject* m_pObject; |
- std::unique_ptr<CFX_FxgeDevice> m_pBitmapDevice; |
- CFX_Matrix m_Matrix; |
-}; |
- |
-class CPDF_DeviceBuffer { |
- public: |
- CPDF_DeviceBuffer(); |
- ~CPDF_DeviceBuffer(); |
- FX_BOOL Initialize(CPDF_RenderContext* pContext, |
- CFX_RenderDevice* pDevice, |
- FX_RECT* pRect, |
- const CPDF_PageObject* pObj, |
- int max_dpi = 0); |
- void OutputToDevice(); |
- CFX_DIBitmap* GetBitmap() const { return m_pBitmap.get(); } |
- const CFX_Matrix* GetMatrix() const { return &m_Matrix; } |
- |
- private: |
- CFX_RenderDevice* m_pDevice; |
- CPDF_RenderContext* m_pContext; |
- FX_RECT m_Rect; |
- const CPDF_PageObject* m_pObject; |
- std::unique_ptr<CFX_DIBitmap> m_pBitmap; |
- CFX_Matrix m_Matrix; |
-}; |
- |
-class CPDF_ImageCacheEntry { |
- public: |
- CPDF_ImageCacheEntry(CPDF_Document* pDoc, CPDF_Stream* pStream); |
- ~CPDF_ImageCacheEntry(); |
- |
- void Reset(const CFX_DIBitmap* pBitmap); |
- FX_BOOL GetCachedBitmap(CFX_DIBSource*& pBitmap, |
- CFX_DIBSource*& pMask, |
- uint32_t& MatteColor, |
- CPDF_Dictionary* pPageResources, |
- FX_BOOL bStdCS = FALSE, |
- uint32_t GroupFamily = 0, |
- FX_BOOL bLoadMask = FALSE, |
- CPDF_RenderStatus* pRenderStatus = nullptr, |
- int32_t downsampleWidth = 0, |
- int32_t downsampleHeight = 0); |
- uint32_t EstimateSize() const { return m_dwCacheSize; } |
- uint32_t GetTimeCount() const { return m_dwTimeCount; } |
- CPDF_Stream* GetStream() const { return m_pStream; } |
- void SetTimeCount(uint32_t dwTimeCount) { m_dwTimeCount = dwTimeCount; } |
- int m_dwTimeCount; |
- |
- public: |
- int StartGetCachedBitmap(CPDF_Dictionary* pFormResources, |
- CPDF_Dictionary* pPageResources, |
- FX_BOOL bStdCS = FALSE, |
- uint32_t GroupFamily = 0, |
- FX_BOOL bLoadMask = FALSE, |
- CPDF_RenderStatus* pRenderStatus = nullptr, |
- int32_t downsampleWidth = 0, |
- int32_t downsampleHeight = 0); |
- int Continue(IFX_Pause* pPause); |
- CFX_DIBSource* DetachBitmap(); |
- CFX_DIBSource* DetachMask(); |
- CFX_DIBSource* m_pCurBitmap; |
- CFX_DIBSource* m_pCurMask; |
- uint32_t m_MatteColor; |
- CPDF_RenderStatus* m_pRenderStatus; |
- |
- protected: |
- void ContinueGetCachedBitmap(); |
- |
- CPDF_Document* m_pDocument; |
- CPDF_Stream* m_pStream; |
- CFX_DIBSource* m_pCachedBitmap; |
- CFX_DIBSource* m_pCachedMask; |
- uint32_t m_dwCacheSize; |
- void CalcSize(); |
-}; |
-typedef struct { |
- FX_FLOAT m_DecodeMin; |
- FX_FLOAT m_DecodeStep; |
- int m_ColorKeyMin; |
- int m_ColorKeyMax; |
-} DIB_COMP_DATA; |
- |
-class CPDF_DIBSource : public CFX_DIBSource { |
- public: |
- CPDF_DIBSource(); |
- ~CPDF_DIBSource() override; |
- |
- FX_BOOL Load(CPDF_Document* pDoc, |
- const CPDF_Stream* pStream, |
- CPDF_DIBSource** ppMask, |
- uint32_t* pMatteColor, |
- CPDF_Dictionary* pFormResources, |
- CPDF_Dictionary* pPageResources, |
- FX_BOOL bStdCS = FALSE, |
- uint32_t GroupFamily = 0, |
- FX_BOOL bLoadMask = FALSE); |
- |
- // CFX_DIBSource |
- FX_BOOL SkipToScanline(int line, IFX_Pause* pPause) const override; |
- uint8_t* GetBuffer() const override; |
- const uint8_t* GetScanline(int line) const override; |
- void DownSampleScanline(int line, |
- uint8_t* dest_scan, |
- int dest_bpp, |
- int dest_width, |
- FX_BOOL bFlipX, |
- int clip_left, |
- int clip_width) const override; |
- |
- CFX_DIBitmap* GetBitmap() const; |
- void ReleaseBitmap(CFX_DIBitmap* pBitmap) const; |
- uint32_t GetMatteColor() const { return m_MatteColor; } |
- |
- int StartLoadDIBSource(CPDF_Document* pDoc, |
- const CPDF_Stream* pStream, |
- FX_BOOL bHasMask, |
- CPDF_Dictionary* pFormResources, |
- CPDF_Dictionary* pPageResources, |
- FX_BOOL bStdCS = FALSE, |
- uint32_t GroupFamily = 0, |
- FX_BOOL bLoadMask = FALSE); |
- int ContinueLoadDIBSource(IFX_Pause* pPause); |
- int StratLoadMask(); |
- int StartLoadMaskDIB(); |
- int ContinueLoadMaskDIB(IFX_Pause* pPause); |
- int ContinueToLoadMask(); |
- CPDF_DIBSource* DetachMask(); |
- |
- private: |
- bool LoadColorInfo(const CPDF_Dictionary* pFormResources, |
- const CPDF_Dictionary* pPageResources); |
- DIB_COMP_DATA* GetDecodeAndMaskArray(FX_BOOL& bDefaultDecode, |
- FX_BOOL& bColorKey); |
- CPDF_DIBSource* LoadMask(uint32_t& MatteColor); |
- CPDF_DIBSource* LoadMaskDIB(CPDF_Stream* pMask); |
- void LoadJpxBitmap(); |
- void LoadPalette(); |
- int CreateDecoder(); |
- void TranslateScanline24bpp(uint8_t* dest_scan, |
- const uint8_t* src_scan) const; |
- void ValidateDictParam(); |
- void DownSampleScanline1Bit(int orig_Bpp, |
- int dest_Bpp, |
- uint32_t src_width, |
- const uint8_t* pSrcLine, |
- uint8_t* dest_scan, |
- int dest_width, |
- FX_BOOL bFlipX, |
- int clip_left, |
- int clip_width) const; |
- void DownSampleScanline8Bit(int orig_Bpp, |
- int dest_Bpp, |
- uint32_t src_width, |
- const uint8_t* pSrcLine, |
- uint8_t* dest_scan, |
- int dest_width, |
- FX_BOOL bFlipX, |
- int clip_left, |
- int clip_width) const; |
- void DownSampleScanline32Bit(int orig_Bpp, |
- int dest_Bpp, |
- uint32_t src_width, |
- const uint8_t* pSrcLine, |
- uint8_t* dest_scan, |
- int dest_width, |
- FX_BOOL bFlipX, |
- int clip_left, |
- int clip_width) const; |
- FX_BOOL TransMask() const; |
- |
- CPDF_Document* m_pDocument; |
- const CPDF_Stream* m_pStream; |
- std::unique_ptr<CPDF_StreamAcc> m_pStreamAcc; |
- const CPDF_Dictionary* m_pDict; |
- CPDF_ColorSpace* m_pColorSpace; |
- uint32_t m_Family; |
- uint32_t m_bpc; |
- uint32_t m_bpc_orig; |
- uint32_t m_nComponents; |
- uint32_t m_GroupFamily; |
- uint32_t m_MatteColor; |
- FX_BOOL m_bLoadMask; |
- FX_BOOL m_bDefaultDecode; |
- FX_BOOL m_bImageMask; |
- FX_BOOL m_bDoBpcCheck; |
- FX_BOOL m_bColorKey; |
- FX_BOOL m_bHasMask; |
- FX_BOOL m_bStdCS; |
- DIB_COMP_DATA* m_pCompData; |
- uint8_t* m_pLineBuf; |
- uint8_t* m_pMaskedLine; |
- std::unique_ptr<CFX_DIBitmap> m_pCachedBitmap; |
- std::unique_ptr<CCodec_ScanlineDecoder> m_pDecoder; |
- CPDF_DIBSource* m_pMask; |
- std::unique_ptr<CPDF_StreamAcc> m_pGlobalStream; |
- std::unique_ptr<CCodec_Jbig2Context> m_pJbig2Context; |
- CPDF_Stream* m_pMaskStream; |
- int m_Status; |
-}; |
- |
-#define FPDF_HUGE_IMAGE_SIZE 60000000 |
-class CPDF_DIBTransferFunc : public CFX_FilteredDIB { |
- public: |
- explicit CPDF_DIBTransferFunc(const CPDF_TransferFunc* pTransferFunc); |
- ~CPDF_DIBTransferFunc() override; |
- |
- // CFX_FilteredDIB |
- FXDIB_Format GetDestFormat() override; |
- FX_ARGB* GetDestPalette() override; |
- void TranslateScanline(const uint8_t* src_buf, |
- std::vector<uint8_t>* dest_buf) const override; |
- void TranslateDownSamples(uint8_t* dest_buf, |
- const uint8_t* src_buf, |
- int pixels, |
- int Bpp) const override; |
- |
- const uint8_t* m_RampR; |
- const uint8_t* m_RampG; |
- const uint8_t* m_RampB; |
-}; |
- |
-#endif // CORE_FPDFAPI_FPDF_RENDER_RENDER_INT_H_ |