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

Side by Side Diff: gm/gradients_2pt_conical.cpp

Issue 1400813006: Remove SK_SUPPORT_LEGACY_GRADIENT_DITHERING from Skia proper (Closed) Base URL: https://chromium.googlesource.com/skia.git@master
Patch Set: Created 5 years, 2 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
OLDNEW
1 /* 1 /*
2 * Copyright 2014 Google Inc. 2 * Copyright 2014 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 "gm.h" 8 #include "gm.h"
9 #include "SkGradientShader.h" 9 #include "SkGradientShader.h"
10 10
(...skipping 287 matching lines...) Expand 10 before | Expand all | Expand 10 after
298 enum GradCaseType { // these must match the order in gGradCases 298 enum GradCaseType { // these must match the order in gGradCases
299 kOutside_GradCaseType, 299 kOutside_GradCaseType,
300 kInside_GradCaseType, 300 kInside_GradCaseType,
301 kEdge_GradCaseType, 301 kEdge_GradCaseType,
302 }; 302 };
303 303
304 /////////////////////////////////////////////////////////////////////////////// 304 ///////////////////////////////////////////////////////////////////////////////
305 305
306 class ConicalGradientsGM : public GM { 306 class ConicalGradientsGM : public GM {
307 public: 307 public:
308 ConicalGradientsGM(GradCaseType gradCaseType) { 308 ConicalGradientsGM(GradCaseType gradCaseType, bool dither)
309 : fGradCaseType(gradCaseType)
310 , fDither(dither) {
309 this->setBGColor(sk_tool_utils::color_to_565(0xFFDDDDDD)); 311 this->setBGColor(sk_tool_utils::color_to_565(0xFFDDDDDD));
310 fName.printf("gradients_2pt_conical_%s", gGradCases[gradCaseType].fName) ; 312 fName.printf("gradients_2pt_conical_%s%s", gGradCases[gradCaseType].fNam e,
311 fGradCaseType = gradCaseType; 313 fDither ? "" : "_nodither");
312 } 314 }
313 315
314 protected: 316 protected:
315 SkString onShortName() { 317 SkString onShortName() {
316 return fName; 318 return fName;
317 } 319 }
318 320
319 virtual SkISize onISize() { return SkISize::Make(840, 815); } 321 virtual SkISize onISize() { return SkISize::Make(840, 815); }
320 322
321 virtual void onDraw(SkCanvas* canvas) { 323 virtual void onDraw(SkCanvas* canvas) {
322 324
323 SkPoint pts[2] = { 325 SkPoint pts[2] = {
324 { 0, 0 }, 326 { 0, 0 },
325 { SkIntToScalar(100), SkIntToScalar(100) } 327 { SkIntToScalar(100), SkIntToScalar(100) }
326 }; 328 };
327 SkShader::TileMode tm = SkShader::kClamp_TileMode; 329 SkShader::TileMode tm = SkShader::kClamp_TileMode;
328 SkRect r = { 0, 0, SkIntToScalar(100), SkIntToScalar(100) }; 330 SkRect r = { 0, 0, SkIntToScalar(100), SkIntToScalar(100) };
329 SkPaint paint; 331 SkPaint paint;
330 paint.setAntiAlias(true); 332 paint.setAntiAlias(true);
333 paint.setDither(fDither);
331 334
332 canvas->translate(SkIntToScalar(20), SkIntToScalar(20)); 335 canvas->translate(SkIntToScalar(20), SkIntToScalar(20));
333 336
334 const GradMaker* gradMaker = gGradCases[fGradCaseType].fMaker; 337 const GradMaker* gradMaker = gGradCases[fGradCaseType].fMaker;
335 const int count = gGradCases[fGradCaseType].fCount; 338 const int count = gGradCases[fGradCaseType].fCount;
336 339
337 for (size_t i = 0; i < SK_ARRAY_COUNT(gGradData); i++) { 340 for (size_t i = 0; i < SK_ARRAY_COUNT(gGradData); i++) {
338 canvas->save(); 341 canvas->save();
339 for (int j = 0; j < count; j++) { 342 for (int j = 0; j < count; j++) {
340 SkMatrix scale = SkMatrix::I(); 343 SkMatrix scale = SkMatrix::I();
(...skipping 12 matching lines...) Expand all
353 canvas->restore(); 356 canvas->restore();
354 canvas->translate(SkIntToScalar(120), 0); 357 canvas->translate(SkIntToScalar(120), 0);
355 } 358 }
356 } 359 }
357 360
358 private: 361 private:
359 typedef GM INHERITED; 362 typedef GM INHERITED;
360 363
361 GradCaseType fGradCaseType; 364 GradCaseType fGradCaseType;
362 SkString fName; 365 SkString fName;
366 bool fDither;
363 }; 367 };
364 /////////////////////////////////////////////////////////////////////////////// 368 ///////////////////////////////////////////////////////////////////////////////
365 369
366 static GM* MyFactory1(void*) { return new ConicalGradientsGM(kInside_GradCaseTyp e); } 370 DEF_GM( return new ConicalGradientsGM(kInside_GradCaseType, true); )
367 static GMRegistry reg1(MyFactory1); 371 DEF_GM( return new ConicalGradientsGM(kOutside_GradCaseType, true); )
372 DEF_GM( return new ConicalGradientsGM(kEdge_GradCaseType, true); )
368 373
369 static GM* MyFactory2(void*) { return new ConicalGradientsGM(kOutside_GradCaseTy pe); } 374 DEF_GM( return new ConicalGradientsGM(kInside_GradCaseType, false); )
370 static GMRegistry reg2(MyFactory2); 375 DEF_GM( return new ConicalGradientsGM(kOutside_GradCaseType, false); )
376 DEF_GM( return new ConicalGradientsGM(kEdge_GradCaseType, false); )
371 377
372 static GM* MyFactory3(void*) { return new ConicalGradientsGM(kEdge_GradCaseType) ; }
373 static GMRegistry reg3(MyFactory3);
374 } 378 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698