OLD | NEW |
1 // Copyright 2014 PDFium Authors. All rights reserved. | 1 // Copyright 2014 PDFium Authors. All rights reserved. |
2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
4 | 4 |
5 // Original code copyright 2014 Foxit Software Inc. http://www.foxitsoftware.com | 5 // Original code copyright 2014 Foxit Software Inc. http://www.foxitsoftware.com |
6 | 6 |
7 #ifndef CORE_SRC_FXGE_AGG_INCLUDE_FX_AGG_DRIVER_H_ | 7 #ifndef CORE_SRC_FXGE_AGG_FX_AGG_DRIVER_H_ |
8 #define CORE_SRC_FXGE_AGG_INCLUDE_FX_AGG_DRIVER_H_ | 8 #define CORE_SRC_FXGE_AGG_FX_AGG_DRIVER_H_ |
9 | 9 |
10 #include "core/include/fxge/fx_ge.h" | 10 #include "core/include/fxge/fx_ge.h" |
11 #include "third_party/agg23/agg_clip_liang_barsky.h" | 11 #include "third_party/agg23/agg_clip_liang_barsky.h" |
12 #include "third_party/agg23/agg_path_storage.h" | 12 #include "third_party/agg23/agg_path_storage.h" |
13 #include "third_party/agg23/agg_rasterizer_scanline_aa.h" | 13 #include "third_party/agg23/agg_rasterizer_scanline_aa.h" |
14 | 14 |
15 class CFX_Matrix; | 15 class CFX_Matrix; |
16 class CFX_PathData; | 16 class CFX_PathData; |
17 | 17 |
18 class CAgg_PathData { | 18 class CAgg_PathData { |
19 public: | 19 public: |
20 CAgg_PathData() {} | 20 CAgg_PathData() {} |
21 ~CAgg_PathData() {} | 21 ~CAgg_PathData() {} |
22 void BuildPath(const CFX_PathData* pPathData, | 22 void BuildPath(const CFX_PathData* pPathData, |
23 const CFX_Matrix* pObject2Device); | 23 const CFX_Matrix* pObject2Device); |
24 | 24 |
25 agg::path_storage m_PathData; | 25 agg::path_storage m_PathData; |
26 }; | 26 }; |
| 27 |
27 class CFX_AggDeviceDriver : public IFX_RenderDeviceDriver { | 28 class CFX_AggDeviceDriver : public IFX_RenderDeviceDriver { |
28 public: | 29 public: |
29 CFX_AggDeviceDriver(CFX_DIBitmap* pBitmap, | 30 CFX_AggDeviceDriver(CFX_DIBitmap* pBitmap, |
30 int dither_bits, | 31 int dither_bits, |
31 FX_BOOL bRgbByteOrder, | 32 FX_BOOL bRgbByteOrder, |
32 CFX_DIBitmap* pOriDevice, | 33 CFX_DIBitmap* pOriDevice, |
33 FX_BOOL bGroupKnockout); | 34 FX_BOOL bGroupKnockout); |
34 ~CFX_AggDeviceDriver() override; | 35 ~CFX_AggDeviceDriver() override; |
35 | 36 |
36 void InitPlatform(); | 37 void InitPlatform(); |
(...skipping 88 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
125 | 126 |
126 FX_BOOL RenderRasterizer(agg::rasterizer_scanline_aa& rasterizer, | 127 FX_BOOL RenderRasterizer(agg::rasterizer_scanline_aa& rasterizer, |
127 FX_DWORD color, | 128 FX_DWORD color, |
128 FX_BOOL bFullCover, | 129 FX_BOOL bFullCover, |
129 FX_BOOL bGroupKnockout, | 130 FX_BOOL bGroupKnockout, |
130 int alpha_flag, | 131 int alpha_flag, |
131 void* pIccTransform); | 132 void* pIccTransform); |
132 | 133 |
133 void SetClipMask(agg::rasterizer_scanline_aa& rasterizer); | 134 void SetClipMask(agg::rasterizer_scanline_aa& rasterizer); |
134 | 135 |
135 virtual uint8_t* GetBuffer() const { return m_pBitmap->GetBuffer(); } | 136 virtual uint8_t* GetBuffer() const; |
136 | 137 |
| 138 private: |
137 CFX_DIBitmap* m_pBitmap; | 139 CFX_DIBitmap* m_pBitmap; |
138 CFX_ClipRgn* m_pClipRgn; | 140 CFX_ClipRgn* m_pClipRgn; |
139 CFX_ArrayTemplate<CFX_ClipRgn*> m_StateStack; | 141 CFX_ArrayTemplate<CFX_ClipRgn*> m_StateStack; |
140 void* m_pPlatformGraphics; | 142 void* m_pPlatformGraphics; |
141 void* m_pPlatformBitmap; | 143 void* m_pPlatformBitmap; |
142 void* m_pDwRenderTartget; | 144 void* m_pDwRenderTartget; |
143 int m_FillFlags; | 145 int m_FillFlags; |
144 int m_DitherBits; | 146 int m_DitherBits; |
145 FX_BOOL m_bRgbByteOrder; | 147 FX_BOOL m_bRgbByteOrder; |
146 CFX_DIBitmap* m_pOriDevice; | 148 CFX_DIBitmap* m_pOriDevice; |
147 FX_BOOL m_bGroupKnockout; | 149 FX_BOOL m_bGroupKnockout; |
148 }; | 150 }; |
149 | 151 |
150 #endif // CORE_SRC_FXGE_AGG_INCLUDE_FX_AGG_DRIVER_H_ | 152 #endif // CORE_SRC_FXGE_AGG_FX_AGG_DRIVER_H_ |
OLD | NEW |