Blink286

blink::TransformPaintPropertyNode / ClipPaintPropertyNode / EffectPaintPropertyNode / ScrollPaintPropertyNode


Listen Later

 These are the nodes within those four trees. Every piece of painted content (a “paint chunk”) is associated with a tuple of (Transform, Clip, Effect, Scroll) nodes—its PropertyTreeState. This precisely defines where and how to draw it and enables efficient partial updates. (Chromium Git Repositories)

What they carry (high‑value fields)

  • Transform: a 4×4 matrix, a 3‑D transform origin, and flags like “flattens” (affects 3D→2D projection). (Chromium Git Repositories)

  • Clip: clip rect (possibly rounded), optional clip path, and the associated transform space. (Chromium Git Repositories)

  • Effect: opacity, blend mode, filters, masks—i.e., how content is composited into what’s beneath. (Chromium Git Repositories)

  • Scroll: the scroll translation (and identity info) that ties content to a scroller. (Chromium Git Repositories)

Change tracking Nodes track change types (PaintPropertyChangeType) so we can choose fast paths (e.g., update value without rebuilding topology). (Chromium Git Repositories)

Hands off to: painting/recording with GraphicsContext + PaintController.


...more
View all episodesView all episodes
Download on the App Store

Blink286By Free Debreuil