15a64902ee92847f53dfc5b211da19d074179be64reed@google.com/*
25a64902ee92847f53dfc5b211da19d074179be64reed@google.com * Copyright 2013 Google Inc.
35a64902ee92847f53dfc5b211da19d074179be64reed@google.com *
45a64902ee92847f53dfc5b211da19d074179be64reed@google.com * Use of this source code is governed by a BSD-style license that can be
55a64902ee92847f53dfc5b211da19d074179be64reed@google.com * found in the LICENSE file.
65a64902ee92847f53dfc5b211da19d074179be64reed@google.com */
75a64902ee92847f53dfc5b211da19d074179be64reed@google.com
85a64902ee92847f53dfc5b211da19d074179be64reed@google.com#include "gm.h"
933d2055e594177b27360f84e0631b26d74a55a9bMike Klein#include "sk_tool_utils.h"
105a64902ee92847f53dfc5b211da19d074179be64reed@google.com#include "SkCanvas.h"
115a64902ee92847f53dfc5b211da19d074179be64reed@google.com#include "SkPath.h"
125a64902ee92847f53dfc5b211da19d074179be64reed@google.com
135a64902ee92847f53dfc5b211da19d074179be64reed@google.com/**
145a64902ee92847f53dfc5b211da19d074179be64reed@google.com *  Skia may draw from outlines when the size is very large, so we exercise that
155a64902ee92847f53dfc5b211da19d074179be64reed@google.com *  here.
165a64902ee92847f53dfc5b211da19d074179be64reed@google.com*/
175a64902ee92847f53dfc5b211da19d074179be64reed@google.com
185a64902ee92847f53dfc5b211da19d074179be64reed@google.comclass BigTextGM : public skiagm::GM {
195a64902ee92847f53dfc5b211da19d074179be64reed@google.compublic:
205a64902ee92847f53dfc5b211da19d074179be64reed@google.com    BigTextGM() {}
215a64902ee92847f53dfc5b211da19d074179be64reed@google.com
225a64902ee92847f53dfc5b211da19d074179be64reed@google.comprotected:
23a90c6803865766d28e92091f56f718f5e41fe80fcommit-bot@chromium.org
2436352bf5e38f45a70ee4f4fc132a38048d38206dmtklein    SkString onShortName() override {
255a64902ee92847f53dfc5b211da19d074179be64reed@google.com        return SkString("bigtext");
265a64902ee92847f53dfc5b211da19d074179be64reed@google.com    }
275a64902ee92847f53dfc5b211da19d074179be64reed@google.com
2836352bf5e38f45a70ee4f4fc132a38048d38206dmtklein    SkISize onISize() override {
295a64902ee92847f53dfc5b211da19d074179be64reed@google.com        return SkISize::Make(640, 480);
305a64902ee92847f53dfc5b211da19d074179be64reed@google.com    }
315a64902ee92847f53dfc5b211da19d074179be64reed@google.com
3236352bf5e38f45a70ee4f4fc132a38048d38206dmtklein    void onDraw(SkCanvas* canvas) override {
335a64902ee92847f53dfc5b211da19d074179be64reed@google.com        SkPaint paint;
345a64902ee92847f53dfc5b211da19d074179be64reed@google.com        paint.setAntiAlias(true);
351818acb6a4b11cd9a1d44ce5dde77452502a9796caryclark        sk_tool_utils::set_portable_typeface(&paint);
365a64902ee92847f53dfc5b211da19d074179be64reed@google.com        paint.setTextSize(1500);
375a64902ee92847f53dfc5b211da19d074179be64reed@google.com
385a64902ee92847f53dfc5b211da19d074179be64reed@google.com        SkRect r;
395a64902ee92847f53dfc5b211da19d074179be64reed@google.com        (void)paint.measureText("/", 1, &r);
405a64902ee92847f53dfc5b211da19d074179be64reed@google.com        SkPoint pos = {
415a64902ee92847f53dfc5b211da19d074179be64reed@google.com            this->width()/2 - r.centerX(),
425a64902ee92847f53dfc5b211da19d074179be64reed@google.com            this->height()/2 - r.centerY()
435a64902ee92847f53dfc5b211da19d074179be64reed@google.com        };
445a64902ee92847f53dfc5b211da19d074179be64reed@google.com
455a64902ee92847f53dfc5b211da19d074179be64reed@google.com        paint.setColor(SK_ColorRED);
465a64902ee92847f53dfc5b211da19d074179be64reed@google.com        canvas->drawText("/", 1, pos.fX, pos.fY, paint);
47c5fd093ae27247d0b5a28e5c741a2c1b6ff8b870skia.committer@gmail.com
485a64902ee92847f53dfc5b211da19d074179be64reed@google.com        paint.setColor(SK_ColorBLUE);
495a64902ee92847f53dfc5b211da19d074179be64reed@google.com        canvas->drawPosText("\\", 1, &pos, paint);
505a64902ee92847f53dfc5b211da19d074179be64reed@google.com    }
515a64902ee92847f53dfc5b211da19d074179be64reed@google.com
525a64902ee92847f53dfc5b211da19d074179be64reed@google.comprivate:
535a64902ee92847f53dfc5b211da19d074179be64reed@google.com    typedef skiagm::GM INHERITED;
545a64902ee92847f53dfc5b211da19d074179be64reed@google.com};
555a64902ee92847f53dfc5b211da19d074179be64reed@google.com
56385fe4d4b62d7d1dd76116dd570df3290a2f487bhalcanaryDEF_GM(return new BigTextGM;)
57