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

Side by Side Diff: src/core/SkPipe.h

Issue 2201323003: add pipecanvas (Closed) Base URL: https://skia.googlesource.com/skia.git@master
Patch Set: no need for willSetMatrix Created 4 years, 3 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
OLDNEW
(Empty)
1 /*
2 * Copyright 2016 Google Inc.
3 *
4 * Use of this source code is governed by a BSD-style license that can be
5 * found in the LICENSE file.
6 */
7
8 #ifndef SkPipe_DEFINED
9 #define SkPipe_DEFINED
10
11 #include "SkTypes.h"
12
13 class SkCanvas;
14 class SkImage;
15 class SkPicture;
16 class SkTypefaceSerializer;
17 class SkTypefaceDeserializer;
18 class SkWStream;
19
20 class SkPipeSerializer {
21 public:
22 SkPipeSerializer();
23 ~SkPipeSerializer();
24
25 void setTypefaceSerializer(SkTypefaceSerializer*);
mtklein_C 2016/09/12 19:47:58 Ownership transfer here is unclear. This reads li
reed1 2016/09/12 21:35:23 updated dox
26
27 void resetCache();
28
29 void write(SkPicture*, SkWStream*);
30 void write(SkImage*, SkWStream*);
31
32 SkCanvas* beginWrite(const SkRect& cullBounds, SkWStream*);
33 void endWrite();
34
35 private:
36 class Impl;
37 Impl* fImpl;
mtklein_C 2016/09/12 19:47:58 The usual idiom these days is private: class Im
38 };
39
40 class SkPipeDeserializer {
41 public:
42 SkPipeDeserializer();
43 ~SkPipeDeserializer();
44
45 void setTypefaceDeserializer(SkTypefaceDeserializer*);
mtklein_C 2016/09/12 19:47:58 Ditto.
46
47 sk_sp<SkPicture> readPicture(const void*, size_t);
48 sk_sp<SkImage> readImage(const void*, size_t);
49 bool playback(const void*, size_t, SkCanvas*);
50
51 private:
52 class Impl;
53 Impl* fImpl;
54 };
55
56 //////////////////////////////////////////////////////////////////////////////// //////////////////
57
58 class SkTypefaceSerializer {
mtklein_C 2016/09/12 19:47:58 Another option you might want to consider for this
reed1 2016/09/12 21:35:22 Just keeping my options open as we think more abou
59 public:
60 virtual ~SkTypefaceSerializer() {}
61
62 virtual sk_sp<SkData> serialize(SkTypeface*) = 0;
63 };
64
65 class SkTypefaceDeserializer {
66 public:
67 virtual ~SkTypefaceDeserializer() {}
68
69 virtual sk_sp<SkTypeface> deserialize(const void* data, size_t size) = 0;
70 };
71
72 #endif
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698