Überlagerungs-, Unter- und Hauptebenen
Sie können Hardwareebenenebenen (Überlagerungs- und Unterlagerungsebenen) in Ihren Anwendungen verwenden. Mit Windows werden in Pixelformaten die Pixelkonfigurationen eines Grafikgeräts beschrieben. Jedes Pixelformat beschreibt die Tiefe und andere Merkmale der Hauptfarbpuffer und beschreibt zusätzliche Puffer (z. B. Tiefe, Akkumulation, Schablone und Hilfspuffer), die von der Hauptebene verwendet werden. Pixelformate werden jetzt um Überlagerungs- und Unterlagerungspuffer erweitert.
Ebenenebenen verfügen immer über einen Farbpuffer von vorn links und können auch Rechts- und Hintergrundfarbpuffer enthalten. Jede Ebenenebene verfügt über einen bestimmten Renderingkontext, der in die Ebenenpuffer gerendert werden soll. Sie können GDI-Zeichnungsfunktionen nicht in Ebenenebenen verwenden.
Ein Fenster verwaltet die Farbpuffer von Ebenenebenen auf ähnliche Weise wie die Verwaltung von Hauptebenen-Farbpuffern. Sie können mehrere Fenster mit Überlagerungs- und/oder Unterlagerungsebenen gleichzeitig anzeigen. Sie können keine frei schwebenden Überlagerungsfenster verwenden, die sich über ein beliebiges Fenster in der Hauptzeichnungsebene bewegen können. Darüber hinaus können Sie keine Hardware-Popupebenen verwenden, die keine transparente Farbe haben, da die zugrunde liegenden Ebenen in einem Fenster jederzeit verdeckt würden.
Jeder Ebenenebene in einem Fenster ist eine Palette zugeordnet. Sie können die Palette einer Farbindexebenenebene festlegen, aber die Palette einer RGBA-Farbebene ist fest. Sie müssen die entsprechende Palette erkennen, wenn sich ein Fenster im Vordergrund befindet. Ebenenebenen weisen eine transparente Pixelfarbe oder einen transparenten Index auf, mit der alle zugrunde liegenden Ebenenebenen angezeigt werden können.
Sie können den Zustand eines Renderingkontexts in einen anderen Renderingkontext auf einer separaten Ebenenebene kopieren. Sie können Anzeigelisten auch für Renderingkontexte auf verschiedenen Ebenenebenen freigeben.
Die folgenden Funktionen werden mit Ebenenebenen verwendet: