| #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) { |
| fUsePipe = false; |
| } |
| |
| void setBGColor(SkColor color) { fBGColor = color; } |
| |
| static bool IsSampleView(SkView*); |
| static bool SetRepeatDraw(SkView*, int count); |
| static bool SetUsePipe(SkView*, bool); |
| |
| 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; |
| |
| bool fUsePipe; |
| |
| typedef SkView INHERITED; |
| }; |
| |
| #endif |
| |