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" 95a64902ee92847f53dfc5b211da19d074179be64reed@google.com#include "SkCanvas.h" 105a64902ee92847f53dfc5b211da19d074179be64reed@google.com#include "SkPath.h" 115a64902ee92847f53dfc5b211da19d074179be64reed@google.com 125a64902ee92847f53dfc5b211da19d074179be64reed@google.com/** 135a64902ee92847f53dfc5b211da19d074179be64reed@google.com * Skia may draw from outlines when the size is very large, so we exercise that 145a64902ee92847f53dfc5b211da19d074179be64reed@google.com * here. 155a64902ee92847f53dfc5b211da19d074179be64reed@google.com*/ 165a64902ee92847f53dfc5b211da19d074179be64reed@google.com 175a64902ee92847f53dfc5b211da19d074179be64reed@google.comclass BigTextGM : public skiagm::GM { 185a64902ee92847f53dfc5b211da19d074179be64reed@google.compublic: 195a64902ee92847f53dfc5b211da19d074179be64reed@google.com BigTextGM() {} 205a64902ee92847f53dfc5b211da19d074179be64reed@google.com 215a64902ee92847f53dfc5b211da19d074179be64reed@google.comprotected: 22a90c6803865766d28e92091f56f718f5e41fe80fcommit-bot@chromium.org virtual uint32_t onGetFlags() const SK_OVERRIDE { 23a90c6803865766d28e92091f56f718f5e41fe80fcommit-bot@chromium.org return kSkipTiled_Flag; 24a90c6803865766d28e92091f56f718f5e41fe80fcommit-bot@chromium.org } 25a90c6803865766d28e92091f56f718f5e41fe80fcommit-bot@chromium.org 265a64902ee92847f53dfc5b211da19d074179be64reed@google.com virtual SkString onShortName() SK_OVERRIDE { 275a64902ee92847f53dfc5b211da19d074179be64reed@google.com return SkString("bigtext"); 285a64902ee92847f53dfc5b211da19d074179be64reed@google.com } 295a64902ee92847f53dfc5b211da19d074179be64reed@google.com 305a64902ee92847f53dfc5b211da19d074179be64reed@google.com virtual SkISize onISize() SK_OVERRIDE { 315a64902ee92847f53dfc5b211da19d074179be64reed@google.com return SkISize::Make(640, 480); 325a64902ee92847f53dfc5b211da19d074179be64reed@google.com } 335a64902ee92847f53dfc5b211da19d074179be64reed@google.com 345a64902ee92847f53dfc5b211da19d074179be64reed@google.com virtual void onDraw(SkCanvas* canvas) SK_OVERRIDE { 355a64902ee92847f53dfc5b211da19d074179be64reed@google.com SkPaint paint; 365a64902ee92847f53dfc5b211da19d074179be64reed@google.com paint.setAntiAlias(true); 375a64902ee92847f53dfc5b211da19d074179be64reed@google.com paint.setTextSize(1500); 385a64902ee92847f53dfc5b211da19d074179be64reed@google.com 395a64902ee92847f53dfc5b211da19d074179be64reed@google.com SkRect r; 405a64902ee92847f53dfc5b211da19d074179be64reed@google.com (void)paint.measureText("/", 1, &r); 415a64902ee92847f53dfc5b211da19d074179be64reed@google.com SkPoint pos = { 425a64902ee92847f53dfc5b211da19d074179be64reed@google.com this->width()/2 - r.centerX(), 435a64902ee92847f53dfc5b211da19d074179be64reed@google.com this->height()/2 - r.centerY() 445a64902ee92847f53dfc5b211da19d074179be64reed@google.com }; 455a64902ee92847f53dfc5b211da19d074179be64reed@google.com 465a64902ee92847f53dfc5b211da19d074179be64reed@google.com paint.setColor(SK_ColorRED); 475a64902ee92847f53dfc5b211da19d074179be64reed@google.com canvas->drawText("/", 1, pos.fX, pos.fY, paint); 48c5fd093ae27247d0b5a28e5c741a2c1b6ff8b870skia.committer@gmail.com 495a64902ee92847f53dfc5b211da19d074179be64reed@google.com paint.setColor(SK_ColorBLUE); 505a64902ee92847f53dfc5b211da19d074179be64reed@google.com canvas->drawPosText("\\", 1, &pos, paint); 515a64902ee92847f53dfc5b211da19d074179be64reed@google.com } 525a64902ee92847f53dfc5b211da19d074179be64reed@google.com 535a64902ee92847f53dfc5b211da19d074179be64reed@google.comprivate: 545a64902ee92847f53dfc5b211da19d074179be64reed@google.com typedef skiagm::GM INHERITED; 555a64902ee92847f53dfc5b211da19d074179be64reed@google.com}; 565a64902ee92847f53dfc5b211da19d074179be64reed@google.com 575a64902ee92847f53dfc5b211da19d074179be64reed@google.comDEF_GM( return SkNEW(BigTextGM); ) 58