Chromium Code Reviews| Index: athena/wm/split_view_controller.h |
| diff --git a/athena/wm/split_view_controller.h b/athena/wm/split_view_controller.h |
| index e0652def1b19050b568964926916aee06aac731f..de5ab93551da36ff9282ed27e753e3fd4ba9b2b7 100644 |
| --- a/athena/wm/split_view_controller.h |
| +++ b/athena/wm/split_view_controller.h |
| @@ -6,24 +6,77 @@ |
| #define ATHENA_WM_SPLIT_VIEW_CONTROLLER_H_ |
| #include "athena/wm/bezel_controller.h" |
| +#include "athena/wm/public/window_manager_observer.h" |
| +#include "athena/wm/window_overview_mode.h" |
| #include "base/memory/scoped_ptr.h" |
| +#include "base/memory/weak_ptr.h" |
| +#include "ui/compositor/layer_animation_observer.h" |
| + |
| +namespace gfx { |
| +class Transform; |
| +} |
| + |
| +namespace ui { |
| +class LayerAnimationSequence; |
|
Jun Mukai
2014/07/25 20:21:29
Remove unused declaration
mfomitchev
2014/07/25 23:27:38
Done.
|
| +} |
| namespace athena { |
| +class WindowManager; |
| +class WindowOverviewModeDelegate; |
| +class WindowStackProvider; |
| // Responsible for entering split view mode, exiting from split view mode, and |
| // laying out the windows in split view mode. |
| -class SplitViewController : public BezelController::ScrollDelegate { |
| +class SplitViewController : public BezelController::ScrollDelegate, |
| + public WindowManagerObserver { |
| public: |
| - SplitViewController(); |
| virtual ~SplitViewController(); |
| + SplitViewController(aura::Window* container, |
| + WindowStackProvider* window_stack_provider, |
| + WindowManager* window_manager); |
| + |
| + |
| + bool IsSplitViewModeActive(); |
| private: |
| + enum State {INACTIVE, SCROLLING, ACTIVE}; |
| + |
| + void Layout(bool animate); |
| + |
| + void SetWindowTransform( |
| + aura::Window* window, const gfx::Transform& transform, bool animate); |
| + |
| + void AnimationCompleted(); |
| + |
| + void UpdateSeparatorPositionFromScrollDelta(float delta); |
| + |
| + aura::Window* GetCurrentWindow(); |
| + |
| // BezelController::ScrollDelegate overrides. |
| virtual void ScrollBegin(BezelController::Bezel bezel, float delta) OVERRIDE; |
| virtual void ScrollEnd() OVERRIDE; |
| virtual void ScrollUpdate(float delta) OVERRIDE; |
| virtual bool CanScroll() OVERRIDE; |
| + // WindowManagerObserver overrides |
| + virtual void OnOverviewModeEnter() OVERRIDE; |
| + virtual void OnOverviewModeExit() OVERRIDE {} |
|
Jun Mukai
2014/07/25 20:21:29
Please move the implementation to .cc file even it
mfomitchev
2014/07/25 23:27:38
Done.
|
| + |
| + base::WeakPtrFactory<SplitViewController> weak_factory_; |
| + |
| + State state_; |
| + |
| + aura::Window* container_; |
| + WindowManager* window_manager_; |
| + WindowStackProvider* window_stack_provider_; |
| + |
| + aura::Window* current_window_; |
| + aura::Window* left_window_; |
| + aura::Window* right_window_; |
| + int separator_position_; |
| + |
| + //scoped_ptr<CurrentWindowTracker> current_window_tracker_; |
| + |
| DISALLOW_COPY_AND_ASSIGN(SplitViewController); |
| }; |