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

Side by Side Diff: dm/DMSrcSink.h

Issue 1327433003: Various improvements to CodecSrc testing in dm (Closed) Base URL: https://skia.googlesource.com/skia.git@master
Patch Set: Fixed comments Created 5 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 | « 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
11 #include "DMGpuSupport.h" 11 #include "DMGpuSupport.h"
12 #include "SkBBHFactory.h" 12 #include "SkBBHFactory.h"
13 #include "SkBBoxHierarchy.h" 13 #include "SkBBoxHierarchy.h"
14 #include "SkBitmap.h" 14 #include "SkBitmap.h"
15 #include "SkCanvas.h" 15 #include "SkCanvas.h"
16 #include "SkData.h" 16 #include "SkData.h"
17 #include "SkGPipe.h" 17 #include "SkGPipe.h"
18 #include "SkPicture.h" 18 #include "SkPicture.h"
19 #include "gm.h" 19 #include "gm.h"
20 20
21 namespace DM { 21 namespace DM {
22 22
23 // This is just convenience. It lets you use either return "foo" or return SkSt ringPrintf(...). 23 // This is just convenience. It lets you use either return "foo" or return SkSt ringPrintf(...).
24 struct ImplicitString : public SkString { 24 struct ImplicitString : public SkString {
25 template <typename T> 25 template <typename T>
26 ImplicitString(const T& s) : SkString(s) {} 26 ImplicitString(const T& s) : SkString(s) {}
27 ImplicitString() : SkString("") {}
27 }; 28 };
28 typedef ImplicitString Name; 29 typedef ImplicitString Name;
29 typedef ImplicitString Path; 30 typedef ImplicitString Path;
30 31
31 class Error { 32 class Error {
32 public: 33 public:
33 Error(const SkString& s) : fMsg(s), fFatal(!this->isEmpty()) {} 34 Error(const SkString& s) : fMsg(s), fFatal(!this->isEmpty()) {}
34 Error(const char* s) : fMsg(s), fFatal(!this->isEmpty()) {} 35 Error(const char* s) : fMsg(s), fFatal(!this->isEmpty()) {}
35 36
36 Error(const Error&) = default; 37 Error(const Error&) = default;
(...skipping 58 matching lines...) Expand 10 before | Expand all | Expand 10 after
95 Name name() const override; 96 Name name() const override;
96 void modifyGrContextOptions(GrContextOptions* options) const override; 97 void modifyGrContextOptions(GrContextOptions* options) const override;
97 98
98 private: 99 private:
99 skiagm::GMRegistry::Factory fFactory; 100 skiagm::GMRegistry::Factory fFactory;
100 }; 101 };
101 102
102 class CodecSrc : public Src { 103 class CodecSrc : public Src {
103 public: 104 public:
104 enum Mode { 105 enum Mode {
105 kNormal_Mode, 106 kScaledCodec_Mode,
107 kCodec_Mode,
106 kScanline_Mode, 108 kScanline_Mode,
107 kScanline_Subset_Mode, 109 kScanline_Subset_Mode,
108 kStripe_Mode, // Tests the skipping of scanlines 110 kStripe_Mode, // Tests the skipping of scanlines
109 kSubset_Mode, // For codecs that support subsets directly. 111 kSubset_Mode, // For codecs that support subsets directly.
110 }; 112 };
111 enum DstColorType { 113 enum DstColorType {
112 kGetFromCanvas_DstColorType, 114 kGetFromCanvas_DstColorType,
113 kIndex8_Always_DstColorType, 115 kIndex8_Always_DstColorType,
114 kGrayscale_Always_DstColorType, 116 kGrayscale_Always_DstColorType,
115 }; 117 };
116 CodecSrc(Path, Mode, DstColorType, float); 118 CodecSrc(Path, Mode, DstColorType, float);
117 119
118 Error draw(SkCanvas*) const override; 120 Error draw(SkCanvas*) const override;
119 SkISize size() const override; 121 SkISize size() const override;
120 Name name() const override; 122 Name name() const override;
121 bool veto(SinkFlags) const override; 123 bool veto(SinkFlags) const override;
122 private: 124 private:
123 Path fPath; 125 Path fPath;
124 Mode fMode; 126 Mode fMode;
125 DstColorType fDstColorType; 127 DstColorType fDstColorType;
126 float fScale; 128 float fScale;
127 }; 129 };
128 130
129 131
130 class ImageSrc : public Src { 132 class ImageSrc : public Src {
131 public: 133 public:
132 // divisor == 0 means decode the whole image 134 // divisor == 0 means decode the whole image
133 // divisor > 0 means decode in subsets, dividing into a divisor x divisor gr id. 135 // divisor > 0 means decode in subsets, dividing into a divisor x divisor gr id.
134 explicit ImageSrc(Path path, int divisor = 0); 136 explicit ImageSrc(Path path, int divisor = 0);
135 137
136 Error draw(SkCanvas*) const override; 138 Error draw(SkCanvas*) const override;
(...skipping 171 matching lines...) Expand 10 before | Expand all | Expand 10 after
308 310
309 class ViaTwice : public Via { 311 class ViaTwice : public Via {
310 public: 312 public:
311 explicit ViaTwice(Sink* sink) : Via(sink) {} 313 explicit ViaTwice(Sink* sink) : Via(sink) {}
312 Error draw(const Src&, SkBitmap*, SkWStream*, SkString*) const override; 314 Error draw(const Src&, SkBitmap*, SkWStream*, SkString*) const override;
313 }; 315 };
314 316
315 } // namespace DM 317 } // namespace DM
316 318
317 #endif//DMSrcSink_DEFINED 319 #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