1 2 /* 3 * Copyright 2006 The Android Open Source Project 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 SkDisplayEvents_DEFINED 11 #define SkDisplayEvents_DEFINED 12 13 #include "SkEvent.h" 14 #include "SkDisplayEvent.h" 15 16 struct SkEventState { 17 SkEventState(); 18 int fCode; 19 SkBool fDisable; 20 SkDisplayable* fDisplayable; 21 SkScalar fX; 22 SkScalar fY; 23 }; 24 25 class SkEvents { 26 public: 27 SkEvents(); 28 ~SkEvents(); 29 void addEvent(SkDisplayEvent* evt) { *fEvents.append() = evt; } 30 bool doEvent(SkAnimateMaker& , SkDisplayEvent::Kind , SkEventState* ); 31 #ifdef SK_DUMP_ENABLED 32 void dump(SkAnimateMaker& ); 33 #endif 34 void reset() { fEvents.reset(); } 35 void removeEvent(SkDisplayEvent::Kind kind, SkEventState* ); 36 private: 37 SkTDDisplayEventArray fEvents; 38 SkBool fError; 39 friend class SkDisplayXMLParser; 40 }; 41 42 #endif // SkDisplayEvents_DEFINED 43