Skip to content

feonit/canvas-editor

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

56 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

APP : object

Глобальная область приложения

Kind: global namespace

APP.core : object

Основные компоненты системы

Kind: static namespace of APP

core.CanvasEditor

Kind: static class of core

new APP.core.CanvasEditor(canvas, options)

Канвас редактор

Param Type
canvas HTMLCanvasElement
options Object
options.lineColor string
options.lineWidth number
options.figureType string

canvasEditor.getTotalState()

Метод считывает состояния определенных компонентов системы и подготоваливает данные для последующей инициализации приложения

Kind: instance method of CanvasEditor

core.Point

Kind: static class of core

new APP.core.Point(x, y)

Точка

Param Type
x number
y number

core.Curve

Kind: static class of core

new APP.core.Curve(points)

Кривая линия

Param
points

core.Mediator

Kind: static class of core

new APP.core.Mediator()

Для связи между модулями

core.ObjectsOrder

Kind: static class of core

new APP.core.ObjectsOrder([options])

Класс представляет собой коллекцию объектов в определенной последовательности и предоставляет методы по работе с ней

Param Type Description
[options] Object — опции
options.order Array.<Object> — список идентификаторов объектов

objectsOrder.order

Kind: instance property of ObjectsOrder
Properties

Name Type Description
order Array.<number> Список идентификаторов объектов

core.PixelsMap

Kind: static class of core

new APP.core.PixelsMap(options)

Объект Карта отвечает за информацию по соотношению каждого пикселя из карты к группе слоев накладываемых друг на друга в определенном порядке

Param Type
options Object
options.map Array.<Object>

pixelsMap.map : Object

Карта отображения координаты пикселя в порядок слоев расположенных на нем

Kind: instance property of PixelsMap

core.RegionManager

Kind: static class of core

new APP.core.RegionManager(appInstance, canvas)

Управление объектами на холсте

Param Type
appInstance
canvas HTMLCanvasElement

core.StorageManager

Kind: static class of core
Throw:

new APP.core.StorageManager()

Работа с локальным хранилищем, для сохранения состояния

storageManager.getProperty(propName) ⇒

Kind: instance method of StorageManager
Returns: null || object

Param Type Description
propName String — property name

core.ToolController

Kind: static class of core

new APP.core.ToolController()

Интерфейс для контроллеров

toolController.start()

Включение инструмента

Kind: instance method of ToolController

toolController.stop()

Отключение инструмента

Kind: instance method of ToolController

core.ToolsDriver

Kind: static class of core

new APP.core.ToolsDriver(appInstance, canvas)

Обеспечивает управление инструментами и получение доступа подключаемых инструментов к канвасу

Param Type
appInstance Object
canvas HTMLCanvasElement

core.OffsetHistory

Kind: static class of core

new APP.core.OffsetHistory()

История перемещений

offsetHistory.recordsOffset

Смещение слоя на главноем холсте после транспортировки.

Kind: instance property of OffsetHistory

Param Type
Array.<Array.<number>>

core.DrawToolController

Kind: static class of core

new APP.core.DrawToolController()

Базовое поведение для инструмента рисования

drawToolController.publicNewObject()

Создает новое изображение нарисованной линии и сохраняет

Kind: instance method of DrawToolController

core.MathFn

Kind: static property of core

MathFn.getCircleCoordinates()

Получить список координат для всех точек принадлежащих к окружности с заданным радиусом Функция кеширует результат по радиусу

Kind: static method of MathFn

MathFn.hexToRgb()

Переводит цвет в нужный формат

Kind: static method of MathFn

MathFn.hexToRgba()

Переводит цвет в нужный формат

Kind: static method of MathFn

APP.utils : object

Утилиты, не имеют интерфейсов ввода конфигурационных данных, получают настройки только из глобального конфигуратора приложения, по умолчанию они отключены,

Kind: static namespace of APP

utils.SaveLocalUtilController

Kind: static class of utils

new APP.utils.SaveLocalUtilController()

Автоматическое сохранение состояния приложения локально

utils.SaveServerUtilController

Kind: static class of utils

new APP.utils.SaveServerUtilController()

Автоматическое сохранение состояния приложения на сервер

APP.controllers : object

Контроллеры инструментов, в настоящий момент времени включенным может быть только один из них, поэтому находятся исключительно под управлением APP.core.ToolsDriver

Kind: static namespace of APP

controllers.DraggingToolController

Kind: static class of controllers

new APP.controllers.DraggingToolController()

Контроллер для переноса объектов

controllers.EraserToolController

Kind: static class of controllers

new APP.controllers.EraserToolController()

Контроллер для стерки

controllers.SelectToolController

Kind: static class of controllers

new APP.controllers.SelectToolController()

Контроллер выборки/удаления объектов

controllers.DrawBrokenVectorController

Kind: static class of controllers

