Home | History | Annotate | Download | only in animation
      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                  base::TimeTicks monotonic_time);
     25 
     26   Type type;
     27   int layer_id;
     28   int group_id;
     29   Animation::TargetProperty target_property;
     30   base::TimeTicks 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