devexpress-diagram
Version:
DevExpress Diagram Control
35 lines (31 loc) • 1.08 kB
text/typescript
import { EventDispatcher } from "../../Utils";
import { Rectangle } from "@devexpress/utils/lib/geometry/rectangle";
import { IVisualizersListener } from "../EventManager";
import { ItemKey } from "../../Model/DiagramItem";
export abstract class TargetVisualizerBase {
protected key: ItemKey;
protected targetRect: Rectangle;
protected targetStrokeWidth: number;
constructor(protected dispatcher: EventDispatcher<IVisualizersListener>) {}
getKey() {
return this.key;
}
setTargetRect(key: ItemKey, targetRect: Rectangle, targetStrokeWidth: number) {
if(this.key !== key) {
this.key = key;
this.targetRect = targetRect;
this.targetStrokeWidth = targetStrokeWidth;
this.raiseShow();
}
}
reset() {
if(this.key !== "-1") {
this.key = "-1";
this.targetRect = undefined;
this.targetStrokeWidth = 0;
this.raiseHide();
}
}
abstract raiseShow();
abstract raiseHide();
}