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
15namespace cc {
16
17struct 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
37typedef std::vector<AnimationEvent> AnimationEventsVector;
38
39}  // namespace cc
40
41#endif  // CC_ANIMATION_ANIMATION_EVENTS_H_
42