Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(52)

Side by Side Diff: third_party/WebKit/Source/platform/graphics/paint/README.md

Issue 1973343003: Initial implementation of GeometryMapper (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: none Created 4 years, 5 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
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 216 matching lines...) Expand 10 before | Expand all | Expand 10 after
227 The [`PaintArtifactCompositor`](PaintArtifactCompositor.h) is responsible for 227 The [`PaintArtifactCompositor`](PaintArtifactCompositor.h) is responsible for
228 consuming the `PaintArtifact` produced by the `PaintController`, and converting 228 consuming the `PaintArtifact` produced by the `PaintController`, and converting
229 it into a form suitable for the compositor to consume. 229 it into a form suitable for the compositor to consume.
230 230
231 At present, `PaintArtifactCompositor` creates a cc layer tree, with one layer 231 At present, `PaintArtifactCompositor` creates a cc layer tree, with one layer
232 for each paint chunk. In the future, it is expected that we will use heuristics 232 for each paint chunk. In the future, it is expected that we will use heuristics
233 to combine paint chunks into a smaller number of layers. 233 to combine paint chunks into a smaller number of layers.
234 234
235 The owner of the `PaintArtifactCompositor` (e.g. `WebView`) can then attach its 235 The owner of the `PaintArtifactCompositor` (e.g. `WebView`) can then attach its
236 root layer to the overall layer hierarchy to be displayed to the user. 236 root layer to the overall layer hierarchy to be displayed to the user.
237
238 ## Geometry routines
239
240 The [`GeometryMapper`](GeometryMapper.h) is responsible for efficiently computin g
241 visual and transformed rects of display items in the coordinate space of ancesto r
242 [`PropertyTreeState`](PropertyTreeState.h)s.
243
244 The transformed rect of a display item in an ancestor `PropertyTreeState` is tha t
245 rect, multiplied by the transforms between the display item's `PropertyTreeState `
246 and the ancestors, then flattened into 2D.
247
248 The visual rect of a display item in an ancestor `PropertyTreeState` is the inte rsection
249 of all of the intermediate clips (transformed in to the ancestor state), with
250 the display item's transformed rect.
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698