File tree Expand file tree Collapse file tree 1 file changed +19
-5
lines changed
packages/app-frontend/src/features/timeline Expand file tree Collapse file tree 1 file changed +19
-5
lines changed Original file line number Diff line number Diff line change @@ -270,17 +270,18 @@ export default {
270
270
watch (startTime, () => queueCameraUpdate ())
271
271
watch (endTime, () => queueCameraUpdate ())
272
272
273
- // Zoom
274
-
275
273
/**
276
274
* @param {MouseWheelEvent} event
277
275
*/
278
276
function onMouseWheel (event ) {
279
- if (event .ctrlKey ) {
277
+ const size = endTime .value - startTime .value
278
+ const viewWidth = wrapper .value .offsetWidth
279
+
280
+ if (event .ctrlKey || event .metaKey ) {
281
+ // Zoom
280
282
event .preventDefault ()
281
283
282
- const size = endTime .value - startTime .value
283
- const centerRatio = event .offsetX / wrapper .value .offsetWidth
284
+ const centerRatio = event .offsetX / viewWidth
284
285
const center = size * centerRatio + startTime .value
285
286
286
287
let newSize = size + event .deltaY * 4
@@ -298,6 +299,19 @@ export default {
298
299
}
299
300
startTime .value = start
300
301
endTime .value = end
302
+ } else {
303
+ if (event .deltaX !== 0 ) {
304
+ // Horizontal scroll
305
+ const delta = event .deltaX / viewWidth * size
306
+ let start = startTime .value += delta
307
+ if (start < minTime .value ) {
308
+ start = minTime .value
309
+ } else if (start + size >= maxTime .value ) {
310
+ start = maxTime .value - size
311
+ }
312
+ startTime .value = start
313
+ endTime .value = start + size
314
+ }
301
315
}
302
316
}
303
317
You can’t perform that action at this time.
0 commit comments