1 // Copyright 2012 The Chromium Authors. All rights reserved. 2 // Use of this source code is governed by a BSD-style license that can be 3 // found in the LICENSE file. 4 5 #ifndef CC_ANIMATION_ANIMATION_EVENTS_H_ 6 #define CC_ANIMATION_ANIMATION_EVENTS_H_ 7 8 #include <vector> 9 10 #include "cc/animation/animation.h" 11 #include "cc/base/cc_export.h" 12 #include "cc/output/filter_operations.h" 13 #include "ui/gfx/transform.h" 14 15 namespace cc { 16 17 struct CC_EXPORT AnimationEvent { 18 enum Type { Started, Finished, Aborted, PropertyUpdate }; 19 20 AnimationEvent(Type type, 21 int layer_id, 22 int group_id, 23 Animation::TargetProperty target_property, 24 double monotonic_time); 25 26 Type type; 27 int layer_id; 28 int group_id; 29 Animation::TargetProperty target_property; 30 double monotonic_time; 31 bool is_impl_only; 32 float opacity; 33 gfx::Transform transform; 34 FilterOperations filters; 35 }; 36 37 typedef std::vector<AnimationEvent> AnimationEventsVector; 38 39 } // namespace cc 40 41 #endif // CC_ANIMATION_ANIMATION_EVENTS_H_ 42