| Index: core/src/fxge/skia/fx_skia_blitter.h
|
| diff --git a/core/src/fxge/skia/fx_skia_blitter.h b/core/src/fxge/skia/fx_skia_blitter.h
|
| new file mode 100644
|
| index 0000000000000000000000000000000000000000..16708774c0ce7323bc3aad7aa677b2f96e8fa486
|
| --- /dev/null
|
| +++ b/core/src/fxge/skia/fx_skia_blitter.h
|
| @@ -0,0 +1,201 @@
|
| +// 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 _FX_SKIABLITTER_H_
|
| +#define _FX_SKIABLITTER_H_
|
| +
|
| +class CFX_SkiaRenderer : public SkBlitter, public CFX_Object
|
| +{
|
| +protected:
|
| + int m_Alpha,
|
| + m_Red,
|
| + m_Green,
|
| + m_Blue,
|
| + m_Gray;
|
| + FX_DWORD m_Color;
|
| + FX_BOOL m_bFullCover;
|
| + int m_ProcessFilter;
|
| + FX_BOOL m_bRgbByteOrder;
|
| +
|
| + FX_RECT m_ClipBox;
|
| + CFX_DIBitmap* m_pDevice;
|
| + CFX_DIBitmap* m_pOriDevice;
|
| + const CFX_ClipRgn* m_pClipRgn;
|
| + const CFX_DIBitmap* m_pClipMask;
|
| + FX_LPBYTE m_pDestScan;
|
| + FX_LPBYTE m_pDestExtraAlphaScan;
|
| + FX_LPBYTE m_pOriScan;
|
| + FX_LPBYTE m_pClipScan;
|
| + void (CFX_SkiaRenderer::*composite_span)(FX_LPBYTE, FX_LPBYTE, int, int, int, int, FX_BYTE, int, int, int, FX_LPBYTE, FX_LPBYTE);
|
| +public:
|
| + virtual void blitAntiH(int x, int y, const SkAlpha antialias[], const int16_t runs[]);
|
| + virtual void blitH(int x, int y, int width);
|
| + virtual void blitV(int x, int y, int height, SkAlpha alpha);
|
| + virtual void blitRect(int x, int y, int width, int height);
|
| + virtual void blitAntiRect(int x, int y, int width, int height, SkAlpha leftAlpha, SkAlpha rightAlpha);
|
| +
|
| +
|
| + void CompositeSpan1bpp_0(FX_LPBYTE dest_scan, FX_LPBYTE ori_scan, int Bpp,
|
| + int span_left, int span_len, int span_top, FX_BYTE cover_scan,
|
| + int clip_top, int clip_left, int clip_right, FX_LPBYTE clip_scan,
|
| + FX_LPBYTE dest_extra_alpha_scan);
|
| + void CompositeSpan1bpp_1(FX_LPBYTE dest_scan, FX_LPBYTE ori_scan, int Bpp,
|
| + int span_left, int span_len, int span_top, FX_BYTE cover_scan,
|
| + int clip_top, int clip_left, int clip_right, FX_LPBYTE clip_scan,
|
| + FX_LPBYTE dest_extra_alpha_scan);
|
| + void CompositeSpan1bpp_4(FX_LPBYTE dest_scan, FX_LPBYTE ori_scan, int Bpp,
|
| + int span_left, int span_len, int span_top, FX_BYTE cover_scan,
|
| + int clip_top, int clip_left, int clip_right, FX_LPBYTE clip_scan,
|
| + FX_LPBYTE dest_extra_alpha_scan);
|
| + void CompositeSpan1bpp_5(FX_LPBYTE dest_scan, FX_LPBYTE ori_scan, int Bpp,
|
| + int span_left, int span_len, int span_top, FX_BYTE cover_scan,
|
| + int clip_top, int clip_left, int clip_right, FX_LPBYTE clip_scan,
|
| + FX_LPBYTE dest_extra_alpha_scan);
|
| + void CompositeSpan1bpp_8(FX_LPBYTE dest_scan, FX_LPBYTE ori_scan, int Bpp,
|
| + int span_left, int span_len, int span_top, FX_BYTE cover_scan,
|
| + int clip_top, int clip_left, int clip_right, FX_LPBYTE clip_scan,
|
| + FX_LPBYTE dest_extra_alpha_scan);
|
| + void CompositeSpan1bpp_9(FX_LPBYTE dest_scan, FX_LPBYTE ori_scan, int Bpp,
|
| + int span_left, int span_len, int span_top, FX_BYTE cover_scan,
|
| + int clip_top, int clip_left, int clip_right, FX_LPBYTE clip_scan,
|
| + FX_LPBYTE dest_extra_alpha_scan);
|
| + void CompositeSpan1bpp_12(FX_LPBYTE dest_scan, FX_LPBYTE ori_scan, int Bpp,
|
| + int span_left, int span_len, int span_top, FX_BYTE cover_scan,
|
| + int clip_top, int clip_left, int clip_right, FX_LPBYTE clip_scan,
|
| + FX_LPBYTE dest_extra_alpha_scan);
|
| + void CompositeSpan1bpp_13(FX_LPBYTE dest_scan, FX_LPBYTE ori_scan, int Bpp,
|
| + int span_left, int span_len, int span_top, FX_BYTE cover_scan,
|
| + int clip_top, int clip_left, int clip_right, FX_LPBYTE clip_scan,
|
| + FX_LPBYTE dest_extra_alpha_scan);
|
| +
|
| +
|
| + void CompositeSpanGray_2(FX_LPBYTE dest_scan, FX_LPBYTE ori_scan, int Bpp,
|
| + int span_left, int span_len, int span_top, FX_BYTE cover_scan,
|
| + int clip_top, int clip_left, int clip_right, FX_LPBYTE clip_scan,
|
| + FX_LPBYTE dest_extra_alpha_scan);
|
| + void CompositeSpanGray_3(FX_LPBYTE dest_scan, FX_LPBYTE ori_scan, int Bpp,
|
| + int span_left, int span_len, int span_top, FX_BYTE cover_scan,
|
| + int clip_top, int clip_left, int clip_right, FX_LPBYTE clip_scan,
|
| + FX_LPBYTE dest_extra_alpha_scan);
|
| + void CompositeSpanGray_6(FX_LPBYTE dest_scan, FX_LPBYTE ori_scan, int Bpp,
|
| + int span_left, int span_len, int span_top, FX_BYTE cover_scan,
|
| + int clip_top, int clip_left, int clip_right, FX_LPBYTE clip_scan,
|
| + FX_LPBYTE dest_extra_alpha_scan);
|
| + void CompositeSpanGray_7(FX_LPBYTE dest_scan, FX_LPBYTE ori_scan, int Bpp,
|
| + int span_left, int span_len, int span_top, FX_BYTE cover_scan,
|
| + int clip_top, int clip_left, int clip_right, FX_LPBYTE clip_scan,
|
| + FX_LPBYTE dest_extra_alpha_scan);
|
| + void CompositeSpanGray_10(FX_LPBYTE dest_scan, FX_LPBYTE ori_scan, int Bpp,
|
| + int span_left, int span_len, int span_top, FX_BYTE cover_scan,
|
| + int clip_top, int clip_left, int clip_right, FX_LPBYTE clip_scan,
|
| + FX_LPBYTE dest_extra_alpha_scan);
|
| + void CompositeSpanGray_11(FX_LPBYTE dest_scan, FX_LPBYTE ori_scan, int Bpp,
|
| + int span_left, int span_len, int span_top, FX_BYTE cover_scan,
|
| + int clip_top, int clip_left, int clip_right, FX_LPBYTE clip_scan,
|
| + FX_LPBYTE dest_extra_alpha_scan);
|
| + void CompositeSpanGray_14(FX_LPBYTE dest_scan, FX_LPBYTE ori_scan, int Bpp,
|
| + int span_left, int span_len, int span_top, FX_BYTE cover_scan,
|
| + int clip_top, int clip_left, int clip_right, FX_LPBYTE clip_scan,
|
| + FX_LPBYTE dest_extra_alpha_scan);
|
| + void CompositeSpanGray_15(FX_LPBYTE dest_scan, FX_LPBYTE ori_scan, int Bpp,
|
| + int span_left, int span_len, int span_top, FX_BYTE cover_scan,
|
| + int clip_top, int clip_left, int clip_right, FX_LPBYTE clip_scan,
|
| + FX_LPBYTE dest_extra_alpha_scan);
|
| +
|
| + void CompositeSpanARGB_2(FX_LPBYTE dest_scan, FX_LPBYTE ori_scan, int Bpp,
|
| + int span_left, int span_len, int span_top, FX_BYTE cover_scan,
|
| + int clip_top, int clip_left, int clip_right, FX_LPBYTE clip_scan,
|
| + FX_LPBYTE dest_extra_alpha_scan);
|
| + void CompositeSpanARGB_3(FX_LPBYTE dest_scan, FX_LPBYTE ori_scan, int Bpp,
|
| + int span_left, int span_len, int span_top, FX_BYTE cover_scan,
|
| + int clip_top, int clip_left, int clip_right, FX_LPBYTE clip_scan,
|
| + FX_LPBYTE dest_extra_alpha_scan);
|
| + void CompositeSpanARGB_6(FX_LPBYTE dest_scan, FX_LPBYTE ori_scan, int Bpp,
|
| + int span_left, int span_len, int span_top, FX_BYTE cover_scan,
|
| + int clip_top, int clip_left, int clip_right, FX_LPBYTE clip_scan,
|
| + FX_LPBYTE dest_extra_alpha_scan);
|
| + void CompositeSpanARGB_7(FX_LPBYTE dest_scan, FX_LPBYTE ori_scan, int Bpp,
|
| + int span_left, int span_len, int span_top, FX_BYTE cover_scan,
|
| + int clip_top, int clip_left, int clip_right, FX_LPBYTE clip_scan,
|
| + FX_LPBYTE dest_extra_alpha_scan);
|
| +
|
| + void CompositeSpanRGB32_2(FX_LPBYTE dest_scan, FX_LPBYTE ori_scan, int Bpp,
|
| + int span_left, int span_len, int span_top, FX_BYTE cover_scan,
|
| + int clip_top, int clip_left, int clip_right, FX_LPBYTE clip_scan,
|
| + FX_LPBYTE dest_extra_alpha_scan);
|
| + void CompositeSpanRGB32_3(FX_LPBYTE dest_scan, FX_LPBYTE ori_scan, int Bpp,
|
| + int span_left, int span_len, int span_top, FX_BYTE cover_scan,
|
| + int clip_top, int clip_left, int clip_right, FX_LPBYTE clip_scan,
|
| + FX_LPBYTE dest_extra_alpha_scan);
|
| + void CompositeSpanRGB32_6(FX_LPBYTE dest_scan, FX_LPBYTE ori_scan, int Bpp,
|
| + int span_left, int span_len, int span_top, FX_BYTE cover_scan,
|
| + int clip_top, int clip_left, int clip_right, FX_LPBYTE clip_scan,
|
| + FX_LPBYTE dest_extra_alpha_scan);
|
| + void CompositeSpanRGB32_7(FX_LPBYTE dest_scan, FX_LPBYTE ori_scan, int Bpp,
|
| + int span_left, int span_len, int span_top, FX_BYTE cover_scan,
|
| + int clip_top, int clip_left, int clip_right, FX_LPBYTE clip_scan,
|
| + FX_LPBYTE dest_extra_alpha_scan);
|
| +
|
| +
|
| + void CompositeSpanRGB24_2(FX_LPBYTE dest_scan, FX_LPBYTE ori_scan, int Bpp,
|
| + int span_left, int span_len, int span_top, FX_BYTE cover_scan,
|
| + int clip_top, int clip_left, int clip_right, FX_LPBYTE clip_scan,
|
| + FX_LPBYTE dest_extra_alpha_scan);
|
| + void CompositeSpanRGB24_3(FX_LPBYTE dest_scan, FX_LPBYTE ori_scan, int Bpp,
|
| + int span_left, int span_len, int span_top, FX_BYTE cover_scan,
|
| + int clip_top, int clip_left, int clip_right, FX_LPBYTE clip_scan,
|
| + FX_LPBYTE dest_extra_alpha_scan);
|
| + void CompositeSpanRGB24_6(FX_LPBYTE dest_scan, FX_LPBYTE ori_scan, int Bpp,
|
| + int span_left, int span_len, int span_top, FX_BYTE cover_scan,
|
| + int clip_top, int clip_left, int clip_right, FX_LPBYTE clip_scan,
|
| + FX_LPBYTE dest_extra_alpha_scan);
|
| + void CompositeSpanRGB24_7(FX_LPBYTE dest_scan, FX_LPBYTE ori_scan, int Bpp,
|
| + int span_left, int span_len, int span_top, FX_BYTE cover_scan,
|
| + int clip_top, int clip_left, int clip_right, FX_LPBYTE clip_scan,
|
| + FX_LPBYTE dest_extra_alpha_scan);
|
| + void CompositeSpanRGB24_10(FX_LPBYTE dest_scan, FX_LPBYTE ori_scan, int Bpp,
|
| + int span_left, int span_len, int span_top, FX_BYTE cover_scan,
|
| + int clip_top, int clip_left, int clip_right, FX_LPBYTE clip_scan,
|
| + FX_LPBYTE dest_extra_alpha_scan);
|
| + void CompositeSpanRGB24_11(FX_LPBYTE dest_scan, FX_LPBYTE ori_scan, int Bpp,
|
| + int span_left, int span_len, int span_top, FX_BYTE cover_scan,
|
| + int clip_top, int clip_left, int clip_right, FX_LPBYTE clip_scan,
|
| + FX_LPBYTE dest_extra_alpha_scan);
|
| + void CompositeSpanRGB24_14(FX_LPBYTE dest_scan, FX_LPBYTE ori_scan, int Bpp,
|
| + int span_left, int span_len, int span_top, FX_BYTE cover_scan,
|
| + int clip_top, int clip_left, int clip_right, FX_LPBYTE clip_scan,
|
| + FX_LPBYTE dest_extra_alpha_scan);
|
| + void CompositeSpanRGB24_15(FX_LPBYTE dest_scan, FX_LPBYTE ori_scan, int Bpp,
|
| + int span_left, int span_len, int span_top, FX_BYTE cover_scan,
|
| + int clip_top, int clip_left, int clip_right, FX_LPBYTE clip_scan,
|
| + FX_LPBYTE dest_extra_alpha_scan);
|
| +
|
| +
|
| + void CompositeSpanCMYK(FX_LPBYTE dest_scan, FX_LPBYTE ori_scan, int Bpp,
|
| + int span_left, int span_len, int span_top, FX_BYTE cover_scan,
|
| + int clip_top, int clip_left, int clip_right, FX_LPBYTE clip_scan,
|
| + FX_LPBYTE dest_extra_alpha_scan);
|
| +
|
| + FX_BOOL Init(CFX_DIBitmap* pDevice, CFX_DIBitmap* pOriDevice, const CFX_ClipRgn* pClipRgn, FX_DWORD color, FX_BOOL bFullCover, FX_BOOL bRgbByteOrder,
|
| + int alpha_flag = 0, void* pIccTransform = NULL);
|
| +};
|
| +class CFX_SkiaA8Renderer : public SkBlitter, public CFX_Object
|
| +{
|
| +public:
|
| + virtual void blitAntiH(int x, int y, const SkAlpha antialias[], const int16_t runs[]);
|
| + virtual void blitH(int x, int y, int width);
|
| + virtual void blitV(int x, int y, int height, SkAlpha alpha);
|
| + virtual void blitRect(int x, int y, int width, int height);
|
| + virtual void blitAntiRect(int x, int y, int width, int height, SkAlpha leftAlpha, SkAlpha rightAlpha);
|
| + FX_BOOL Init(CFX_DIBitmap* pDevice, int Left, int Top);
|
| + CFX_DIBitmap* m_pDevice;
|
| + int m_Left;
|
| + int m_Top;
|
| + int m_dstWidth;
|
| + int m_dstHeight;
|
| +};
|
| +
|
| +#endif
|
|
|