aboutsummaryrefslogtreecommitdiffhomepage
path: root/libs/graphics/animator/SkDisplayMovie.h
blob: f81a740076ea6ec36123cfb79b9e59110c9f9b70 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
#ifndef SkDisplayMovie_DEFINED
#define SkDisplayMovie_DEFINED

#include "SkAnimator.h"
#include "SkDrawable.h"
#include "SkMemberInfo.h"

struct SkEventState;

class SkDisplayMovie : public SkDrawable {
	DECLARE_DISPLAY_MEMBER_INFO(Movie);
	SkDisplayMovie();
	virtual ~SkDisplayMovie();
	void buildMovie();
	virtual SkDisplayable* deepCopy(SkAnimateMaker* );
	virtual void dirty();
	bool doEvent(const SkEvent& evt) {
		return fLoaded && fMovie.doEvent(evt);
	}
	virtual bool doEvent(SkDisplayEvent::Kind , SkEventState* state );
	virtual bool draw(SkAnimateMaker& );
#ifdef SK_DUMP_ENABLED
	virtual void dump(SkAnimateMaker* );
	virtual void dumpEvents();
#endif
	virtual bool enable(SkAnimateMaker& );
	const SkAnimator* getAnimator() const { return &fMovie; }
	virtual bool hasEnable() const;
	virtual void onEndElement(SkAnimateMaker& );
protected:
	SkString src;
	SkAnimator fMovie;
	SkBool8 fDecodedSuccessfully;
	SkBool8 fLoaded;
	SkBool8 fMovieBuilt;
	friend class SkAnimateMaker;
	friend class SkPost;
private:
	typedef SkDrawable INHERITED;
};

#endif // SkDisplayMovie_DEFINED