UNPKG

@plait/draw

Version:

Implementation of the core logic of the flowchart drawing tool plugin.

114 lines (113 loc) 3.65 kB
import { PlaitElement, Point } from '@plait/core'; import { DrawTextInfo } from '../generators/text.generator'; import { ParagraphElement, StrokeStyle } from '@plait/common'; export declare enum BasicShapes { rectangle = "rectangle", ellipse = "ellipse", diamond = "diamond", roundRectangle = "roundRectangle", parallelogram = "parallelogram", text = "text", triangle = "triangle", leftArrow = "leftArrow", trapezoid = "trapezoid", rightArrow = "rightArrow", cross = "cross", star = "star", pentagon = "pentagon", hexagon = "hexagon", octagon = "octagon", pentagonArrow = "pentagonArrow", processArrow = "processArrow", twoWayArrow = "twoWayArrow", comment = "comment", roundComment = "roundComment", cloud = "cloud" } export declare enum FlowchartSymbols { process = "process", decision = "decision", data = "data", connector = "connector", terminal = "terminal", manualInput = "manualInput", preparation = "preparation", manualLoop = "manualLoop", merge = "merge", delay = "delay", storedData = "storedData", or = "or", summingJunction = "summingJunction", predefinedProcess = "predefinedProcess", offPage = "offPage", document = "document", multiDocument = "multiDocument", database = "database", hardDisk = "hardDisk", internalStorage = "internalStorage", noteCurlyRight = "noteCurlyRight", noteCurlyLeft = "noteCurlyLeft", noteSquare = "noteSquare", display = "display" } export declare enum UMLSymbols { actor = "actor", useCase = "useCase", container = "container", note = "note", simpleClass = "simpleClass", activityClass = "activityClass", branchMerge = "branchMerge", port = "port", package = "package", combinedFragment = "combinedFragment", class = "class", interface = "interface", object = "object", component = "component", componentBox = "componentBox", template = "template", activation = "activation", deletion = "deletion", assembly = "assembly", providedInterface = "providedInterface", requiredInterface = "requiredInterface" } export declare enum GeometryCommonTextKeys { name = "name", content = "content" } export type GeometryShapes = BasicShapes | FlowchartSymbols | UMLSymbols; export type SwimlaneDirection = 'horizontal' | 'vertical'; export interface PlaitBaseGeometry<T extends string = 'geometry', P extends Point[] = [Point, Point], S extends string = GeometryShapes> extends PlaitElement { type: T; points: P; shape: S; } export interface PlaitCommonGeometry<T extends string = 'geometry', P extends Point[] = [Point, Point], S extends string = GeometryShapes> extends PlaitBaseGeometry<T, P, S> { fill?: string; strokeColor?: string; strokeWidth?: number; strokeStyle?: StrokeStyle; angle?: number; opacity?: number; } export interface PlaitCustomGeometry<T extends string = string, P extends Point[] = Point[], S extends string = string> extends PlaitBaseGeometry<T, P, S> { } export interface PlaitMultipleTextGeometry extends PlaitCommonGeometry { texts: DrawTextInfo[]; } export interface PlaitGeometry extends PlaitCommonGeometry { text?: ParagraphElement; textHeight?: number; } export interface PlaitRectangle extends PlaitGeometry { shape: BasicShapes.rectangle; } export interface PlaitEllipse extends PlaitGeometry { shape: BasicShapes.ellipse; } export interface PlaitDiamond extends PlaitGeometry { shape: BasicShapes.diamond; } export declare const PlaitGeometry: {};