| OLD | NEW |
| (Empty) | |
| 1 // Copyright 2014 PDFium Authors. All rights reserved. |
| 2 // Use of this source code is governed by a BSD-style license that can be |
| 3 // found in the LICENSE file. |
| 4 |
| 5 // Original code copyright 2014 Foxit Software Inc. http://www.foxitsoftware.com |
| 6 |
| 7 #ifndef _FX_SKIABLITTER_H_ |
| 8 #define _FX_SKIABLITTER_H_ |
| 9 |
| 10 class CFX_SkiaRenderer : public SkBlitter, public CFX_Object |
| 11 { |
| 12 protected: |
| 13 int m_Alpha, |
| 14 m_Red, |
| 15 m_Green, |
| 16 m_Blue, |
| 17 m_Gray; |
| 18 FX_DWORD m_Color; |
| 19 FX_BOOL m_bFullCover; |
| 20 int m_ProcessFilter; |
| 21 FX_BOOL m_bRgbByteOrder; |
| 22 |
| 23 FX_RECT m_ClipBox; |
| 24 CFX_DIBitmap* m_pDevice; |
| 25 CFX_DIBitmap* m_pOriDevice; |
| 26 const CFX_ClipRgn* m_pClipRgn; |
| 27 const CFX_DIBitmap* m_pClipMask; |
| 28 FX_LPBYTE m_pDestScan; |
| 29 FX_LPBYTE m_pDestExtraAlphaScan; |
| 30 FX_LPBYTE m_pOriScan; |
| 31 FX_LPBYTE m_pClipScan; |
| 32 void (CFX_SkiaRenderer::*composite_span)(FX_LPBYTE, FX_LPBYTE, int, int, int
, int, FX_BYTE, int, int, int, FX_LPBYTE, FX_LPBYTE); |
| 33 public: |
| 34 virtual void blitAntiH(int x, int y, const SkAlpha antialias[], const int16_
t runs[]); |
| 35 virtual void blitH(int x, int y, int width); |
| 36 virtual void blitV(int x, int y, int height, SkAlpha alpha); |
| 37 virtual void blitRect(int x, int y, int width, int height); |
| 38 virtual void blitAntiRect(int x, int y, int width, int height, SkAlpha leftA
lpha, SkAlpha rightAlpha); |
| 39 |
| 40 |
| 41 void CompositeSpan1bpp_0(FX_LPBYTE dest_scan, FX_LPBYTE ori_scan, int Bpp, |
| 42 int span_left, int span_len, int span_top, FX_BYTE
cover_scan, |
| 43 int clip_top, int clip_left, int clip_right, FX_LPB
YTE clip_scan, |
| 44 FX_LPBYTE dest_extra_alpha_scan); |
| 45 void CompositeSpan1bpp_1(FX_LPBYTE dest_scan, FX_LPBYTE ori_scan, int Bpp, |
| 46 int span_left, int span_len, int span_top, FX_BYTE
cover_scan, |
| 47 int clip_top, int clip_left, int clip_right, FX_LPB
YTE clip_scan, |
| 48 FX_LPBYTE dest_extra_alpha_scan); |
| 49 void CompositeSpan1bpp_4(FX_LPBYTE dest_scan, FX_LPBYTE ori_scan, int Bpp, |
| 50 int span_left, int span_len, int span_top, FX_BYTE
cover_scan, |
| 51 int clip_top, int clip_left, int clip_right, FX_LPB
YTE clip_scan, |
| 52 FX_LPBYTE dest_extra_alpha_scan); |
| 53 void CompositeSpan1bpp_5(FX_LPBYTE dest_scan, FX_LPBYTE ori_scan, int Bpp, |
| 54 int span_left, int span_len, int span_top, FX_BYTE
cover_scan, |
| 55 int clip_top, int clip_left, int clip_right, FX_LPB
YTE clip_scan, |
| 56 FX_LPBYTE dest_extra_alpha_scan); |
| 57 void CompositeSpan1bpp_8(FX_LPBYTE dest_scan, FX_LPBYTE ori_scan, int Bpp, |
| 58 int span_left, int span_len, int span_top, FX_BYTE
cover_scan, |
| 59 int clip_top, int clip_left, int clip_right, FX_LPB
YTE clip_scan, |
| 60 FX_LPBYTE dest_extra_alpha_scan); |
| 61 void CompositeSpan1bpp_9(FX_LPBYTE dest_scan, FX_LPBYTE ori_scan, int Bpp, |
| 62 int span_left, int span_len, int span_top, FX_BYTE
cover_scan, |
| 63 int clip_top, int clip_left, int clip_right, FX_LPB
YTE clip_scan, |
| 64 FX_LPBYTE dest_extra_alpha_scan); |
| 65 void CompositeSpan1bpp_12(FX_LPBYTE dest_scan, FX_LPBYTE ori_scan, int Bpp, |
| 66 int span_left, int span_len, int span_top, FX_BYTE
cover_scan, |
| 67 int clip_top, int clip_left, int clip_right, FX_LP
BYTE clip_scan, |
| 68 FX_LPBYTE dest_extra_alpha_scan); |
| 69 void CompositeSpan1bpp_13(FX_LPBYTE dest_scan, FX_LPBYTE ori_scan, int Bpp, |
| 70 int span_left, int span_len, int span_top, FX_BYTE
cover_scan, |
| 71 int clip_top, int clip_left, int clip_right, FX_LP
BYTE clip_scan, |
| 72 FX_LPBYTE dest_extra_alpha_scan); |
| 73 |
| 74 |
| 75 void CompositeSpanGray_2(FX_LPBYTE dest_scan, FX_LPBYTE ori_scan, int Bpp, |
| 76 int span_left, int span_len, int span_top, FX_BYTE
cover_scan, |
| 77 int clip_top, int clip_left, int clip_right, FX_LPB
YTE clip_scan, |
| 78 FX_LPBYTE dest_extra_alpha_scan); |
| 79 void CompositeSpanGray_3(FX_LPBYTE dest_scan, FX_LPBYTE ori_scan, int Bpp, |
| 80 int span_left, int span_len, int span_top, FX_BYTE
cover_scan, |
| 81 int clip_top, int clip_left, int clip_right, FX_LPB
YTE clip_scan, |
| 82 FX_LPBYTE dest_extra_alpha_scan); |
| 83 void CompositeSpanGray_6(FX_LPBYTE dest_scan, FX_LPBYTE ori_scan, int Bpp, |
| 84 int span_left, int span_len, int span_top, FX_BYTE
cover_scan, |
| 85 int clip_top, int clip_left, int clip_right, FX_LPB
YTE clip_scan, |
| 86 FX_LPBYTE dest_extra_alpha_scan); |
| 87 void CompositeSpanGray_7(FX_LPBYTE dest_scan, FX_LPBYTE ori_scan, int Bpp, |
| 88 int span_left, int span_len, int span_top, FX_BYTE
cover_scan, |
| 89 int clip_top, int clip_left, int clip_right, FX_LPB
YTE clip_scan, |
| 90 FX_LPBYTE dest_extra_alpha_scan); |
| 91 void CompositeSpanGray_10(FX_LPBYTE dest_scan, FX_LPBYTE ori_scan, int Bpp, |
| 92 int span_left, int span_len, int span_top, FX_BYTE
cover_scan, |
| 93 int clip_top, int clip_left, int clip_right, FX_LP
BYTE clip_scan, |
| 94 FX_LPBYTE dest_extra_alpha_scan); |
| 95 void CompositeSpanGray_11(FX_LPBYTE dest_scan, FX_LPBYTE ori_scan, int Bpp, |
| 96 int span_left, int span_len, int span_top, FX_BYTE
cover_scan, |
| 97 int clip_top, int clip_left, int clip_right, FX_LP
BYTE clip_scan, |
| 98 FX_LPBYTE dest_extra_alpha_scan); |
| 99 void CompositeSpanGray_14(FX_LPBYTE dest_scan, FX_LPBYTE ori_scan, int Bpp, |
| 100 int span_left, int span_len, int span_top, FX_BYTE
cover_scan, |
| 101 int clip_top, int clip_left, int clip_right, FX_LP
BYTE clip_scan, |
| 102 FX_LPBYTE dest_extra_alpha_scan); |
| 103 void CompositeSpanGray_15(FX_LPBYTE dest_scan, FX_LPBYTE ori_scan, int Bpp, |
| 104 int span_left, int span_len, int span_top, FX_BYTE
cover_scan, |
| 105 int clip_top, int clip_left, int clip_right, FX_LP
BYTE clip_scan, |
| 106 FX_LPBYTE dest_extra_alpha_scan); |
| 107 |
| 108 void CompositeSpanARGB_2(FX_LPBYTE dest_scan, FX_LPBYTE ori_scan, int Bpp, |
| 109 int span_left, int span_len, int span_top, FX_BYTE
cover_scan, |
| 110 int clip_top, int clip_left, int clip_right, FX_LPB
YTE clip_scan, |
| 111 FX_LPBYTE dest_extra_alpha_scan); |
| 112 void CompositeSpanARGB_3(FX_LPBYTE dest_scan, FX_LPBYTE ori_scan, int Bpp, |
| 113 int span_left, int span_len, int span_top, FX_BYTE
cover_scan, |
| 114 int clip_top, int clip_left, int clip_right, FX_LPB
YTE clip_scan, |
| 115 FX_LPBYTE dest_extra_alpha_scan); |
| 116 void CompositeSpanARGB_6(FX_LPBYTE dest_scan, FX_LPBYTE ori_scan, int Bpp, |
| 117 int span_left, int span_len, int span_top, FX_BYTE
cover_scan, |
| 118 int clip_top, int clip_left, int clip_right, FX_LPB
YTE clip_scan, |
| 119 FX_LPBYTE dest_extra_alpha_scan); |
| 120 void CompositeSpanARGB_7(FX_LPBYTE dest_scan, FX_LPBYTE ori_scan, int Bpp, |
| 121 int span_left, int span_len, int span_top, FX_BYTE
cover_scan, |
| 122 int clip_top, int clip_left, int clip_right, FX_LPB
YTE clip_scan, |
| 123 FX_LPBYTE dest_extra_alpha_scan); |
| 124 |
| 125 void CompositeSpanRGB32_2(FX_LPBYTE dest_scan, FX_LPBYTE ori_scan, int Bpp, |
| 126 int span_left, int span_len, int span_top, FX_BYTE
cover_scan, |
| 127 int clip_top, int clip_left, int clip_right, FX_LP
BYTE clip_scan, |
| 128 FX_LPBYTE dest_extra_alpha_scan); |
| 129 void CompositeSpanRGB32_3(FX_LPBYTE dest_scan, FX_LPBYTE ori_scan, int Bpp, |
| 130 int span_left, int span_len, int span_top, FX_BYTE
cover_scan, |
| 131 int clip_top, int clip_left, int clip_right, FX_LP
BYTE clip_scan, |
| 132 FX_LPBYTE dest_extra_alpha_scan); |
| 133 void CompositeSpanRGB32_6(FX_LPBYTE dest_scan, FX_LPBYTE ori_scan, int Bpp, |
| 134 int span_left, int span_len, int span_top, FX_BYTE
cover_scan, |
| 135 int clip_top, int clip_left, int clip_right, FX_LP
BYTE clip_scan, |
| 136 FX_LPBYTE dest_extra_alpha_scan); |
| 137 void CompositeSpanRGB32_7(FX_LPBYTE dest_scan, FX_LPBYTE ori_scan, int Bpp, |
| 138 int span_left, int span_len, int span_top, FX_BYTE
cover_scan, |
| 139 int clip_top, int clip_left, int clip_right, FX_LP
BYTE clip_scan, |
| 140 FX_LPBYTE dest_extra_alpha_scan); |
| 141 |
| 142 |
| 143 void CompositeSpanRGB24_2(FX_LPBYTE dest_scan, FX_LPBYTE ori_scan, int Bpp, |
| 144 int span_left, int span_len, int span_top, FX_BYTE
cover_scan, |
| 145 int clip_top, int clip_left, int clip_right, FX_LP
BYTE clip_scan, |
| 146 FX_LPBYTE dest_extra_alpha_scan); |
| 147 void CompositeSpanRGB24_3(FX_LPBYTE dest_scan, FX_LPBYTE ori_scan, int Bpp, |
| 148 int span_left, int span_len, int span_top, FX_BYTE
cover_scan, |
| 149 int clip_top, int clip_left, int clip_right, FX_LP
BYTE clip_scan, |
| 150 FX_LPBYTE dest_extra_alpha_scan); |
| 151 void CompositeSpanRGB24_6(FX_LPBYTE dest_scan, FX_LPBYTE ori_scan, int Bpp, |
| 152 int span_left, int span_len, int span_top, FX_BYTE
cover_scan, |
| 153 int clip_top, int clip_left, int clip_right, FX_LP
BYTE clip_scan, |
| 154 FX_LPBYTE dest_extra_alpha_scan); |
| 155 void CompositeSpanRGB24_7(FX_LPBYTE dest_scan, FX_LPBYTE ori_scan, int Bpp, |
| 156 int span_left, int span_len, int span_top, FX_BYTE
cover_scan, |
| 157 int clip_top, int clip_left, int clip_right, FX_LP
BYTE clip_scan, |
| 158 FX_LPBYTE dest_extra_alpha_scan); |
| 159 void CompositeSpanRGB24_10(FX_LPBYTE dest_scan, FX_LPBYTE ori_scan, int Bpp, |
| 160 int span_left, int span_len, int span_top, FX_BYT
E cover_scan, |
| 161 int clip_top, int clip_left, int clip_right, FX_L
PBYTE clip_scan, |
| 162 FX_LPBYTE dest_extra_alpha_scan); |
| 163 void CompositeSpanRGB24_11(FX_LPBYTE dest_scan, FX_LPBYTE ori_scan, int Bpp, |
| 164 int span_left, int span_len, int span_top, FX_BYT
E cover_scan, |
| 165 int clip_top, int clip_left, int clip_right, FX_L
PBYTE clip_scan, |
| 166 FX_LPBYTE dest_extra_alpha_scan); |
| 167 void CompositeSpanRGB24_14(FX_LPBYTE dest_scan, FX_LPBYTE ori_scan, int Bpp, |
| 168 int span_left, int span_len, int span_top, FX_BYT
E cover_scan, |
| 169 int clip_top, int clip_left, int clip_right, FX_L
PBYTE clip_scan, |
| 170 FX_LPBYTE dest_extra_alpha_scan); |
| 171 void CompositeSpanRGB24_15(FX_LPBYTE dest_scan, FX_LPBYTE ori_scan, int Bpp, |
| 172 int span_left, int span_len, int span_top, FX_BYT
E cover_scan, |
| 173 int clip_top, int clip_left, int clip_right, FX_L
PBYTE clip_scan, |
| 174 FX_LPBYTE dest_extra_alpha_scan); |
| 175 |
| 176 |
| 177 void CompositeSpanCMYK(FX_LPBYTE dest_scan, FX_LPBYTE ori_scan, int Bpp, |
| 178 int span_left, int span_len, int span_top, FX_BYTE co
ver_scan, |
| 179 int clip_top, int clip_left, int clip_right, FX_LPBYT
E clip_scan, |
| 180 FX_LPBYTE dest_extra_alpha_scan); |
| 181 |
| 182 FX_BOOL Init(CFX_DIBitmap* pDevice, CFX_DIBitmap* pOriDevice, const CFX_Clip
Rgn* pClipRgn, FX_DWORD color, FX_BOOL bFullCover, FX_BOOL bRgbByteOrder, |
| 183 int alpha_flag = 0, void* pIccTransform = NULL); |
| 184 }; |
| 185 class CFX_SkiaA8Renderer : public SkBlitter, public CFX_Object |
| 186 { |
| 187 public: |
| 188 virtual void blitAntiH(int x, int y, const SkAlpha antialias[], const int16_
t runs[]); |
| 189 virtual void blitH(int x, int y, int width); |
| 190 virtual void blitV(int x, int y, int height, SkAlpha alpha); |
| 191 virtual void blitRect(int x, int y, int width, int height); |
| 192 virtual void blitAntiRect(int x, int y, int width, int height, SkAlpha leftA
lpha, SkAlpha rightAlpha); |
| 193 FX_BOOL Init(CFX_DIBitmap* pDevice, int Left, int Top); |
| 194 CFX_DIBitmap* m_pDevice; |
| 195 int m_Left; |
| 196 int m_Top; |
| 197 int m_dstWidth; |
| 198 int m_dstHeight; |
| 199 }; |
| 200 |
| 201 #endif |
| OLD | NEW |