UNPKG

medsurf-draw

Version:

Draw annotations on jpg/zoomify images, based on PIXI.js

252 lines (251 loc) 13.1 kB
import * as PIXI from "pixi.js-legacy"; import * as MedsurfDraw from "../../public-api"; import * as Models from '@ascii-dev-user/medsurf-lib/models'; import { BaseContainer, BaseContainerModel } from "../../bases/elements/BaseContainer"; export declare enum ImageTypes { NORMAL = 0, DEEPZOOM = 1, VIDEO = 2 } export declare class Dimensions { width: number; height: number; tileSize?: number; } export declare class ImageModel extends BaseContainerModel { renderer: PIXI.Renderer | PIXI.AbstractRenderer; canvas: HTMLCanvasElement; loader: PIXI.Loader; dimensions: Dimensions; imageId: string; id: string; url: string; minZoomFactor?: number; maxZoomFactor?: number; } export declare class ControlModel { name: string; displayObjects: PIXI.DisplayObject[]; } export declare class Image extends BaseContainer<ImageModel> { protected _scaleX: number; protected _scaleY: number; private _imageObjectMenu; private _groupingMenu; private _actualWidth; private _actualHeight; private _imageType; private _layerGroups; private _contextInteraction; private _moveInteraction; private _zoomInteraction; protected _debounceUnselectLayerGroupMethod: any; protected _debounceUnselectGroupingMethod: any; protected _wheelMethod: any; protected _selectGroupElement: MedsurfDraw.SelectGroupElement; protected _selectItemElement: MedsurfDraw.SelectItemElement; protected _imageObjectMenuElement: MedsurfDraw.MenuElement; protected _groupingMenuElement: MedsurfDraw.MenuElement; protected _spriteElement: MedsurfDraw.Sprite; protected _clipboardButtonElement: MedsurfDraw.RoundButtonElement; protected _interactiveAreaButtonElement: MedsurfDraw.IndexedRoundButtonElement; protected _polygonButtonElement: MedsurfDraw.RoundSubMenuElement; protected _legendButtonElement: MedsurfDraw.IndexedRoundButtonElement; protected _textButtonElement: MedsurfDraw.RoundSubMenuElement; protected _arrowTextGroupingButtonElement: MedsurfDraw.IndexedRoundButtonElement; protected _arrowButtonElement: MedsurfDraw.RoundSubMenuElement; protected _ellipseInteractiveGroupingButtonElement: MedsurfDraw.IndexedRoundButtonElement; protected _ellipseButtonElement: MedsurfDraw.RoundSubMenuElement; protected _rectangleInteractiveGroupingButtonElement: MedsurfDraw.IndexedRoundButtonElement; protected _rectangleButtonElement: MedsurfDraw.RoundSubMenuElement; protected _arrowMarkerButtonElement: MedsurfDraw.RoundButtonElement; protected _ellipseMarkerButtonElement: MedsurfDraw.RoundButtonElement; protected _interactiveGroupingButtonElement: MedsurfDraw.RoundButtonElement; protected _poiGroupingButtonElement: MedsurfDraw.RoundButtonElement; protected _textGroupingButtonElement: MedsurfDraw.RoundButtonElement; protected _legendGroupingButtonElement: MedsurfDraw.RoundButtonElement; constructor(model: ImageModel, type?: ImageTypes); init(): Promise<void>; draw(): void; destroy(options?: { children?: boolean; texture?: boolean; baseTexture?: boolean; }): void; getImageObjects(): MedsurfDraw.ImageObject[]; getLinesByPositionPoint(point: MedsurfDraw.PositionPoint): MedsurfDraw.Line[]; resetGenerator(): void; getTexture(): PIXI.Texture | string; getMousePosition(): PIXI.IPoint; getGroupImageFromGrouping(grouping: Models.Grouping): Models.GroupImage | undefined; getDisplayObjectsByGrouping(grouping: Models.Grouping): PIXI.DisplayObject[] | undefined; getLayerGroupByImageObject(imageObject: Models.ImageObject): Models.LayerGroup | undefined; getLayerGroupDisplayObjectsByImageObject(imageObject: Models.ImageObject): PIXI.DisplayObject[] | undefined; getLayerGroupDisplayObjectsByLayerGroup(layerGroup: Models.LayerGroup): PIXI.DisplayObject[] | undefined; getLineForElements(start: MedsurfDraw.PositionPoint | MedsurfDraw.FillCollection, end: MedsurfDraw.PositionPoint | MedsurfDraw.FillCollection): MedsurfDraw.Line | undefined; getNavigatorScale(): PIXI.IPoint; protected _fitToScreen(width: number, height: number): Promise<void>; protected _setActualValues(): Promise<void>; protected _modeRemoveInit(): void; protected _modeDefault(): void; protected _removeModeDefault(): void; protected _modeMarker(): void; protected _removeModeMarker(): void; protected _modeSelftest(): void; protected _removeModeSelftest(): void; protected _modeAuthor(): void; protected _removeModeAuthor(): void; protected _modeDrawing(): void; protected _removeModeDrawing(): void; protected _modeChoosing(): void; protected _removeModeChoosing(): void; protected _modeCloning(): void; protected _removeModeCloning(): void; displayMenu(): void; collapseAllMenus(event: PIXI.InteractionEvent): void; onButtonClipboard(): void; onButtonInteractiveArea(): void; onButtonPolygon(): void; onMenuPolygon(event: PIXI.InteractionEvent, visible: boolean): void; onButtonText(): void; onMenuText(event: PIXI.InteractionEvent, visible: boolean): void; onButtonArrowInteractiveGrouping(): void; onButtonArrowPoiGrouping(): void; onButtonArrowTextGrouping(): void; onButtonArrow(): void; onMenuArrow(event: PIXI.InteractionEvent, visible: boolean): void; onButtonEllipseInteractiveGrouping(): void; onButtonEllipsePoiGrouping(): void; onButtonEllipseTextGrouping(): void; onButtonEllipse(): void; onMenuEllipse(event: PIXI.InteractionEvent, visible: boolean): void; onButtonRectangleInteractiveGrouping(): void; onButtonRectanglePoiGrouping(): void; onButtonRectangleTextGrouping(): void; onButtonRectangle(): void; onMenuRectangle(event: PIXI.InteractionEvent, visible: boolean): void; onButtonArrowMarker(): void; onButtonEllipseMarker(): void; onButtonInteractiveGrouping(): void; onButtonPoiGrouping(): void; onButtonTextGrouping(): void; onButtonLegendGrouping(): void; controlHideMenu(): void; controlSetDefaultMode(event: PIXI.InteractionEvent): void; controlUpdateElements(): void; controlSaveColor(color: number | undefined, colorAlpha: number | undefined): void; sendError(e: any): void; unselectGrouping(): void; degroupGroupImageLayerGroups(): void; editImageObjectGrouping(): void; selectLayerGroup(layerGroup: Models.LayerGroup): void; selectLayerGroupByImageObject(imageObject: Models.ImageObject): void; unselectLayerGroup(): void; addLayerGroup(layerGroup: Models.LayerGroup, image: Models.Image): void; addLayerGroupByName(name: string, image: Models.Image): void; copyLayerGroup(layerGroup: Models.LayerGroup): void; clipboardLayerGroup(layerGroup: Models.LayerGroup): void; updateLayerGroup(layerGroup: Models.LayerGroup): void; deleteLayerGroup(layerGroup: Models.LayerGroup): void; degroupLayerGroupImageObject(imageObject: Models.ImageObject): void; selectImageObject(imageObject: Models.ImageObject): void; unselectImageObject(): void; addImageObject(imageObject: Models.ImageObject, layerGroup: Models.LayerGroup, image: Models.Image): void; copyImageObject(imageObject: Models.PositionPoint | Models.Line | Models.FillCollection | Models.LegendCollection): void; clipboardImageObject(imageObject: Models.PositionPoint | Models.Line | Models.FillCollection | Models.LegendCollection): void; editImageObject(imageObject: Models.ImageObject): void; updateImageObject(imageObject: Models.ImageObject): void; deleteImageObject(imageObject: Models.ImageObject): void; selectPrimitive(primitive: Models.ArrowPrimitive | Models.BackgroundRectanglePrimitive | Models.EllipsePrimitive | Models.RectanglePrimitive | Models.TextPrimitive, positionPoint: Models.PositionPoint): void; unselectPrimitive(): void; editPrimitive(primitive: Models.ArrowPrimitive | Models.BackgroundRectanglePrimitive | Models.EllipsePrimitive | Models.RectanglePrimitive | Models.TextPrimitive): void; updatePrimitive(primitive: Models.ArrowPrimitive | Models.BackgroundRectanglePrimitive | Models.EllipsePrimitive | Models.RectanglePrimitive | Models.TextPrimitive): void; deletePrimitive(primitive: Models.ArrowPrimitive | Models.BackgroundRectanglePrimitive | Models.EllipsePrimitive | Models.RectanglePrimitive | Models.TextPrimitive): void; selectLegendColumn(legendColumn: Models.LegendColumn, legend: Models.LegendCollection): void; unselectLegendColumn(): void; editLegendColumn(legendColumn: Models.LegendColumn, legendCollection: Models.LegendCollection): void; updateLegendColumn(legendColumn: Models.LegendColumn): void; deleteLegendColumn(legendColumn: Models.LegendColumn): void; selectLegendRow(legendRow: Models.LegendRow, legendColumn: Models.LegendColumn, legend: Models.LegendCollection): void; unselectLegendRow(): void; editLegendRow(legendRow: Models.LegendRow, legendColumn: Models.LegendColumn, legendCollection: Models.LegendCollection): void; updateLegendRow(legendRow: Models.LegendRow): void; deleteLegendRow(legendRow: Models.LegendRow): void; createPolygon(): void; createFill(): void; createInteractiveArea(): void; createLegend(): void; createText(): void; createArrow(): void; createArrowWithInteractiveGrouping(): void; createArrowWithPoiGrouping(): void; createArrowWithTextGrouping(): void; createEllipse(): void; createEllipseWithInteractiveGrouping(): void; createEllipseWithPoiGrouping(): void; createEllipseWithTextGrouping(): void; createRectangle(): void; createRectangleWithInteractiveGrouping(): void; createRectangleWithPoiGrouping(): void; createRectangleWithTextGrouping(): void; createArrowMarker(): void; createEllipseMarker(): void; createRectangleMarker(): void; cloneFromClipboard(): void; createInteractiveGrouping(layerGroup?: Models.LayerGroup): void; createPoiGrouping(layerGroup?: Models.LayerGroup): void; createTextGrouping(layerGroup?: Models.LayerGroup): void; createLegendGrouping(layerGroup?: Models.LayerGroup): void; externControlSelectImage(): void; externControlSelectGrouping(model: Models.Grouping): boolean; externControlSelectLayerGroup(model: Models.LayerGroup): boolean; externControlSelectImageObject(model: Models.ImageObject): boolean; externControlSelectPrimitive(positionPointModel: Models.PositionPoint, model: Models.ArrowPrimitive | Models.BackgroundRectanglePrimitive | Models.EllipsePrimitive | Models.RectanglePrimitive | Models.TextPrimitive): boolean; externControlSelectLegendColumn(legendCollectionModel: Models.LegendCollection, model: Models.LegendColumn): boolean; externControlSelectLegendRow(legendCollectionModel: Models.LegendCollection, legendColumnModel: Models.LegendColumn, model: Models.LegendRow): boolean; endRight(event: PIXI.InteractionEvent): void; onResize(): Promise<void>; startMove(event: PIXI.InteractionEvent): void; onMove(event: PIXI.InteractionEvent, dX: number, dY: number): void; endMove(event: PIXI.InteractionEvent): void; endMoveLock(event: PIXI.InteractionEvent): void; endMoveMenu(): void; onZoom(event: PIXI.InteractionEvent, x: number, y: number, factor: number): void; get image(): MedsurfDraw.Image | MedsurfDraw.DeepZoomImage; get imageCanvas(): HTMLCanvasElement; get imageScale(): PIXI.IPoint; get imageDimensions(): MedsurfDraw.Dimensions; get renderer(): PIXI.Renderer | PIXI.AbstractRenderer; set renderer(value: PIXI.Renderer | PIXI.AbstractRenderer); get canvas(): HTMLCanvasElement; set canvas(value: HTMLCanvasElement); get loader(): PIXI.Loader; set loader(value: PIXI.Loader); get dimensions(): Dimensions; set dimensions(value: Dimensions); get imageId(): string; set imageId(value: string); get id(): string; set id(value: string); get url(): string; set url(value: string); get minZoomFactor(): number; set minZoomFactor(value: number); get maxZoomFactor(): number; set maxZoomFactor(value: number); get imageObjectMenu(): MedsurfDraw.MenuEntryModel[]; set imageObjectMenu(value: MedsurfDraw.MenuEntryModel[]); get groupingMenu(): MedsurfDraw.MenuEntryModel[]; set groupingMenu(value: MedsurfDraw.MenuEntryModel[]); get actualWidth(): number; get actualHeight(): number; get imageType(): ImageTypes; get layerGroups(): Models.LayerGroup[]; set layerGroups(value: Models.LayerGroup[]); get contextInteraction(): MedsurfDraw.ContextInteraction<Image>; set contextInteraction(value: MedsurfDraw.ContextInteraction<Image>); get moveInteraction(): MedsurfDraw.MoveInteraction<Image>; set moveInteraction(value: MedsurfDraw.MoveInteraction<Image>); get zoomInteraction(): MedsurfDraw.ZoomInteraction<Image>; set zoomInteraction(value: MedsurfDraw.ZoomInteraction<Image>); }