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

Side by Side Diff: src/codec/SkCodecImageGenerator.h

Issue 2333713002: change SkStreams to work with sk_sp<SkData> instead of SkData* (Closed)
Patch Set: fix xpsdevice 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/codec/SkCodec.cpp ('k') | src/codec/SkCodecImageGenerator.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 #include "SkCodec.h" 8 #include "SkCodec.h"
9 #include "SkData.h" 9 #include "SkData.h"
10 #include "SkImageGenerator.h" 10 #include "SkImageGenerator.h"
11 11
12 class SkCodecImageGenerator : public SkImageGenerator { 12 class SkCodecImageGenerator : public SkImageGenerator {
13 public: 13 public:
14 /* 14 /*
15 * If this data represents an encoded image that we know how to decode, 15 * If this data represents an encoded image that we know how to decode,
16 * return an SkCodecImageGenerator. Otherwise return nullptr. 16 * return an SkCodecImageGenerator. Otherwise return nullptr.
17 *
18 * Refs the data if an image generator can be returned. Otherwise does
19 * not affect the data.
20 */ 17 */
21 static SkImageGenerator* NewFromEncodedCodec(SkData* data); 18 static SkImageGenerator* NewFromEncodedCodec(sk_sp<SkData>);
19 static SkImageGenerator* NewFromEncodedCodec(SkData* data) {
20 return NewFromEncodedCodec(sk_ref_sp(data));
21 }
22 22
23 protected: 23 protected:
24 SkData* onRefEncodedData(SK_REFENCODEDDATA_CTXPARAM) override; 24 SkData* onRefEncodedData(SK_REFENCODEDDATA_CTXPARAM) override;
25 25
26 bool onGetPixels(const SkImageInfo& info, void* pixels, size_t rowBytes, SkP MColor ctable[], 26 bool onGetPixels(const SkImageInfo& info, void* pixels, size_t rowBytes, SkP MColor ctable[],
27 int* ctableCount) override; 27 int* ctableCount) override;
28 28
29 bool onQueryYUV8(SkYUVSizeInfo*, SkYUVColorSpace*) const override; 29 bool onQueryYUV8(SkYUVSizeInfo*, SkYUVColorSpace*) const override;
30 30
31 bool onGetYUV8Planes(const SkYUVSizeInfo&, void* planes[3]) override; 31 bool onGetYUV8Planes(const SkYUVSizeInfo&, void* planes[3]) override;
32 32
33 private: 33 private:
34 /* 34 /*
35 * Takes ownership of codec 35 * Takes ownership of codec
36 * Refs the data
37 */ 36 */
38 SkCodecImageGenerator(SkCodec* codec, SkData* data); 37 SkCodecImageGenerator(SkCodec* codec, sk_sp<SkData>);
39 38
40 SkAutoTDelete<SkCodec> fCodec; 39 SkAutoTDelete<SkCodec> fCodec;
41 sk_sp<SkData> fData; 40 sk_sp<SkData> fData;
42 41
43 typedef SkImageGenerator INHERITED; 42 typedef SkImageGenerator INHERITED;
44 }; 43 };
OLDNEW
« no previous file with comments | « src/codec/SkCodec.cpp ('k') | src/codec/SkCodecImageGenerator.cpp » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698