• Home
  • Raw
  • Download

Lines Matching refs:_FBU

72         this._FBU = {  property in anonymousFunction83b7ae7e0100.RFB
328 this._FBU.rects = 0;
329 this._FBU.subrects = 0; // RRE and HEXTILE
330 this._FBU.lines = 0; // RAW
331 this._FBU.tiles = 0; // HEXTILE
332 this._FBU.zlibs = []; // TIGHT zlib encoders property
344 this._FBU.zlibs[i] = new TINF();
345 this._FBU.zlibs[i].init();
1057 if (this._FBU.rects > 0) {
1097 if (this._FBU.rects === 0) {
1100 this._FBU.rects = this._sock.rQshift16();
1101 this._FBU.bytes = 0;
1109 while (this._FBU.rects > 0) {
1112 if (this._sock.rQwait("FBU", this._FBU.bytes)) { return false; }
1113 if (this._FBU.bytes === 0) {
1118 this._FBU.x = (hdr[0] << 8) + hdr[1];
1119 this._FBU.y = (hdr[2] << 8) + hdr[3];
1120 this._FBU.width = (hdr[4] << 8) + hdr[5];
1121 this._FBU.height = (hdr[6] << 8) + hdr[7];
1122 this._FBU.encoding = parseInt((hdr[8] << 24) + (hdr[9] << 16) +
1126 {'x': this._FBU.x, 'y': this._FBU.y,
1127 'width': this._FBU.width, 'height': this._FBU.height,
1128 'encoding': this._FBU.encoding,
1129 'encodingName': this._encNames[this._FBU.encoding]});
1131 if (!this._encNames[this._FBU.encoding]) {
1133 this._FBU.encoding);
1140 ret = this._encHandlers[this._FBU.encoding]();
1146 this._encStats[this._FBU.encoding][0]++;
1147 this._encStats[this._FBU.encoding][1]++;
1148 this._timing.pixels += this._FBU.width * this._FBU.height;
1152 … if ((this._FBU.width === this._fb_width && this._FBU.height === this._fb_height) ||
1180 {'x': this._FBU.x, 'y': this._FBU.y,
1181 'width': this._FBU.width, 'height': this._FBU.height,
1182 'encoding': this._FBU.encoding,
1183 'encodingName': this._encNames[this._FBU.encoding]});
1365 if (this._FBU.lines === 0) {
1366 this._FBU.lines = this._FBU.height;
1369 this._FBU.bytes = this._FBU.width * this._fb_Bpp; // at least a line
1370 if (this._sock.rQwait("RAW", this._FBU.bytes)) { return false; }
1371 var cur_y = this._FBU.y + (this._FBU.height - this._FBU.lines);
1372 var curr_height = Math.min(this._FBU.lines,
1373 … Math.floor(this._sock.rQlen() / (this._FBU.width * this._fb_Bpp)));
1374 this._display.blitImage(this._FBU.x, cur_y, this._FBU.width,
1377 this._sock.rQskipBytes(this._FBU.width * curr_height * this._fb_Bpp);
1378 this._FBU.lines -= curr_height;
1380 if (this._FBU.lines > 0) {
1381 this._FBU.bytes = this._FBU.width * this._fb_Bpp; // At least another line
1383 this._FBU.rects--;
1384 this._FBU.bytes = 0;
1391 this._FBU.bytes = 4;
1397 'x': this._FBU.x,
1398 'y': this._FBU.y,
1399 'width': this._FBU.width,
1400 'height': this._FBU.height
1402 this._FBU.rects--;
1403 this._FBU.bytes = 0;
1409 if (this._FBU.subrects === 0) {
1410 this._FBU.bytes = 4 + this._fb_Bpp;
1412 this._FBU.subrects = this._sock.rQshift32();
1414 … this._display.fillRect(this._FBU.x, this._FBU.y, this._FBU.width, this._FBU.height, color);
1417 while (this._FBU.subrects > 0 && this._sock.rQlen() >= (this._fb_Bpp + 8)) {
1423 this._display.fillRect(this._FBU.x + x, this._FBU.y + y, width, height, color);
1424 this._FBU.subrects--;
1427 if (this._FBU.subrects > 0) {
1428 var chunk = Math.min(this._rre_chunk_sz, this._FBU.subrects);
1429 this._FBU.bytes = (this._fb_Bpp + 8) * chunk;
1431 this._FBU.rects--;
1432 this._FBU.bytes = 0;
1442 if (this._FBU.tiles === 0) {
1443 this._FBU.tiles_x = Math.ceil(this._FBU.width / 16);
1444 this._FBU.tiles_y = Math.ceil(this._FBU.height / 16);
1445 this._FBU.total_tiles = this._FBU.tiles_x * this._FBU.tiles_y;
1446 this._FBU.tiles = this._FBU.total_tiles;
1449 while (this._FBU.tiles > 0) {
1450 this._FBU.bytes = 1;
1451 if (this._sock.rQwait("HEXTILE subencoding", this._FBU.bytes)) { return false; }
1459 var curr_tile = this._FBU.total_tiles - this._FBU.tiles;
1460 var tile_x = curr_tile % this._FBU.tiles_x;
1461 var tile_y = Math.floor(curr_tile / this._FBU.tiles_x);
1462 var x = this._FBU.x + tile_x * 16;
1463 var y = this._FBU.y + tile_y * 16;
1464 var w = Math.min(16, (this._FBU.x + this._FBU.width) - x);
1465 var h = Math.min(16, (this._FBU.y + this._FBU.height) - y);
1469 this._FBU.bytes += w * h * this._fb_Bpp;
1472 this._FBU.bytes += this._fb_Bpp;
1475 this._FBU.bytes += this._fb_Bpp;
1478 this._FBU.bytes++; // Since we aren't shifting it off
1479 … if (this._sock.rQwait("hextile subrects header", this._FBU.bytes)) { return false; }
1480 subrects = rQ[rQi + this._FBU.bytes - 1]; // Peek
1482 this._FBU.bytes += subrects * (this._fb_Bpp + 2);
1484 this._FBU.bytes += subrects * 2;
1489 if (this._sock.rQwait("hextile", this._FBU.bytes)) { return false; }
1492 this._FBU.subencoding = rQ[rQi];
1494 if (this._FBU.subencoding === 0) {
1495 if (this._FBU.lastsubencoding & 0x01) {
1500 rQi += this._FBU.bytes - 1;
1502 } else if (this._FBU.subencoding & 0x01) { // Raw
1504 rQi += this._FBU.bytes - 1;
1506 if (this._FBU.subencoding & 0x02) { // Background
1507 this._FBU.background = rQ.slice(rQi, rQi + this._fb_Bpp);
1510 if (this._FBU.subencoding & 0x04) { // Foreground
1511 this._FBU.foreground = rQ.slice(rQi, rQi + this._fb_Bpp);
1515 this._display.startTile(x, y, w, h, this._FBU.background);
1516 if (this._FBU.subencoding & 0x08) { // AnySubrects
1522 if (this._FBU.subencoding & 0x10) { // SubrectsColoured
1526 color = this._FBU.foreground;
1544 this._FBU.lastsubencoding = this._FBU.subencoding;
1545 this._FBU.bytes = 0;
1546 this._FBU.tiles--;
1549 if (this._FBU.tiles === 0) {
1550 this._FBU.rects--;
1575 this._FBU.bytes = 1; // compression-control byte
1576 if (this._sock.rQwait("TIGHT compression-control", this._FBU.bytes)) { return false; }
1592 this._FBU.zlibs[i].reset();
1597 var uncompressed = this._FBU.zlibs[streamId].uncompress(data, 0);
1656 this._FBU.bytes += paletteSize;
1657 if (this._sock.rQwait("TIGHT palette " + cmode, this._FBU.bytes)) { return false; }
1660 var rowSize = Math.floor((this._FBU.width * bpp + 7) / 8);
1662 if (rowSize * this._FBU.height < 12) {
1664 clength = [0, rowSize * this._FBU.height];
1670 this._FBU.bytes += clength[0] + clength[1];
1671 if (this._sock.rQwait("TIGHT " + cmode, this._FBU.bytes)) { return false; }
1685 var rgb = indexedToRGB(data, numColors, palette, this._FBU.width, this._FBU.height);
1690 'x': this._FBU.x,
1691 'y': this._FBU.y,
1692 'width': this._FBU.width,
1693 'height': this._FBU.height
1701 var uncompressedSize = this._FBU.width * this._FBU.height * this._fb_depth;
1708 this._FBU.bytes = 1 + clength[0] + clength[1];
1709 if (this._sock.rQwait("TIGHT " + cmode, this._FBU.bytes)) { return false; }
1723 'x': this._FBU.x,
1724 'y': this._FBU.y,
1725 'width': this._FBU.width,
1726 'height': this._FBU.height
1755 this._FBU.bytes += this._fb_depth;
1758 this._FBU.bytes += 3;
1761 this._FBU.bytes += 3;
1764 this._FBU.bytes += 2;
1770 if (this._sock.rQwait("TIGHT " + cmode, this._FBU.bytes)) { return false; }
1779 'x': this._FBU.x,
1780 'y': this._FBU.y,
1781 'width': this._FBU.width,
1782 'height': this._FBU.height,
1789 … this._FBU.bytes = 1 + clength[0] + clength[1]; // ctl + clength size + jpeg-data
1790 if (this._sock.rQwait("TIGHT " + cmode, this._FBU.bytes)) { return false; }
1800 'x': this._FBU.x,
1801 'y': this._FBU.y
1822 this._FBU.bytes = 0;
1823 this._FBU.rects--;
1832 this._FBU.rects = 0;
1838 this._fb_width = this._FBU.width;
1839 this._fb_height = this._FBU.height;
1844 this._FBU.bytes = 0;
1845 this._FBU.rects--;
1853 var x = this._FBU.x; // hotspot-x
1854 var y = this._FBU.y; // hotspot-y
1855 var w = this._FBU.width;
1856 var h = this._FBU.height;
1861 this._FBU.bytes = pixelslength + masklength;
1862 if (this._sock.rQwait("cursor encoding", this._FBU.bytes)) { return false; }
1868 this._FBU.bytes = 0;
1869 this._FBU.rects--;