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_WIDGET_WIDGET_H_ | 5 #ifndef UI_VIEWS_WIDGET_WIDGET_H_ |
6 #define UI_VIEWS_WIDGET_WIDGET_H_ | 6 #define UI_VIEWS_WIDGET_WIDGET_H_ |
7 | 7 |
8 #include <map> | 8 #include <map> |
9 #include <memory> | 9 #include <memory> |
10 #include <set> | 10 #include <set> |
11 #include <string> | 11 #include <string> |
12 #include <vector> | 12 #include <vector> |
13 | 13 |
14 #include "base/macros.h" | 14 #include "base/macros.h" |
15 #include "base/observer_list.h" | 15 #include "base/observer_list.h" |
| 16 #include "base/optional.h" |
16 #include "base/scoped_observer.h" | 17 #include "base/scoped_observer.h" |
17 #include "build/build_config.h" | 18 #include "build/build_config.h" |
18 #include "ui/base/ui_base_types.h" | 19 #include "ui/base/ui_base_types.h" |
19 #include "ui/events/event_source.h" | 20 #include "ui/events/event_source.h" |
20 #include "ui/gfx/geometry/rect.h" | 21 #include "ui/gfx/geometry/rect.h" |
21 #include "ui/gfx/native_widget_types.h" | 22 #include "ui/gfx/native_widget_types.h" |
22 #include "ui/native_theme/native_theme_observer.h" | 23 #include "ui/native_theme/native_theme_observer.h" |
23 #include "ui/views/focus/focus_manager.h" | 24 #include "ui/views/focus/focus_manager.h" |
24 #include "ui/views/widget/native_widget_delegate.h" | 25 #include "ui/views/widget/native_widget_delegate.h" |
25 #include "ui/views/window/client_view.h" | 26 #include "ui/views/window/client_view.h" |
(...skipping 26 matching lines...) Expand all Loading... |
52 class Compositor; | 53 class Compositor; |
53 class DefaultThemeProvider; | 54 class DefaultThemeProvider; |
54 class InputMethod; | 55 class InputMethod; |
55 class Layer; | 56 class Layer; |
56 class NativeTheme; | 57 class NativeTheme; |
57 class OSExchangeData; | 58 class OSExchangeData; |
58 class ThemeProvider; | 59 class ThemeProvider; |
59 class Window; | 60 class Window; |
60 } // namespace ui | 61 } // namespace ui |
61 | 62 |
| 63 namespace wm { |
| 64 enum class ShadowElevation; |
| 65 } |
| 66 |
62 namespace views { | 67 namespace views { |
63 | 68 |
64 class DesktopWindowTreeHost; | 69 class DesktopWindowTreeHost; |
65 class NativeWidget; | 70 class NativeWidget; |
66 class NonClientFrameView; | 71 class NonClientFrameView; |
67 class TooltipManager; | 72 class TooltipManager; |
68 class View; | 73 class View; |
69 class WidgetDelegate; | 74 class WidgetDelegate; |
70 class WidgetObserver; | 75 class WidgetObserver; |
71 class WidgetRemovalsObserver; | 76 class WidgetRemovalsObserver; |
(...skipping 153 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
225 // IsTranslucentWindowOpacitySupported to determine whether they are. | 230 // IsTranslucentWindowOpacitySupported to determine whether they are. |
226 WindowOpacity opacity; | 231 WindowOpacity opacity; |
227 bool accept_events; | 232 bool accept_events; |
228 Activatable activatable; | 233 Activatable activatable; |
229 bool keep_on_top; | 234 bool keep_on_top; |
230 bool visible_on_all_workspaces; | 235 bool visible_on_all_workspaces; |
231 // See Widget class comment above. | 236 // See Widget class comment above. |
232 Ownership ownership; | 237 Ownership ownership; |
233 bool mirror_origin_in_rtl; | 238 bool mirror_origin_in_rtl; |
234 ShadowType shadow_type; | 239 ShadowType shadow_type; |
| 240 // A hint about the size of the shadow if the type is SHADOW_TYPE_DROP. May |
| 241 // be ignored on some platforms. No value indicates no preference. |
| 242 base::Optional<wm::ShadowElevation> shadow_elevation; |
235 // Specifies that the system default caption and icon should not be | 243 // Specifies that the system default caption and icon should not be |
236 // rendered, and that the client area should be equivalent to the window | 244 // rendered, and that the client area should be equivalent to the window |
237 // area. Only used on some platforms (Windows and Linux). | 245 // area. Only used on some platforms (Windows and Linux). |
238 bool remove_standard_frame; | 246 bool remove_standard_frame; |
239 // Only used by ShellWindow on Windows. Specifies that the default icon of | 247 // Only used by ShellWindow on Windows. Specifies that the default icon of |
240 // packaged app should be the system default icon. | 248 // packaged app should be the system default icon. |
241 bool use_system_default_icon; | 249 bool use_system_default_icon; |
242 // Whether the widget should be maximized or minimized. | 250 // Whether the widget should be maximized or minimized. |
243 ui::WindowShowState show_state; | 251 ui::WindowShowState show_state; |
244 gfx::NativeView parent; | 252 gfx::NativeView parent; |
(...skipping 725 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
970 bool movement_disabled_; | 978 bool movement_disabled_; |
971 | 979 |
972 ScopedObserver<ui::NativeTheme, ui::NativeThemeObserver> observer_manager_; | 980 ScopedObserver<ui::NativeTheme, ui::NativeThemeObserver> observer_manager_; |
973 | 981 |
974 DISALLOW_COPY_AND_ASSIGN(Widget); | 982 DISALLOW_COPY_AND_ASSIGN(Widget); |
975 }; | 983 }; |
976 | 984 |
977 } // namespace views | 985 } // namespace views |
978 | 986 |
979 #endif // UI_VIEWS_WIDGET_WIDGET_H_ | 987 #endif // UI_VIEWS_WIDGET_WIDGET_H_ |
OLD | NEW |