OLD | NEW |
---|---|
(Empty) | |
1 This directory contains code needed for rendering and interacting with | |
2 frames decorations in mash. | |
James Cook
2016/08/24 19:56:29
nit: frames -> frame
sky
2016/08/24 20:11:14
Done.
| |
3 | |
4 ### Immersive mode | |
James Cook
2016/08/24 19:56:29
I would change this to "immersive fullscreen" and
sky
2016/08/24 20:11:14
I modified this slightly, but mostly kept it.
| |
5 | |
6 There are two distinct ways for immersive mode to work in mash: | |
7 | |
8 1. Mash handles it all. This is the default. In this mode a separate | |
9 ui::Window is created for the reveal of the title area. HeaderView is used to | |
10 render the title area of the reveal in the separate window. The client | |
11 does nothing special here. | |
12 | |
13 2. The client takes control of it all (as happens in chrome). To | |
14 enable this the client sets kDisableImmersive_Property on the window. In this | |
15 mode the client creates a separate window for the reveal (similar to | |
16 1). The reveal window is a child of the window going into immersive | |
17 mode. Mash knows to paint window decorations to the reveal window by way of | |
18 the property kRendererParentTitleArea_Property set on the parent | |
19 window. The client runs all the immersive logic, including positioning | |
20 of the reveal window. | |
21 | |
22 In both cases DetachedTitleAreaRenderer and HeaderView is used to | |
23 render the title area. The difference is in the first case mash | |
24 creates the window, in the second case the child does (and tells mash | |
25 about it). And of course in the second case the client runs all the | |
26 immersive logic. | |
OLD | NEW |