IsPathEmpty()
Синтаксис
Result = IsPathEmpty()
Описание
Эта функция проверяет, содержит ли текущий Векторный контур какие либо сегменты.
Параметры
Ничего.
Возвращаемое значение
Возвращает не нулевое значение, если текущий Векторный контур пуст, в противном случае 0.
Комментарии
Сегмент Векторного контура, это элемент добавляемый к нему с помощью таких функций как AddPathArc, AddPathBox, AddPathCircle и тд., то есть это линия, прямоугольник, окружность и тд.
После применения различных функций Обводки, Заливки и тд., текущий Векторный контур по умолчанию сбрасывается, и соответственно не будет содержать каких либо сегментов. Это поведение можно изменить с помощью соответствующих флагов этих функций.
Принудительно сбросить текущий Векторный контур можно с помощью функции ResetPath().
Пример
If OpenWindow(0, 0, 0, 400, 200, "VectorDrawing", #PB_Window_SystemMenu | #PB_Window_ScreenCentered) CanvasGadget(0, 0, 0, 400, 200) If StartVectorDrawing(CanvasVectorOutput(0)) ; Эта команда позволяет начать рисование. If IsPathEmpty() ; проверяем отсутствие сегментов Debug "сегментов нет №1" ; здесь их нет. EndIf AddPathCircle(100, 100, 75) ; добавим к контуру окружность, то есть сегмент. If IsPathEmpty() ; снова проверяем отсутствие сегментов Debug "сегментов нет №2" ; здесь уже есть окружность. EndIf VectorSourceColor(RGBA(255, 0, 0, 255)) StrokePath(10, #PB_Path_Preserve) ; обводим контур, но не сбрасываем его! If IsPathEmpty() ; опять проверяем отсутствие сегментов Debug "сегментов нет №3" ; здесь всё ещё есть окружность. EndIf StrokePath(10) ; обводим контур и он будет сброшен! If IsPathEmpty() ; опять проверяем отсутствие сегментов Debug "сегментов нет №4" ; здесь их нет, так как контур сброшен EndIf StopVectorDrawing() EndIf Repeat Event = WaitWindowEvent() Until Event = #PB_Event_CloseWindow EndIf
См. также
ResetPath(), IsInsidePath(), IsInsideStroke()
Поддерживаемые OS
Все