Bezeichnung
ccontext:PushGroup -- Leitet auf eine Gruppe um
Übersicht
ccontext:PushGroup()
Beschreibung
Leitet die Zeichnung vorübergehend auf eine Zwischenoberfläche um, die als Gruppe bezeichnet wird. Die Umleitung dauert so lange, bis die Gruppe durch einen Aufruf von ccontext:PopGroup() oder ccontext:PopGroupToSource() abgeschlossen ist. Diese Aufrufe stellen der Gruppe das Ergebnis jeder Zeichnung als Muster bereit (entweder als explizites Objekt oder als Quellmuster festgelegt).

Diese Gruppenfunktionalität kann für die Durchführung von Zwischenkompositionen praktisch sein. Eine häufige Verwendung einer Gruppe besteht darin, Objekte innerhalb der Gruppe undurchsichtig darzustellen (so dass sie sich gegenseitig verdecken) und das Ergebnis dann durchscheinend auf das Ziel zu übertragen.

Gruppen können beliebig tief verschachtelt werden, indem ausgewogene Aufrufe an ccontext:PushGroup() / ccontext:PopGroup() durchgeführt werden. Bei jedem Aufruf wird die neue Zielgruppe auf bzw. von einem Stapel verschoben bzw. entfernt.

Die Funktion ccontext:PushGroup() ruft ccontext:Save() auf, sodass Änderungen am Grafikstatus außerhalb der Gruppe nicht sichtbar sind. Die pop_group-Funktionen rufen ccontext:Restore() auf.

Standardmäßig hat die Zwischengruppe den Inhaltstyp #CAIRO_CONTENT_COLOR_ALPHA. Andere Inhaltstypen können für die Gruppe ausgewählt werden, indem stattdessen ccontext:PushGroupWithContent() verwendet wird.

Als Beispiel sehen Sie hier, wie man einen Pfad mit Transluzenz füllen und streichen könnte, ohne dass jedoch ein Teil der Füllung unter dem Strich sichtbar wäre:

 
cr:PushGroup()
cr:SetSource(fill_pattern)
cr:FillPreserve()
cr:SetSource(stroke_pattern)
cr:Stroke()
cr:PopGroupToSource()
cr:PaintWithAlpha(alpha)

Eingaben
Keine


Navigation zeigen