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

Side by Side Diff: gm/xfermodes2.cpp

Issue 1832223002: switch xfermodes over to sk_sp (Closed) Base URL: https://skia.googlesource.com/skia.git@master
Patch Set: rebase Created 4 years, 8 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 2013 Google Inc. 2 * Copyright 2013 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 #include "gm.h" 7 #include "gm.h"
8 #include "SkBitmap.h" 8 #include "SkBitmap.h"
9 #include "SkShader.h" 9 #include "SkShader.h"
10 #include "SkXfermode.h" 10 #include "SkXfermode.h"
(...skipping 23 matching lines...) Expand all
34 SkPaint labelP; 34 SkPaint labelP;
35 labelP.setAntiAlias(true); 35 labelP.setAntiAlias(true);
36 sk_tool_utils::set_portable_typeface(&labelP); 36 sk_tool_utils::set_portable_typeface(&labelP);
37 labelP.setTextAlign(SkPaint::kCenter_Align); 37 labelP.setTextAlign(SkPaint::kCenter_Align);
38 38
39 const int W = 6; 39 const int W = 6;
40 40
41 SkScalar x = 0, y = 0; 41 SkScalar x = 0, y = 0;
42 for (size_t m = 0; m <= SkXfermode::kLastMode; m++) { 42 for (size_t m = 0; m <= SkXfermode::kLastMode; m++) {
43 SkXfermode::Mode mode = static_cast<SkXfermode::Mode>(m); 43 SkXfermode::Mode mode = static_cast<SkXfermode::Mode>(m);
44 SkXfermode* xm = SkXfermode::Create(mode);
45 SkAutoUnref aur(xm);
46 44
47 canvas->save(); 45 canvas->save();
48 46
49 canvas->translate(x, y); 47 canvas->translate(x, y);
50 SkPaint p; 48 SkPaint p;
51 p.setAntiAlias(false); 49 p.setAntiAlias(false);
52 p.setStyle(SkPaint::kFill_Style); 50 p.setStyle(SkPaint::kFill_Style);
53 p.setShader(fBG); 51 p.setShader(fBG);
54 SkRect r = SkRect::MakeWH(w, h); 52 SkRect r = SkRect::MakeWH(w, h);
55 canvas->drawRect(r, p); 53 canvas->drawRect(r, p);
56 54
57 canvas->saveLayer(&r, nullptr); 55 canvas->saveLayer(&r, nullptr);
58 56
59 p.setShader(fDst); 57 p.setShader(fDst);
60 canvas->drawRect(r, p); 58 canvas->drawRect(r, p);
61 p.setShader(fSrc); 59 p.setShader(fSrc);
62 p.setXfermode(xm); 60 p.setXfermode(SkXfermode::Make(mode));
63 canvas->drawRect(r, p); 61 canvas->drawRect(r, p);
64 62
65 canvas->restore(); 63 canvas->restore();
66 64
67 r.inset(-SK_ScalarHalf, -SK_ScalarHalf); 65 r.inset(-SK_ScalarHalf, -SK_ScalarHalf);
68 p.setStyle(SkPaint::kStroke_Style); 66 p.setStyle(SkPaint::kStroke_Style);
69 p.setShader(nullptr); 67 p.setShader(nullptr);
70 p.setXfermode(nullptr); 68 p.setXfermode(nullptr);
71 canvas->drawRect(r, p); 69 canvas->drawRect(r, p);
72 70
(...skipping 67 matching lines...) Expand 10 before | Expand all | Expand 10 after
140 138
141 typedef GM INHERITED; 139 typedef GM INHERITED;
142 }; 140 };
143 141
144 ////////////////////////////////////////////////////////////////////////////// 142 //////////////////////////////////////////////////////////////////////////////
145 143
146 static GM* MyFactory(void*) { return new Xfermodes2GM; } 144 static GM* MyFactory(void*) { return new Xfermodes2GM; }
147 static GMRegistry reg(MyFactory); 145 static GMRegistry reg(MyFactory);
148 146
149 } 147 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698