Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(7)

Side by Side Diff: skia/sgl/SkCoreBlitters.h

Issue 113827: Remove the remainder of the skia source code from the Chromium repo.... (Closed) Base URL: svn://chrome-svn/chrome/trunk/src/
Patch Set: Created 11 years, 7 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
« no previous file with comments | « skia/sgl/SkColorTable.cpp ('k') | skia/sgl/SkDeque.cpp » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
(Empty)
1 /* libs/graphics/sgl/SkCoreBlitters.h
2 **
3 ** Copyright 2006, The Android Open Source Project
4 **
5 ** Licensed under the Apache License, Version 2.0 (the "License");
6 ** you may not use this file except in compliance with the License.
7 ** You may obtain a copy of the License at
8 **
9 ** http://www.apache.org/licenses/LICENSE-2.0
10 **
11 ** Unless required by applicable law or agreed to in writing, software
12 ** distributed under the License is distributed on an "AS IS" BASIS,
13 ** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14 ** See the License for the specific language governing permissions and
15 ** limitations under the License.
16 */
17
18 #ifndef SkCoreBlitters_DEFINED
19 #define SkCoreBlitters_DEFINED
20
21 #include "SkBlitter.h"
22 #include "SkBlitRow.h"
23
24 class SkRasterBlitter : public SkBlitter {
25 public:
26 SkRasterBlitter(const SkBitmap& device) : fDevice(device) {}
27
28 protected:
29 const SkBitmap& fDevice;
30
31 private:
32 typedef SkBlitter INHERITED;
33 };
34
35 class SkShaderBlitter : public SkRasterBlitter {
36 public:
37 SkShaderBlitter(const SkBitmap& device, const SkPaint& paint);
38 virtual ~SkShaderBlitter();
39
40 protected:
41 SkShader* fShader;
42
43 private:
44 // illegal
45 SkShaderBlitter& operator=(const SkShaderBlitter&);
46
47 typedef SkRasterBlitter INHERITED;
48 };
49
50 ///////////////////////////////////////////////////////////////////////////////
51
52 class SkA8_Blitter : public SkRasterBlitter {
53 public:
54 SkA8_Blitter(const SkBitmap& device, const SkPaint& paint);
55 virtual void blitH(int x, int y, int width);
56 virtual void blitAntiH(int x, int y, const SkAlpha antialias[], const int16_ t runs[]);
57 virtual void blitV(int x, int y, int height, SkAlpha alpha);
58 virtual void blitRect(int x, int y, int width, int height);
59 virtual void blitMask(const SkMask&, const SkIRect&);
60 virtual const SkBitmap* justAnOpaqueColor(uint32_t*);
61
62 private:
63 unsigned fSrcA;
64
65 // illegal
66 SkA8_Blitter& operator=(const SkA8_Blitter&);
67
68 typedef SkRasterBlitter INHERITED;
69 };
70
71 class SkA8_Shader_Blitter : public SkShaderBlitter {
72 public:
73 SkA8_Shader_Blitter(const SkBitmap& device, const SkPaint& paint);
74 virtual ~SkA8_Shader_Blitter();
75 virtual void blitH(int x, int y, int width);
76 virtual void blitAntiH(int x, int y, const SkAlpha antialias[], const int16_ t runs[]);
77 virtual void blitMask(const SkMask&, const SkIRect&);
78
79 private:
80 SkXfermode* fXfermode;
81 SkPMColor* fBuffer;
82 uint8_t* fAAExpand;
83
84 // illegal
85 SkA8_Shader_Blitter& operator=(const SkA8_Shader_Blitter&);
86
87 typedef SkShaderBlitter INHERITED;
88 };
89
90 ////////////////////////////////////////////////////////////////
91
92 class SkARGB32_Blitter : public SkRasterBlitter {
93 public:
94 SkARGB32_Blitter(const SkBitmap& device, const SkPaint& paint);
95 virtual void blitH(int x, int y, int width);
96 virtual void blitAntiH(int x, int y, const SkAlpha antialias[], const int16_ t runs[]);
97 virtual void blitV(int x, int y, int height, SkAlpha alpha);
98 virtual void blitRect(int x, int y, int width, int height);
99 virtual void blitMask(const SkMask&, const SkIRect&);
100 virtual const SkBitmap* justAnOpaqueColor(uint32_t*);
101
102 protected:
103 SkColor fPMColor;
104
105 private:
106 unsigned fSrcA, fSrcR, fSrcG, fSrcB;
107
108 // illegal
109 SkARGB32_Blitter& operator=(const SkARGB32_Blitter&);
110
111 typedef SkRasterBlitter INHERITED;
112 };
113
114 class SkARGB32_Black_Blitter : public SkARGB32_Blitter {
115 public:
116 SkARGB32_Black_Blitter(const SkBitmap& device, const SkPaint& paint)
117 : SkARGB32_Blitter(device, paint) {}
118 virtual void blitMask(const SkMask&, const SkIRect&);
119 virtual void blitAntiH(int x, int y, const SkAlpha antialias[], const int16_ t runs[]);
120
121 private:
122 typedef SkARGB32_Blitter INHERITED;
123 };
124
125 class SkARGB32_Opaque_Blitter : public SkARGB32_Blitter {
126 public:
127 SkARGB32_Opaque_Blitter(const SkBitmap& device, const SkPaint& paint)
128 : SkARGB32_Blitter(device, paint) { SkASSERT(paint.getAlpha() == 0xFF); }
129 virtual void blitMask(const SkMask&, const SkIRect&);
130
131 private:
132 typedef SkARGB32_Blitter INHERITED;
133 };
134
135 class SkARGB32_Shader_Blitter : public SkShaderBlitter {
136 public:
137 SkARGB32_Shader_Blitter(const SkBitmap& device, const SkPaint& paint);
138 virtual ~SkARGB32_Shader_Blitter();
139 virtual void blitH(int x, int y, int width);
140 virtual void blitAntiH(int x, int y, const SkAlpha antialias[], const int16_ t runs[]);
141
142 private:
143 SkXfermode* fXfermode;
144 SkPMColor* fBuffer;
145
146 // illegal
147 SkARGB32_Shader_Blitter& operator=(const SkARGB32_Shader_Blitter&);
148
149 typedef SkShaderBlitter INHERITED;
150 };
151
152 ////////////////////////////////////////////////////////////////
153
154 class SkRGB16_Blitter : public SkRasterBlitter {
155 public:
156 SkRGB16_Blitter(const SkBitmap& device, const SkPaint& paint);
157 virtual void blitH(int x, int y, int width);
158 virtual void blitAntiH(int x, int y, const SkAlpha antialias[], const int16_ t runs[]);
159 virtual void blitV(int x, int y, int height, SkAlpha alpha);
160 virtual void blitRect(int x, int y, int width, int height);
161 virtual void blitMask(const SkMask&, const SkIRect&);
162 virtual const SkBitmap* justAnOpaqueColor(uint32_t*);
163
164 private:
165 SkPMColor fSrcColor32;
166 unsigned fScale;
167 uint16_t fColor16; // already scaled by fScale
168 uint16_t fRawColor16; // unscaled
169 uint16_t fRawDither16; // unscaled
170 SkBool8 fDoDither;
171
172 // illegal
173 SkRGB16_Blitter& operator=(const SkRGB16_Blitter&);
174
175 typedef SkRasterBlitter INHERITED;
176 };
177
178 class SkRGB16_Black_Blitter : public SkRGB16_Blitter {
179 public:
180 SkRGB16_Black_Blitter(const SkBitmap& device, const SkPaint& paint);
181
182 virtual void blitMask(const SkMask&, const SkIRect&);
183 virtual void blitAntiH(int x, int y, const SkAlpha antialias[], const int16_ t runs[]);
184
185 private:
186 typedef SkRGB16_Blitter INHERITED;
187 };
188
189 class SkRGB16_Shader_Blitter : public SkShaderBlitter {
190 public:
191 SkRGB16_Shader_Blitter(const SkBitmap& device, const SkPaint& paint);
192 virtual ~SkRGB16_Shader_Blitter();
193 virtual void blitH(int x, int y, int width);
194 virtual void blitAntiH(int x, int y, const SkAlpha antialias[], const int16_ t runs[]);
195
196 protected:
197 SkPMColor* fBuffer;
198 SkBlitRow::Proc fOpaqueProc;
199 SkBlitRow::Proc fAlphaProc;
200
201 private:
202 // illegal
203 SkRGB16_Shader_Blitter& operator=(const SkRGB16_Shader_Blitter&);
204
205 typedef SkShaderBlitter INHERITED;
206 };
207
208 // used only if the shader can perform shadSpan16
209 class SkRGB16_Shader16_Blitter : public SkRGB16_Shader_Blitter {
210 public:
211 SkRGB16_Shader16_Blitter(const SkBitmap& device, const SkPaint& paint);
212 virtual void blitH(int x, int y, int width);
213 virtual void blitAntiH(int x, int y, const SkAlpha antialias[], const int16_ t runs[]);
214
215 private:
216 typedef SkRGB16_Shader_Blitter INHERITED;
217 };
218
219 class SkRGB16_Shader_Xfermode_Blitter : public SkShaderBlitter {
220 public:
221 SkRGB16_Shader_Xfermode_Blitter(const SkBitmap& device, const SkPaint& paint );
222 virtual ~SkRGB16_Shader_Xfermode_Blitter();
223 virtual void blitH(int x, int y, int width);
224 virtual void blitAntiH(int x, int y, const SkAlpha antialias[], const int16_ t runs[]);
225
226 private:
227 SkXfermode* fXfermode;
228 SkPMColor* fBuffer;
229 uint8_t* fAAExpand;
230
231 // illegal
232 SkRGB16_Shader_Xfermode_Blitter& operator=(const SkRGB16_Shader_Xfermode_Bli tter&);
233
234 typedef SkShaderBlitter INHERITED;
235 };
236
237 /////////////////////////////////////////////////////////////////////////////
238
239 class SkA1_Blitter : public SkRasterBlitter {
240 public:
241 SkA1_Blitter(const SkBitmap& device, const SkPaint& paint);
242 virtual void blitH(int x, int y, int width);
243
244 private:
245 uint8_t fSrcA;
246
247 // illegal
248 SkA1_Blitter& operator=(const SkA1_Blitter&);
249
250 typedef SkRasterBlitter INHERITED;
251 };
252
253
254 extern SkBlitter* SkBlitter_ChooseD4444(const SkBitmap& device,
255 const SkPaint& paint,
256 void* storage, size_t storageSize);
257
258 #endif
259
OLDNEW
« no previous file with comments | « skia/sgl/SkColorTable.cpp ('k') | skia/sgl/SkDeque.cpp » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698