|
@@ -0,0 +1,55 @@
|
|
|
+import { SGraphItem } from "@saga-web/graph/lib";
|
|
|
+import { SPainter, SPoint } from "@saga-web/draw/lib";
|
|
|
+import { SMouseEvent } from "@saga-web/base/lib";
|
|
|
+import { ItemColor, ItemOrder } from "..";
|
|
|
+
|
|
|
+
|
|
|
+ * 矩形选择item
|
|
|
+ *
|
|
|
+ * @author 郝建龙
|
|
|
+ */
|
|
|
+export class SRectSelectItem extends SGraphItem {
|
|
|
+
|
|
|
+ startPoint: SPoint = new SPoint();
|
|
|
+
|
|
|
+ endPoint: SPoint = new SPoint();
|
|
|
+
|
|
|
+
|
|
|
+ * 构造函数
|
|
|
+ *
|
|
|
+ * @param parent 指向父对象
|
|
|
+ * @param point 起点数据
|
|
|
+ */
|
|
|
+ constructor(parent: SGraphItem | null, point: SPoint) {
|
|
|
+ super(parent);
|
|
|
+ this.startPoint = point;
|
|
|
+ this.endPoint = new SPoint(point.x, point.y);
|
|
|
+ this.update();
|
|
|
+ this.zOrder = ItemOrder.rectSelectOrder;
|
|
|
+ }
|
|
|
+
|
|
|
+
|
|
|
+ * 鼠标移动事件
|
|
|
+ *
|
|
|
+ * @param event 事件参数
|
|
|
+ * @return boolean
|
|
|
+ */
|
|
|
+ onMouseMove(event: SMouseEvent): boolean {
|
|
|
+ this.endPoint.x = event.x;
|
|
|
+ this.endPoint.y = event.y;
|
|
|
+ this.update();
|
|
|
+ return true;
|
|
|
+ }
|
|
|
+
|
|
|
+
|
|
|
+ * Item绘制操作
|
|
|
+ *
|
|
|
+ * @param painter painter对象
|
|
|
+ */
|
|
|
+ onDraw(painter: SPainter): void {
|
|
|
+ painter.pen.lineWidth = painter.toPx(2);
|
|
|
+ painter.pen.color = ItemColor.rectSelectOutColor;
|
|
|
+ painter.brush.color = ItemColor.rectSelectInColor;
|
|
|
+ painter.drawRect(this.startPoint, this.endPoint);
|
|
|
+ }
|
|
|
+}
|