fixed damagebounds calculation
This commit is contained in:
parent
768f85084b
commit
6ceaafbc18
|
|
@ -56,9 +56,20 @@ export default class Display {
|
|||
this._backbuffer = document.createElement('canvas');
|
||||
this._drawCtx = this._backbuffer.getContext('2d');
|
||||
|
||||
this._damageBounds = { left: 0, top: 0,
|
||||
|
||||
if (this._rotate === 'left' || this._rotate === 'right') {
|
||||
this._damageBounds = {
|
||||
left: 0, top: 0,
|
||||
right: this._backbuffer.height,
|
||||
bottom: this._backbuffer.width
|
||||
};
|
||||
} else {
|
||||
this._damageBounds = {
|
||||
left: 0, top: 0,
|
||||
right: this._backbuffer.width,
|
||||
bottom: this._backbuffer.height };
|
||||
bottom: this._backbuffer.height
|
||||
};
|
||||
}
|
||||
|
||||
Log.Debug("User Agent: " + navigator.userAgent);
|
||||
|
||||
|
|
@ -77,7 +88,7 @@ export default class Display {
|
|||
|
||||
// ===== EVENT HANDLERS =====
|
||||
|
||||
this.onflush = () => {}; // A flush request has finished
|
||||
this.onflush = () => { }; // A flush request has finished
|
||||
}
|
||||
|
||||
// ===== PROPERTIES =====
|
||||
|
|
@ -156,8 +167,8 @@ export default class Display {
|
|||
viewportChangeSize(width, height) {
|
||||
|
||||
if (!this._clipViewport ||
|
||||
typeof(width) === "undefined" ||
|
||||
typeof(height) === "undefined") {
|
||||
typeof (width) === "undefined" ||
|
||||
typeof (height) === "undefined") {
|
||||
|
||||
Log.Debug("Setting viewport to full display region");
|
||||
width = this._fb_width;
|
||||
|
|
@ -468,8 +479,8 @@ export default class Display {
|
|||
|
||||
// draw the current tile to the screen
|
||||
finishTile() {
|
||||
var x0 = this._tile_x - this._viewportLoc.x;
|
||||
var y0 = this._tile_y - this._viewportLoc.y;
|
||||
var x0 = this._tile_x;
|
||||
var y0 = this._tile_y;
|
||||
if (this._rotate === 'right') {
|
||||
var a = x0;
|
||||
x0 = this._fb_width - y0 - 1;
|
||||
|
|
@ -635,8 +646,8 @@ export default class Display {
|
|||
|
||||
if (this._rotate === 'right') {
|
||||
var j = offset;
|
||||
for(var yv = 0; yv < height; yv++) {
|
||||
for(var xv = 0; xv < width; xv++) {
|
||||
for (var yv = 0; yv < height; yv++) {
|
||||
for (var xv = 0; xv < width; xv++) {
|
||||
var doff = ((xv * height) + (width - yv - 1)) * 4;
|
||||
data[doff] = arr[j + 2];
|
||||
data[doff + 1] = arr[j + 1];
|
||||
|
|
@ -647,8 +658,8 @@ export default class Display {
|
|||
}
|
||||
} else if (this._rotate === 'left') {
|
||||
var j = offset;
|
||||
for(var yv = height - 1; yv >= 0; yv--) {
|
||||
for(var xv = width - 1; xv >= 0; xv--) {
|
||||
for (var yv = height - 1; yv >= 0; yv--) {
|
||||
for (var xv = width - 1; xv >= 0; xv--) {
|
||||
var doff = ((xv * height) + (width - yv - 1)) * 4; //((height - xv - 1) + (width * yv)) * 4;
|
||||
data[doff] = arr[j + 2];
|
||||
data[doff + 1] = arr[j + 1];
|
||||
|
|
|
|||
|
|
@ -1,6 +1,6 @@
|
|||
{
|
||||
"name": "@gbrehmer/novnc",
|
||||
"version": "1.1.0-patch9",
|
||||
"version": "1.1.0-patch10",
|
||||
"description": "An HTML5 VNC client",
|
||||
"browser": "lib/rfb",
|
||||
"directories": {
|
||||
|
|
|
|||
Loading…
Reference in New Issue