webkit  2cdf99a9e3038c7e01b3c37e8ad903ecbe5eecf1
https://github.com/WebKit/webkit
Public Member Functions | Static Public Member Functions | Protected Member Functions | List of all members
WebCore::KeyframeAnimation Class Referencefinal

#include <KeyframeAnimation.h>

Inheritance diagram for WebCore::KeyframeAnimation:
WebCore::AnimationBase WTF::RefCounted< AnimationBase > WTF::RefCounted< AnimationBase > WTF::RefCountedBase WTF::RefCountedBase WTF::RefCountedBase WTF::RefCountedBase WTF::RefCountedBase WTF::RefCountedBase

Public Member Functions

bool animate (CompositeAnimation *, RenderElement *, const RenderStyle *currentStyle, const RenderStyle *targetStyle, std::unique_ptr< RenderStyle > &animatedStyle, bool &didBlendStyle) override
 
void getAnimatedStyle (std::unique_ptr< RenderStyle > &) override
 
bool computeExtentOfTransformAnimation (LayoutRect &) const override
 
const KeyframeListkeyframes () const
 
const AtomicStringname () const
 
bool hasAnimationForProperty (CSSPropertyID) const
 
bool triggersStackingContext () const
 
void setUnanimatedStyle (std::unique_ptr< RenderStyle > style)
 
RenderStyleunanimatedStyle () const
 
double timeToNextService () override
 
- Public Member Functions inherited from WebCore::AnimationBase
 AnimationBase (const Animation &transition, RenderElement *, CompositeAnimation *)
 
virtual ~AnimationBase ()
 
RenderElementrenderer () const
 
void clear ()
 
double duration () const
 
void updateStateMachine (AnimationStateInput, double param)
 
void onAnimationStartResponse (double startTime)
 
void updatePlayState (EAnimPlayState)
 
bool playStatePlaying () const
 
bool waitingToStart () const
 
bool preActive () const
 
bool postActive () const
 
bool fillingForwards () const
 
bool active () const
 
bool running () const
 
bool paused () const
 
bool inPausedState () const
 
bool isNew () const
 
bool waitingForStartTime () const
 
bool waitingForStyleAvailable () const
 
bool isAccelerated () const
 
double progress (double scale=1, double offset=0, const TimingFunction *=nullptr) const
 
virtual bool shouldFireEvents () const
 
void fireAnimationEventsIfNeeded ()
 
bool animationsMatch (const Animation &) const
 
const Animationanimation () const
 
void setAnimation (const Animation &animation)
 
virtual bool overridden () const
 
bool isAnimatingProperty (CSSPropertyID property, bool acceleratedOnly, RunningState runningState) const
 
bool transformFunctionListsMatch () const
 
bool filterFunctionListsMatch () const
 
void freezeAtTime (double t)
 
void play ()
 
void pause ()
 
double beginAnimationUpdateTime () const
 
double getElapsedTime () const
 
void setElapsedTime (double)
 
void styleAvailable ()
 
 AnimationBase (const Animation &transition, RenderElement *, CompositeAnimation *)
 
virtual ~AnimationBase ()
 
RenderElementrenderer () const
 
void clear ()
 
double duration () const
 
void updateStateMachine (AnimationStateInput, double param)
 
void onAnimationStartResponse (double startTime)
 
void updatePlayState (EAnimPlayState)
 
bool playStatePlaying () const
 
bool waitingToStart () const
 
bool preActive () const
 
bool postActive () const
 
bool fillingForwards () const
 
bool active () const
 
bool running () const
 
bool paused () const
 
bool inPausedState () const
 
bool isNew () const
 
bool waitingForStartTime () const
 
bool waitingForStyleAvailable () const
 
bool isAccelerated () const
 
double progress (double scale=1, double offset=0, const TimingFunction *=nullptr) const
 
virtual bool shouldFireEvents () const
 
void fireAnimationEventsIfNeeded ()
 
bool animationsMatch (const Animation &) const
 
const Animationanimation () const
 
void setAnimation (const Animation &animation)
 
virtual bool overridden () const
 
bool isAnimatingProperty (CSSPropertyID property, bool acceleratedOnly, RunningState runningState) const
 
bool transformFunctionListsMatch () const
 
bool filterFunctionListsMatch () const
 
void freezeAtTime (double t)
 
void play ()
 
void pause ()
 
double beginAnimationUpdateTime () const
 
double getElapsedTime () const
 
void setElapsedTime (double)
 
void styleAvailable ()
 
- Public Member Functions inherited from WTF::RefCounted< AnimationBase >
void deref () const
 
void deref () const
 
void deref () const
 
- Public Member Functions inherited from WTF::RefCountedBase
void ref () const
 
