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