new APP.controllers.DrawBrokenVectorController()

Контроллер для рисования ломанной линии

controllers.DrawCurveController

Kind: static class of controllers

new APP.controllers.DrawCurveController()

Контроллер для рисования кривой линии

controllers.DrawSimpleVectorController

Kind: static class of controllers

new APP.controllers.DrawSimpleVectorController()

Контроллер для рисования примитивной фигуры

APP.objects : object

Модели данных графических изображений

Kind: static namespace of APP

objects.LayerAbstract

Kind: static class of objects

new APP.objects.LayerAbstract(options)

Базовый класс слоев

Param Type Description
options Object
options.coordinates Array.<Array.<number>>
options.color Array.<number>
options.coordinatesLine Array.<Array.<number>> — исходные координаты 1-но пиксельной фигуры

layerAbstract.id : number

Уникальный идентификатор объекта

Kind: instance property of LayerAbstract

objects.LayerBackground

Kind: static class of objects

new APP.objects.LayerBackground()

Задний главный слой

LayerBackground.createLayerBackground()

Kind: static method of LayerBackground

objects.LayerObject

Kind: static class of objects

new APP.objects.LayerObject(options)

Объект слоя

Param Type Description
options Object
options.coordinates Array.<Array.<number>>
options.color Array.<number>
options.coordinatesLine Array.<Array.<number>> — исходные координаты 1-но пиксельной фигуры

layerObject.color : Array.<number>

Регион имеет один цвет

Kind: instance property of LayerObject

layerObject.offsetHistory

Смещение слоя на главноем холсте после транспортировки.

Kind: instance property of LayerObject

Param Type
Array.<Array.<number>>

layerObject.getRelationCoordinate(coordinates, offset)

Сгенерировать новый набор оригинальных координат с применением актуального отступа

Kind: instance method of LayerObject

Param Type
coordinates Array.<Array.<number>>
offset Array.<number>

layerObject.activate()

Метод создания подцветки

Kind: instance method of LayerObject

layerObject.deactivate()

Метод удаления подцветки, путем восстановление ранее сохраненной копии оригинального лейаута

Kind: instance method of LayerObject

objects.RasterLayer

Kind: static class of objects

new APP.objects.RasterLayer()

Растровый слой

objects.VectorLayerAbstract

Kind: static class of objects

new APP.objects.VectorLayerAbstract()

Векторный слой

objects.SimpleRaster

Kind: static class of objects

new APP.objects.SimpleRaster()

Класс определяет две контрольные точки

SimpleRaster.createObject(canvas, coordinate) ⇒ RasterLayer

Kind: static method of SimpleRaster
Returns: RasterLayer - объект фигуры

Param Type Description
canvas HTMLCanvasElement — холст
coordinate Array.<number> — координата точки на холсте, откуда начнется поиск объекта

objects.ComplexVectorAbstract

Kind: static class of objects

new APP.objects.ComplexVectorAbstract()

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

complexVectorAbstract.points : Array.<Array.<number>>

Kind: instance property of ComplexVectorAbstract

objects.SimpleVectorAbstract

Kind: static class of objects

new APP.objects.SimpleVectorAbstract()

Класс определяет две контрольные точки

simpleVectorAbstract.x0

type {number}

Kind: instance property of SimpleVectorAbstract

simpleVectorAbstract.y0

type {number}

Kind: instance property of SimpleVectorAbstract

simpleVectorAbstract.x1

type {number}

Kind: instance property of SimpleVectorAbstract

simpleVectorAbstract.y1

type {number}

Kind: instance property of SimpleVectorAbstract

objects.ArrowSimpleVectorAbstract

Kind: static class of objects

new APP.objects.ArrowSimpleVectorAbstract()

Стрелка

objects.EllipseSimpleVectorAbstract

Kind: static class of objects

new APP.objects.EllipseSimpleVectorAbstract()

Овал

objects.LineSimpleVectorAbstract

Kind: static class of objects

new APP.objects.LineSimpleVectorAbstract()

Прямая

objects.RectangleSimpleVectorAbstract

Kind: static class of objects

new APP.objects.RectangleSimpleVectorAbstract()

Прямоугольник

objects.BrokenComplexVectorAbstract

Kind: static class of objects

new APP.objects.BrokenComplexVectorAbstract()

Класс определяет по массиву контрольных точек координаты ломанной линии

objects.CurveComplexVectorAbstract

Kind: static class of objects

new APP.objects.CurveComplexVectorAbstract()

Класс определяет по массиву контрольных точек координаты кривых безье

APP.algorithms : object

Область для сложных вычислений

Kind: static namespace of APP

algorithms.searchPixelsAlgorithm(startX, startY, canvas)

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

Kind: static method of algorithms

Param Type Description
startX number — координата X с которой начинается поиск
startY number — координата Y с которой начинается поиск
canvas HTMLCanvasElement — анализируемый холст