| Index: content/browser/android/edge_effect.h
|
| diff --git a/content/browser/android/edge_effect.h b/content/browser/android/edge_effect.h
|
| index a8f944c67acada5c73225bd9fd3e3f35120573d2..8f10187269216cb4edf5ae2de756e211f62fa486 100644
|
| --- a/content/browser/android/edge_effect.h
|
| +++ b/content/browser/android/edge_effect.h
|
| @@ -5,10 +5,8 @@
|
| #ifndef CONTENT_BROWSER_ANDROID_EDGE_EFFECT_H_
|
| #define CONTENT_BROWSER_ANDROID_EDGE_EFFECT_H_
|
|
|
| -#include "base/basictypes.h"
|
| #include "base/memory/scoped_ptr.h"
|
| -#include "base/time/time.h"
|
| -#include "ui/gfx/size_f.h"
|
| +#include "content/browser/android/edge_effect_base.h"
|
|
|
| namespace cc {
|
| class Layer;
|
| @@ -20,57 +18,43 @@ class SystemUIResourceManager;
|
|
|
| namespace content {
|
|
|
| -/* |EdgeEffect| mirrors its Android counterpart, EdgeEffect.java.
|
| - * The primary difference is ownership; the Android version manages render
|
| - * resources directly, while this version simply applies the effect to
|
| - * existing resources. Conscious tradeoffs were made to align this as closely
|
| - * as possible with the original Android java version.
|
| - * All coordinates and dimensions are in device pixels.
|
| - */
|
| -class EdgeEffect {
|
| +// |EdgeEffect| mirrors its Android counterpart, EdgeEffect.java.
|
| +// Conscious tradeoffs were made to align this as closely as possible with the
|
| +// the original Android java version.
|
| +// All coordinates and dimensions are in device pixels.
|
| +class EdgeEffect : public EdgeEffectBase {
|
| public:
|
| - enum Edge {
|
| - EDGE_TOP = 0,
|
| - EDGE_LEFT,
|
| - EDGE_BOTTOM,
|
| - EDGE_RIGHT,
|
| - EDGE_COUNT
|
| - };
|
| -
|
| - explicit EdgeEffect(ui::SystemUIResourceManager* resource_manager);
|
| - ~EdgeEffect();
|
| -
|
| - void Pull(base::TimeTicks current_time, float delta_distance);
|
| - void Absorb(base::TimeTicks current_time, float velocity);
|
| - bool Update(base::TimeTicks current_time);
|
| - void Release(base::TimeTicks current_time);
|
| -
|
| - void Finish();
|
| - bool IsFinished() const;
|
| -
|
| - void ApplyToLayers(gfx::SizeF window_size,
|
| - Edge edge,
|
| - float edge_height,
|
| - float glow_height,
|
| - float offset);
|
| -
|
| - void SetParent(cc::Layer* parent);
|
| -
|
| + explicit EdgeEffect(ui::SystemUIResourceManager* resource_manager,
|
| + float device_scale_factor);
|
| + virtual ~EdgeEffect();
|
| +
|
| + virtual void Pull(base::TimeTicks current_time,
|
| + float delta_distance) OVERRIDE;
|
| + virtual void Pull(base::TimeTicks current_time,
|
| + float delta_distance,
|
| + float displacement) OVERRIDE;
|
| + virtual void Absorb(base::TimeTicks current_time, float velocity) OVERRIDE;
|
| + virtual bool Update(base::TimeTicks current_time) OVERRIDE;
|
| + virtual void Release(base::TimeTicks current_time) OVERRIDE;
|
| +
|
| + virtual void Finish() OVERRIDE;
|
| + virtual bool IsFinished() const OVERRIDE;
|
| +
|
| + virtual void ApplyToLayers(const gfx::SizeF& size,
|
| + const gfx::Transform& transform) OVERRIDE;
|
| + virtual void SetParent(cc::Layer* parent) OVERRIDE;
|
| +
|
| + // Thread-safe trigger to load resources.
|
| static void PreloadResources(ui::SystemUIResourceManager* resource_manager);
|
|
|
| private:
|
| - enum State {
|
| - STATE_IDLE = 0,
|
| - STATE_PULL,
|
| - STATE_ABSORB,
|
| - STATE_RECEDE,
|
| - STATE_PULL_DECAY
|
| - };
|
| -
|
| class EffectLayer;
|
| scoped_ptr<EffectLayer> edge_;
|
| scoped_ptr<EffectLayer> glow_;
|
|
|
| + float base_edge_height_;
|
| + float base_glow_height_;
|
| +
|
| float edge_alpha_;
|
| float edge_scale_y_;
|
| float glow_alpha_;
|
|
|