|
|
@@ -1003,39 +1003,40 @@ const state = createState({
|
|
1003
|
1003
|
|
|
1004
|
1004
|
// Editing
|
|
1005
|
1005
|
startEditSession(data) {
|
|
1006
|
|
- session.current = new Sessions.EditSession(data)
|
|
|
1006
|
+ session.start(new Sessions.EditSession(data))
|
|
1007
|
1007
|
},
|
|
1008
|
1008
|
updateEditSession(data, payload: { change: Partial<Shape> }) {
|
|
1009
|
|
- session.current.update(data, payload.change)
|
|
|
1009
|
+ session.update<Sessions.EditSession>(data, payload.change)
|
|
1010
|
1010
|
},
|
|
1011
|
1011
|
|
|
1012
|
1012
|
// Brushing
|
|
1013
|
1013
|
startBrushSession(data, payload: PointerInfo) {
|
|
1014
|
|
- session.current = new Sessions.BrushSession(
|
|
1015
|
|
- data,
|
|
1016
|
|
- screenToWorld(payload.point, data)
|
|
|
1014
|
+ session.start(
|
|
|
1015
|
+ new Sessions.BrushSession(data, screenToWorld(payload.point, data))
|
|
1017
|
1016
|
)
|
|
1018
|
1017
|
},
|
|
1019
|
1018
|
updateBrushSession(data, payload: PointerInfo) {
|
|
1020
|
|
- session.current.update(data, screenToWorld(payload.point, data))
|
|
|
1019
|
+ session.update<Sessions.BrushSession>(
|
|
|
1020
|
+ data,
|
|
|
1021
|
+ screenToWorld(payload.point, data)
|
|
|
1022
|
+ )
|
|
1021
|
1023
|
},
|
|
1022
|
1024
|
|
|
1023
|
1025
|
// Rotating
|
|
1024
|
1026
|
startRotateSession(data, payload: PointerInfo) {
|
|
1025
|
|
- session.current = new Sessions.RotateSession(
|
|
1026
|
|
- data,
|
|
1027
|
|
- screenToWorld(payload.point, data)
|
|
|
1027
|
+ session.start(
|
|
|
1028
|
+ new Sessions.RotateSession(data, screenToWorld(payload.point, data))
|
|
1028
|
1029
|
)
|
|
1029
|
1030
|
},
|
|
1030
|
1031
|
keyUpdateRotateSession(data, payload: PointerInfo) {
|
|
1031
|
|
- session.current.update(
|
|
|
1032
|
+ session.update<Sessions.RotateSession>(
|
|
1032
|
1033
|
data,
|
|
1033
|
1034
|
screenToWorld(inputs.pointer.point, data),
|
|
1034
|
1035
|
payload.shiftKey
|
|
1035
|
1036
|
)
|
|
1036
|
1037
|
},
|
|
1037
|
1038
|
updateRotateSession(data, payload: PointerInfo) {
|
|
1038
|
|
- session.current.update(
|
|
|
1039
|
+ session.update<Sessions.RotateSession>(
|
|
1039
|
1040
|
data,
|
|
1040
|
1041
|
screenToWorld(payload.point, data),
|
|
1041
|
1042
|
payload.shiftKey
|
|
|
@@ -1044,16 +1045,18 @@ const state = createState({
|
|
1044
|
1045
|
|
|
1045
|
1046
|
// Dragging / Translating
|
|
1046
|
1047
|
startTranslateSession(data) {
|
|
1047
|
|
- session.current = new Sessions.TranslateSession(
|
|
1048
|
|
- data,
|
|
1049
|
|
- screenToWorld(inputs.pointer.origin, data)
|
|
|
1048
|
+ session.start(
|
|
|
1049
|
+ new Sessions.TranslateSession(
|
|
|
1050
|
+ data,
|
|
|
1051
|
+ screenToWorld(inputs.pointer.origin, data)
|
|
|
1052
|
+ )
|
|
1050
|
1053
|
)
|
|
1051
|
1054
|
},
|
|
1052
|
1055
|
keyUpdateTranslateSession(
|
|
1053
|
1056
|
data,
|
|
1054
|
1057
|
payload: { shiftKey: boolean; altKey: boolean }
|
|
1055
|
1058
|
) {
|
|
1056
|
|
- session.current.update(
|
|
|
1059
|
+ session.update<Sessions.TranslateSession>(
|
|
1057
|
1060
|
data,
|
|
1058
|
1061
|
screenToWorld(inputs.pointer.point, data),
|
|
1059
|
1062
|
payload.shiftKey,
|
|
|
@@ -1061,7 +1064,7 @@ const state = createState({
|
|
1061
|
1064
|
)
|
|
1062
|
1065
|
},
|
|
1063
|
1066
|
updateTranslateSession(data, payload: PointerInfo) {
|
|
1064
|
|
- session.current.update(
|
|
|
1067
|
+ session.update<Sessions.TranslateSession>(
|
|
1065
|
1068
|
data,
|
|
1066
|
1069
|
screenToWorld(payload.point, data),
|
|
1067
|
1070
|
payload.shiftKey,
|
|
|
@@ -1080,30 +1083,30 @@ const state = createState({
|
|
1080
|
1083
|
const shapeId = Array.from(getSelectedIds(data).values())[0]
|
|
1081
|
1084
|
const handleId = payload.target
|
|
1082
|
1085
|
|
|
1083
|
|
- session.current = new Sessions.HandleSession(
|
|
1084
|
|
- data,
|
|
1085
|
|
- shapeId,
|
|
1086
|
|
- handleId,
|
|
1087
|
|
- screenToWorld(inputs.pointer.origin, data)
|
|
|
1086
|
+ session.start(
|
|
|
1087
|
+ new Sessions.HandleSession(
|
|
|
1088
|
+ data,
|
|
|
1089
|
+ shapeId,
|
|
|
1090
|
+ handleId,
|
|
|
1091
|
+ screenToWorld(inputs.pointer.origin, data)
|
|
|
1092
|
+ )
|
|
1088
|
1093
|
)
|
|
1089
|
1094
|
},
|
|
1090
|
1095
|
keyUpdateHandleSession(
|
|
1091
|
1096
|
data,
|
|
1092
|
1097
|
payload: { shiftKey: boolean; altKey: boolean }
|
|
1093
|
1098
|
) {
|
|
1094
|
|
- session.current.update(
|
|
|
1099
|
+ session.update<Sessions.HandleSession>(
|
|
1095
|
1100
|
data,
|
|
1096
|
1101
|
screenToWorld(inputs.pointer.point, data),
|
|
1097
|
|
- payload.shiftKey,
|
|
1098
|
|
- payload.altKey
|
|
|
1102
|
+ payload.shiftKey
|
|
1099
|
1103
|
)
|
|
1100
|
1104
|
},
|
|
1101
|
1105
|
updateHandleSession(data, payload: PointerInfo) {
|
|
1102
|
|
- session.current.update(
|
|
|
1106
|
+ session.update<Sessions.HandleSession>(
|
|
1103
|
1107
|
data,
|
|
1104
|
1108
|
screenToWorld(payload.point, data),
|
|
1105
|
|
- payload.shiftKey,
|
|
1106
|
|
- payload.altKey
|
|
|
1109
|
+ payload.shiftKey
|
|
1107
|
1110
|
)
|
|
1108
|
1111
|
},
|
|
1109
|
1112
|
|
|
|
@@ -1113,59 +1116,67 @@ const state = createState({
|
|
1113
|
1116
|
payload: PointerInfo & { target: Corner | Edge }
|
|
1114
|
1117
|
) {
|
|
1115
|
1118
|
const point = screenToWorld(inputs.pointer.origin, data)
|
|
1116
|
|
- session.current =
|
|
|
1119
|
+ session.start(
|
|
1117
|
1120
|
getSelectedIds(data).size === 1
|
|
1118
|
1121
|
? new Sessions.TransformSingleSession(data, payload.target, point)
|
|
1119
|
1122
|
: new Sessions.TransformSession(data, payload.target, point)
|
|
|
1123
|
+ )
|
|
1120
|
1124
|
},
|
|
1121
|
1125
|
startDrawTransformSession(data, payload: PointerInfo) {
|
|
1122
|
|
- session.current = new Sessions.TransformSingleSession(
|
|
1123
|
|
- data,
|
|
1124
|
|
- Corner.BottomRight,
|
|
1125
|
|
- screenToWorld(payload.point, data),
|
|
1126
|
|
- true
|
|
|
1126
|
+ session.start(
|
|
|
1127
|
+ new Sessions.TransformSingleSession(
|
|
|
1128
|
+ data,
|
|
|
1129
|
+ Corner.BottomRight,
|
|
|
1130
|
+ screenToWorld(payload.point, data),
|
|
|
1131
|
+ true
|
|
|
1132
|
+ )
|
|
1127
|
1133
|
)
|
|
1128
|
1134
|
},
|
|
1129
|
1135
|
keyUpdateTransformSession(data, payload: PointerInfo) {
|
|
1130
|
|
- session.current.update(
|
|
|
1136
|
+ session.update<Sessions.TransformSession>(
|
|
1131
|
1137
|
data,
|
|
1132
|
1138
|
screenToWorld(inputs.pointer.point, data),
|
|
1133
|
|
- payload.shiftKey,
|
|
1134
|
|
- payload.altKey
|
|
|
1139
|
+ payload.shiftKey
|
|
1135
|
1140
|
)
|
|
1136
|
1141
|
},
|
|
1137
|
1142
|
updateTransformSession(data, payload: PointerInfo) {
|
|
1138
|
|
- session.current.update(
|
|
|
1143
|
+ session.update<Sessions.TransformSession>(
|
|
1139
|
1144
|
data,
|
|
1140
|
1145
|
screenToWorld(payload.point, data),
|
|
1141
|
|
- payload.shiftKey,
|
|
1142
|
|
- payload.altKey
|
|
|
1146
|
+ payload.shiftKey
|
|
1143
|
1147
|
)
|
|
1144
|
1148
|
},
|
|
1145
|
1149
|
|
|
1146
|
1150
|
// Direction
|
|
1147
|
1151
|
startDirectionSession(data) {
|
|
1148
|
|
- session.current = new Sessions.DirectionSession(
|
|
1149
|
|
- data,
|
|
1150
|
|
- screenToWorld(inputs.pointer.origin, data)
|
|
|
1152
|
+ session.start(
|
|
|
1153
|
+ new Sessions.DirectionSession(
|
|
|
1154
|
+ data,
|
|
|
1155
|
+ screenToWorld(inputs.pointer.origin, data)
|
|
|
1156
|
+ )
|
|
1151
|
1157
|
)
|
|
1152
|
1158
|
},
|
|
1153
|
1159
|
updateDirectionSession(data, payload: PointerInfo) {
|
|
1154
|
|
- session.current.update(data, screenToWorld(payload.point, data))
|
|
|
1160
|
+ session.update<Sessions.DirectionSession>(
|
|
|
1161
|
+ data,
|
|
|
1162
|
+ screenToWorld(payload.point, data)
|
|
|
1163
|
+ )
|
|
1155
|
1164
|
},
|
|
1156
|
1165
|
|
|
1157
|
1166
|
// Drawing
|
|
1158
|
1167
|
startDrawSession(data, payload: PointerInfo) {
|
|
1159
|
1168
|
const id = Array.from(getSelectedIds(data).values())[0]
|
|
1160
|
|
- session.current = new Sessions.DrawSession(
|
|
1161
|
|
- data,
|
|
1162
|
|
- id,
|
|
1163
|
|
- screenToWorld(inputs.pointer.origin, data),
|
|
1164
|
|
- payload.shiftKey
|
|
|
1169
|
+ session.start(
|
|
|
1170
|
+ new Sessions.DrawSession(
|
|
|
1171
|
+ data,
|
|
|
1172
|
+ id,
|
|
|
1173
|
+ screenToWorld(inputs.pointer.origin, data),
|
|
|
1174
|
+ payload.shiftKey
|
|
|
1175
|
+ )
|
|
1165
|
1176
|
)
|
|
1166
|
1177
|
},
|
|
1167
|
1178
|
keyUpdateDrawSession(data, payload: PointerInfo) {
|
|
1168
|
|
- session.current.update(
|
|
|
1179
|
+ session.update<Sessions.DrawSession>(
|
|
1169
|
1180
|
data,
|
|
1170
|
1181
|
screenToWorld(inputs.pointer.point, data),
|
|
1171
|
1182
|
payload.pressure,
|
|
|
@@ -1173,7 +1184,7 @@ const state = createState({
|
|
1173
|
1184
|
)
|
|
1174
|
1185
|
},
|
|
1175
|
1186
|
updateDrawSession(data, payload: PointerInfo) {
|
|
1176
|
|
- session.current.update(
|
|
|
1187
|
+ session.update<Sessions.DrawSession>(
|
|
1177
|
1188
|
data,
|
|
1178
|
1189
|
screenToWorld(payload.point, data),
|
|
1179
|
1190
|
payload.pressure,
|
|
|
@@ -1184,22 +1195,25 @@ const state = createState({
|
|
1184
|
1195
|
// Arrow
|
|
1185
|
1196
|
startArrowSession(data, payload: PointerInfo) {
|
|
1186
|
1197
|
const id = Array.from(getSelectedIds(data).values())[0]
|
|
1187
|
|
- session.current = new Sessions.ArrowSession(
|
|
1188
|
|
- data,
|
|
1189
|
|
- id,
|
|
1190
|
|
- screenToWorld(inputs.pointer.origin, data),
|
|
1191
|
|
- payload.shiftKey
|
|
|
1198
|
+
|
|
|
1199
|
+ session.start(
|
|
|
1200
|
+ new Sessions.ArrowSession(
|
|
|
1201
|
+ data,
|
|
|
1202
|
+ id,
|
|
|
1203
|
+ screenToWorld(inputs.pointer.origin, data),
|
|
|
1204
|
+ payload.shiftKey
|
|
|
1205
|
+ )
|
|
1192
|
1206
|
)
|
|
1193
|
1207
|
},
|
|
1194
|
1208
|
keyUpdateArrowSession(data, payload: PointerInfo) {
|
|
1195
|
|
- session.current.update(
|
|
|
1209
|
+ session.update<Sessions.ArrowSession>(
|
|
1196
|
1210
|
data,
|
|
1197
|
1211
|
screenToWorld(inputs.pointer.point, data),
|
|
1198
|
1212
|
payload.shiftKey
|
|
1199
|
1213
|
)
|
|
1200
|
1214
|
},
|
|
1201
|
1215
|
updateArrowSession(data, payload: PointerInfo) {
|
|
1202
|
|
- session.current.update(
|
|
|
1216
|
+ session.update<Sessions.ArrowSession>(
|
|
1203
|
1217
|
data,
|
|
1204
|
1218
|
screenToWorld(payload.point, data),
|
|
1205
|
1219
|
payload.shiftKey
|