PureBasic

FillPath()

Синтаксис

FillPath([Flags])

Описание


Заполняет все внутренние области замкнутых фигур текущего Векторного контура, используя для этого выбранный источник рисования (цвет, градиент и тд.).

По умолчанию, после вызова этой функции, текущий Векторный контур будет сброшен. Это поведение можно изменить с помощью соответствующих флагов.

Параметры

Flags (дополн.) Может быть комбинацией следующих значений:
#PB_Path_Default     : Без специальных опций (по умолчанию).
#PB_Path_Preserve    : Не сбрасывать текущий Векторный контур после вызова этой функции.
#PB_Path_Winding     : Заполнить весь Векторный контур, включая перекрывающиеся фигуры (без нечетного/четного режима).

Возвращаемое значение

Ничего.

Комментарии

Если заполняемый Векторный контур имеет перекрывающиеся фигуры, заполнение выполняется в нечётной / чётной последовательности, если не указан флаг #PB_Path_Winding. Области, заключенные в нечетное число границ, заполняются, а области, заключенные в четное количество границ, не заполняются. То есть, все с внешней границей заполнено, а наложенная фигура не заполнена. Если налагаемая фигура снова содержит другую фигуру, эта третья фигура будет снова заполнена и так далее. Будет выглядеть, как показано Здесь:

Пример

If OpenWindow(0, 0, 0, 400, 200, "VectorDrawing", #PB_Window_SystemMenu | #PB_Window_ScreenCentered)
    CanvasGadget(0, 0, 0, 400, 200)

    If StartVectorDrawing(CanvasVectorOutput(0))

        AddPathBox(50, 50, 200, 50)
        AddPathBox(150, 75, 200, 50)
        VectorSourceColor(RGBA(0, 0, 255, 255))
        FillPath()

        StopVectorDrawing()
    EndIf

    Repeat
        Event = WaitWindowEvent()
    Until Event = #PB_Event_CloseWindow
EndIf

См. также

StrokePath(), DotPath(), DashPath(), CustomDashPath(), ResetPath(), ClipPath()

Поддерживаемые OS

Все

<- EndVectorLayer() - Оглавление VectorDrawing - FillVectorOutput()->