PureBasic

CustomDashPath()

Синтаксис

CustomDashPath(Width.d , Array.d() [, Flags [, StartOffset.d]])

Описание


Обводит текущий Векторный контур Шаблонным пунктиром, согласно шаблону заданному в массиве Array.d().

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

Параметры

Width.d Определяет ширину Шаблонного пунктира.
Array.d() Массив, значения которого определяют длину каждого штриха и каждого последующего пробела в шаблоне. Массив должен иметь четное количество элементов, в элементах с индексом 0,2,4,6 и тд. хранятся значения длин штрихов, а с индексом 1,3,5,7 и тд. - значения длин пробелов. Когда операция рисования достигает конца массива, шаблон повторяется. Длина штриха 0 считается за одну точку.
Flags (дополн.) Определяет дополнительные характеристики для отрисовки штрихов (тире). Это может быть комбинацией следующих значений:
  #PB_Path_Default       : Без специальных опций (по умолчанию).
  #PB_Path_Preserve      : Не сбрасывать текущий Векторный контур после вызова этой функции.
  #PB_Path_RoundEnd      : Рисует штрихи (тире) с закруглёнными наконечниками.
  #PB_Path_SquareEnd     : Рисует штрихи (тире) с квадратными наконечниками.
  #PB_Path_RoundCorner   : Рисует штрихи (тире) с закругленными углами.
  #PB_Path_DiagonalCorner: Рисует штрихи (тире) с углами срезанными под 45 гр.
StartOffset.d (дополн.) Задаёт Номер пикселя шаблона, с которого начнётся его использование. Отсчёт идёт от 0. Значение по умолчанию 0.

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

Ничего.

Пример

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

    If StartVectorDrawing(CanvasVectorOutput(0))

        MovePathCursor(40, 20)
        For i = 1 To 4
            AddPathLine(80, 0, #PB_Path_Relative)
            AddPathLine(0, 40, #PB_Path_Relative)
        Next i

        VectorSourceColor(RGBA(255, 0, 0, 255))

        Dim dashes.d(7)
        dashes(0) = 20
        dashes(1) = 10
        dashes(2) = 0 ; Нарисует точку
        dashes(3) = 10
        dashes(4) = 0
        dashes(5) = 10
        dashes(6) = 20
        dashes(7) = 10
        CustomDashPath(5, dashes())

        StopVectorDrawing()
    EndIf

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

См. также

FillPath(), StrokePath(), DotPath(), DashPath(), IsInsideStroke(), ResetPath()

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

Все

<- ConvertCoordinateY() - Оглавление VectorDrawing - DashPath()->

��uV�X