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