[ Содержание ][ Перечень функций ]

XAllocColorPlanes - выделить несколько цветовых слоёв в цветовой палитре

СИНТАКСИС
    Status XAllocColorPlanes(display, colormap, contig, pixels_return,
			     ncolors, nreds, ngreens, nblues,
			     rmask_return, gmask_return, bmask_return)
	Display *display;
	Colormap colormap;
	Bool contig;
	unsigned long pixels_return[];
	int ncolors;
	int nreds, ngreens, nblues;
	unsigned long *rmask_return, *gmask_return, *bmask_return;

АРГУМЕНТЫ

ОПИСАНИЕ

    Эта функция выделяет память под запрошенное количество ячееек в палитре colormap, распределяя эти ячейки по цветовым плоскостям. Содержимое ячеек не заполняется, а устанавливается лишь атрибут "доступно для записи", что блокирует доступ к этим ячейкам из других программ.

     Количество запрашиваемых индексов ncolors должно быть больше нуля. Количество запрашиваемых цветовых плоскостей nreds, ngreens и nblues должно быть не меньше нуля, иначе появится ошибка BadValue.

    Обращения к разным плоскостям в палитре происходит путем просто указания индекса в палитре (обращение к нулевой плоскости) или логического сложения индекса в палитре и одной или несколькими масками плоскостей.

    Таким образом при выделении ненулевого количества плоскостей, реальное количество выделямых ячеек памяти вычисляется следующим образом: ncolors*2(nreds*ngreens*nblues). Однако среди выделяемых ячеек будет только ncolors*2nreds ячеек, содержащих красный цвет, ncolors*2ngreens ячеек, содержащих зеленый цвет, ncolors*2nbluess ячеек, содержащий синий цвет. Это правило работает даже для визуального класса PseudoColor.

    Когда производится операция по изменению данных цвета по индексу (см. функции XStoreColors, XStoreColor и XStoreNamedColor), то в соответствии с масками происходит преобразование индекса и обновление разных составляющих цветов в разных ячейках палитры.

     Эта функция возвращает ненулевое значение статуса в случае успешного своего выполнения, или нулевое значение, если возникла какая-то проблема.

     Функция XAllocColorPlanes может генерировать следующие ошибки:

См. также: XAllocColorCells, XAllocNamedColor, XAllocColor, XFreeColors, XQueryColor, XStoreColors, XCreateColormap.


[ Содержание ][ Перечень функций ]