Chromium Code Reviews| OLD | NEW |
|---|---|
| 1 # Platform paint code | 1 # Platform paint code |
| 2 | 2 |
| 3 This directory contains the implementation of display lists and display | 3 This directory contains the implementation of display lists and display |
| 4 list-based painting, except for code which requires knowledge of `core/` | 4 list-based painting, except for code which requires knowledge of `core/` |
| 5 concepts, such as DOM elements and layout objects. | 5 concepts, such as DOM elements and layout objects. |
| 6 | 6 |
| 7 This code is owned by the [paint team][paint-team-site]. | 7 This code is owned by the [paint team][paint-team-site]. |
| 8 | 8 |
| 9 Slimming Paint v2 is currently being implemented. Unlike Slimming Paint v1, SPv2 | 9 Slimming Paint v2 is currently being implemented. Unlike Slimming Paint v1, SPv2 |
| 10 represents its paint artifact not as a flat display list, but as a list of | 10 represents its paint artifact not as a flat display list, but as a list of |
| (...skipping 75 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 86 | 86 |
| 87 Each clip node has: | 87 Each clip node has: |
| 88 | 88 |
| 89 * A float rect with (optionally) rounded corner radius. | 89 * A float rect with (optionally) rounded corner radius. |
| 90 * An associated transform node, which the clip rect is based on. | 90 * An associated transform node, which the clip rect is based on. |
| 91 | 91 |
| 92 The raster region defined by a node is the rounded rect transformed to the | 92 The raster region defined by a node is the rounded rect transformed to the |
| 93 root space, intersects with the raster region defined by its parent clip node | 93 root space, intersects with the raster region defined by its parent clip node |
| 94 (if not root). | 94 (if not root). |
| 95 | 95 |
| 96 ### Scrolling | |
| 97 | |
| 98 Each paint chunk is associated with a [scroll node](ScrollPaintPropertyNode.h) | |
|
chrishtr
2016/09/08 20:43:59
Always? Even for a page that has no scrolling?
pdr.
2016/09/08 23:16:26
This is due to the no-op scroll node we add at the
| |
| 99 which defines information about how a subtree scrolls so threads other than the | |
| 100 main thread can perform scrolling. Scroll information includes: | |
| 101 | |
| 102 * Which directions, if any, are scrollable by the user. | |
| 103 * A reference to a [transform node](TransformPaintPropertyNode.h) which contains | |
| 104 a 2d scroll offset. | |
| 105 * The extent that can be scrolled. For example, an overflow clip of size 7x9 | |
| 106 with scrolling contents of size 7x13 can scroll 4px vertically and none | |
| 107 horizontally. | |
| 108 | |
| 109 To ensure geometry operations are simple and only deal with transforms, the | |
| 110 scroll offset is stored as a 2d transform in the transform tree. | |
| 111 | |
| 96 ### Effects | 112 ### Effects |
| 97 | 113 |
| 98 Each paint chunk is associated with an [effect node](EffectPaintPropertyNode.h), | 114 Each paint chunk is associated with an [effect node](EffectPaintPropertyNode.h), |
| 99 which defines the effect (opacity, transfer mode, filter, mask, etc.) that | 115 which defines the effect (opacity, transfer mode, filter, mask, etc.) that |
| 100 should be applied to the content before or as it is composited into the content | 116 should be applied to the content before or as it is composited into the content |
| 101 below. | 117 below. |
| 102 | 118 |
| 103 Each effect node has: | 119 Each effect node has: |
| 104 | 120 |
| 105 * a floating-point opacity (from 0 to 1, inclusive) | 121 * a floating-point opacity (from 0 to 1, inclusive) |
| (...skipping 143 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 249 visual and transformed rects of display items in the coordinate space of ancesto r | 265 visual and transformed rects of display items in the coordinate space of ancesto r |
| 250 [`PropertyTreeState`](PropertyTreeState.h)s. | 266 [`PropertyTreeState`](PropertyTreeState.h)s. |
| 251 | 267 |
| 252 The transformed rect of a display item in an ancestor `PropertyTreeState` is tha t | 268 The transformed rect of a display item in an ancestor `PropertyTreeState` is tha t |
| 253 rect, multiplied by the transforms between the display item's `PropertyTreeState ` | 269 rect, multiplied by the transforms between the display item's `PropertyTreeState ` |
| 254 and the ancestors, then flattened into 2D. | 270 and the ancestors, then flattened into 2D. |
| 255 | 271 |
| 256 The visual rect of a display item in an ancestor `PropertyTreeState` is the inte rsection | 272 The visual rect of a display item in an ancestor `PropertyTreeState` is the inte rsection |
| 257 of all of the intermediate clips (transformed in to the ancestor state), with | 273 of all of the intermediate clips (transformed in to the ancestor state), with |
| 258 the display item's transformed rect. | 274 the display item's transformed rect. |
| OLD | NEW |