medsurf-draw
Version:
Draw annotations on jpg/zoomify images, based on PIXI.js
252 lines (251 loc) • 13.1 kB
TypeScript
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>);
}