Desktop: receive Range in parameters instead of Column

This commit is contained in:
Peter Fajdiga
2023-12-02 17:36:29 +01:00
parent a1a315790e
commit 0e5efd2be7
3 changed files with 11 additions and 11 deletions

View File

@@ -197,7 +197,7 @@ namespace Actions {
if (firstColumn === null) {
return;
}
grid.desktop.scrollToColumn(firstColumn);
grid.desktop.scrollToRange(firstColumn);
});
},
@@ -208,13 +208,13 @@ namespace Actions {
if (lastColumn === null) {
return;
}
grid.desktop.scrollToColumn(lastColumn);
grid.desktop.scrollToRange(lastColumn);
});
},
gridScrollFocused: () => {
world.doIfTiledFocused(true, (world, desktopManager, window, column, grid) => {
grid.desktop.scrollCenterColumn(column);
grid.desktop.scrollCenterRange(column);
})
},
@@ -231,7 +231,7 @@ namespace Actions {
return;
}
grid.desktop.scrollToColumn(prevColumn);
grid.desktop.scrollToRange(prevColumn);
});
},
@@ -248,7 +248,7 @@ namespace Actions {
return;
}
grid.desktop.scrollToColumn(nextColumn);
grid.desktop.scrollToRange(nextColumn);
});
},
};

View File

@@ -82,12 +82,12 @@ class Desktop {
return overscrollX * direction;
}
public scrollToColumn(column: Column) {
this.setScroll(this.calculateVisibleRange(column).getLeft(), true);
public scrollToRange(range: Desktop.Range) {
this.setScroll(this.calculateVisibleRange(range).getLeft(), true);
}
public scrollCenterColumn(column: Column) {
const windowCenter = column.getLeft() + column.getWidth() / 2;
public scrollCenterRange(range: Desktop.Range) {
const windowCenter = range.getLeft() + range.getWidth() / 2;
const screenCenter = this.scrollX + this.tilingArea.width / 2;
this.adjustScroll(Math.round(windowCenter - screenCenter), false);
}
@@ -103,7 +103,7 @@ class Desktop {
return;
}
this.scrollToColumn(focusedColumn);
this.scrollToRange(focusedColumn);
}
private getVisibleRange(scrollX: number) {

View File

@@ -277,7 +277,7 @@ class Grid {
lastFocusedColumn.restoreToTiled();
}
this.lastFocusedColumn = column;
this.desktop.scrollToColumn(column);
this.desktop.scrollToRange(column);
}
public onScreenSizeChanged() {