| #ifndef SampleCode_DEFINED | 
 | #define SampleCode_DEFINED | 
 |  | 
 | #include "SkColor.h" | 
 | #include "SkEvent.h" | 
 | #include "SkKey.h" | 
 | #include "SkView.h" | 
 |  | 
 | class SampleCode { | 
 | public: | 
 |     static bool KeyQ(const SkEvent&, SkKey* outKey); | 
 |     static bool CharQ(const SkEvent&, SkUnichar* outUni); | 
 |  | 
 |     static bool TitleQ(const SkEvent&); | 
 |     static void TitleR(SkEvent*, const char title[]); | 
 |      | 
 |     static bool PrefSizeQ(const SkEvent&); | 
 |     static void PrefSizeR(SkEvent*, SkScalar width, SkScalar height); | 
 |  | 
 |     static bool FastTextQ(const SkEvent&); | 
 |  | 
 |     static SkMSec GetAnimTime(); | 
 |     static SkMSec GetAnimTimeDelta(); | 
 |     static SkScalar GetAnimSecondsDelta(); | 
 |     static SkScalar GetAnimScalar(SkScalar speedPerSec, SkScalar period = 0); | 
 | }; | 
 |  | 
 | ////////////////////////////////////////////////////////////////////////////// | 
 |  | 
 | typedef SkView* (*SkViewFactory)(); | 
 |  | 
 | class SkViewRegister : SkNoncopyable { | 
 | public: | 
 |     explicit SkViewRegister(SkViewFactory); | 
 |      | 
 |     static const SkViewRegister* Head() { return gHead; } | 
 |      | 
 |     SkViewRegister* next() const { return fChain; } | 
 |     SkViewFactory   factory() const { return fFact; } | 
 |      | 
 | private: | 
 |     SkViewFactory   fFact; | 
 |     SkViewRegister* fChain; | 
 |      | 
 |     static SkViewRegister* gHead; | 
 | }; | 
 |  | 
 | /////////////////////////////////////////////////////////////////////////////// | 
 |  | 
 | class SampleView : public SkView { | 
 | public: | 
 |     SampleView() : fRepeatCount(1), fBGColor(SK_ColorWHITE) {} | 
 |  | 
 |     void setBGColor(SkColor color) { fBGColor = color; } | 
 |  | 
 |     static bool SetRepeatDraw(SkView*, int count); | 
 |  | 
 | protected: | 
 |     virtual void onDrawBackground(SkCanvas*); | 
 |     virtual void onDrawContent(SkCanvas*) = 0; | 
 |  | 
 |     // overrides | 
 |     virtual bool onEvent(const SkEvent& evt); | 
 |     virtual bool onQuery(SkEvent* evt); | 
 |     virtual void onDraw(SkCanvas*); | 
 |  | 
 | private: | 
 |     int fRepeatCount; | 
 |     SkColor fBGColor; | 
 |  | 
 |     typedef SkView INHERITED; | 
 | }; | 
 |  | 
 | #endif | 
 |  |