1/* 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 "SkPath.h" 11 12/** 13 * Skia may draw from outlines when the size is very large, so we exercise that 14 * here. 15*/ 16 17class BigTextGM : public skiagm::GM { 18public: 19 BigTextGM() {} 20 21protected: 22 virtual uint32_t onGetFlags() const SK_OVERRIDE { 23 return kSkipTiled_Flag; 24 } 25 26 virtual SkString onShortName() SK_OVERRIDE { 27 return SkString("bigtext"); 28 } 29 30 virtual SkISize onISize() SK_OVERRIDE { 31 return SkISize::Make(640, 480); 32 } 33 34 virtual void onDraw(SkCanvas* canvas) SK_OVERRIDE { 35 SkPaint paint; 36 paint.setAntiAlias(true); 37 sk_tool_utils::set_portable_typeface(&paint); 38 paint.setTextSize(1500); 39 40 SkRect r; 41 (void)paint.measureText("/", 1, &r); 42 SkPoint pos = { 43 this->width()/2 - r.centerX(), 44 this->height()/2 - r.centerY() 45 }; 46 47 paint.setColor(SK_ColorRED); 48 canvas->drawText("/", 1, pos.fX, pos.fY, paint); 49 50 paint.setColor(SK_ColorBLUE); 51 canvas->drawPosText("\\", 1, &pos, paint); 52 } 53 54private: 55 typedef skiagm::GM INHERITED; 56}; 57 58DEF_GM( return SkNEW(BigTextGM); ) 59