OLD | NEW |
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. |
2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
4 | 4 |
5 #ifndef UI_VIEWS_CONTROLS_SLIDE_OUT_VIEW_H_ | 5 #ifndef UI_VIEWS_CONTROLS_SLIDE_OUT_VIEW_H_ |
6 #define UI_VIEWS_CONTROLS_SLIDE_OUT_VIEW_H_ | 6 #define UI_VIEWS_CONTROLS_SLIDE_OUT_VIEW_H_ |
7 | 7 |
8 #include "ui/compositor/layer_animation_observer.h" | 8 #include "ui/compositor/layer_animation_observer.h" |
9 #include "ui/views/view.h" | 9 #include "ui/views/view.h" |
10 #include "ui/views/views_export.h" | 10 #include "ui/views/views_export.h" |
11 | 11 |
12 namespace views { | 12 namespace views { |
13 | 13 |
14 // A View that can be closed by a slide-out touch gesture. | 14 // A View that can be closed by a slide-out touch gesture. |
15 class VIEWS_EXPORT SlideOutView : public views::View, | 15 class VIEWS_EXPORT SlideOutView : public views::View, |
16 public ui::ImplicitAnimationObserver { | 16 public ui::ImplicitAnimationObserver { |
17 public: | 17 public: |
18 SlideOutView(); | 18 SlideOutView(); |
19 virtual ~SlideOutView(); | 19 virtual ~SlideOutView(); |
20 | 20 |
21 protected: | 21 protected: |
22 // Called when user intends to close the View by sliding it out. | 22 // Called when user intends to close the View by sliding it out. |
23 virtual void OnSlideOut() = 0; | 23 virtual void OnSlideOut() = 0; |
24 | 24 |
25 // Overridden from views::View. | 25 // Overridden from views::View. |
26 virtual void OnGestureEvent(ui::GestureEvent* event) OVERRIDE; | 26 virtual void OnGestureEvent(ui::GestureEvent* event) override; |
27 | 27 |
28 private: | 28 private: |
29 enum SlideDirection { | 29 enum SlideDirection { |
30 SLIDE_LEFT, | 30 SLIDE_LEFT, |
31 SLIDE_RIGHT, | 31 SLIDE_RIGHT, |
32 }; | 32 }; |
33 | 33 |
34 // Restores the transform and opacity of the view. | 34 // Restores the transform and opacity of the view. |
35 void RestoreVisualState(); | 35 void RestoreVisualState(); |
36 | 36 |
37 // Slides the view out and closes it after the animation. | 37 // Slides the view out and closes it after the animation. |
38 void SlideOutAndClose(SlideDirection direction); | 38 void SlideOutAndClose(SlideDirection direction); |
39 | 39 |
40 // Overridden from ImplicitAnimationObserver. | 40 // Overridden from ImplicitAnimationObserver. |
41 virtual void OnImplicitAnimationsCompleted() OVERRIDE; | 41 virtual void OnImplicitAnimationsCompleted() override; |
42 | 42 |
43 float gesture_scroll_amount_; | 43 float gesture_scroll_amount_; |
44 | 44 |
45 DISALLOW_COPY_AND_ASSIGN(SlideOutView); | 45 DISALLOW_COPY_AND_ASSIGN(SlideOutView); |
46 }; | 46 }; |
47 | 47 |
48 } // namespace views | 48 } // namespace views |
49 | 49 |
50 #endif // UI_VIEWS_CONTROLS_SLIDE_OUT_VIEW_H_ | 50 #endif // UI_VIEWS_CONTROLS_SLIDE_OUT_VIEW_H_ |
OLD | NEW |