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

XSetDashes - установка размеров штрихов пунктирных линий в графическом контексте

СИНТАКСИС
    XSetDashes(display, gc, dash_offset, dash_list, n)
	Display *display;
	GC gc;
	int dash_offset;
	char dash_list[];
	int n;

АРГУМЕНТЫ

ОПИСАНИЕ

     Функция XSetDashes устанавлиает в графическом контексте gc информацию о размерах штрихов пунктирных линий (стили линий LineOnOffDash, LineDoubleDash).

     Каждый элемент в списке dash_list отражает размер штриха линии. Нулевой размер штриха недопустим. Указание нулевого размера приведет к появлению ошибки BadValue. Нулевой элемент списка и последующие четные элементы отражают размеры соответствующих четных штрихов, а первый и последующие нечетные - размеры нечетных штрихов.

     В списке должен присутствовать хотя бы один элемент, иначе появится ошибка BadValue. Также подразумевается, что в обычной ситуации количество элементов в списке должно быть четным. Если в списке нечетное количество элементов, то результат будет выглядеть как сложение списка самого с собой для получения четного количества элементов.

     Аргумент dash_offset задает начальную фазу последовательности штриховки. Он указывает количество точек, которые необходимо отрисовать до начала штриховки для каждого отдельного запроса отрисовки линий. Цикл штриховки продолжается в течении всего графического запроса, проходя по объединённым линиям. Возврат к dash_offset произойдёт в начале следующего графического запроса.

     Единица размера штриха линии является единицой измерения обычной системы координат. В идеале, длина должна измеряться вдоль самой линии, однако, требуется сохранять это правило лишь для вертикальных и горизонтальных линий. Из-за сложности расчета идеальной длины штрихов предложили упрощенный вариант: рассчитывать длину вдоль наиболее приоритетной оси координат. Приоритетной осью считается ось x, если наклон линии к этой оси находится в пределах от -45 до +45 градусов и от 135 до 225 градусов. Для остальных линий более приоритетной считается ось y.

     Другие параметры линий, такие как ширина (line_width), стиль линий (line_style), стиль отрисовки концов линий (cap_style) и стиль отрисовки места состыковки двух линий (join_style) устанавливаются функцией XSetLineAttributes.

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

Cм. также: XChangeGC, XSetSubwindowMode, XSetArcMode, XSetGraphicsExposures, XSetTile, XSetStipple, XSetTSOrigin, XSetLineAttributes, XSetClipOrigin, XSetClipMask, XSetClipRectangles, XSetFillStyle, XSetFillRule, XSetForeground, XSetBackground, XSetFont, XSetFunction, XSetPlaneMask, XSetState, XSetRegion.


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