Home | History | Annotate | Download | only in animator
      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 SkDisplayMovie_DEFINED
     11 #define SkDisplayMovie_DEFINED
     12 
     13 #include "SkAnimator.h"
     14 #include "SkDrawable.h"
     15 #include "SkMemberInfo.h"
     16 
     17 struct SkEventState;
     18 
     19 class SkDisplayMovie : public SkDrawable {
     20     DECLARE_DISPLAY_MEMBER_INFO(Movie);
     21     SkDisplayMovie();
     22     virtual ~SkDisplayMovie();
     23     void buildMovie();
     24     virtual SkDisplayable* deepCopy(SkAnimateMaker* );
     25     virtual void dirty();
     26     bool doEvent(const SkEvent& evt) {
     27         return fLoaded && fMovie.doEvent(evt);
     28     }
     29     virtual bool doEvent(SkDisplayEvent::Kind , SkEventState* state );
     30     virtual bool draw(SkAnimateMaker& );
     31 #ifdef SK_DUMP_ENABLED
     32     virtual void dump(SkAnimateMaker* );
     33     virtual void dumpEvents();
     34 #endif
     35     virtual bool enable(SkAnimateMaker& );
     36     const SkAnimator* getAnimator() const { return &fMovie; }
     37     virtual bool hasEnable() const;
     38     virtual void onEndElement(SkAnimateMaker& );
     39 protected:
     40     SkString src;
     41     SkAnimator fMovie;
     42     SkBool8 fDecodedSuccessfully;
     43     SkBool8 fLoaded;
     44     SkBool8 fMovieBuilt;
     45     friend class SkAnimateMaker;
     46     friend class SkPost;
     47 private:
     48     typedef SkDrawable INHERITED;
     49 };
     50 
     51 #endif // SkDisplayMovie_DEFINED
     52