|
@@ -618,6 +618,10 @@ export const resetFormate = () => {
|
|
|
if (!state.isCombineRender && state.isSingleLine) {
|
|
|
transSinglePage();
|
|
|
}
|
|
|
+ // 多行谱,拍号可能被遮挡,需要移动谱面的位置
|
|
|
+ if (!state.isSingleLine) {
|
|
|
+ transMultiPosition();
|
|
|
+ }
|
|
|
// setTimeout(() => this.resetGlobalText());
|
|
|
};
|
|
|
|
|
@@ -644,6 +648,25 @@ const transSinglePage = () => {
|
|
|
// document.getElementById('osmdSvgPage1').style.transform = `translateY(${needTransDistance}px)`
|
|
|
}
|
|
|
}
|
|
|
+ if (state.isSimplePage) {
|
|
|
+ const svgPage = document?.getElementById('osmdSvgPage1')?.getBoundingClientRect();
|
|
|
+ const staffLine = document?.querySelector('.staffline')?.getBoundingClientRect();
|
|
|
+ if (svgPage && staffLine) {
|
|
|
+ const needY = svgPage.height - (staffLine.y+staffLine.height) - 10;
|
|
|
+ // @ts-ignore
|
|
|
+ document.getElementById('osmdSvgPage1').style.transform = `translateY(${needY}px)`;
|
|
|
+ }
|
|
|
+ }
|
|
|
+}
|
|
|
+
|
|
|
+const transMultiPosition = () => {
|
|
|
+ const svgPage = document?.getElementById('osmdSvgPage1')?.getBoundingClientRect();
|
|
|
+ const staffLine = document?.querySelector('.staffline')?.getBoundingClientRect();
|
|
|
+ if (svgPage && staffLine && staffLine.y < svgPage.y) {
|
|
|
+ const needY = svgPage.y - staffLine.y + 5;
|
|
|
+ // @ts-ignore
|
|
|
+ document.querySelector('.staffline').style.transform = `translateY(${needY}px)`;
|
|
|
+ }
|
|
|
}
|
|
|
|
|
|
// 技巧文本
|