-
Notifications
You must be signed in to change notification settings - Fork 1
/
ConvertPointTool.js
47 lines (31 loc) · 1.18 KB
/
ConvertPointTool.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
$.SE.Tool.ConvertPointTool = (function () {
var Field = $.SE.Field;
return {
init: function () {
$("g.ui-suit.selected rect.anchorpoint").on("mousedown.convert_point_tool", function (evt) {
var anchor = $(this).data("wrapper"),
pos = Field.getOffsetFromSVG(evt.pageX, evt.pageY);
anchor.seg1.cp2.sleep();
anchor.seg2.cp1.sleep();
Field.$svg.one("mousemove", function (evt) {
anchor.activateCP();
});
anchor.seg2.cp1.setState("symmetrical");
anchor.seg2.cp1.prepareDrag(pos.x, pos.y);
});
$("circle.controlpoint").on("mousedown.convert_point_tool", function (evt) {
var controlpoint = $(this).data("wrapper"),
pos = Field.getOffsetFromSVG(evt.pageX, evt.pageY);
controlpoint.setState("individual");
controlpoint.opposite.setState("individual");
controlpoint.prepareDrag(pos.x, pos.y);
});
Field.$svg._addClass("convert-point-tool");
},
dispose: function () {
$("g.ui-suit.selected rect.anchorpoint").off("mousedown.convert_point_tool");
$("circle.controlpoint").off("mousedown.convert_point_tool");
Field.$svg._removeClass("convert-point-tool");
}
};
}());