bool hasOneRef () const
 
unsigned refCount () const
 
void relaxAdoptionRequirement ()
 
void ref () const
 
bool hasOneRef () const
 
unsigned refCount () const
 
void relaxAdoptionRequirement ()
 
void ref () const
 
bool hasOneRef () const
 
unsigned refCount () const
 
void relaxAdoptionRequirement ()
 

Static Public Member Functions

static Ref< KeyframeAnimationcreate (const Animation &animation, RenderElement *renderer, CompositeAnimation *compositeAnimation, const RenderStyle *unanimatedStyle)
 

Protected Member Functions

void onAnimationStart (double elapsedTime) override
 
void onAnimationIteration (double elapsedTime) override
 
void onAnimationEnd (double elapsedTime) override
 
bool startAnimation (double timeOffset) override
 
void pauseAnimation (double timeOffset) override
 
void endAnimation () override
 
void overrideAnimations () override
 
void resumeOverriddenAnimations () override
 
bool shouldSendEventForListener (Document::ListenerType inListenerType) const
 
bool sendAnimationEvent (const AtomicString &, double elapsedTime)
 
bool affectsProperty (CSSPropertyID) const override
 
bool computeExtentOfAnimationForMatrixAnimation (const FloatRect &rendererBox, LayoutRect &) const
 
bool computeExtentOfAnimationForMatchingTransformLists (const FloatRect &rendererBox, LayoutRect &) const
 
void computeStackingContextImpact ()
 
void resolveKeyframeStyles ()
 
void validateTransformFunctionList ()
 
void checkForMatchingFilterFunctionLists ()
 
- Protected Member Functions inherited from WebCore::AnimationBase
CompositeAnimationcompositeAnimation ()
 
void goIntoEndingOrLoopingState ()
 
AnimationState state () const
 
void getTimeToNextEvent (double &time, bool &isLooping) const
 
double fractionalTime (double scale, double elapsedTime, double offset) const
 
bool computeTransformedExtentViaTransformList (const FloatRect &rendererBox, const RenderStyle &, LayoutRect &bounds) const
 
bool computeTransformedExtentViaMatrix (const FloatRect &rendererBox, const RenderStyle &, LayoutRect &bounds) const
 
CompositeAnimationcompositeAnimation ()
 
void goIntoEndingOrLoopingState ()
 
AnimationState state () const
 
void getTimeToNextEvent (double &time, bool &isLooping) const
 
double fractionalTime (double scale, double elapsedTime, double offset) const
 
bool computeTransformedExtentViaTransformList (const FloatRect &rendererBox, const RenderStyle &, LayoutRect &bounds) const
 
bool computeTransformedExtentViaMatrix (const FloatRect &rendererBox, const RenderStyle &, LayoutRect &bounds) const
 
- Protected Member Functions inherited from WTF::RefCounted< AnimationBase >
 RefCounted ()
 
 RefCounted ()
 
 RefCounted ()
 
 ~RefCounted ()
 
 ~RefCounted ()
 
 ~RefCounted ()
 
- Protected Member Functions inherited from WTF::RefCountedBase
 RefCountedBase ()
 
 ~RefCountedBase ()
 
bool derefBase () const
 
bool deletionHasBegun () const
 
 RefCountedBase ()
 
 ~RefCountedBase ()
 
bool derefBase () const
 
bool deletionHasBegun () const
 
 RefCountedBase ()
 
 ~RefCountedBase ()
 
bool derefBase () const
 
bool deletionHasBegun () const
 

Additional Inherited Members

- Public Types inherited from WebCore::AnimationBase
enum  AnimationState {
  AnimationState::New, AnimationState::StartWaitTimer, AnimationState::StartWaitStyleAvailable, AnimationState::StartWaitResponse,
  AnimationState::Looping, AnimationState::Ending, AnimationState::PausedNew, AnimationState::PausedWaitTimer,
  AnimationState::PausedWaitStyleAvailable, AnimationState::PausedWaitResponse, AnimationState::PausedRun, AnimationState::Done,
  AnimationState::FillingForwards, AnimationState::New, AnimationState::StartWaitTimer, AnimationState::StartWaitStyleAvailable,
  AnimationState::StartWaitResponse, AnimationState::Looping, AnimationState::Ending, AnimationState::PausedNew,
  AnimationState::PausedWaitTimer, AnimationState::PausedWaitStyleAvailable, AnimationState::PausedWaitResponse, AnimationState::PausedRun,
  AnimationState::Done, AnimationState::FillingForwards
}
 
enum  AnimationStateInput {
  AnimationStateInput::MakeNew, AnimationStateInput::StartAnimation, AnimationStateInput::RestartAnimation, AnimationStateInput::StartTimerFired,
  AnimationStateInput::StyleAvailable, AnimationStateInput::StartTimeSet, AnimationStateInput::LoopTimerFired, AnimationStateInput::EndTimerFired,
  AnimationStateInput::PauseOverride, AnimationStateInput::ResumeOverride, AnimationStateInput::PlayStateRunning, AnimationStateInput::PlayStatePaused,
  AnimationStateInput::EndAnimation, AnimationStateInput::MakeNew, AnimationStateInput::StartAnimation, AnimationStateInput::RestartAnimation,
  AnimationStateInput::StartTimerFired, AnimationStateInput::StyleAvailable, AnimationStateInput::StartTimeSet, AnimationStateInput::LoopTimerFired,
  AnimationStateInput::EndTimerFired, AnimationStateInput::PauseOverride, AnimationStateInput::ResumeOverride, AnimationStateInput::PlayStateRunning,
  AnimationStateInput::PlayStatePaused, AnimationStateInput::EndAnimation
}
 
enum  RunningStates {
  Delaying = 1 << 0, Paused = 1 << 1, Running = 1 << 2, Delaying = 1 << 0,
  Paused = 1 << 1, Running = 1 << 2
}
 
enum  AnimationState {
  AnimationState::New, AnimationState::StartWaitTimer, AnimationState::StartWaitStyleAvailable, AnimationState::StartWaitResponse,
  AnimationState::Looping, AnimationState::Ending, AnimationState::PausedNew, AnimationState::PausedWaitTimer,
  AnimationState::PausedWaitStyleAvailable, AnimationState::PausedWaitResponse, AnimationState::PausedRun, AnimationState::Done,
  AnimationState::FillingForwards, AnimationState::New, AnimationState::StartWaitTimer, AnimationState::StartWaitStyleAvailable,
  AnimationState::StartWaitResponse, AnimationState::Looping, AnimationState::Ending, AnimationState::PausedNew,
  AnimationState::PausedWaitTimer, AnimationState::PausedWaitStyleAvailable, AnimationState::PausedWaitResponse, AnimationState::PausedRun,
  AnimationState::Done, AnimationState::FillingForwards
}
 
enum  AnimationStateInput {
  AnimationStateInput::MakeNew, AnimationStateInput::StartAnimation, AnimationStateInput::RestartAnimation, AnimationStateInput::StartTimerFired,
  AnimationStateInput::StyleAvailable, AnimationStateInput::StartTimeSet, AnimationStateInput::LoopTimerFired, AnimationStateInput::EndTimerFired,
  AnimationStateInput::PauseOverride, AnimationStateInput::ResumeOverride, AnimationStateInput::PlayStateRunning, AnimationStateInput::PlayStatePaused,
  AnimationStateInput::EndAnimation, AnimationStateInput::MakeNew, AnimationStateInput::StartAnimation, AnimationStateInput::RestartAnimation,
  AnimationStateInput::StartTimerFired, AnimationStateInput::StyleAvailable, AnimationStateInput::StartTimeSet, AnimationStateInput::LoopTimerFired,
  AnimationStateInput::EndTimerFired, AnimationStateInput::PauseOverride, AnimationStateInput::ResumeOverride, AnimationStateInput::PlayStateRunning,
  AnimationStateInput::PlayStatePaused, AnimationStateInput::EndAnimation
}
 
enum  RunningStates {
  Delaying = 1 << 0, Paused = 1 << 1, Running = 1 << 2, Delaying = 1 << 0,
  Paused = 1 << 1, Running = 1 << 2
}
 
typedef unsigned RunningState
 
typedef unsigned RunningState
 
- Static Protected Member Functions inherited from WebCore::AnimationBase
static void setNeedsStyleRecalc (Element *)
 
static void setNeedsStyleRecalc (Element *)
 
- Protected Attributes inherited from WebCore::AnimationBase
RenderElementm_object
 
CompositeAnimationm_compositeAnimation
 
Ref< Animationm_animation
 
double m_startTime { 0 }
 
double m_pauseTime { -1 }
 
double m_requestedStartTime { 0 }
 
double m_totalDuration { -1 }
 
double m_nextIterationDuration { -1 }
 
AnimationState m_animationState { AnimationState::New }
 
bool m_isAccelerated { false }
 
bool m_transformFunctionListsMatch { false }
 
bool m_filterFunctionListsMatch { false }
 

Member Function Documentation

◆ affectsProperty()

bool WebCore::KeyframeAnimation::affectsProperty ( CSSPropertyID  property) const
overrideprotectedvirtual

Reimplemented from WebCore::AnimationBase.

◆ animate()

