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 #ifndef CORE_FXGE_SKIA_FX_SKIA_DEVICE_H_ | 5 #ifndef CORE_FXGE_SKIA_FX_SKIA_DEVICE_H_ |
6 #define CORE_FXGE_SKIA_FX_SKIA_DEVICE_H_ | 6 #define CORE_FXGE_SKIA_FX_SKIA_DEVICE_H_ |
7 | 7 |
8 #if defined(_SKIA_SUPPORT_) | 8 #if defined(_SKIA_SUPPORT_) |
9 | 9 |
10 class SkCanvas; | 10 class SkCanvas; |
(...skipping 34 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
45 pGraphState) // graphic state, for pen attributes | 45 pGraphState) // graphic state, for pen attributes |
46 override; | 46 override; |
47 | 47 |
48 /** Draw a path */ | 48 /** Draw a path */ |
49 FX_BOOL DrawPath(const CFX_PathData* pPathData, | 49 FX_BOOL DrawPath(const CFX_PathData* pPathData, |
50 const CFX_Matrix* pObject2Device, | 50 const CFX_Matrix* pObject2Device, |
51 const CFX_GraphStateData* pGraphState, | 51 const CFX_GraphStateData* pGraphState, |
52 uint32_t fill_color, | 52 uint32_t fill_color, |
53 uint32_t stroke_color, | 53 uint32_t stroke_color, |
54 int fill_mode, | 54 int fill_mode, |
55 int alpha_flag = 0, | 55 int blend_type) override; |
56 void* pIccTransform = nullptr, | |
57 int blend_type = FXDIB_BLEND_NORMAL) override; | |
58 | 56 |
59 FX_BOOL FillRect(const FX_RECT* pRect, | 57 FX_BOOL FillRectWithBlend(const FX_RECT* pRect, |
60 uint32_t fill_color, | 58 uint32_t fill_color, |
61 int alpha_flag = 0, | 59 int blend_type) override; |
62 void* pIccTransform = nullptr, | |
63 int blend_type = FXDIB_BLEND_NORMAL) override; | |
64 | 60 |
65 /** Draw a single pixel (device dependant) line */ | 61 /** Draw a single pixel (device dependant) line */ |
66 FX_BOOL DrawCosmeticLine(FX_FLOAT x1, | 62 FX_BOOL DrawCosmeticLine(FX_FLOAT x1, |
67 FX_FLOAT y1, | 63 FX_FLOAT y1, |
68 FX_FLOAT x2, | 64 FX_FLOAT x2, |
69 FX_FLOAT y2, | 65 FX_FLOAT y2, |
70 uint32_t color, | 66 uint32_t color, |
71 int alpha_flag = 0, | 67 int blend_type) override { |
72 void* pIccTransform = nullptr, | |
73 int blend_type = FXDIB_BLEND_NORMAL) override { | |
74 return FALSE; | 68 return FALSE; |
75 } | 69 } |
76 | 70 |
77 FX_BOOL GetClipBox(FX_RECT* pRect) override; | 71 FX_BOOL GetClipBox(FX_RECT* pRect) override; |
78 | 72 |
79 /** Load device buffer into a DIB */ | 73 /** Load device buffer into a DIB */ |
80 FX_BOOL GetDIBits(CFX_DIBitmap* pBitmap, | 74 FX_BOOL GetDIBits(CFX_DIBitmap* pBitmap, int left, int top) override; |
81 int left, | |
82 int top, | |
83 void* pIccTransform = nullptr, | |
84 FX_BOOL bDEdge = FALSE) override; | |
85 | 75 |
86 CFX_DIBitmap* GetBackDrop() override { return m_pOriDevice; } | 76 CFX_DIBitmap* GetBackDrop() override { return m_pOriDevice; } |
87 | 77 |
88 FX_BOOL SetDIBits(const CFX_DIBSource* pBitmap, | 78 FX_BOOL SetDIBits(const CFX_DIBSource* pBitmap, |
89 uint32_t color, | 79 uint32_t color, |
90 const FX_RECT* pSrcRect, | 80 const FX_RECT* pSrcRect, |
91 int dest_left, | 81 int dest_left, |
92 int dest_top, | 82 int dest_top, |
93 int blend_type, | 83 int blend_type) override; |
94 int alpha_flag = 0, | |
95 void* pIccTransform = nullptr) override; | |
96 FX_BOOL StretchDIBits(const CFX_DIBSource* pBitmap, | 84 FX_BOOL StretchDIBits(const CFX_DIBSource* pBitmap, |
97 uint32_t color, | 85 uint32_t color, |
98 int dest_left, | 86 int dest_left, |
99 int dest_top, | 87 int dest_top, |
100 int dest_width, | 88 int dest_width, |
101 int dest_height, | 89 int dest_height, |
102 const FX_RECT* pClipRect, | 90 const FX_RECT* pClipRect, |
103 uint32_t flags, | 91 uint32_t flags, |
104 int alpha_flag = 0, | 92 int blend_type) override; |
105 void* pIccTransform = nullptr, | |
106 int blend_type = FXDIB_BLEND_NORMAL) override; | |
107 | 93 |
108 FX_BOOL StartDIBits(const CFX_DIBSource* pBitmap, | 94 FX_BOOL StartDIBits(const CFX_DIBSource* pBitmap, |
109 int bitmap_alpha, | 95 int bitmap_alpha, |
110 uint32_t color, | 96 uint32_t color, |
111 const CFX_Matrix* pMatrix, | 97 const CFX_Matrix* pMatrix, |
112 uint32_t flags, | 98 uint32_t flags, |
113 void*& handle, | 99 void*& handle, |
114 int alpha_flag = 0, | 100 int blend_type) override; |
115 void* pIccTransform = nullptr, | |
116 int blend_type = FXDIB_BLEND_NORMAL) override; | |
117 | 101 |
118 FX_BOOL ContinueDIBits(void* handle, IFX_Pause* pPause) override { | 102 FX_BOOL ContinueDIBits(void* handle, IFX_Pause* pPause) override { |
119 return FALSE; | 103 return FALSE; |
120 } | 104 } |
121 | 105 |
122 void CancelDIBits(void* handle) override {} | 106 void CancelDIBits(void* handle) override {} |
123 | 107 |
124 FX_BOOL DrawDeviceText(int nChars, | 108 FX_BOOL DrawDeviceText(int nChars, |
125 const FXTEXT_CHARPOS* pCharPos, | 109 const FXTEXT_CHARPOS* pCharPos, |
126 CFX_Font* pFont, | 110 CFX_Font* pFont, |
127 CFX_FontCache* pCache, | 111 CFX_FontCache* pCache, |
128 const CFX_Matrix* pObject2Device, | 112 const CFX_Matrix* pObject2Device, |
129 FX_FLOAT font_size, | 113 FX_FLOAT font_size, |
130 uint32_t color, | 114 uint32_t color) override; |
131 int alpha_flag = 0, | |
132 void* pIccTransform = nullptr) override; | |
133 | 115 |
134 FX_BOOL DrawShading(const CPDF_ShadingPattern* pPattern, | 116 FX_BOOL DrawShading(const CPDF_ShadingPattern* pPattern, |
135 const CFX_Matrix* pMatrix, | 117 const CFX_Matrix* pMatrix, |
136 const FX_RECT& clip_rect, | 118 const FX_RECT& clip_rect, |
137 int alpha, | 119 int alpha, |
138 FX_BOOL bAlphaMode) override; | 120 FX_BOOL bAlphaMode) override; |
139 | 121 |
140 virtual uint8_t* GetBuffer() const { return m_pBitmap->GetBuffer(); } | 122 virtual uint8_t* GetBuffer() const { return m_pBitmap->GetBuffer(); } |
141 void PaintStroke(SkPaint* spaint, | 123 void PaintStroke(SkPaint* spaint, |
142 const CFX_GraphStateData* pGraphState, | 124 const CFX_GraphStateData* pGraphState, |
143 const SkMatrix& matrix); | 125 const SkMatrix& matrix); |
144 SkPictureRecorder* GetRecorder() const { return m_pRecorder; } | 126 SkPictureRecorder* GetRecorder() const { return m_pRecorder; } |
145 void PreMultiply(); | 127 void PreMultiply(); |
146 | 128 |
147 private: | 129 private: |
148 CFX_DIBitmap* m_pBitmap; | 130 CFX_DIBitmap* m_pBitmap; |
149 CFX_DIBitmap* m_pOriDevice; | 131 CFX_DIBitmap* m_pOriDevice; |
150 SkCanvas* m_pCanvas; | 132 SkCanvas* m_pCanvas; |
151 SkPictureRecorder* const m_pRecorder; | 133 SkPictureRecorder* const m_pRecorder; |
152 FX_BOOL m_bRgbByteOrder; | 134 FX_BOOL m_bRgbByteOrder; |
153 FX_BOOL m_bGroupKnockout; | 135 FX_BOOL m_bGroupKnockout; |
154 }; | 136 }; |
155 #endif // defined(_SKIA_SUPPORT_) | 137 #endif // defined(_SKIA_SUPPORT_) |
156 | 138 |
157 #endif // CORE_FXGE_SKIA_FX_SKIA_DEVICE_H_ | 139 #endif // CORE_FXGE_SKIA_FX_SKIA_DEVICE_H_ |
OLD | NEW |