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

Side by Side Diff: dm/DMSrcSink.h

Issue 1718273004: Add an SkImageGeneratorCG (Closed) Base URL: https://skia.googlesource.com/skia.git@master
Patch Set: 80 chars Created 4 years, 9 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 | « dm/DM.cpp ('k') | 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 94 matching lines...) Expand 10 before | Expand all | Expand 10 after
105 enum Mode { 105 enum Mode {
106 kCodec_Mode, 106 kCodec_Mode,
107 // We choose to test only one mode with zero initialized memory. 107 // We choose to test only one mode with zero initialized memory.
108 // This will exercise all of the interesting cases in SkSwizzler 108 // This will exercise all of the interesting cases in SkSwizzler
109 // without doubling the size of our test suite. 109 // without doubling the size of our test suite.
110 kCodecZeroInit_Mode, 110 kCodecZeroInit_Mode,
111 kScanline_Mode, 111 kScanline_Mode,
112 kStripe_Mode, // Tests the skipping of scanlines 112 kStripe_Mode, // Tests the skipping of scanlines
113 kCroppedScanline_Mode, // Tests (jpeg) cropped scanline optimization 113 kCroppedScanline_Mode, // Tests (jpeg) cropped scanline optimization
114 kSubset_Mode, // For codecs that support subsets directly. 114 kSubset_Mode, // For codecs that support subsets directly.
115 kGen_Mode, // Test SkCodecImageGenerator (includes YUV)
116 }; 115 };
117 enum DstColorType { 116 enum DstColorType {
118 kGetFromCanvas_DstColorType, 117 kGetFromCanvas_DstColorType,
119 kIndex8_Always_DstColorType, 118 kIndex8_Always_DstColorType,
120 kGrayscale_Always_DstColorType, 119 kGrayscale_Always_DstColorType,
121 }; 120 };
122 CodecSrc(Path, Mode, DstColorType, SkAlphaType, float); 121 CodecSrc(Path, Mode, DstColorType, SkAlphaType, float);
123 122
124 Error draw(SkCanvas*) const override; 123 Error draw(SkCanvas*) const override;
125 SkISize size() const override; 124 SkISize size() const override;
(...skipping 54 matching lines...) Expand 10 before | Expand all | Expand 10 after
180 Name name() const override; 179 Name name() const override;
181 bool veto(SinkFlags) const override; 180 bool veto(SinkFlags) const override;
182 private: 181 private:
183 Path fPath; 182 Path fPath;
184 SkBitmapRegionDecoder::Strategy fStrategy; 183 SkBitmapRegionDecoder::Strategy fStrategy;
185 Mode fMode; 184 Mode fMode;
186 CodecSrc::DstColorType fDstColorType; 185 CodecSrc::DstColorType fDstColorType;
187 uint32_t fSampleSize; 186 uint32_t fSampleSize;
188 }; 187 };
189 188
189 class ImageGenSrc : public Src {
190 public:
191 enum Mode {
192 kCodec_Mode, // Use CodecImageGenerator
193 kPlatform_Mode, // Uses CG or WIC
194 };
195 ImageGenSrc(Path, Mode, SkAlphaType, bool);
196
197 Error draw(SkCanvas*) const override;
198 SkISize size() const override;
199 Name name() const override;
200 bool veto(SinkFlags) const override;
201 bool serial() const override { return fRunSerially; }
202 private:
203 Path fPath;
204 Mode fMode;
205 SkAlphaType fDstAlphaType;
206 bool fIsGpu;
207 bool fRunSerially;
208 };
209
190 class SKPSrc : public Src { 210 class SKPSrc : public Src {
191 public: 211 public:
192 explicit SKPSrc(Path path); 212 explicit SKPSrc(Path path);
193 213
194 Error draw(SkCanvas*) const override; 214 Error draw(SkCanvas*) const override;
195 SkISize size() const override; 215 SkISize size() const override;
196 Name name() const override; 216 Name name() const override;
197 private: 217 private:
198 Path fPath; 218 Path fPath;
199 }; 219 };
(...skipping 151 matching lines...) Expand 10 before | Expand all | Expand 10 after
351 371
352 class ViaMojo : public Via { 372 class ViaMojo : public Via {
353 public: 373 public:
354 explicit ViaMojo(Sink* sink) : Via(sink) {} 374 explicit ViaMojo(Sink* sink) : Via(sink) {}
355 Error draw(const Src&, SkBitmap*, SkWStream*, SkString*) const override; 375 Error draw(const Src&, SkBitmap*, SkWStream*, SkString*) const override;
356 }; 376 };
357 377
358 } // namespace DM 378 } // namespace DM
359 379
360 #endif//DMSrcSink_DEFINED 380 #endif//DMSrcSink_DEFINED
OLDNEW
« no previous file with comments | « dm/DM.cpp ('k') | dm/DMSrcSink.cpp » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698