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

Side by Side Diff: gm/colortype.cpp

Issue 1974783002: Revert of Move SkTypeface to sk_sp. (Closed) Base URL: https://skia.googlesource.com/skia.git@master
Patch Set: Created 4 years, 7 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 7
8 #include "gm.h" 8 #include "gm.h"
9 #include "SkCanvas.h" 9 #include "SkCanvas.h"
10 #include "SkGradientShader.h" 10 #include "SkGradientShader.h"
11 #include "../src/fonts/SkGScalerContext.h" 11 #include "../src/fonts/SkGScalerContext.h"
12 12
13 class ColorTypeGM : public skiagm::GM { 13 class ColorTypeGM : public skiagm::GM {
14 public: 14 public:
15 ColorTypeGM() {} 15 ColorTypeGM()
16 : fColorType(nullptr) {
17 }
18
19 virtual ~ColorTypeGM() {
20 SkSafeUnref(fColorType);
21 }
16 22
17 protected: 23 protected:
18 void onOnceBeforeDraw() override { 24 void onOnceBeforeDraw() override {
19 const SkColor colors[] = { 25 const SkColor colors[] = {
20 SK_ColorRED, SK_ColorGREEN, SK_ColorBLUE, 26 SK_ColorRED, SK_ColorGREEN, SK_ColorBLUE,
21 SK_ColorMAGENTA, SK_ColorCYAN, SK_ColorYELLOW 27 SK_ColorMAGENTA, SK_ColorCYAN, SK_ColorYELLOW
22 }; 28 };
23 SkMatrix local; 29 SkMatrix local;
24 local.setRotate(180); 30 local.setRotate(180);
25 SkPaint paint; 31 SkPaint paint;
26 paint.setAntiAlias(true); 32 paint.setAntiAlias(true);
27 paint.setShader(SkGradientShader::MakeSweep(0, 0, colors, nullptr, SK_AR RAY_COUNT(colors), 33 paint.setShader(SkGradientShader::MakeSweep(0, 0, colors, nullptr, SK_AR RAY_COUNT(colors),
28 0, &local)); 34 0, &local));
29 35
30 sk_sp<SkTypeface> orig(sk_tool_utils::create_portable_typeface("serif", SkTypeface::kBold)); 36 SkTypeface* orig = sk_tool_utils::create_portable_typeface("serif", SkTy peface::kBold);
31 if (nullptr == orig) { 37 if (nullptr == orig) {
32 orig = SkTypeface::MakeDefault(); 38 orig = SkTypeface::RefDefault();
33 } 39 }
34 fColorType = sk_make_sp<SkGTypeface>(std::move(orig), paint); 40 fColorType = new SkGTypeface(orig, paint);
41 orig->unref();
35 } 42 }
36 43
37 SkString onShortName() override { 44 SkString onShortName() override {
38 return SkString("colortype"); 45 return SkString("colortype");
39 } 46 }
40 47
41 SkISize onISize() override { 48 SkISize onISize() override {
42 return SkISize::Make(640, 480); 49 return SkISize::Make(640, 480);
43 } 50 }
44 51
45 void onDraw(SkCanvas* canvas) override { 52 void onDraw(SkCanvas* canvas) override {
46 SkPaint paint; 53 SkPaint paint;
47 paint.setAntiAlias(true); 54 paint.setAntiAlias(true);
48 paint.setTypeface(fColorType); 55 paint.setTypeface(fColorType);
49 56
50 for (SkScalar size = 10; size <= 100; size += 10) { 57 for (SkScalar size = 10; size <= 100; size += 10) {
51 paint.setTextSize(size); 58 paint.setTextSize(size);
52 canvas->translate(0, paint.getFontMetrics(nullptr)); 59 canvas->translate(0, paint.getFontMetrics(nullptr));
53 canvas->drawText("Hamburgefons", 12, 10, 10, paint); 60 canvas->drawText("Hamburgefons", 12, 10, 10, paint);
54 } 61 }
55 } 62 }
56 63
57 private: 64 private:
58 sk_sp<SkTypeface> fColorType; 65 SkTypeface* fColorType;
59 66
60 typedef skiagm::GM INHERITED; 67 typedef skiagm::GM INHERITED;
61 }; 68 };
62 69
63 DEF_GM(return new ColorTypeGM;) 70 DEF_GM(return new ColorTypeGM;)
OLDNEW
« no previous file with comments | « gm/coloremoji.cpp ('k') | gm/colortypexfermode.cpp » ('j') | src/ports/SkFontMgr_android.cpp » ('J')

Powered by Google App Engine
This is Rietveld 408576698