PureBasic

SaveVectorState()

Синтаксис

SaveVectorState()

Описание


Сохраняет текущее состояние свойств Векторной графики, для последующего восстановления этого же состояния с помощью RestoreVectorState(). Так можно сохранить несколько состояний (по принципу стека) и восстановить их в обратном порядке (последнее сохранённое состояние восстановится первым, и тд.).

С помощью этой команды сохраняется следующая информация:
- Преобразования координат
- Источник рисования
- Шрифт используемый для рисования
- Область отсечения

Обратите внимание на то, что текущий Векторный контур не сохраняется этой командой.

Параметры

Ничего.

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

Ничего.

Пример

If OpenWindow(0, 0, 0, 400, 200, "VectorDrawing", #PB_Window_SystemMenu | #PB_Window_ScreenCentered)
    CanvasGadget(0, 0, 0, 400, 200)
    LoadFont(0, "Times New Roman", 20, #PB_Font_Bold)

    If StartVectorDrawing(CanvasVectorOutput(0))

        VectorSourceColor(RGBA(255, 0, 0, 255))
        VectorFont(FontID(0))

        MovePathCursor(20, 20)
        DrawVectorText("Normal text")

        ; Изменения, внесенные в состояние свойств Векторной графики в этом блоке, не влияют на другие команды
        SaveVectorState()
        MovePathCursor(120, 160)
        RotateCoordinates(120, 160, -50)
        VectorSourceColor(RGBA(0, 0, 255, 255))
        DrawVectorText("Rotated text")
        RestoreVectorState() ; С этой строки будут восстановлены все настройки и установки для последующих команд.

        MovePathCursor(220, 140)
        DrawVectorText("Normal text")

        StopVectorDrawing()
    EndIf

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

См. также

RestoreVectorState(), BeginVectorLayer()

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

Все

<- RotateCoordinates() - Оглавление VectorDrawing - ScaleCoordinates()->