OLD | NEW |
1 // Copyright 2015 The Chromium Authors. All rights reserved. | 1 // Copyright 2015 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 module mus.mojom; | 5 module mus.mojom; |
6 | 6 |
7 import "components/mus/public/interfaces/window_manager_constants.mojom"; | 7 import "components/mus/public/interfaces/window_manager_constants.mojom"; |
8 import "components/mus/public/interfaces/window_tree.mojom"; | 8 import "components/mus/public/interfaces/window_tree.mojom"; |
9 import "ui/mojo/geometry/geometry.mojom"; | 9 import "ui/mojo/geometry/geometry.mojom"; |
10 | 10 |
| 11 struct WindowManagerConfig { |
| 12 array<Display> displays; |
| 13 mojo.Insets normal_client_area_insets; |
| 14 mojo.Insets maximized_client_area_insets; |
| 15 }; |
| 16 |
11 // Represents a core interface that should be implemented by any window manager | 17 // Represents a core interface that should be implemented by any window manager |
12 // built on top of Mus. | 18 // built on top of Mus. |
13 // For security reasons, methods that take window_ids can only pass window ids | 19 // For security reasons, methods that take window_ids can only pass window ids |
14 // created by calls to OpenWindow() from the *same connection* to the window | 20 // created by calls to OpenWindow() from the *same connection* to the window |
15 // manager. The callback indicates success or failure. | 21 // manager. The callback indicates success or failure. |
16 interface WindowManager { | 22 interface WindowManager { |
17 // The window bounds as set by user input. Type: gfx::Rect. | 23 // The window bounds as set by user input. Type: gfx::Rect. |
18 const string kUserSetBounds_Property = "prop:user-set-bounds"; | 24 const string kUserSetBounds_Property = "prop:user-set-bounds"; |
19 // The window's preferred size as defined by its content. Type: gfx::Size. | 25 // The window's preferred size as defined by its content. Type: gfx::Size. |
20 const string kPreferredSize_Property = "prop:preferred-size"; | 26 const string kPreferredSize_Property = "prop:preferred-size"; |
21 // The window's show state. Type: ShowState. | 27 // The window's show state. Type: ShowState. |
22 const string kShowState_Property = "prop:show-state"; | 28 const string kShowState_Property = "prop:show-state"; |
23 | 29 |
24 OpenWindow(WindowTreeClient client, | 30 OpenWindow(WindowTreeClient client, |
25 map<string, array<uint8>> properties); | 31 map<string, array<uint8>> properties); |
26 | 32 |
27 // Updates the window's preferred size and triggers a relayout of the window | 33 // Updates the window's preferred size and triggers a relayout of the window |
28 // within its container. | 34 // within its container. |
29 SetPreferredSize(uint32 window_id, mojo.Size size) => | 35 SetPreferredSize(uint32 window_id, mojo.Size size) => |
30 (WindowManagerErrorCode result); | 36 (WindowManagerErrorCode result); |
31 | 37 |
32 SetBounds(uint32 window_id, mojo.Rect bounds) => | 38 SetBounds(uint32 window_id, mojo.Rect bounds) => |
33 (WindowManagerErrorCode result); | 39 (WindowManagerErrorCode result); |
34 | 40 |
35 SetShowState(uint32 window_id, ShowState show_state) => | 41 SetShowState(uint32 window_id, ShowState show_state) => |
36 (WindowManagerErrorCode result); | 42 (WindowManagerErrorCode result); |
37 | 43 |
38 GetDisplays() => (array<Display> displays); | 44 GetConfig() => (WindowManagerConfig config); |
39 }; | 45 }; |
OLD | NEW |