Точка входа. Создает экземпляр движка.

После инициализации, нужно создать сцену

const scene = eulerEngine.addScene()

и установить ее текущей

 eulerEngine.setCurrentScene(scene.pageName)

Hierarchy

Constructors

  • Parameters

    Returns EulerGraph

    dom.container - div, в который будет встроен элемент с канвасами

    dom.drawCanvas Основной канвас

    dom.interactiveCanvas Динамический канвас. для отрисовки выделения, манипуляций и т.п.

    dom.overlayCanvas канвас для отрисовки общих эффектов

    dom.gridCanvas канвас для отрисовки листов и сетки

Properties

canvas: null | HTMLCanvasElement

Основной канвас, на котором происходит отрисовка всей сцены

canvasControls: CanvasControls

События мыши и тач, переводятся в пространство схемы

coordsLabel: CoordsLabel
ctx: null | CanvasRenderingContext2D

Основной контекст рисования, на котором происходит отрисовка всей сцены

customCursor: CustomCursor
debouncedDraw: DebouncedFuncLeading<((renderOptions?: RenderOptions) => void)> = ...

Основная функция отрисовки debounce с нулевой задержкой, то есть по сути setTimeout

draggingControl: null | Control = null
dynamicCtx: null | CanvasRenderingContext2D

Контекст рисования, на котором проихсодит отрисовка динамических элементов при редактировании

elementsLib: Record<string, unknown> = {}

Зарегистрированные элементы. Если элемент не зарегистрирован, то при распаковке из JSON он будет обычным Cell и потеряет все свои дополнительные свойства и методы

gridCanvas: null | HTMLCanvasElement

Самый нижний канвас, используется для отрисовки сетки

interactiveCanvas: null | HTMLCanvasElement

Канвас, на котором проихсодит отрисовка динамических элементов при редактировании

isDragging: boolean = false

Флаг, указывающий, что в данный момент какой-то элемент перемещают

keyboardService: KeyboardService
overlayCanvas: null | HTMLCanvasElement

Верхний канвас, который может использоваться для отрисовки каких-то эффектов поверх всей сцены

projectsManager: ProjectsManager

Открытие и управление проектами

scheduleRender: DebouncedFuncLeading<((renderOptions?: RenderOptions) => void)> = ...
settings: SystemSettings = ...
skiaWasmService: SkiaWasmService

Сервис по работе с библиотекой skia. Используется как вспомогательная тулза

snapPoint: null | CellIntersection = null

Точка привязки

prefixed: string | boolean

Accessors

  • get appState(): AppState
  • Returns AppState

  • get currentScene(): null | Scene2D
  • Returns null | Scene2D

  • get interactive(): boolean
  • Returns boolean

  • set interactive(interactive): void
  • Если установить в false, канвас не будет реагировать на события мыши

    Parameters

    • interactive: boolean

    Returns void

  • get mode(): Mode
  • Returns Mode

  • set mode(mode): void
  • Parameters

    Returns void

  • get version(): string
  • Версия файла, которая поддерживается данной версией движка

    Returns string

