Наложение, подложение и основные плоскости
В приложениях можно использовать плоскости аппаратного уровня (плоскости наложения и подложки). В Windows форматы пикселей описывают конфигурации пикселей графического устройства. Каждый формат пикселей описывает глубину и другие характеристики main цветовых буферов и описывает дополнительные буферы (например, глубину, накопление, набор элементов и вспомогательный), которые использует плоскость main. Форматы пикселей теперь расширены для включения буферов наложения и подложки.
Плоскости слоев всегда имеют буфер цвета спереди слева, а также могут включать буферы цвета переднего и правого и заднего. Каждая плоскость слоя имеет определенный контекст отрисовки для отрисовки в буферы слоев. Функции рисования GDI нельзя использовать в плоскостях слоев.
Окно управляет буферами цвета плоскостей слоев так же, как оно управляет буферами цвета main плоскости. Одновременно можно отобразить несколько окон с плоскостями перекрытия и (или) подложки. Нельзя иметь свободно плавающие окна наложения, которые могут перемещаться по любому окну в плоскости рисования main. Кроме того, так как это всегда скрывает базовые плоскости в окне, нельзя использовать аппаратные всплывающие плоскости без прозрачного цвета.
С каждой плоскостью слоя в окне связана палитра. Можно задать палитру плоскости слоя цветового индекса, но палитра цветовой плоскости RGBA фиксирована. Вы должны реализовать соответствующую палитру, когда окно находится на переднем плане. Плоскости слоев имеют прозрачный цвет пикселей или индекс, который позволяет отображать все базовые плоскости слоя.
Состояние контекста отрисовки можно скопировать в другой контекст отрисовки в отдельной плоскости слоя. Вы также можете совместно использовать отображаемые списки между контекстами отрисовки в разных плоскостях слоев.
С плоскостями слоев используются следующие функции:
- wglCopyContext
- wglCreateLayerContext
- wglDescribeLayerPlane
- wglGetLayerPaletteEntries
- wglRealizeLayerPalette
- wglSetLayerPaletteEntries
- wglSwapLayerBuffers