[GTK][AC] Implement keyframe animations with clutter ac backend
authorcommit-queue@webkit.org <commit-queue@webkit.org@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Tue, 19 Feb 2013 17:01:32 +0000 (17:01 +0000)
committercommit-queue@webkit.org <commit-queue@webkit.org@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Tue, 19 Feb 2013 17:01:32 +0000 (17:01 +0000)
commit7cfad2f49f266df853753d8c5240e41c5cc069a1
tree2de1f709280c3d013a1311114af1226c57f58cf8
parent5139adab2d05c46c9a479a4339859e9b3f3c3f43
[GTK][AC] Implement keyframe animations with clutter ac backend
https://bugs.webkit.org/show_bug.cgi?id=110057

Patch by ChangSeok Oh <changseok.oh@collabora.com> on 2013-02-19
Reviewed by Gustavo Noronha Silva.

This patch brings accelerated keyframe animation with clutter to WebKitGtk+.
Changes of GraphicsLayerClutter are based on GraphicsLayerCA. But major changes
of PlatformClutterAnimation are implemented with clutter keyframe transition apis.
See http://developer.gnome.org/clutter/stable/ClutterKeyframeTransition.html

Covered by existing animation tests.

* platform/graphics/clutter/GraphicsLayerClutter.cpp:
(WebCore::GraphicsLayerClutter::createKeyframeAnimation):
(WebCore::GraphicsLayerClutter::setTransformAnimationKeyframes):
(WebCore::GraphicsLayerClutter::setAnimationKeyframes):
* platform/graphics/clutter/PlatformClutterAnimation.cpp:
(WebCore::toClutterActorPropertyString):
(WebCore::PlatformClutterAnimation::PlatformClutterAnimation):
(WebCore::PlatformClutterAnimation::setTimingFunction):
(WebCore::PlatformClutterAnimation::setValues):
(WebCore::PlatformClutterAnimation::setKeyTimes):
(WebCore::PlatformClutterAnimation::setTimingFunctions):
(WebCore::PlatformClutterAnimation::addClutterTransitionForProperty):
(WebCore):
(WebCore::PlatformClutterAnimation::addClutterKeyframeTransitionForProperty):
(WebCore::PlatformClutterAnimation::addOpacityTransition):
(WebCore::PlatformClutterAnimation::addTransformTransition):
(WebCore::PlatformClutterAnimation::addAnimationForKey):
(WebCore::PlatformClutterAnimation::removeAnimationForKey):
* platform/graphics/clutter/PlatformClutterAnimation.h:
(PlatformClutterAnimation):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@143343 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Source/WebCore/ChangeLog
Source/WebCore/platform/graphics/clutter/GraphicsLayerClutter.cpp
Source/WebCore/platform/graphics/clutter/PlatformClutterAnimation.cpp
Source/WebCore/platform/graphics/clutter/PlatformClutterAnimation.h