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

Side by Side Diff: src/core/SkColorShader.cpp

Issue 2093763003: Change SkColor4f to RGBA channel order (Closed) Base URL: https://skia.googlesource.com/skia.git@master
Patch Set: Reorder Pin arguments, too Created 4 years, 6 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/SkColor.cpp ('k') | src/core/SkPixmap.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 2016 Google Inc. 2 * Copyright 2016 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 "SkColorShader.h" 8 #include "SkColorShader.h"
9 #include "SkColorSpace.h" 9 #include "SkColorSpace.h"
10 #include "SkReadBuffer.h" 10 #include "SkReadBuffer.h"
(...skipping 115 matching lines...) Expand 10 before | Expand all | Expand 10 after
126 } 126 }
127 127
128 SkColor4Shader::SkColor4Shader(const SkColor4f& color, sk_sp<SkColorSpace> space ) 128 SkColor4Shader::SkColor4Shader(const SkColor4f& color, sk_sp<SkColorSpace> space )
129 : fColorSpace(std::move(space)) 129 : fColorSpace(std::move(space))
130 , fColor4(color) 130 , fColor4(color)
131 , fCachedByteColor(unit_to_skcolor(color.pin(), space.get())) 131 , fCachedByteColor(unit_to_skcolor(color.pin(), space.get()))
132 {} 132 {}
133 133
134 sk_sp<SkFlattenable> SkColor4Shader::CreateProc(SkReadBuffer& buffer) { 134 sk_sp<SkFlattenable> SkColor4Shader::CreateProc(SkReadBuffer& buffer) {
135 SkColor4f color; 135 SkColor4f color;
136 color.fA = buffer.readScalar(); // readFloat() 136 color.fR = buffer.readScalar(); // readFloat()
137 color.fR = buffer.readScalar();
138 color.fG = buffer.readScalar(); 137 color.fG = buffer.readScalar();
139 color.fB = buffer.readScalar(); 138 color.fB = buffer.readScalar();
139 color.fA = buffer.readScalar();
140 if (buffer.readBool()) { 140 if (buffer.readBool()) {
141 // TODO how do we unflatten colorspaces 141 // TODO how do we unflatten colorspaces
142 } 142 }
143 return SkShader::MakeColorShader(color, nullptr); 143 return SkShader::MakeColorShader(color, nullptr);
144 } 144 }
145 145
146 void SkColor4Shader::flatten(SkWriteBuffer& buffer) const { 146 void SkColor4Shader::flatten(SkWriteBuffer& buffer) const {
147 buffer.writeScalar(fColor4.fA); // writeFloat() 147 buffer.writeScalar(fColor4.fR); // writeFloat()
148 buffer.writeScalar(fColor4.fR);
149 buffer.writeScalar(fColor4.fG); 148 buffer.writeScalar(fColor4.fG);
150 buffer.writeScalar(fColor4.fB); 149 buffer.writeScalar(fColor4.fB);
150 buffer.writeScalar(fColor4.fA);
151 buffer.writeBool(false); // TODO how do we flatten colorspaces? 151 buffer.writeBool(false); // TODO how do we flatten colorspaces?
152 } 152 }
153 153
154 uint32_t SkColor4Shader::Color4Context::getFlags() const { 154 uint32_t SkColor4Shader::Color4Context::getFlags() const {
155 return fFlags; 155 return fFlags;
156 } 156 }
157 157
158 SkShader::Context* SkColor4Shader::onCreateContext(const ContextRec& rec, void* storage) const { 158 SkShader::Context* SkColor4Shader::onCreateContext(const ContextRec& rec, void* storage) const {
159 return new (storage) Color4Context(*this, rec); 159 return new (storage) Color4Context(*this, rec);
160 } 160 }
(...skipping 64 matching lines...) Expand 10 before | Expand all | Expand 10 after
225 GrColor color = SkColorToPremulGrColor(fCachedByteColor); 225 GrColor color = SkColorToPremulGrColor(fCachedByteColor);
226 return GrConstColorProcessor::Make(color, GrConstColorProcessor::kModulateA_ InputMode); 226 return GrConstColorProcessor::Make(color, GrConstColorProcessor::kModulateA_ InputMode);
227 } 227 }
228 228
229 #endif 229 #endif
230 230
231 #ifndef SK_IGNORE_TO_STRING 231 #ifndef SK_IGNORE_TO_STRING
232 void SkColor4Shader::toString(SkString* str) const { 232 void SkColor4Shader::toString(SkString* str) const {
233 str->append("SkColor4Shader: ("); 233 str->append("SkColor4Shader: (");
234 234
235 str->append("ARGB:"); 235 str->append("RGBA:");
236 for (int i = 0; i < 4; ++i) { 236 for (int i = 0; i < 4; ++i) {
237 str->appendf(" %g", fColor4.vec()[i]); 237 str->appendf(" %g", fColor4.vec()[i]);
238 } 238 }
239 str->append(" )"); 239 str->append(" )");
240 } 240 }
241 #endif 241 #endif
242 242
243 sk_sp<SkShader> SkShader::MakeColorShader(const SkColor4f& color, sk_sp<SkColorS pace> space) { 243 sk_sp<SkShader> SkShader::MakeColorShader(const SkColor4f& color, sk_sp<SkColorS pace> space) {
244 if (!SkScalarsAreFinite(color.vec(), 4)) { 244 if (!SkScalarsAreFinite(color.vec(), 4)) {
245 return nullptr; 245 return nullptr;
(...skipping 60 matching lines...) Expand 10 before | Expand all | Expand 10 after
306 } 306 }
307 307
308 bool SkColorShader::ColorShaderContext::onChooseBlitProcs(const SkImageInfo& inf o, 308 bool SkColorShader::ColorShaderContext::onChooseBlitProcs(const SkImageInfo& inf o,
309 BlitState* state) { 309 BlitState* state) {
310 return choose_blitprocs(&fPM4f, info, state); 310 return choose_blitprocs(&fPM4f, info, state);
311 } 311 }
312 312
313 bool SkColor4Shader::Color4Context::onChooseBlitProcs(const SkImageInfo& info, B litState* state) { 313 bool SkColor4Shader::Color4Context::onChooseBlitProcs(const SkImageInfo& info, B litState* state) {
314 return choose_blitprocs(&fPM4f, info, state); 314 return choose_blitprocs(&fPM4f, info, state);
315 } 315 }
OLDNEW
« no previous file with comments | « src/core/SkColor.cpp ('k') | src/core/SkPixmap.cpp » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698