Methods

  • Type Parameters

    Parameters

    Returns this

  • Parameters

    • OptionalprojectName: string

    Returns void

  • Добавление сцены (листа)

    Parameters

    • options: {
          scene?: Scene2D;
          sceneParams?: SceneParams;
          silent?: boolean;
      } = {}
      • Optionalscene?: Scene2D
      • OptionalsceneParams?: SceneParams
      • Optionalsilent?: boolean

    Returns Scene2D

  • Parameters

    Returns void

  • Returns void

  • Returns void

  • Returns void

  • Returns void

  • Полное отключение и удаление сервисов, при этом вызывается их dispose() и они могут быть далее использованы. Чтобы временно отключить сервис используйте EulerGraph.disableServicesInteractive

    Parameters

    • services: (
          | "Charts"
          | "CopyPasteService"
          | "DrawService"
          | "Editor"
          | "Effects"
          | "ExportService"
          | "ExtPluginsManager"
          | "ImportService"
          | "LayersManager"
          | "Layout"
          | "PrintPreview"
          | "SaveService"
          | "SnapService"
          | "Stencil"
          | "TextEditor"
          | "ThemeService"
          | "TableEditService"
          | "CommandManager"
          | "AnimationService")[]

    Returns void

  • Делает все сервисы неактивными (в основном отключает подписки на события), за исключением переданных

    Parameters

    • except: (
          | "Charts"
          | "CopyPasteService"
          | "DrawService"
          | "Editor"
          | "Effects"
          | "ExportService"
          | "ExtPluginsManager"
          | "ImportService"
          | "LayersManager"
          | "Layout"
          | "PrintPreview"
          | "SaveService"
          | "SnapService"
          | "Stencil"
          | "TextEditor"
          | "ThemeService"
          | "TableEditService"
          | "CommandManager"
          | "AnimationService")[] = []

    Returns void

  • Очистка ресурсов

    Returns void

  • Calls each of the listeners registered for a given event.

    Type Parameters

    Parameters

    Returns boolean

  • Инициализация сервисов, поставляемых вместе с движком. Список поддерживаемых сервисов можно получить getActiveServices()

    Parameters

    Returns void

  • Делает сервисы активными (в основном включает подписки на события), за исключением переданных.

    Parameters

    • except: (
          | "Charts"
          | "CopyPasteService"
          | "DrawService"
          | "Editor"
          | "Effects"
          | "ExportService"
          | "ExtPluginsManager"
          | "ImportService"
          | "LayersManager"
          | "Layout"
          | "PrintPreview"
          | "SaveService"
          | "SnapService"
          | "Stencil"
          | "TextEditor"
          | "ThemeService"
          | "TableEditService"
          | "CommandManager"
          | "AnimationService")[] = []

    Returns void

  • Return an array listing the events for which the emitter has registered listeners.

    Returns (keyof EngineEvents)[]

  • Вписывает лист во вьюпорт по высоте листа

    Parameters

    • animationTime: number = ...

      количество итераций анимации

    Returns void

    void

  • Вписывает лист во вьюпорт по размеру листа по наибольшей стороне

    Parameters

    • animationTime: number = ...

      количество итераций анимации

    Returns void

    void

  • Вписывает лист во вьюпорт по bbоx всех ячеек

    Parameters

    • animationTime: number = ...

      количество итераций анимации

    Returns void

    void

  • Вписывает лист во вьюпорт по ширине листа

    Parameters

    • animationTime: number = ...

      количество итераций анимации

    Returns void

    void

  • Вписывает выделение во вьюпорт

    Parameters

    • animationTime: number = ...

      количество итераций анимации

    Returns void

  • Returns (
        | "Charts"
        | "CopyPasteService"
        | "DrawService"
        | "Editor"
        | "Effects"
        | "ExportService"
        | "ExtPluginsManager"
        | "ImportService"
        | "LayersManager"
        | "Layout"
        | "PrintPreview"
        | "SaveService"
        | "SnapService"
        | "Stencil"
        | "TextEditor"
        | "ThemeService"
        | "TableEditService"
        | "CommandManager"
        | "AnimationService")[]

  • Parameters

    • id: string

    Returns undefined | Cell | Link

  • Returns (Cell | Link)[]

  • zoom текущей сцены

    Returns number

  • Returns boolean

  • Parameters

    • id: string

    Returns boolean

  • Return the number of listeners listening to a given event.

    Parameters

    Returns number

  • Return the listeners registered for a given event.

    Type Parameters

    Parameters

    • event: T

    Returns ((...args: ArgumentMap<EngineEvents>[Extract<T, keyof EngineEvents>]) => void)[]

  • Parameters

    Returns void

  • Смещает вид так, что выделение становится посередине вида. Зум при этом не меняется

    Parameters

    • animationTime: number = ...

    Returns void

  • Type Parameters

    Parameters

    Returns this

  • Add a listener for a given event.

    Type Parameters

    Parameters

    Returns this

  • Add a one-time listener for a given event.

    Type Parameters

    Parameters

    Returns this

  • Parameters

    • fileContent: string | Record<string, any>

    Returns void

  • Returns void

  • При добавлении новых шейпов необходимо их зарегистрировать в движке. Можно это сделать автоматически методом EulerGraph.registerElementsLib

    Parameters

    • elem: unknown

    Returns void

  • При добавлении новых шейпов необходимо их зарегистрировать в движке Для этого в \engine\features\Stencil\shapes нужно правильно прописывать экспорты, либо вручную методом EulerGraph.registerElement

    Returns void

  • Remove all listeners, or those of the specified event.

    Parameters

    • Optionalevent: keyof EngineEvents

    Returns this

  • Parameters

    Returns void

  • Remove the listeners of a given event.

    Type Parameters

    Parameters

    Returns this

  • Parameters

    • projectName: string

    Returns void

  • Parameters

    Returns void

  • Parameters

    Returns void

  • Инициализация активного текстового контекста для UI.

    Parameters

    Returns void

  • Parameters

    • theme: CanvasTheme

    Returns void

  • Parameters

    • projectName: string

    Returns void

  • Установить текущую сцену. Нужно устанавливать вручную при загрузке.

    Parameters

    • pageName: string

    Returns void

  • Parameters

    • smallGridColor: string
    • lineColor: string

    Returns void

  • Parameters

    Returns void

  • Устанавливает размеры канвасов по реальным размерам

    Parameters

    • Optionalscaler: number

    Returns void

  • Parameters

    Returns void

  • Parameters

    Returns void

  • Parameters

    Returns void

  • Parameters

    Returns void

  • Смещает вид так, что объект становится посередине вида. Зум при этом не меняется

    Parameters

    • cell: Rect | Cell | Link
    • animationTime: number = ...

      количество итераций анимации

    Returns void