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

Side by Side Diff: ash/wm/workspace/multi_window_resize_controller.h

Issue 10827022: Fix coordinates in tab detach &drag code and multi window resizer. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: sync Created 8 years, 5 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 | Annotate | Revision Log
OLDNEW
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 ASH_WM_WORKSPACE_MULTI_WINDOW_RESIZE_CONTROLLER_H_ 5 #ifndef ASH_WM_WORKSPACE_MULTI_WINDOW_RESIZE_CONTROLLER_H_
6 #define ASH_WM_WORKSPACE_MULTI_WINDOW_RESIZE_CONTROLLER_H_ 6 #define ASH_WM_WORKSPACE_MULTI_WINDOW_RESIZE_CONTROLLER_H_
7 7
8 #include <vector> 8 #include <vector>
9 9
10 #include "ash/ash_export.h" 10 #include "ash/ash_export.h"
(...skipping 104 matching lines...) Expand 10 before | Expand all | Expand 10 after
115 // Hides the window after a delay. 115 // Hides the window after a delay.
116 void DelayedHide(); 116 void DelayedHide();
117 117
118 // Shows the widget immediately. 118 // Shows the widget immediately.
119 void ShowNow(); 119 void ShowNow();
120 120
121 // Returns true if the widget is showing. 121 // Returns true if the widget is showing.
122 bool IsShowing() const; 122 bool IsShowing() const;
123 123
124 // Initiates a resize. 124 // Initiates a resize.
125 void StartResize(const gfx::Point& screen_location); 125 void StartResize(const gfx::Point& location_in_screen);
126 126
127 // Resizes to the new location. 127 // Resizes to the new location.
128 void Resize(const gfx::Point& screen_location, int event_flags); 128 void Resize(const gfx::Point& location_in_screen, int event_flags);
129 129
130 // Completes the resize. 130 // Completes the resize.
131 void CompleteResize(int event_flags); 131 void CompleteResize(int event_flags);
132 132
133 // Cancels the resize. 133 // Cancels the resize.
134 void CancelResize(); 134 void CancelResize();
135 135
136 // Returns the bounds for the resize widget. 136 // Returns the bounds for the resize widget.
137 gfx::Rect CalculateResizeWidgetBounds(const gfx::Point& location) const; 137 gfx::Rect CalculateResizeWidgetBounds(
138 const gfx::Point& location_in_parent) const;
138 139
139 // Returns true if |screen_location| is over the resize windows (or the resize 140 // Returns true if |location_in_screen| is over the resize windows
140 // widget itself). 141 // (or the resize widget itself).
141 bool IsOverWindows(const gfx::Point& screen_location) const; 142 bool IsOverWindows(const gfx::Point& location_in_screen) const;
142 143
143 // Returns true if |screen_location| is over |window|. 144 // Returns true if |location_in_screen| is over |window|.
144 bool IsOverWindow(aura::Window* window, 145 bool IsOverWindow(aura::Window* window,
145 const gfx::Point& screen_location, 146 const gfx::Point& location_in_screen,
146 int component) const; 147 int component) const;
147 148
148 // Windows and direction to resize. 149 // Windows and direction to resize.
149 ResizeWindows windows_; 150 ResizeWindows windows_;
150 151
151 // Timer before hiding. 152 // Timer before hiding.
152 base::OneShotTimer<MultiWindowResizeController> hide_timer_; 153 base::OneShotTimer<MultiWindowResizeController> hide_timer_;
153 154
154 // Timer used before showing. 155 // Timer used before showing.
155 base::OneShotTimer<MultiWindowResizeController> show_timer_; 156 base::OneShotTimer<MultiWindowResizeController> show_timer_;
156 157
157 views::Widget* resize_widget_; 158 views::Widget* resize_widget_;
158 159
159 // If non-null we're in a resize loop. 160 // If non-null we're in a resize loop.
160 scoped_ptr<WorkspaceWindowResizer> window_resizer_; 161 scoped_ptr<WorkspaceWindowResizer> window_resizer_;
161 162
162 // Mouse coordinate passed to Show(). 163 // Mouse coordinate passed to Show() in container's coodinates.
163 gfx::Point show_location_; 164 gfx::Point show_location_in_parent_;
164 165
165 // Bounds the widget was last shown at. 166 // Bounds the widget was last shown at in screen coordinates.
166 gfx::Rect show_bounds_; 167 gfx::Rect show_bounds_in_screen_;
167 168
168 // Size of the grid. 169 // Size of the grid.
169 int grid_size_; 170 int grid_size_;
170 171
171 // Used to detect whether the mouse is over the windows. While 172 // Used to detect whether the mouse is over the windows. While
172 // |resize_widget_| is non-NULL (ie the widget is showing) we ignore calls 173 // |resize_widget_| is non-NULL (ie the widget is showing) we ignore calls
173 // to Show(). 174 // to Show().
174 scoped_ptr<views::MouseWatcher> mouse_watcher_; 175 scoped_ptr<views::MouseWatcher> mouse_watcher_;
175 176
176 DISALLOW_COPY_AND_ASSIGN(MultiWindowResizeController); 177 DISALLOW_COPY_AND_ASSIGN(MultiWindowResizeController);
177 }; 178 };
178 179
179 } // namespace internal 180 } // namespace internal
180 } // namespace ash 181 } // namespace ash
181 182
182 #endif // ASH_WM_WORKSPACE_MULTI_WINDOW_RESIZE_CONTROLLER_H_ 183 #endif // ASH_WM_WORKSPACE_MULTI_WINDOW_RESIZE_CONTROLLER_H_
OLDNEW
« no previous file with comments | « ash/wm/toplevel_window_event_filter.cc ('k') | ash/wm/workspace/multi_window_resize_controller.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698