blob: 2b8a893bb21fe9f705430a377b3c9c49fb2a8bab [file] [log] [blame]
/* libs/graphics/animator/SkDisplayMovie.h
**
** Copyright 2006, The Android Open Source Project
**
** Licensed under the Apache License, Version 2.0 (the "License");
** you may not use this file except in compliance with the License.
** You may obtain a copy of the License at
**
** http://www.apache.org/licenses/LICENSE-2.0
**
** Unless required by applicable law or agreed to in writing, software
** distributed under the License is distributed on an "AS IS" BASIS,
** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
** See the License for the specific language governing permissions and
** limitations under the License.
*/
#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