[ Содержание ] | [ Перечень функций ] |
XSetFillRule(display, gc, fill_rule) Display *display; GC gc; int fill_rule;
АРГУМЕНТЫ
Функция XSetFillRule устанавливает правило определения принадлежности точки к области заполнения для выполнения запроса XFillPolygon. Всего определено два таких правила: EvenOddRule и WindingRule. Для правила EvenOddRule считается, что точка находится внутри области заполнения, если прямой луч, исходящий из точки в бесконечность пересекает замкнутую ломаную линию, описанную при вызове функции XFillPolygon нечетное число раз. Для правила WindingRule точка считается в области заполнения, если исходящий из нее в бесконечность прямой луч пересекает разное количество сегментов полигона, направленных по- и против часовой стрелки. Сегмент считается направленным по часовой стрелке, если он идет слева направо, если смотреть на него от точки, а сегмент, направленный против часовой стрелки считается если он идет справа налево.
Для обоих правил точка рассматривается бесконечно малой, а сегменты полигона бесконечно тонкими. Точка считается находящейся внутри полигона, если ее центр находится внутри полигона. Если центр точки находится на границе полигона, то она считается принадлежащей полигону только в том случае, если внутренняя часть полигона находится непосредственно справа от точки. Точки находящиеся на горизонтальных гранях считаются принадлежащими полигону только в тех случае, если внутренняя часть полигона находится непосредственно снизу.
Функция XSetFillRule может генерировать следующие ошибки:
Cм. также: XChangeGC, XSetSubwindowMode, XSetArcMode, XSetGraphicsExposures, XSetTile, XSetStipple, XSetTSOrigin, XSetLineAttributes, XSetDashes, XSetClipOrigin, XSetClipMask, XSetClipRectangles, XSetFillStyle, XSetForeground, XSetBackground, XSetFont, XSetFunction, XSetPlaneMask, XSetState, XSetRegion.
[ Содержание ] | [ Перечень функций ] |