Хотя они могут быть идентичными в реализации (см. grep root_depth /usr/include/X11/Xlib.h
), между "глубиной" и "плоскостями" есть семантическая разница,
Глубина окна или растрового изображения - это количество бит на пиксель.
есть. Глубина графического контекста - это глубина прорисовки
может использоваться вместе с графическим выходом.
Когда растровое изображение или окно рассматривается как стек [1-битных] растровых изображений, каждое
Растровое изображение называется плоскостью или битовой плоскостью.
(из https://www.x.org/releases/X11R7.7/doc/xproto/x11protocol.html)
И я думаю, именно поэтому они предоставили отдельные интерфейсы.
Копаясь в истории X11,
https://www.hpl.hp.com/techreports/Compaq-DEC/CRL-90-8.pdf
Так как доступное хранилище памяти для окна может быть очень
драгоценный, особенно на глубоком дисплее, есть также окно
атрибуты, которые сообщают серверу, какие плоскости экрана должны
сохранить в резервном хранилище вместе с базой значений пикселей, чтобы
окно может быть заново сгенерировано при экспонировании.
https://www.student.cs.uwaterloo.ca/~cs349/f18/resources/X/TheXWindowSystem.pdf
Оверлейная графика может быть нарисована путем ограничения вывода (см. Следующий
сечение) в единственную битовую плоскость, указанную в маске, возвращаемой
распределение цвета. Включение битов в этой плоскости (в l) изменяет
изображение до пятого цвета, и отключение их превращает изображение в
его первоначальный цвет.
Некоторые функции Xlib, например, XCopyPlane
, работают с одним
самолет. Если бы я работал с самолетами и хотел знать, сколько самолетов мне приходилось работать, было бы более разумно звонить XDisplayPlanes()
, чем XDefaultDepth()
.