From 71fdc34b71760735aa0c14c820a1a10eb1e5829a Mon Sep 17 00:00:00 2001 From: Tom Sepez Date: Fri, 22 Jan 2016 12:06:32 -0800 Subject: Merge to XFA: Change _PDF_RenderItem to CPDF_RenderContext::Layer. Original Review URL: https://codereview.chromium.org/1620523002 . (cherry picked from commit d5712ac571f3487fe3f74617fdab007a11a09052) TBR=ochang@chromium.org Review URL: https://codereview.chromium.org/1624553004 . --- core/include/fpdfapi/fpdf_render.h | 52 +++++++++++++++++--------------------- 1 file changed, 23 insertions(+), 29 deletions(-) (limited to 'core/include/fpdfapi/fpdf_render.h') diff --git a/core/include/fpdfapi/fpdf_render.h b/core/include/fpdfapi/fpdf_render.h index b4178a7f86..2637dd3252 100644 --- a/core/include/fpdfapi/fpdf_render.h +++ b/core/include/fpdfapi/fpdf_render.h @@ -20,8 +20,6 @@ class CPDF_FormObject; class CPDF_ImageCacheEntry; class CPDF_ImageObject; class CPDF_PathObject; -class CPDF_RenderContext; -class CPDF_RenderOptions; class CPDF_RenderStatus; class CPDF_ShadingObject; class CPDF_TextObject; @@ -55,69 +53,65 @@ class IPDF_OCContext { #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; - - FX_ARGB TranslateColor(FX_ARGB argb) const; }; + class CPDF_RenderContext { public: + class Layer { + public: + CPDF_PageObjectList* m_pObjectList; + CFX_Matrix m_Matrix; + }; + explicit CPDF_RenderContext(CPDF_Page* pPage); CPDF_RenderContext(CPDF_Document* pDoc, CPDF_PageRenderCache* pPageCache); ~CPDF_RenderContext(); - void AppendObjectList(CPDF_PageObjectList* pObjs, - const CFX_Matrix* pObject2Device); + void AppendLayer(CPDF_PageObjectList* pObjectList, + const CFX_Matrix* pObject2Device); void Render(CFX_RenderDevice* pDevice, - const CPDF_RenderOptions* pOptions = NULL, - const CFX_Matrix* pFinalMatrix = NULL); + const CPDF_RenderOptions* pOptions, + const CFX_Matrix* pFinalMatrix); - void DrawObjectList(CFX_RenderDevice* pDevice, - CPDF_PageObjectList* pObjs, - const CFX_Matrix* pObject2Device, - const CPDF_RenderOptions* pOptions); + 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: - void Render(CFX_RenderDevice* pDevice, - const CPDF_PageObject* pStopObj, - const CPDF_RenderOptions* pOptions, - const CFX_Matrix* pFinalMatrix); - CPDF_Document* const m_pDocument; CPDF_Dictionary* m_pPageResources; CPDF_PageRenderCache* m_pPageCache; - CFX_ArrayTemplate m_ContentList; FX_BOOL m_bFirstLayer; - - friend class CPDF_RenderStatus; - friend class CPDF_ProgressiveRenderer; + CFX_ArrayTemplate m_Layers; }; class CPDF_ProgressiveRenderer { -- cgit v1.2.3