|
|
@ -31,7 +31,7 @@ export default { |
|
|
|
beatWidth: 10, |
|
|
|
beatHeight: 30, |
|
|
|
hoverScale: 1.5, |
|
|
|
beatMargin: 3, // Odd number only, even = blurry |
|
|
|
beatMargin: 4, |
|
|
|
move: false, |
|
|
|
maxBeat: -1, |
|
|
|
} |
|
|
@ -122,29 +122,26 @@ export default { |
|
|
|
this.$root.heartbeatList[this.monitorId] = []; |
|
|
|
} |
|
|
|
}, |
|
|
|
|
|
|
|
mounted() { |
|
|
|
if (this.size === "small") { |
|
|
|
this.beatWidth = 5; |
|
|
|
this.beatHeight = 16; |
|
|
|
this.beatMargin = 2; |
|
|
|
} |
|
|
|
|
|
|
|
// Handle strange render problem in different DPI. |
|
|
|
if (window.devicePixelRatio === 1.25) { |
|
|
|
this.beatWidth = 5.6; |
|
|
|
this.beatMargin = 2.4; |
|
|
|
|
|
|
|
} else if (window.devicePixelRatio === 1.75) { |
|
|
|
this.beatWidth = 5.7; |
|
|
|
this.beatMargin = 2.4; |
|
|
|
|
|
|
|
} else if (window.devicePixelRatio === 2.25) { |
|
|
|
this.beatWidth = 5.8; |
|
|
|
this.beatMargin = 2.4; |
|
|
|
// Suddenly, have an idea how to handle it universally. |
|
|
|
// If the pixel * ratio != Integer, then it causes render issue, round it to solve it!! |
|
|
|
const actualWidth = this.beatWidth * window.devicePixelRatio; |
|
|
|
const actualMargin = this.beatMargin * window.devicePixelRatio; |
|
|
|
|
|
|
|
} else { |
|
|
|
// 100%, 150%, 200% ... |
|
|
|
this.beatWidth = 6; |
|
|
|
this.beatMargin = 2; |
|
|
|
if (! Number.isInteger(actualWidth)) { |
|
|
|
this.beatWidth = Math.round(actualWidth) / window.devicePixelRatio; |
|
|
|
console.log(this.beatWidth); |
|
|
|
} |
|
|
|
|
|
|
|
if (! Number.isInteger(actualMargin)) { |
|
|
|
this.beatMargin = Math.round(actualMargin) / window.devicePixelRatio; |
|
|
|
} |
|
|
|
|
|
|
|
window.addEventListener("resize", this.resize); |
|
|
|