fix: increase followMargin from 120px to 0.4*viewport for bar visibility ahead of dragged item
This commit is contained in:
@@ -10220,7 +10220,7 @@ const App = () => {
|
|||||||
const clampedStart = Math.min(rawStart, marginBar);
|
const clampedStart = Math.min(rawStart, marginBar);
|
||||||
const newStart = snapTime(clampedStart, snapValueRef.current, bpmRef.current);
|
const newStart = snapTime(clampedStart, snapValueRef.current, bpmRef.current);
|
||||||
const itemPx = newStart * zoom;
|
const itemPx = newStart * zoom;
|
||||||
const followMargin = 120;
|
const followMargin = Math.round(rect.width * 0.4);
|
||||||
if (itemPx > scrollLeft + rect.width - followMargin) {
|
if (itemPx > scrollLeft + rect.width - followMargin) {
|
||||||
wrapper.scrollLeft = itemPx - rect.width + followMargin;
|
wrapper.scrollLeft = itemPx - rect.width + followMargin;
|
||||||
setCanvasRedrawCount(n => n + 1);
|
setCanvasRedrawCount(n => n + 1);
|
||||||
@@ -10386,7 +10386,7 @@ const App = () => {
|
|||||||
const marginBar = maxDurationRef.current - secondsPerBar;
|
const marginBar = maxDurationRef.current - secondsPerBar;
|
||||||
const newStart = Math.max(beatSec, Math.min(time - drag.clickOffset, marginBar));
|
const newStart = Math.max(beatSec, Math.min(time - drag.clickOffset, marginBar));
|
||||||
const itemPx = newStart * zoom;
|
const itemPx = newStart * zoom;
|
||||||
const followMargin = 120;
|
const followMargin = Math.round(rect.width * 0.4);
|
||||||
if (itemPx > scrollLeft + rect.width - followMargin) {
|
if (itemPx > scrollLeft + rect.width - followMargin) {
|
||||||
wrapper.scrollLeft = itemPx - rect.width + followMargin;
|
wrapper.scrollLeft = itemPx - rect.width + followMargin;
|
||||||
setCanvasRedrawCount(n => n + 1);
|
setCanvasRedrawCount(n => n + 1);
|
||||||
@@ -10483,7 +10483,7 @@ const App = () => {
|
|||||||
: { ...t, midiItems: items };
|
: { ...t, midiItems: items };
|
||||||
}));
|
}));
|
||||||
const edgePx = (resize.side === 'left' ? Math.max(0, time) : time) * zoom;
|
const edgePx = (resize.side === 'left' ? Math.max(0, time) : time) * zoom;
|
||||||
const followMargin = 120;
|
const followMargin = Math.round(rect.width * 0.4);
|
||||||
if (edgePx > scrollLeft + rect.width - followMargin) {
|
if (edgePx > scrollLeft + rect.width - followMargin) {
|
||||||
wrapper.scrollLeft = edgePx - rect.width + followMargin;
|
wrapper.scrollLeft = edgePx - rect.width + followMargin;
|
||||||
setCanvasRedrawCount(n => n + 1);
|
setCanvasRedrawCount(n => n + 1);
|
||||||
|
|||||||
Reference in New Issue
Block a user