| OLD | NEW |
| 1 // Copyright 2016 The Chromium Authors. All rights reserved. | 1 // Copyright 2016 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_WINDOW_H_ | 5 #ifndef ASH_WM_WINDOW_H_ |
| 6 #define ASH_WM_WINDOW_H_ | 6 #define ASH_WM_WINDOW_H_ |
| 7 | 7 |
| 8 #include <memory> | 8 #include <memory> |
| 9 #include <vector> | 9 #include <vector> |
| 10 | 10 |
| (...skipping 13 matching lines...) Expand all Loading... |
| 24 } | 24 } |
| 25 | 25 |
| 26 namespace gfx { | 26 namespace gfx { |
| 27 class Point; | 27 class Point; |
| 28 class Rect; | 28 class Rect; |
| 29 class Size; | 29 class Size; |
| 30 class Transform; | 30 class Transform; |
| 31 } | 31 } |
| 32 | 32 |
| 33 namespace ui { | 33 namespace ui { |
| 34 class EventHandler; | |
| 35 class Layer; | 34 class Layer; |
| 36 } | 35 } |
| 37 | 36 |
| 38 namespace ash { | 37 namespace ash { |
| 39 | 38 |
| 40 class ImmersiveFullscreenController; | 39 class ImmersiveFullscreenController; |
| 41 class RootWindowController; | 40 class RootWindowController; |
| 42 class WmTransientWindowObserver; | 41 class WmTransientWindowObserver; |
| 43 enum class WmWindowProperty; | 42 enum class WmWindowProperty; |
| 44 | 43 |
| (...skipping 197 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 242 void StackChildAtBottom(WmWindow* child); | 241 void StackChildAtBottom(WmWindow* child); |
| 243 void StackChildAbove(WmWindow* child, WmWindow* target); | 242 void StackChildAbove(WmWindow* child, WmWindow* target); |
| 244 void StackChildBelow(WmWindow* child, WmWindow* target); | 243 void StackChildBelow(WmWindow* child, WmWindow* target); |
| 245 | 244 |
| 246 void SetAlwaysOnTop(bool value); | 245 void SetAlwaysOnTop(bool value); |
| 247 bool IsAlwaysOnTop() const; | 246 bool IsAlwaysOnTop() const; |
| 248 | 247 |
| 249 void Hide(); | 248 void Hide(); |
| 250 void Show(); | 249 void Show(); |
| 251 | 250 |
| 252 // Requests the window to close and destroy itself. This is intended to | |
| 253 // forward to an associated widget. | |
| 254 void CloseWidget(); | |
| 255 | |
| 256 void SetFocused(); | 251 void SetFocused(); |
| 257 bool IsFocused() const; | 252 bool IsFocused() const; |
| 258 | 253 |
| 259 bool IsActive() const; | 254 bool IsActive() const; |
| 260 void Activate(); | 255 void Activate(); |
| 261 void Deactivate(); | 256 void Deactivate(); |
| 262 | 257 |
| 263 void SetFullscreen(bool fullscreen); | 258 void SetFullscreen(bool fullscreen); |
| 264 | 259 |
| 265 void Maximize(); | 260 void Maximize(); |
| (...skipping 17 matching lines...) Expand all Loading... |
| 283 // snaps the layer associated with this window to the layer associated with | 278 // snaps the layer associated with this window to the layer associated with |
| 284 // the ancestor. | 279 // the ancestor. |
| 285 void SnapToPixelBoundaryIfNecessary(); | 280 void SnapToPixelBoundaryIfNecessary(); |
| 286 | 281 |
| 287 // Makes the hit region for children slightly larger for easier resizing. | 282 // Makes the hit region for children slightly larger for easier resizing. |
| 288 void SetChildrenUseExtendedHitRegion(); | 283 void SetChildrenUseExtendedHitRegion(); |
| 289 | 284 |
| 290 void AddTransientWindowObserver(WmTransientWindowObserver* observer); | 285 void AddTransientWindowObserver(WmTransientWindowObserver* observer); |
| 291 void RemoveTransientWindowObserver(WmTransientWindowObserver* observer); | 286 void RemoveTransientWindowObserver(WmTransientWindowObserver* observer); |
| 292 | 287 |
| 293 // Adds or removes a handler to receive events targeted at this window, before | |
| 294 // this window handles the events itself; the handler does not recieve events | |
| 295 // from embedded windows. This only supports windows with internal widgets; | |
| 296 // see ash::GetInternalWidgetForWindow(). Ownership of the handler is not | |
| 297 // transferred. | |
| 298 // | |
| 299 // Also note that the target of these events is always an aura::Window. | |
| 300 void AddLimitedPreTargetHandler(ui::EventHandler* handler); | |
| 301 void RemoveLimitedPreTargetHandler(ui::EventHandler* handler); | |
| 302 | |
| 303 private: | 288 private: |
| 304 explicit WmWindow(aura::Window* window); | 289 explicit WmWindow(aura::Window* window); |
| 305 | 290 |
| 306 // ::wm::TransientWindowObserver overrides: | 291 // ::wm::TransientWindowObserver overrides: |
| 307 void OnTransientChildAdded(aura::Window* window, | 292 void OnTransientChildAdded(aura::Window* window, |
| 308 aura::Window* transient) override; | 293 aura::Window* transient) override; |
| 309 void OnTransientChildRemoved(aura::Window* window, | 294 void OnTransientChildRemoved(aura::Window* window, |
| 310 aura::Window* transient) override; | 295 aura::Window* transient) override; |
| 311 | 296 |
| 312 aura::Window* window_; | 297 aura::Window* window_; |
| 313 | 298 |
| 314 bool added_transient_observer_ = false; | 299 bool added_transient_observer_ = false; |
| 315 base::ObserverList<WmTransientWindowObserver> transient_observers_; | 300 base::ObserverList<WmTransientWindowObserver> transient_observers_; |
| 316 | 301 |
| 317 // If true child windows should get a slightly larger hit region to make | 302 // If true child windows should get a slightly larger hit region to make |
| 318 // resizing easier. | 303 // resizing easier. |
| 319 bool children_use_extended_hit_region_ = false; | 304 bool children_use_extended_hit_region_ = false; |
| 320 | 305 |
| 321 DISALLOW_COPY_AND_ASSIGN(WmWindow); | 306 DISALLOW_COPY_AND_ASSIGN(WmWindow); |
| 322 }; | 307 }; |
| 323 | 308 |
| 324 } // namespace ash | 309 } // namespace ash |
| 325 | 310 |
| 326 #endif // ASH_WM_WINDOW_H_ | 311 #endif // ASH_WM_WINDOW_H_ |
| OLD | NEW |