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

Side by Side Diff: dm/DMSrcSink.h

Issue 1117183007: DM: add Via abstract class (Closed) Base URL: https://skia.googlesource.com/skia@master
Patch Set: Created 5 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
« no previous file with comments | « no previous file | dm/DMSrcSink.cpp » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 /* 1 /*
2 * Copyright 2015 Google Inc. 2 * Copyright 2015 Google Inc.
3 * 3 *
4 * Use of this source code is governed by a BSD-style license that can be 4 * Use of this source code is governed by a BSD-style license that can be
5 * found in the LICENSE file. 5 * found in the LICENSE file.
6 */ 6 */
7 7
8 #ifndef DMSrcSink_DEFINED 8 #ifndef DMSrcSink_DEFINED
9 #define DMSrcSink_DEFINED 9 #define DMSrcSink_DEFINED
10 10
(...skipping 196 matching lines...) Expand 10 before | Expand all | Expand 10 after
207 SVGSink(); 207 SVGSink();
208 208
209 Error draw(const Src&, SkBitmap*, SkWStream*, SkString*) const override; 209 Error draw(const Src&, SkBitmap*, SkWStream*, SkString*) const override;
210 int enclave() const override { return kAnyThread_Enclave; } 210 int enclave() const override { return kAnyThread_Enclave; }
211 const char* fileExtension() const override { return "svg"; } 211 const char* fileExtension() const override { return "svg"; }
212 }; 212 };
213 213
214 214
215 /*~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ~~~~~~~~~~~~~~~~*/ 215 /*~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ~~~~~~~~~~~~~~~~*/
216 216
217 class ViaMatrix : public Sink { 217 class Via : public Sink {
218 public: 218 public:
219 ViaMatrix(SkMatrix, Sink*); 219 explicit Via(Sink* sink) : fSink(sink) {}
220
221 Error draw(const Src&, SkBitmap*, SkWStream*, SkString*) const override;
222 int enclave() const override { return fSink->enclave(); }
223 const char* fileExtension() const override { return fSink->fileExtension(); } 220 const char* fileExtension() const override { return fSink->fileExtension(); }
224 private: 221 int enclave() const override { return fSink->enclave(); }
225 SkMatrix fMatrix; 222 protected:
226 SkAutoTDelete<Sink> fSink; 223 SkAutoTDelete<Sink> fSink;
227 }; 224 };
228 225
229 class ViaUpright : public Sink { 226 class ViaMatrix : public Via {
227 public:
228 ViaMatrix(SkMatrix, Sink*);
229 Error draw(const Src&, SkBitmap*, SkWStream*, SkString*) const override;
230 private:
231 const SkMatrix fMatrix;
232 };
233
234 class ViaUpright : public Via {
230 public: 235 public:
231 ViaUpright(SkMatrix, Sink*); 236 ViaUpright(SkMatrix, Sink*);
232
233 Error draw(const Src&, SkBitmap*, SkWStream*, SkString*) const override; 237 Error draw(const Src&, SkBitmap*, SkWStream*, SkString*) const override;
234 int enclave() const override { return fSink->enclave(); }
235 const char* fileExtension() const override { return fSink->fileExtension(); }
236 private: 238 private:
237 SkMatrix fMatrix; 239 const SkMatrix fMatrix;
238 SkAutoTDelete<Sink> fSink;
239 }; 240 };
240 241
241 class ViaPipe : public Sink { 242 class ViaPipe : public Via {
242 public: 243 public:
243 explicit ViaPipe(Sink*); 244 explicit ViaPipe(Sink* sink) : Via(sink) {}
244
245 Error draw(const Src&, SkBitmap*, SkWStream*, SkString*) const override; 245 Error draw(const Src&, SkBitmap*, SkWStream*, SkString*) const override;
246 int enclave() const override { return fSink->enclave(); }
247 const char* fileExtension() const override { return fSink->fileExtension(); }
248 private:
249 SkAutoTDelete<Sink> fSink;
250 }; 246 };
251 247
252 class ViaDeferred : public Sink { 248 class ViaDeferred : public Via {
253 public: 249 public:
254 explicit ViaDeferred(Sink*); 250 explicit ViaDeferred(Sink* sink) : Via(sink) {}
255
256 Error draw(const Src&, SkBitmap*, SkWStream*, SkString*) const override; 251 Error draw(const Src&, SkBitmap*, SkWStream*, SkString*) const override;
257 int enclave() const override { return fSink->enclave(); }
258 const char* fileExtension() const override { return fSink->fileExtension(); }
259 private:
260 SkAutoTDelete<Sink> fSink;
261 }; 252 };
262 253
263 class ViaSerialization : public Sink { 254 class ViaSerialization : public Via {
264 public: 255 public:
265 explicit ViaSerialization(Sink*); 256 explicit ViaSerialization(Sink* sink) : Via(sink) {}
266
267 Error draw(const Src&, SkBitmap*, SkWStream*, SkString*) const override; 257 Error draw(const Src&, SkBitmap*, SkWStream*, SkString*) const override;
268 int enclave() const override { return fSink->enclave(); }
269 const char* fileExtension() const override { return fSink->fileExtension(); }
270 private:
271 SkAutoTDelete<Sink> fSink;
272 }; 258 };
273 259
274 class ViaTiles : public Sink { 260 class ViaTiles : public Via {
275 public: 261 public:
276 ViaTiles(int w, int h, SkBBHFactory*, Sink*); 262 ViaTiles(int w, int h, SkBBHFactory*, Sink*);
277
278 Error draw(const Src&, SkBitmap*, SkWStream*, SkString*) const override; 263 Error draw(const Src&, SkBitmap*, SkWStream*, SkString*) const override;
279 int enclave() const override { return fSink->enclave(); }
280 const char* fileExtension() const override { return fSink->fileExtension(); }
281 private: 264 private:
282 const int fW, fH; 265 const int fW, fH;
283 SkAutoTDelete<SkBBHFactory> fFactory; 266 SkAutoTDelete<SkBBHFactory> fFactory;
284 SkAutoTDelete<Sink> fSink;
285 }; 267 };
286 268
287 class ViaSecondPicture : public Sink { 269 class ViaSecondPicture : public Via {
288 public: 270 public:
289 explicit ViaSecondPicture(Sink*); 271 explicit ViaSecondPicture(Sink* sink) : Via(sink) {}
290
291 Error draw(const Src&, SkBitmap*, SkWStream*, SkString*) const override; 272 Error draw(const Src&, SkBitmap*, SkWStream*, SkString*) const override;
292 int enclave() const override { return fSink->enclave(); }
293 const char* fileExtension() const override { return fSink->fileExtension(); }
294 private:
295 SkAutoTDelete<Sink> fSink;
296 }; 273 };
297 274
298 class ViaSingletonPictures : public Sink { 275 class ViaSingletonPictures : public Via {
299 public: 276 public:
300 explicit ViaSingletonPictures(Sink*); 277 explicit ViaSingletonPictures(Sink* sink) : Via(sink) {}
301
302 Error draw(const Src&, SkBitmap*, SkWStream*, SkString*) const override; 278 Error draw(const Src&, SkBitmap*, SkWStream*, SkString*) const override;
303 int enclave() const override { return fSink->enclave(); }
304 const char* fileExtension() const override { return fSink->fileExtension(); }
305 private:
306 SkAutoTDelete<Sink> fSink;
307 }; 279 };
308 280
309 } // namespace DM 281 } // namespace DM
310 282
311 #endif//DMSrcSink_DEFINED 283 #endif//DMSrcSink_DEFINED
OLDNEW
« no previous file with comments | « no previous file | dm/DMSrcSink.cpp » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698