blink::GraphicsContext
Blink28610 Okt 2025

blink::GraphicsContext

immediate drawing API that records to a display list.

Painters for layout objects use GraphicsContext to “draw”—but in modern Blink those calls get recorded into a display list (PaintRecord) backed by Skia commands. This recording is scoped and batched between BeginRecording(...)/EndRecording(). (Chromium Git Repositories)

Key methods (how display items get their pixels)

  • Recording: BeginRecording(const FloatRect&) → sk_sp<PaintRecord> EndRecording() — wraps a run of drawing commands for later replay. (Chromium Git Repositories)

  • Draw ops (representative): DrawRect, DrawImage(...), DrawText(...), BeginLayer/EndLayer — the stuff that becomes Skia ops inside display items. (Chromium Git Repositories)

Important fields

  • cc::PaintCanvas* canvas_ (owned by recorder), PaintRecorder paint_recorder_ — actual recording guts;

  • float device_scale_factor_, state stacks/flags — needed for correct pixel snapping/appearance. (Chromium Git Repositories)

Hands off to: PaintController, which packages these recorded ops into chunks/items.


Avsnitt(404)

Advanced POSIX Shell Scripting Internals and Best Practices

Advanced POSIX Shell Scripting Internals and Best Practices

This guide provides an in-depth look at advanced POSIX shell scripting on Debian-based systems, specifically tailored for those with a C++ background. It explains how the shell manages processes and s...

11 Jan 37min

The LayoutBox Class in Blink’s Layout Engine

The LayoutBox Class in Blink’s Layout Engine

The LayoutBox class is a fundamental C++ component within Chromium’s Blink rendering engine that represents a rectangular CSS box in the layout tree. It serves as the abstract base for most visible we...

10 Jan 1h 6min

Blink Web Tests: Infrastructure and Execution Guide

Blink Web Tests: Infrastructure and Execution Guide

Blink web tests serve as the primary mechanism for validating the rendering behavior of Chrome’s engine by comparing live browser output against established baselines. These tests utilize a specialize...

10 Jan 47min

cc: Damage Calculation for Scroller Content Clips

cc: Damage Calculation for Scroller Content Clips

Chromium’s compositor utilizes property trees to efficiently manage visual elements like clips and transforms during the rendering process. When a user scrolls, the system typically keeps the ClipNode...

10 Jan 37min

POSIX Shell Scripting and Bash Development on Debian

POSIX Shell Scripting and Bash Development on Debian

This guide provides a thorough technical foundation for POSIX shell scripting on Debian, specifically bridging the gap for developers familiar with C++. It details the execution model, explaining how ...

10 Jan 53min

Omniscient Debugging: rr and Pernosco

Omniscient Debugging: rr and Pernosco

The provided text explores the rr and Pernosco debugger systems, which revolutionize software troubleshooting through record-and-replay technology. The open-source rr tool captures Linux application e...

8 Jan 30min

ScrollableArea vs PaintLayerScrollableArea

ScrollableArea vs PaintLayerScrollableArea

The provided text explains the architectural relationship between ScrollableArea and PaintLayerScrollableArea (PLSA) within Blink, the rendering engine for Chromium. ScrollableArea serves as an abstra...

8 Jan 52min

PaintLayerScrollableArea: Blink’s Scrolling Engine

PaintLayerScrollableArea: Blink’s Scrolling Engine

The PaintLayerScrollableArea (PLSA) is a critical internal component within Google’s Blink rendering engine that manages the scrolling mechanics for individual layout elements. It acts as a specialize...

8 Jan 31min

Populärt inom Teknik

uppgang-och-fall
market-makers
elbilsveckan
bilar-med-sladd
rss-elektrikerpodden
skogsforum-podcast
rss-veckans-ai
bosse-bildoktorn-och-hasse-p
rss-laddstationen-med-elbilen-i-sverige
rss-it-sakerhetspodden
natets-morka-sida
bli-saker-podden
garagehang
rss-digitala-influencer-podden
rss-en-ai-till-kaffet
rss-technokratin
developers-mer-an-bara-kod
cyber-chats-chill
rss-powerboat-sverige-podcast
rss-milpodden