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

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

Issue 2201323003: add pipecanvas (Closed) Base URL: https://skia.googlesource.com/skia.git@master
Patch Set: add test for writeImage 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
« no previous file with comments | « src/core/SkDeduper.h ('k') | src/core/SkReadBuffer.h » ('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 /*
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 // Ownership is not transferred, so caller must ceep the serializer alive
hal.canary 2016/09/13 15:52:54 s/ceep/keep/
26 void setTypefaceSerializer(SkTypefaceSerializer*);
27
28 void resetCache();
29
30 void write(SkPicture*, SkWStream*);
31 void write(SkImage*, SkWStream*);
32
33 SkCanvas* beginWrite(const SkRect& cullBounds, SkWStream*);
34 void endWrite();
35
36 private:
37 class Impl;
38 std::unique_ptr<Impl> fImpl;
39 };
40
41 class SkPipeDeserializer {
42 public:
43 SkPipeDeserializer();
44 ~SkPipeDeserializer();
45
46 // Ownership is not transferred, so caller must ceep the deserializer alive
47 void setTypefaceDeserializer(SkTypefaceDeserializer*);
48
49 sk_sp<SkPicture> readPicture(const void*, size_t);
50 sk_sp<SkImage> readImage(const void*, size_t);
51 bool playback(const void*, size_t, SkCanvas*);
52
53 private:
54 class Impl;
55 std::unique_ptr<Impl> fImpl;
56 };
57
58 //////////////////////////////////////////////////////////////////////////////// //////////////////
59
60 class SkTypefaceSerializer {
61 public:
62 virtual ~SkTypefaceSerializer() {}
63
64 virtual sk_sp<SkData> serialize(SkTypeface*) = 0;
65 };
66
67 class SkTypefaceDeserializer {
68 public:
69 virtual ~SkTypefaceDeserializer() {}
70
71 virtual sk_sp<SkTypeface> deserialize(const void* data, size_t size) = 0;
72 };
73
74 #endif
OLDNEW
« no previous file with comments | « src/core/SkDeduper.h ('k') | src/core/SkReadBuffer.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698