1 2/* 3 * Copyright 2011 Google Inc. 4 * 5 * Use of this source code is governed by a BSD-style license that can be 6 * found in the LICENSE file. 7 */ 8 9 10#ifndef GMSampleView_DEFINED 11#define GMSampleView_DEFINED 12 13#include "SampleCode.h" 14#include "gm.h" 15 16class GMSampleView : public SampleView { 17private: 18 typedef skiagm::GM GM; 19 20public: 21 GMSampleView(GM* gm) 22 : fGM(gm) {} 23 24 virtual ~GMSampleView() { 25 delete fGM; 26 } 27 28protected: 29 virtual bool onQuery(SkEvent* evt) { 30 if (SampleCode::TitleQ(*evt)) { 31 SkString name("GM:"); 32 name.append(fGM->shortName()); 33 SampleCode::TitleR(evt, name.c_str()); 34 return true; 35 } 36 return this->INHERITED::onQuery(evt); 37 } 38 39 virtual void onDrawContent(SkCanvas* canvas) { 40 fGM->drawContent(canvas); 41 } 42 43 virtual void onDrawBackground(SkCanvas* canvas) { 44 fGM->drawBackground(canvas); 45 } 46 47private: 48 GM* fGM; 49 typedef SampleView INHERITED; 50}; 51 52#endif 53