Vega.Canvas — Software-Rasterizer auf einem BGRA-Puffer
Die Schicht, die „auf allen Systemen gleich aussehen“ einlöst: jedes Pixel entsteht hier, nicht im Betriebssystem. Das Backend bekommt am Ende nur den fertigen Puffer. Zwei Mechanismen tragen das gesamte Zeichnen — Origin (Controls zeichnen in lokalen Koordinaten) und der Clip-Stapel (ein Kind malt nie über den Rand des Elternteils hinaus).
Quelldatei: Vega/Canvas.lyx
→ Alle Units · Alle Steuerelemente · Vega VCL
Klassen
| Klasse | Basis | Zweck |
|---|---|---|
TCanvas | — | Zeichenfläche: Linien, Flächen, Text, Bilder, Clip und Ursprung |
Konstanten
| Name | Typ | Wert | Bedeutung |
|---|---|---|---|
VEGA_CLIP_DEPTH | int64 | 32 | Wie tief der Clip-Stapel geschachtelt werden darf |
Freie Funktionen
| Signatur | Zweck |
|---|---|
NewCanvas(): TCanvas | Erzeugt eine leere Zeichenfläche |
Zu beachten
- Koordinaten sind lokal: (0,0) ist die linke obere Ecke des zeichnenden Controls. Den Versatz besorgt
Origin, gesetzt vom Zeichendurchlauf. - Der Clip-Stapel arbeitet nach dem Schachtelprinzip — jedes
PushClipmuss seinPopClipbekommen, sonst schneidet der nächste Zweig falsch. - Der Puffer ist BGRA, 32 Bit je Pixel — dieselbe Anordnung wie in TBitmap, deshalb kostet
DrawTokein Umsortieren.
Abhängigkeiten
Importiert: Vega.Types, Vega.Mem
Wird importiert von: Vega.Actions, Vega.Calendar, Vega.Chrome, Vega.ColorCtrls, Vega.ColorDlg, Vega.Control, Vega.DateTimePicker, Vega.Dialogs, Vega.EditBtn, Vega.Edits, Vega.ExtCtrls, Vega.Extras, Vega.FileDlg, Vega.Font, Vega.FontDlg, Vega.Forms, Vega.Grids, Vega.Hints, Vega.Images, Vega.Layout, Vega.LfmClasses, Vega.LfmLoad, Vega.LfmSave, Vega.ListCtrls, Vega.ListView, Vega.MaskEdit, Vega.Menus, Vega.Picture, Vega.StdCtrls, Vega.Trees, Vega.ValueList
Letzte Aktualisierung: 2026-08-20 — Klassen, Aufzählungen, Konstanten und freie Funktionen maschinell aus Vega/Canvas.lyx erhoben.
