OLD | NEW |
(Empty) | |
| 1 This directory contains code needed for rendering and interacting with |
| 2 frame decorations in mash. |
| 3 |
| 4 ### Immersive fullscreen |
| 5 |
| 6 Immersive fullscreen is a specialized fullscreen mode. In it the user |
| 7 can move the mouse to the top of the screen and the window header |
| 8 will slide down on top of the fullscreen window contents. |
| 9 |
| 10 There are two distinct ways for immersive mode to work in mash: |
| 11 |
| 12 1. Mash handles it all. This is the default. In this mode a separate |
| 13 ui::Window is created for the reveal of the title area. HeaderView is used to |
| 14 render the title area of the reveal in the separate window. The client |
| 15 does nothing special here. |
| 16 |
| 17 2. The client takes control of it all (as happens in chrome). To |
| 18 enable this the client sets kDisableImmersive_Property on the window. In this |
| 19 mode the client creates a separate window for the reveal (similar to |
| 20 1). The reveal window is a child of the window going into immersive |
| 21 mode. Mash knows to paint window decorations to the reveal window by way of |
| 22 the property kRendererParentTitleArea_Property set on the parent |
| 23 window. The client runs all the immersive logic, including positioning |
| 24 of the reveal window. |
| 25 |
| 26 In both cases DetachedTitleAreaRenderer and HeaderView is used to |
| 27 render the title area. The difference is in the first case mash |
| 28 creates the window, in the second case the child does (and tells mash |
| 29 about it). And of course in the second case the client runs all the |
| 30 immersive logic. |
OLD | NEW |