Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(1321)

Side by Side Diff: ash/wm/overview/transparent_activate_window_button.h

Issue 690103008: Implemented swipe to close in overview mode. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Removed ET_SCROLL_FLING_CANCEL handling from TransparentButton and removed WindowSelector.MultiWind… Created 5 years, 11 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
1 // Copyright 2014 The Chromium Authors. All rights reserved. 1 // Copyright 2014 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 ASH_WM_OVERVIEW_TRANSPARENT_ACTIVATE_WINDOW_BUTTON_H_ 5 #ifndef ASH_WM_OVERVIEW_TRANSPARENT_ACTIVATE_WINDOW_BUTTON_H_
6 #define ASH_WM_OVERVIEW_TRANSPARENT_ACTIVATE_WINDOW_BUTTON_H_ 6 #define ASH_WM_OVERVIEW_TRANSPARENT_ACTIVATE_WINDOW_BUTTON_H_
7 7
8 #include "base/macros.h" 8 #include "base/macros.h"
9 #include "base/memory/scoped_ptr.h" 9 #include "base/memory/scoped_ptr.h"
10 #include "base/strings/string16.h" 10 #include "base/strings/string16.h"
11 #include "ui/gfx/geometry/rect.h" 11 #include "ui/gfx/geometry/rect.h"
12 12
13 namespace aura { 13 namespace aura {
14 class Window; 14 class Window;
15 } // namespace aura 15 } // namespace aura
16 16
17 namespace views { 17 namespace views {
18 class Button; 18 class Button;
19 class Widget; 19 class Widget;
20 } // namespace views 20 } // namespace views
21 21
22 namespace ash { 22 namespace ash {
23 23 class TransparentButton;
24 class TransparentActivateWindowButtonDelegate; 24 class TransparentActivateWindowButtonDelegate;
25 25
26 // Transparent window that covers window selector items and handles mouse and 26 // Transparent window that covers window selector items and handles mouse and
27 // gestures on overview mode for them. 27 // gestures on overview mode for them.
28 class TransparentActivateWindowButton { 28 class TransparentActivateWindowButton {
29 public: 29 public:
30 TransparentActivateWindowButton( 30 TransparentActivateWindowButton(
31 aura::Window* root_window, 31 aura::Window* root_window,
32 TransparentActivateWindowButtonDelegate* delegate); 32 TransparentActivateWindowButtonDelegate* delegate);
33 ~TransparentActivateWindowButton(); 33 ~TransparentActivateWindowButton();
34 34
35 // Sets the accessibility name. 35 // Sets the accessibility name.
36 void SetAccessibleName(const base::string16& name); 36 void SetAccessibleName(const base::string16& name);
37 37
38 // Sets the bounds of the transparent window. 38 // Sets the bounds of the transparent window.
39 void SetBounds(const gfx::Rect& bounds); 39 void SetBounds(const gfx::Rect& bounds);
40 40
41 // Set the distance, in pixels, for which a drag gesture will cause a window
42 // to be closed when the drag distance exceeds |distance|.
43 void SetCloseWindowDistanceMinimum(int distance);
44
41 // Sends an accessibility focus alert so that if chromevox is enabled, the 45 // Sends an accessibility focus alert so that if chromevox is enabled, the
42 // window title is read. 46 // window title is read.
43 void SendFocusAlert() const; 47 void SendFocusAlert() const;
44 48
45 // Stacks |this| above |activate_button| in the window z-ordering. 49 // Stacks |this| above |activate_button| in the window z-ordering.
46 void StackAbove(TransparentActivateWindowButton* activate_button); 50 void StackAbove(TransparentActivateWindowButton* activate_button);
47 51
48 private: 52 private:
49 // The transparent window event handler widget itself. 53 // The transparent window event handler widget itself.
50 scoped_ptr<views::Widget> event_handler_widget_; 54 scoped_ptr<views::Widget> event_handler_widget_;
51 55
52 // The transparent button view that handles user input. Not owned. 56 // The transparent button view that handles user input. Not owned.
53 views::Button* transparent_button_; 57 TransparentButton* transparent_button_;
54 58
55 DISALLOW_COPY_AND_ASSIGN(TransparentActivateWindowButton); 59 DISALLOW_COPY_AND_ASSIGN(TransparentActivateWindowButton);
56 }; 60 };
57 61
58 } // namespace ash 62 } // namespace ash
59 63
60 #endif // ASH_WM_OVERVIEW_TRANSPARENT_ACTIVATE_WINDOW_BUTTON_H_ 64 #endif // ASH_WM_OVERVIEW_TRANSPARENT_ACTIVATE_WINDOW_BUTTON_H_
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698