blob: 48e39d086eaca735813f7d99df7eb917b4734a4f [file] [log] [blame]
reed@google.com7edec142013-05-31 20:17:57 +00001/*
2 * Copyright 2013 Google Inc.
3 *
4 * Use of this source code is governed by a BSD-style license that can be
5 * found in the LICENSE file.
6 */
7
8#include "gm.h"
9#include "SkCanvas.h"
10#include "SkGradientShader.h"
11#include "../src/fonts/SkGScalerContext.h"
12
13class ColorTypeGM : public skiagm::GM {
14public:
15 ColorTypeGM() {
16 const SkColor colors[] = {
17 SK_ColorRED, SK_ColorGREEN, SK_ColorBLUE,
18 SK_ColorMAGENTA, SK_ColorCYAN, SK_ColorYELLOW
19 };
reed@google.com7edec142013-05-31 20:17:57 +000020 SkMatrix local;
21 local.setRotate(180);
commit-bot@chromium.org9c9005a2014-04-28 14:55:39 +000022 SkShader* s = SkGradientShader::CreateSweep(0,0, colors, NULL,
commit-bot@chromium.org83f23d82014-05-22 12:27:41 +000023 SK_ARRAY_COUNT(colors), 0, &local);
skia.committer@gmail.com26da7f02013-06-01 07:01:39 +000024
reed@google.com7edec142013-05-31 20:17:57 +000025 SkPaint paint;
26 paint.setAntiAlias(true);
27 paint.setShader(s)->unref();
skia.committer@gmail.com26da7f02013-06-01 07:01:39 +000028
Cary Clark992c7b02014-07-31 08:58:44 -040029 SkTypeface* orig = sk_tool_utils::create_portable_typeface("Times",
30 SkTypeface::kBold);
reed@google.com13e15402013-06-03 17:45:29 +000031 if (NULL == orig) {
32 orig = SkTypeface::RefDefault();
33 }
reed@google.com7edec142013-05-31 20:17:57 +000034 fColorType = SkNEW_ARGS(SkGTypeface, (orig, paint));
reed@google.com13e15402013-06-03 17:45:29 +000035 orig->unref();
reed@google.com7edec142013-05-31 20:17:57 +000036 }
skia.committer@gmail.com26da7f02013-06-01 07:01:39 +000037
reed@google.com7edec142013-05-31 20:17:57 +000038 virtual ~ColorTypeGM() {
39 fColorType->unref();
40 }
41
42protected:
mtklein36352bf2015-03-25 18:17:31 -070043 SkString onShortName() override {
reed@google.com7edec142013-05-31 20:17:57 +000044 return SkString("colortype");
45 }
46
mtklein36352bf2015-03-25 18:17:31 -070047 SkISize onISize() override {
reed@google.com7edec142013-05-31 20:17:57 +000048 return SkISize::Make(640, 480);
49 }
50
mtklein36352bf2015-03-25 18:17:31 -070051 void onDraw(SkCanvas* canvas) override {
reed@google.com7edec142013-05-31 20:17:57 +000052 SkPaint paint;
53 paint.setAntiAlias(true);
54 paint.setTypeface(fColorType);
skia.committer@gmail.com26da7f02013-06-01 07:01:39 +000055
reed@google.come1613d82013-05-31 21:13:36 +000056 for (SkScalar size = 10; size <= 100; size += 10) {
reed@google.com7edec142013-05-31 20:17:57 +000057 paint.setTextSize(size);
58 canvas->translate(0, paint.getFontMetrics(NULL));
59 canvas->drawText("Hamburgefons", 12, 10, 10, paint);
60 }
61 }
62
reed@google.com7edec142013-05-31 20:17:57 +000063private:
64 SkTypeface* fColorType;
65
66 typedef skiagm::GM INHERITED;
67};
68
69DEF_GM( return SkNEW(ColorTypeGM); )