|
@@ -14,6 +14,7 @@ import { addCircle } from "./Controls/AddCircle";
|
|
|
import { addText } from "./Controls/AddText";
|
|
|
import { addSVG } from "./Controls/AddSVG";
|
|
|
import { moveRoad } from "./Controls/MoveRoad";
|
|
|
+import { moveLine } from "./Controls/MoveLine";
|
|
|
import { coordinate } from "./Coordinate";
|
|
|
import Render from "./Renderer/Render";
|
|
|
import { draw } from "./Renderer/Draw";
|
|
@@ -101,17 +102,12 @@ export default class Layer {
|
|
|
return;
|
|
|
}
|
|
|
this.dragging = false;
|
|
|
+ //用于支持平板电脑
|
|
|
+ listenLayer.start(position);
|
|
|
this.setEventName("mouseDown");
|
|
|
const selectItem = stateService.getSelectItem();
|
|
|
const eventName = stateService.getEventName();
|
|
|
switch (eventName) {
|
|
|
- //用于支持平板电脑
|
|
|
- case null:
|
|
|
- needAutoRedraw = listenLayer.start(position);
|
|
|
- stateService.getSelectItem();
|
|
|
- if (needAutoRedraw) {
|
|
|
- this.renderer.autoRedraw();
|
|
|
- }
|
|
|
case LayerEvents.AddRoad:
|
|
|
stateService.setEventName(LayerEvents.AddingRoad);
|
|
|
addRoad.setNewRoadPoint("start", position);
|
|
@@ -130,7 +126,7 @@ export default class Layer {
|
|
|
break;
|
|
|
case LayerEvents.AddText:
|
|
|
stateService.setEventName(LayerEvents.MoveText);
|
|
|
- addText.buildText();
|
|
|
+ addText.buildText(position);
|
|
|
stateService.setSelectItem(
|
|
|
addText.newText.vectorId,
|
|
|
VectorType.Text,
|
|
@@ -139,7 +135,7 @@ export default class Layer {
|
|
|
break;
|
|
|
case LayerEvents.AddSVG:
|
|
|
stateService.setEventName(LayerEvents.MoveSVG);
|
|
|
- addSVG.buildSVG();
|
|
|
+ addSVG.buildSVG(position);
|
|
|
stateService.setSelectItem(
|
|
|
addSVG.newSVG.vectorId,
|
|
|
VectorType.SVG,
|
|
@@ -476,6 +472,35 @@ export default class Layer {
|
|
|
}
|
|
|
needAutoRedraw = true;
|
|
|
break;
|
|
|
+ case LayerEvents.MoveLine:
|
|
|
+ if (draggingItem != null) {
|
|
|
+ moveLine.moveLine(
|
|
|
+ draggingItem.vectorId,
|
|
|
+ (dx * coordinate.defaultZoom) / coordinate.zoom,
|
|
|
+ (dy * coordinate.defaultZoom) / coordinate.zoom
|
|
|
+ );
|
|
|
+ needAutoRedraw = true;
|
|
|
+ }
|
|
|
+ this.lastX = X;
|
|
|
+ this.lastY = Y;
|
|
|
+ break;
|
|
|
+ case LayerEvents.MovePoint:
|
|
|
+ if (draggingItem != null) {
|
|
|
+ point = dataService.getPoint(draggingItem.vectorId);
|
|
|
+ listenLayer.start(position, {
|
|
|
+ exceptPointId: draggingItem.vectorId,
|
|
|
+ exceptLineId: point.parent,
|
|
|
+ });
|
|
|
+ if (listenLayer.modifyPoint) {
|
|
|
+ position = {
|
|
|
+ x: listenLayer.modifyPoint.x,
|
|
|
+ y: listenLayer.modifyPoint.y,
|
|
|
+ };
|
|
|
+ }
|
|
|
+ moveLine.movePoint(position, draggingItem.vectorId);
|
|
|
+ needAutoRedraw = true;
|
|
|
+ }
|
|
|
+ break;
|
|
|
case LayerEvents.MoveText:
|
|
|
needAutoRedraw = true;
|
|
|
if (draggingItem != null) {
|
|
@@ -655,6 +680,14 @@ export default class Layer {
|
|
|
needAutoRedraw = true;
|
|
|
this.history.save();
|
|
|
break;
|
|
|
+ case LayerEvents.MoveLine:
|
|
|
+ needAutoRedraw = true;
|
|
|
+ this.history.save();
|
|
|
+ break;
|
|
|
+ case LayerEvents.MovePoint:
|
|
|
+ needAutoRedraw = true;
|
|
|
+ this.history.save();
|
|
|
+ break;
|
|
|
}
|
|
|
|
|
|
this.setEventName("mouseUp");
|
|
@@ -880,6 +913,8 @@ export default class Layer {
|
|
|
stateService.setEventName(LayerEvents.MoveEdge);
|
|
|
} else if (selectItem.type == VectorType.CurveRoadEdge) {
|
|
|
stateService.setEventName(LayerEvents.MoveCurveEdge);
|
|
|
+ } else if (selectItem.type == VectorType.Point) {
|
|
|
+ stateService.setEventName(LayerEvents.MovePoint);
|
|
|
} else if (selectItem.type == VectorType.Line) {
|
|
|
stateService.setEventName(LayerEvents.MoveLine);
|
|
|
} else if (selectItem.type == VectorType.CurveLine) {
|