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