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
Все