Always round DPR to nice value to prevent gaps

cpsdqs/unified-input
cpsdqs 7 years ago
parent 83f24cbe34
commit a8354f2288
Signed by untrusted user: cpsdqs
GPG Key ID: 3F59586BB7448DD1
  1. 13
      js/term_screen.js

@ -524,7 +524,8 @@ window.TermScreen = class TermScreen {
* Updates the canvas size if it changed * Updates the canvas size if it changed
*/ */
updateSize () { updateSize () {
this._window.devicePixelRatio = this._windowScale * (window.devicePixelRatio || 1) // see below (this is just updating it)
this._window.devicePixelRatio = Math.round(this._windowScale * (window.devicePixelRatio || 1) * 2) / 2
let didChange = false let didChange = false
for (let key in this.windowState) { for (let key in this.windowState) {
@ -573,7 +574,8 @@ window.TermScreen = class TermScreen {
// store new window scale // store new window scale
this._windowScale = realWidth / (width * cellSize.width) this._windowScale = realWidth / (width * cellSize.width)
let devicePixelRatio = this._window.devicePixelRatio = this._windowScale * window.devicePixelRatio // the DPR must be rounded to a very nice value to prevent gaps between cells
let devicePixelRatio = this._window.devicePixelRatio = Math.round(this._windowScale * (window.devicePixelRatio || 1) * 2) / 2
this.canvas.width = width * devicePixelRatio * cellSize.width this.canvas.width = width * devicePixelRatio * cellSize.width
this.canvas.style.width = `${realWidth}px` this.canvas.style.width = `${realWidth}px`
@ -744,8 +746,8 @@ window.TermScreen = class TermScreen {
drawCellBackground ({ x, y, cellWidth, cellHeight, bg }) { drawCellBackground ({ x, y, cellWidth, cellHeight, bg }) {
const ctx = this.ctx const ctx = this.ctx
ctx.fillStyle = this.getColor(bg) ctx.fillStyle = this.getColor(bg)
ctx.clearRect(x * cellWidth, y * cellHeight, Math.ceil(cellWidth), Math.ceil(cellHeight)) ctx.clearRect(x * cellWidth, y * cellHeight, cellWidth, cellHeight)
ctx.fillRect(x * cellWidth, y * cellHeight, Math.ceil(cellWidth), Math.ceil(cellHeight)) ctx.fillRect(x * cellWidth, y * cellHeight, cellWidth, cellHeight)
} }
/** /**
@ -1239,7 +1241,8 @@ window.TermScreen = class TermScreen {
mcbIndex = i mcbIndex = i
} }
} }
this.canvas.style.backgroundColor = this.getColor(mcbIndex) // this.canvas.style.backgroundColor = this.getColor(mcbIndex)
this.canvas.style.backgroundColor = '#f00'
this.scheduleDraw('load', 16) this.scheduleDraw('load', 16)
this.emit('load') this.emit('load')

Loading…
Cancel
Save