bool WebCore::KeyframeAnimation::animate ( CompositeAnimation compositeAnimation,
RenderElement ,
const RenderStyle currentStyle,
const RenderStyle targetStyle,
std::unique_ptr< RenderStyle > &  animatedStyle,
bool &  didBlendStyle 
)
overridevirtual

◆ checkForMatchingFilterFunctionLists()

void WebCore::KeyframeAnimation::checkForMatchingFilterFunctionLists ( )
protected

◆ computeExtentOfAnimationForMatchingTransformLists()

bool WebCore::KeyframeAnimation::computeExtentOfAnimationForMatchingTransformLists ( const FloatRect rendererBox,
LayoutRect  
) const
protected

◆ computeExtentOfAnimationForMatrixAnimation()

bool WebCore::KeyframeAnimation::computeExtentOfAnimationForMatrixAnimation ( const FloatRect rendererBox,
LayoutRect  
) const
protected

◆ computeExtentOfTransformAnimation()

bool WebCore::KeyframeAnimation::computeExtentOfTransformAnimation ( LayoutRect bounds) const
overridevirtual

◆ computeStackingContextImpact()

void WebCore::KeyframeAnimation::computeStackingContextImpact ( )
protected

◆ create()

static Ref<KeyframeAnimation> WebCore::KeyframeAnimation::create ( const Animation animation,
RenderElement renderer,
CompositeAnimation compositeAnimation,
const RenderStyle unanimatedStyle 
)
inlinestatic

◆ endAnimation()

void WebCore::KeyframeAnimation::endAnimation ( )
overrideprotectedvirtual

Reimplemented from WebCore::AnimationBase.

◆ getAnimatedStyle()

void WebCore::KeyframeAnimation::getAnimatedStyle ( std::unique_ptr< RenderStyle > &  animatedStyle)
overridevirtual

◆ hasAnimationForProperty()

bool WebCore::KeyframeAnimation::hasAnimationForProperty ( CSSPropertyID  property) const

◆ keyframes()

const KeyframeList& WebCore::KeyframeAnimation::keyframes ( ) const
inline

◆ name()

const AtomicString& WebCore::KeyframeAnimation::name ( ) const
inline

◆ onAnimationEnd()

void WebCore::KeyframeAnimation::onAnimationEnd ( double  elapsedTime)
overrideprotectedvirtual

Reimplemented from WebCore::AnimationBase.

◆ onAnimationIteration()

void WebCore::KeyframeAnimation::onAnimationIteration ( double  elapsedTime)
overrideprotectedvirtual

Reimplemented from WebCore::AnimationBase.

◆ onAnimationStart()

void WebCore::KeyframeAnimation::onAnimationStart ( double  elapsedTime)
overrideprotectedvirtual

Reimplemented from WebCore::AnimationBase.

◆ overrideAnimations()

void WebCore::KeyframeAnimation::overrideAnimations ( )
overrideprotectedvirtual

Reimplemented from WebCore::AnimationBase.

◆ pauseAnimation()

void WebCore::KeyframeAnimation::pauseAnimation ( double  timeOffset)
overrideprotectedvirtual

Reimplemented from WebCore::AnimationBase.

◆ resolveKeyframeStyles()

void WebCore::KeyframeAnimation::resolveKeyframeStyles ( )
protected

◆ resumeOverriddenAnimations()

void WebCore::KeyframeAnimation::resumeOverriddenAnimations ( )
overrideprotectedvirtual

Reimplemented from WebCore::AnimationBase.

◆ sendAnimationEvent()

bool WebCore::KeyframeAnimation::sendAnimationEvent ( const AtomicString eventType,
double  elapsedTime 
)
protected

◆ setUnanimatedStyle()

void WebCore::KeyframeAnimation::setUnanimatedStyle ( std::unique_ptr< RenderStyle style)
inline

◆ shouldSendEventForListener()

bool WebCore::KeyframeAnimation::shouldSendEventForListener ( Document::ListenerType  inListenerType) const
protected

◆ startAnimation()

bool WebCore::KeyframeAnimation::startAnimation ( double  timeOffset)
overrideprotectedvirtual

Reimplemented from WebCore::AnimationBase.

◆ timeToNextService()

double WebCore::KeyframeAnimation::timeToNextService ( )
overridevirtual

Reimplemented from WebCore::AnimationBase.

◆ triggersStackingContext()

bool WebCore::KeyframeAnimation::triggersStackingContext ( ) const
inline

◆ unanimatedStyle()

RenderStyle* WebCore::KeyframeAnimation::unanimatedStyle ( ) const
inline

◆ validateTransformFunctionList()

void WebCore::KeyframeAnimation::validateTransformFunctionList ( )
protected

The documentation for this class was generated from the following files: