| Index: app/multi_animation.h
 | 
| ===================================================================
 | 
| --- app/multi_animation.h	(revision 70624)
 | 
| +++ app/multi_animation.h	(working copy)
 | 
| @@ -1,4 +1,4 @@
 | 
| -// Copyright (c) 2010 The Chromium Authors. All rights reserved.
 | 
| +// Copyright (c) 2011 The Chromium Authors. All rights reserved.
 | 
|  // Use of this source code is governed by a BSD-style license that can be
 | 
|  // found in the LICENSE file.
 | 
|  
 | 
| @@ -6,85 +6,6 @@
 | 
|  #define APP_MULTI_ANIMATION_H_
 | 
|  #pragma once
 | 
|  
 | 
| -#include <vector>
 | 
| +#include "ui/base/animation/multi_animation.h"
 | 
|  
 | 
| -#include "app/animation.h"
 | 
| -#include "app/tween.h"
 | 
| -
 | 
| -// MultiAnimation is an animation that consists of a number of sub animations.
 | 
| -// To create a MultiAnimation pass in the parts, invoke Start() and the delegate
 | 
| -// is notified as the animation progresses. By default MultiAnimation runs until
 | 
| -// Stop is invoked, see |set_continuous()| for details.
 | 
| -class MultiAnimation : public Animation {
 | 
| - public:
 | 
| -  // Defines part of the animation. Each part consists of the following:
 | 
| -  //
 | 
| -  // time_ms: the time of the part.
 | 
| -  // start_time_ms: the amount of time to offset this part by when calculating
 | 
| -  // the percented completed.
 | 
| -  // end_time_ms: the end time used to calculate the percentange completed.
 | 
| -  //
 | 
| -  // In most cases |start_time_ms| = 0 and |end_time_ms| = |time_ms|. But you
 | 
| -  // can adjust the start/end for different effects. For example, to run a part
 | 
| -  // for 200ms with a % between .25 and .75 use the following three values: 200,
 | 
| -  // 100, 400.
 | 
| -  struct Part {
 | 
| -    Part() : time_ms(0), start_time_ms(0), end_time_ms(0), type(Tween::ZERO) {}
 | 
| -    Part(int time_ms, Tween::Type type)
 | 
| -        : time_ms(time_ms),
 | 
| -          start_time_ms(0),
 | 
| -          end_time_ms(time_ms),
 | 
| -          type(type) {}
 | 
| -
 | 
| -    int time_ms;
 | 
| -    int start_time_ms;
 | 
| -    int end_time_ms;
 | 
| -    Tween::Type type;
 | 
| -  };
 | 
| -
 | 
| -  typedef std::vector<Part> Parts;
 | 
| -
 | 
| -  explicit MultiAnimation(const Parts& parts);
 | 
| -  virtual ~MultiAnimation();
 | 
| -
 | 
| -  // Sets whether the animation continues after it reaches the end. If true, the
 | 
| -  // animation runs until explicitly stopped. The default is true.
 | 
| -  void set_continuous(bool continuous) { continuous_ = continuous; }
 | 
| -
 | 
| -  // Returns the current value. The current value for a MultiAnimation is
 | 
| -  // determined from the tween type of the current part.
 | 
| -  virtual double GetCurrentValue() const;
 | 
| -
 | 
| -  // Returns the index of the current part.
 | 
| -  size_t current_part_index() const { return current_part_index_; }
 | 
| -
 | 
| - protected:
 | 
| -  // Animation overrides.
 | 
| -  virtual void Step(base::TimeTicks time_now);
 | 
| -  virtual void SetStartTime(base::TimeTicks start_time);
 | 
| -
 | 
| - private:
 | 
| -  // Returns the part containing the specified time. |time_ms| is reset to be
 | 
| -  // relative to the part containing the time and |part_index| the index of the
 | 
| -  // part.
 | 
| -  const Part& GetPart(int* time_ms, size_t* part_index);
 | 
| -
 | 
| -  // The parts that make up the animation.
 | 
| -  const Parts parts_;
 | 
| -
 | 
| -  // Total time of all the parts.
 | 
| -  const int cycle_time_ms_;
 | 
| -
 | 
| -  // Current value for the animation.
 | 
| -  double current_value_;
 | 
| -
 | 
| -  // Index of the current part.
 | 
| -  size_t current_part_index_;
 | 
| -
 | 
| -  // See description above setter.
 | 
| -  bool continuous_;
 | 
| -
 | 
| -  DISALLOW_COPY_AND_ASSIGN(MultiAnimation);
 | 
| -};
 | 
| -
 | 
|  #endif  // APP_MULTI_ANIMATION_H_
 | 
| 
 |