123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293 |
- import { SGraphItem } from "@saga-web/graph/lib";
- import { SColor, SLine, SPainter, SPoint, SRect } from "@saga-web/draw/lib";
- import { ItemOrder, ItemColor } from '@saga-web/big/lib';
- export class HighlightItem extends SGraphItem {
-
- distance: number = 0;
-
- private type: number = 1;
-
- _point: SPoint = new SPoint();
- get point(): SPoint {
- return this._point;
- }
- set point(v: SPoint) {
- this._point = v;
- this.type = 1;
- this.update();
- }
-
- _line: SLine = new SLine();
- get line(): SLine {
- return this._line;
- }
- set line(v: SLine) {
- this._line = v;
- this.type = 2;
- this.update();
- }
-
- constructor(parent: SGraphItem | null) {
- super(parent);
- this.visible = false;
- this.zOrder = ItemOrder.highLightOrder;
- }
-
- boundingRect(): SRect {
- return new SRect(this.point.x, this.point.y, 10, 10);
- }
-
- onDraw(painter: SPainter): void {
- if (this.type == 2) {
- painter.pen.color = ItemColor.highLightLineColor;
- painter.pen.lineWidth = painter.toPx(6);
- painter.drawLine(this.line);
- }
- painter.pen.color = SColor.Transparent;
- painter.brush.color = ItemColor.highLightPointColor;
- painter.drawCircle(this.point.x, this.point.y, painter.toPx(5));
- }
- }
|