• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 /*
2  * Copyright 2011 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 using namespace skiagm;
10 
GM()11 GM::GM() {
12     fBGColor = SK_ColorWHITE;
13 }
~GM()14 GM::~GM() {}
15 
draw(SkCanvas * canvas)16 void GM::draw(SkCanvas* canvas) {
17     this->drawBackground(canvas);
18     this->drawContent(canvas);
19 }
20 
drawContent(SkCanvas * canvas)21 void GM::drawContent(SkCanvas* canvas) {
22     this->onDraw(canvas);
23 }
24 
drawBackground(SkCanvas * canvas)25 void GM::drawBackground(SkCanvas* canvas) {
26     this->onDrawBackground(canvas);
27 }
28 
shortName()29 const char* GM::shortName() {
30     if (fShortName.size() == 0) {
31         fShortName = this->onShortName();
32     }
33     return fShortName.c_str();
34 }
35 
setBGColor(SkColor color)36 void GM::setBGColor(SkColor color) {
37     fBGColor = color;
38 }
39 
onDrawBackground(SkCanvas * canvas)40 void GM::onDrawBackground(SkCanvas* canvas) {
41     canvas->drawColor(fBGColor);
42 }
43 
drawSizeBounds(SkCanvas * canvas,SkColor color)44 void GM::drawSizeBounds(SkCanvas* canvas, SkColor color) {
45     SkISize size = this->getISize();
46     SkRect r = SkRect::MakeWH(SkIntToScalar(size.width()),
47                               SkIntToScalar(size.height()));
48     SkPaint paint;
49     paint.setColor(color);
50     canvas->drawRect(r, paint);
51 }
52 
53 // need to explicitly declare this, or we get some weird infinite loop llist
54 template GMRegistry* SkTRegistry<GM*, void*>::gHead;
55