@supraio/client-daemon-js 0.0.1-mz-resolution.3 → 0.0.1-mz-resolution.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -136445,24 +136445,24 @@ $packages["github.com/nuberu/webgl"] = (function() {
136445
136445
  /* */ if ($assertType(_ref, sliceType$9, true)[1]) { $s = 10; continue; }
136446
136446
  /* */ $s = 11; continue;
136447
136447
  /* if ($assertType(_ref, sliceType, true)[1]) { */ case 1:
136448
- s$2[0] = _ref.$val;
136449
- h = ($pointerOfStructConversion(((s$2.$ptr || (s$2.$ptr = new ptrType$1(function() { return this.$target[0]; }, function($v) { this.$target[0] = $v; }, s$2)))), ptrType));
136448
+ s$8[0] = _ref.$val;
136449
+ h = ($pointerOfStructConversion(((s$8.$ptr || (s$8.$ptr = new ptrType$1(function() { return this.$target[0]; }, function($v) { this.$target[0] = $v; }, s$8)))), ptrType));
136450
136450
  $s = -1; return ((h)).$get();
136451
136451
  /* } else if ($assertType(_ref, sliceType$1, true)[1]) { */ case 2:
136452
- s$3[0] = _ref.$val;
136453
- h$1 = ($pointerOfStructConversion(((s$3.$ptr || (s$3.$ptr = new ptrType$2(function() { return this.$target[0]; }, function($v) { this.$target[0] = $v; }, s$3)))), ptrType));
136452
+ s$5[0] = _ref.$val;
136453
+ h$1 = ($pointerOfStructConversion(((s$5.$ptr || (s$5.$ptr = new ptrType$2(function() { return this.$target[0]; }, function($v) { this.$target[0] = $v; }, s$5)))), ptrType));
136454
136454
  h$1.Len = $imul(h$1.Len, (2));
136455
136455
  h$1.Cap = $imul(h$1.Cap, (2));
136456
136456
  $s = -1; return ((h$1)).$get();
136457
136457
  /* } else if ($assertType(_ref, sliceType$2, true)[1]) { */ case 3:
136458
- s$8[0] = _ref.$val;
136459
- h$2 = ($pointerOfStructConversion(((s$8.$ptr || (s$8.$ptr = new ptrType$3(function() { return this.$target[0]; }, function($v) { this.$target[0] = $v; }, s$8)))), ptrType));
136458
+ s$6[0] = _ref.$val;
136459
+ h$2 = ($pointerOfStructConversion(((s$6.$ptr || (s$6.$ptr = new ptrType$3(function() { return this.$target[0]; }, function($v) { this.$target[0] = $v; }, s$6)))), ptrType));
136460
136460
  h$2.Len = $imul(h$2.Len, (4));
136461
136461
  h$2.Cap = $imul(h$2.Cap, (4));
136462
136462
  $s = -1; return ((h$2)).$get();
136463
136463
  /* } else if ($assertType(_ref, sliceType$3, true)[1]) { */ case 4:
136464
- s$4[0] = _ref.$val;
136465
- h$3 = ($pointerOfStructConversion(((s$4.$ptr || (s$4.$ptr = new ptrType$4(function() { return this.$target[0]; }, function($v) { this.$target[0] = $v; }, s$4)))), ptrType));
136464
+ s$1[0] = _ref.$val;
136465
+ h$3 = ($pointerOfStructConversion(((s$1.$ptr || (s$1.$ptr = new ptrType$4(function() { return this.$target[0]; }, function($v) { this.$target[0] = $v; }, s$1)))), ptrType));
136466
136466
  h$3.Len = $imul(h$3.Len, (8));
136467
136467
  h$3.Cap = $imul(h$3.Cap, (8));
136468
136468
  $s = -1; return ((h$3)).$get();
@@ -136470,32 +136470,32 @@ $packages["github.com/nuberu/webgl"] = (function() {
136470
136470
  s$10 = _ref.$val;
136471
136471
  $s = -1; return s$10;
136472
136472
  /* } else if ($assertType(_ref, sliceType$5, true)[1]) { */ case 6:
136473
- s$5[0] = _ref.$val;
136474
- h$4 = ($pointerOfStructConversion(((s$5.$ptr || (s$5.$ptr = new ptrType$5(function() { return this.$target[0]; }, function($v) { this.$target[0] = $v; }, s$5)))), ptrType));
136473
+ s$2[0] = _ref.$val;
136474
+ h$4 = ($pointerOfStructConversion(((s$2.$ptr || (s$2.$ptr = new ptrType$5(function() { return this.$target[0]; }, function($v) { this.$target[0] = $v; }, s$2)))), ptrType));
136475
136475
  h$4.Len = $imul(h$4.Len, (2));
136476
136476
  h$4.Cap = $imul(h$4.Cap, (2));
136477
136477
  $s = -1; return ((h$4)).$get();
136478
136478
  /* } else if ($assertType(_ref, sliceType$6, true)[1]) { */ case 7:
136479
- s$6[0] = _ref.$val;
136480
- h$5 = ($pointerOfStructConversion(((s$6.$ptr || (s$6.$ptr = new ptrType$6(function() { return this.$target[0]; }, function($v) { this.$target[0] = $v; }, s$6)))), ptrType));
136479
+ s$9[0] = _ref.$val;
136480
+ h$5 = ($pointerOfStructConversion(((s$9.$ptr || (s$9.$ptr = new ptrType$6(function() { return this.$target[0]; }, function($v) { this.$target[0] = $v; }, s$9)))), ptrType));
136481
136481
  h$5.Len = $imul(h$5.Len, (4));
136482
136482
  h$5.Cap = $imul(h$5.Cap, (4));
136483
136483
  $s = -1; return ((h$5)).$get();
136484
136484
  /* } else if ($assertType(_ref, sliceType$7, true)[1]) { */ case 8:
136485
- s$7[0] = _ref.$val;
136486
- h$6 = ($pointerOfStructConversion(((s$7.$ptr || (s$7.$ptr = new ptrType$7(function() { return this.$target[0]; }, function($v) { this.$target[0] = $v; }, s$7)))), ptrType));
136485
+ s$3[0] = _ref.$val;
136486
+ h$6 = ($pointerOfStructConversion(((s$3.$ptr || (s$3.$ptr = new ptrType$7(function() { return this.$target[0]; }, function($v) { this.$target[0] = $v; }, s$3)))), ptrType));
136487
136487
  h$6.Len = $imul(h$6.Len, (8));
136488
136488
  h$6.Cap = $imul(h$6.Cap, (8));
136489
136489
  $s = -1; return ((h$6)).$get();
136490
136490
  /* } else if ($assertType(_ref, sliceType$8, true)[1]) { */ case 9:
136491
- s$9[0] = _ref.$val;
136492
- h$7 = ($pointerOfStructConversion(((s$9.$ptr || (s$9.$ptr = new ptrType$8(function() { return this.$target[0]; }, function($v) { this.$target[0] = $v; }, s$9)))), ptrType));
136491
+ s$7[0] = _ref.$val;
136492
+ h$7 = ($pointerOfStructConversion(((s$7.$ptr || (s$7.$ptr = new ptrType$8(function() { return this.$target[0]; }, function($v) { this.$target[0] = $v; }, s$7)))), ptrType));
136493
136493
  h$7.Len = $imul(h$7.Len, (4));
136494
136494
  h$7.Cap = $imul(h$7.Cap, (4));
136495
136495
  $s = -1; return ((h$7)).$get();
136496
136496
  /* } else if ($assertType(_ref, sliceType$9, true)[1]) { */ case 10:
136497
- s$1[0] = _ref.$val;
136498
- h$8 = ($pointerOfStructConversion(((s$1.$ptr || (s$1.$ptr = new ptrType$9(function() { return this.$target[0]; }, function($v) { this.$target[0] = $v; }, s$1)))), ptrType));
136497
+ s$4[0] = _ref.$val;
136498
+ h$8 = ($pointerOfStructConversion(((s$4.$ptr || (s$4.$ptr = new ptrType$9(function() { return this.$target[0]; }, function($v) { this.$target[0] = $v; }, s$4)))), ptrType));
136499
136499
  h$8.Len = $imul(h$8.Len, (8));
136500
136500
  h$8.Cap = $imul(h$8.Cap, (8));
136501
136501
  $s = -1; return ((h$8)).$get();
@@ -142350,7 +142350,7 @@ $packages["golang.org/x/exp/shiny/driver/webgldriver"] = (function() {
142350
142350
  }
142351
142351
  this.doc = doc_;
142352
142352
  });
142353
- windowImpl = $pkg.windowImpl = $newType(0, $kindStruct, "webgldriver.windowImpl", true, "golang.org/x/exp/shiny/driver/webgldriver", false, function(screen_, mutex_, canvasEl_, gl_, programRGBA_, imageTexRGBA_, programYUV420_, imageTexY_, imageTexU_, imageTexV_, vertexArray_, released_, domEvents_, resizeCallback_) {
142353
+ windowImpl = $pkg.windowImpl = $newType(0, $kindStruct, "webgldriver.windowImpl", true, "golang.org/x/exp/shiny/driver/webgldriver", false, function(screen_, mutex_, canvasEl_, gl_, programRGBA_, imageTexRGBA_, programYUV420_, imageTexY_, imageTexU_, imageTexV_, vertexArray_, released_, domEvents_, width_, height_) {
142354
142354
  this.$val = this;
142355
142355
  if (arguments.length === 0) {
142356
142356
  this.screen = ptrType.nil;
@@ -142366,7 +142366,8 @@ $packages["golang.org/x/exp/shiny/driver/webgldriver"] = (function() {
142366
142366
  this.vertexArray = ptrType$6.nil;
142367
142367
  this.released = false;
142368
142368
  this.domEvents = ptrType$7.nil;
142369
- this.resizeCallback = new js.Func.ptr(new js.Value.ptr(null, false));
142369
+ this.width = 0;
142370
+ this.height = 0;
142370
142371
  return;
142371
142372
  }
142372
142373
  this.screen = screen_;
@@ -142382,7 +142383,8 @@ $packages["golang.org/x/exp/shiny/driver/webgldriver"] = (function() {
142382
142383
  this.vertexArray = vertexArray_;
142383
142384
  this.released = released_;
142384
142385
  this.domEvents = domEvents_;
142385
- this.resizeCallback = resizeCallback_;
142386
+ this.width = width_;
142387
+ this.height = height_;
142386
142388
  });
142387
142389
  sliceType = $sliceType($Uint16);
142388
142390
  sliceType$1 = $sliceType($Float32);
@@ -142536,6 +142538,37 @@ $packages["golang.org/x/exp/shiny/driver/webgldriver"] = (function() {
142536
142538
  /* */ } return; } if ($f === undefined) { $f = { $blk: windowImpl.ptr.prototype.createTexture }; } $f._r = _r; $f.format = format; $f.height = height; $f.imageTex = imageTex; $f.unit = unit; $f.w = w; $f.width = width; $f.$s = $s; $f.$r = $r; return $f;
142537
142539
  };
142538
142540
  windowImpl.prototype.createTexture = function(unit, format, width, height) { return this.$val.createTexture(unit, format, width, height); };
142541
+ windowImpl.ptr.prototype.ensureRGBATextures = function(width, height) {
142542
+ var _r, _r$1, _tuple, err, height, w, width, $s, $r;
142543
+ /* */ $s = 0; var $f, $c = false; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; _r = $f._r; _r$1 = $f._r$1; _tuple = $f._tuple; err = $f.err; height = $f.height; w = $f.w; width = $f.width; $s = $f.$s; $r = $f.$r; } s: while (true) { switch ($s) { case 0:
142544
+ w = this;
142545
+ /* */ if (w.programRGBA === ptrType$3.nil) { $s = 1; continue; }
142546
+ /* */ $s = 2; continue;
142547
+ /* if (w.programRGBA === ptrType$3.nil) { */ case 1:
142548
+ err = $ifaceNil;
142549
+ _r = w.createAndLinkProgramRGBA(); /* */ $s = 3; case 3: if($c) { $c = false; _r = _r.$blk(); } if (_r && _r.$blk !== undefined) { break s; }
142550
+ _tuple = _r;
142551
+ w.programRGBA = _tuple[0];
142552
+ err = _tuple[1];
142553
+ if (!($interfaceIsEqual(err, $ifaceNil))) {
142554
+ $panic(err);
142555
+ }
142556
+ /* } */ case 2:
142557
+ if ((w.width === width) && (w.height === height)) {
142558
+ $s = -1; return;
142559
+ }
142560
+ $r = w.ensureCanvasSize(width, height); /* */ $s = 4; case 4: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
142561
+ _r$1 = w.createTexture(33984, 6408, width, height); /* */ $s = 5; case 5: if($c) { $c = false; _r$1 = _r$1.$blk(); } if (_r$1 && _r$1.$blk !== undefined) { break s; }
142562
+ w.imageTexRGBA = _r$1;
142563
+ $r = w.gl.Enable(2929); /* */ $s = 6; case 6: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
142564
+ $r = w.gl.Viewport(0, 0, width, height); /* */ $s = 7; case 7: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
142565
+ w.width = width;
142566
+ w.height = height;
142567
+ $r = w.clear(); /* */ $s = 8; case 8: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
142568
+ $s = -1; return;
142569
+ /* */ } return; } if ($f === undefined) { $f = { $blk: windowImpl.ptr.prototype.ensureRGBATextures }; } $f._r = _r; $f._r$1 = _r$1; $f._tuple = _tuple; $f.err = err; $f.height = height; $f.w = w; $f.width = width; $f.$s = $s; $f.$r = $r; return $f;
142570
+ };
142571
+ windowImpl.prototype.ensureRGBATextures = function(width, height) { return this.$val.ensureRGBATextures(width, height); };
142539
142572
  windowImpl.ptr.prototype.createAndLinkProgramRGBA = function() {
142540
142573
  var _arg, _r, _r$1, _r$2, _r$3, _r$4, _r$5, _r$6, err, imageLoc, shaderProgram, w, $s, $r;
142541
142574
  /* */ $s = 0; var $f, $c = false; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; _arg = $f._arg; _r = $f._r; _r$1 = $f._r$1; _r$2 = $f._r$2; _r$3 = $f._r$3; _r$4 = $f._r$4; _r$5 = $f._r$5; _r$6 = $f._r$6; err = $f.err; imageLoc = $f.imageLoc; shaderProgram = $f.shaderProgram; w = $f.w; $s = $f.$s; $r = $f.$r; } s: while (true) { switch ($s) { case 0:
@@ -142574,22 +142607,58 @@ $packages["golang.org/x/exp/shiny/driver/webgldriver"] = (function() {
142574
142607
  var _arg, _arg$1, _arg$2, _arg$3, _arg$4, _r, _r$1, dp, sr, src, w, $s, $r;
142575
142608
  /* */ $s = 0; var $f, $c = false; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; _arg = $f._arg; _arg$1 = $f._arg$1; _arg$2 = $f._arg$2; _arg$3 = $f._arg$3; _arg$4 = $f._arg$4; _r = $f._r; _r$1 = $f._r$1; dp = $f.dp; sr = $f.sr; src = $f.src; w = $f.w; $s = $f.$s; $r = $f.$r; } s: while (true) { switch ($s) { case 0:
142576
142609
  w = this;
142577
- $r = w.gl.UseProgram(w.programRGBA); /* */ $s = 1; case 1: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
142578
- $r = w.gl.BindTexture(3553, w.imageTexRGBA); /* */ $s = 2; case 2: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
142610
+ $r = w.ensureRGBATextures(sr.Max.X, sr.Max.Y); /* */ $s = 1; case 1: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
142611
+ $r = w.gl.UseProgram(w.programRGBA); /* */ $s = 2; case 2: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
142612
+ $r = w.gl.BindTexture(3553, w.imageTexRGBA); /* */ $s = 3; case 3: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
142579
142613
  _arg = dp.X;
142580
142614
  _arg$1 = dp.Y;
142581
142615
  _arg$2 = sr.Max.X;
142582
142616
  _arg$3 = sr.Max.Y;
142583
- _r = src.RGBA(); /* */ $s = 3; case 3: if($c) { $c = false; _r = _r.$blk(); } if (_r && _r.$blk !== undefined) { break s; }
142584
- _r$1 = webgl.TypedArrayOf(_r.Pix); /* */ $s = 4; case 4: if($c) { $c = false; _r$1 = _r$1.$blk(); } if (_r$1 && _r$1.$blk !== undefined) { break s; }
142617
+ _r = src.RGBA(); /* */ $s = 4; case 4: if($c) { $c = false; _r = _r.$blk(); } if (_r && _r.$blk !== undefined) { break s; }
142618
+ _r$1 = webgl.TypedArrayOf(_r.Pix); /* */ $s = 5; case 5: if($c) { $c = false; _r$1 = _r$1.$blk(); } if (_r$1 && _r$1.$blk !== undefined) { break s; }
142585
142619
  _arg$4 = $clone(_r$1, js.Value);
142586
- $r = w.gl.TexSubImage2D(3553, 0, _arg, _arg$1, _arg$2, _arg$3, 6408, 5121, _arg$4); /* */ $s = 5; case 5: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
142587
- $r = w.gl.BindVertexArray(w.vertexArray); /* */ $s = 6; case 6: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
142588
- $r = w.gl.DrawElements(4, elementsIndices.$length, 5123, new $Int64(0, 0)); /* */ $s = 7; case 7: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
142620
+ $r = w.gl.TexSubImage2D(3553, 0, _arg, _arg$1, _arg$2, _arg$3, 6408, 5121, _arg$4); /* */ $s = 6; case 6: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
142621
+ $r = w.gl.BindVertexArray(w.vertexArray); /* */ $s = 7; case 7: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
142622
+ $r = w.gl.DrawElements(4, elementsIndices.$length, 5123, new $Int64(0, 0)); /* */ $s = 8; case 8: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
142589
142623
  $s = -1; return;
142590
142624
  /* */ } return; } if ($f === undefined) { $f = { $blk: windowImpl.ptr.prototype.drawBufferRGBA }; } $f._arg = _arg; $f._arg$1 = _arg$1; $f._arg$2 = _arg$2; $f._arg$3 = _arg$3; $f._arg$4 = _arg$4; $f._r = _r; $f._r$1 = _r$1; $f.dp = dp; $f.sr = sr; $f.src = src; $f.w = w; $f.$s = $s; $f.$r = $r; return $f;
142591
142625
  };
142592
142626
  windowImpl.prototype.drawBufferRGBA = function(dp, src, sr) { return this.$val.drawBufferRGBA(dp, src, sr); };
142627
+ windowImpl.ptr.prototype.ensureYUV420Textures = function(width, height) {
142628
+ var _q, _q$1, _q$2, _q$3, _r, _r$1, _r$2, _r$3, _tuple, err, height, w, width, $s, $r;
142629
+ /* */ $s = 0; var $f, $c = false; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; _q = $f._q; _q$1 = $f._q$1; _q$2 = $f._q$2; _q$3 = $f._q$3; _r = $f._r; _r$1 = $f._r$1; _r$2 = $f._r$2; _r$3 = $f._r$3; _tuple = $f._tuple; err = $f.err; height = $f.height; w = $f.w; width = $f.width; $s = $f.$s; $r = $f.$r; } s: while (true) { switch ($s) { case 0:
142630
+ w = this;
142631
+ /* */ if (w.programYUV420 === ptrType$3.nil) { $s = 1; continue; }
142632
+ /* */ $s = 2; continue;
142633
+ /* if (w.programYUV420 === ptrType$3.nil) { */ case 1:
142634
+ err = $ifaceNil;
142635
+ _r = w.createAndLinkProgramYUV420(); /* */ $s = 3; case 3: if($c) { $c = false; _r = _r.$blk(); } if (_r && _r.$blk !== undefined) { break s; }
142636
+ _tuple = _r;
142637
+ w.programYUV420 = _tuple[0];
142638
+ err = _tuple[1];
142639
+ if (!($interfaceIsEqual(err, $ifaceNil))) {
142640
+ $panic(err);
142641
+ }
142642
+ /* } */ case 2:
142643
+ if ((w.width === width) && (w.height === height)) {
142644
+ $s = -1; return;
142645
+ }
142646
+ $r = w.ensureCanvasSize(width, height); /* */ $s = 4; case 4: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
142647
+ _r$1 = w.createTexture(33985, 6409, width, height); /* */ $s = 5; case 5: if($c) { $c = false; _r$1 = _r$1.$blk(); } if (_r$1 && _r$1.$blk !== undefined) { break s; }
142648
+ w.imageTexY = _r$1;
142649
+ _r$2 = w.createTexture(33986, 6409, (_q = width / 2, (_q === _q && _q !== 1/0 && _q !== -1/0) ? _q >> 0 : $throwRuntimeError("integer divide by zero")), (_q$1 = height / 2, (_q$1 === _q$1 && _q$1 !== 1/0 && _q$1 !== -1/0) ? _q$1 >> 0 : $throwRuntimeError("integer divide by zero"))); /* */ $s = 6; case 6: if($c) { $c = false; _r$2 = _r$2.$blk(); } if (_r$2 && _r$2.$blk !== undefined) { break s; }
142650
+ w.imageTexU = _r$2;
142651
+ _r$3 = w.createTexture(33987, 6409, (_q$2 = width / 2, (_q$2 === _q$2 && _q$2 !== 1/0 && _q$2 !== -1/0) ? _q$2 >> 0 : $throwRuntimeError("integer divide by zero")), (_q$3 = height / 2, (_q$3 === _q$3 && _q$3 !== 1/0 && _q$3 !== -1/0) ? _q$3 >> 0 : $throwRuntimeError("integer divide by zero"))); /* */ $s = 7; case 7: if($c) { $c = false; _r$3 = _r$3.$blk(); } if (_r$3 && _r$3.$blk !== undefined) { break s; }
142652
+ w.imageTexV = _r$3;
142653
+ $r = w.gl.Enable(2929); /* */ $s = 8; case 8: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
142654
+ $r = w.gl.Viewport(0, 0, width, height); /* */ $s = 9; case 9: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
142655
+ w.width = width;
142656
+ w.height = height;
142657
+ $r = w.clear(); /* */ $s = 10; case 10: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
142658
+ $s = -1; return;
142659
+ /* */ } return; } if ($f === undefined) { $f = { $blk: windowImpl.ptr.prototype.ensureYUV420Textures }; } $f._q = _q; $f._q$1 = _q$1; $f._q$2 = _q$2; $f._q$3 = _q$3; $f._r = _r; $f._r$1 = _r$1; $f._r$2 = _r$2; $f._r$3 = _r$3; $f._tuple = _tuple; $f.err = err; $f.height = height; $f.w = w; $f.width = width; $f.$s = $s; $f.$r = $r; return $f;
142660
+ };
142661
+ windowImpl.prototype.ensureYUV420Textures = function(width, height) { return this.$val.ensureYUV420Textures(width, height); };
142593
142662
  windowImpl.ptr.prototype.createAndLinkProgramYUV420 = function() {
142594
142663
  var _arg, _r, _r$1, _r$2, _r$3, _r$4, _r$5, _r$6, _r$7, _r$8, err, imageULoc, imageVLoc, imageYLoc, shaderProgram, w, $s, $r;
142595
142664
  /* */ $s = 0; var $f, $c = false; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; _arg = $f._arg; _r = $f._r; _r$1 = $f._r$1; _r$2 = $f._r$2; _r$3 = $f._r$3; _r$4 = $f._r$4; _r$5 = $f._r$5; _r$6 = $f._r$6; _r$7 = $f._r$7; _r$8 = $f._r$8; err = $f.err; imageULoc = $f.imageULoc; imageVLoc = $f.imageVLoc; imageYLoc = $f.imageYLoc; shaderProgram = $f.shaderProgram; w = $f.w; $s = $f.$s; $r = $f.$r; } s: while (true) { switch ($s) { case 0:
@@ -142654,15 +142723,16 @@ $packages["golang.org/x/exp/shiny/driver/webgldriver"] = (function() {
142654
142723
  var _q, _q$1, _q$2, _q$3, cb, cr, dp, sr, w, y, $s, $r;
142655
142724
  /* */ $s = 0; var $f, $c = false; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; _q = $f._q; _q$1 = $f._q$1; _q$2 = $f._q$2; _q$3 = $f._q$3; cb = $f.cb; cr = $f.cr; dp = $f.dp; sr = $f.sr; w = $f.w; y = $f.y; $s = $f.$s; $r = $f.$r; } s: while (true) { switch ($s) { case 0:
142656
142725
  w = this;
142657
- $r = w.gl.UseProgram(w.programYUV420); /* */ $s = 1; case 1: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
142658
- $r = w.gl.BindTexture(3553, w.imageTexY); /* */ $s = 2; case 2: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
142659
- $r = w.gl.TexSubImage2D(3553, 0, dp.X, dp.Y, sr.Max.X, sr.Max.Y, 6409, 5121, $clone(y, js.Value)); /* */ $s = 3; case 3: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
142660
- $r = w.gl.BindTexture(3553, w.imageTexU); /* */ $s = 4; case 4: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
142661
- $r = w.gl.TexSubImage2D(3553, 0, dp.X, dp.Y, (_q = sr.Max.X / 2, (_q === _q && _q !== 1/0 && _q !== -1/0) ? _q >> 0 : $throwRuntimeError("integer divide by zero")), (_q$1 = sr.Max.Y / 2, (_q$1 === _q$1 && _q$1 !== 1/0 && _q$1 !== -1/0) ? _q$1 >> 0 : $throwRuntimeError("integer divide by zero")), 6409, 5121, $clone(cb, js.Value)); /* */ $s = 5; case 5: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
142662
- $r = w.gl.BindTexture(3553, w.imageTexV); /* */ $s = 6; case 6: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
142663
- $r = w.gl.TexSubImage2D(3553, 0, dp.X, dp.Y, (_q$2 = sr.Max.X / 2, (_q$2 === _q$2 && _q$2 !== 1/0 && _q$2 !== -1/0) ? _q$2 >> 0 : $throwRuntimeError("integer divide by zero")), (_q$3 = sr.Max.Y / 2, (_q$3 === _q$3 && _q$3 !== 1/0 && _q$3 !== -1/0) ? _q$3 >> 0 : $throwRuntimeError("integer divide by zero")), 6409, 5121, $clone(cr, js.Value)); /* */ $s = 7; case 7: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
142664
- $r = w.gl.BindVertexArray(w.vertexArray); /* */ $s = 8; case 8: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
142665
- $r = w.gl.DrawElements(4, elementsIndices.$length, 5123, new $Int64(0, 0)); /* */ $s = 9; case 9: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
142726
+ $r = w.ensureYUV420Textures(sr.Max.X, sr.Max.Y); /* */ $s = 1; case 1: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
142727
+ $r = w.gl.UseProgram(w.programYUV420); /* */ $s = 2; case 2: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
142728
+ $r = w.gl.BindTexture(3553, w.imageTexY); /* */ $s = 3; case 3: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
142729
+ $r = w.gl.TexSubImage2D(3553, 0, dp.X, dp.Y, sr.Max.X, sr.Max.Y, 6409, 5121, $clone(y, js.Value)); /* */ $s = 4; case 4: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
142730
+ $r = w.gl.BindTexture(3553, w.imageTexU); /* */ $s = 5; case 5: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
142731
+ $r = w.gl.TexSubImage2D(3553, 0, dp.X, dp.Y, (_q = sr.Max.X / 2, (_q === _q && _q !== 1/0 && _q !== -1/0) ? _q >> 0 : $throwRuntimeError("integer divide by zero")), (_q$1 = sr.Max.Y / 2, (_q$1 === _q$1 && _q$1 !== 1/0 && _q$1 !== -1/0) ? _q$1 >> 0 : $throwRuntimeError("integer divide by zero")), 6409, 5121, $clone(cb, js.Value)); /* */ $s = 6; case 6: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
142732
+ $r = w.gl.BindTexture(3553, w.imageTexV); /* */ $s = 7; case 7: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
142733
+ $r = w.gl.TexSubImage2D(3553, 0, dp.X, dp.Y, (_q$2 = sr.Max.X / 2, (_q$2 === _q$2 && _q$2 !== 1/0 && _q$2 !== -1/0) ? _q$2 >> 0 : $throwRuntimeError("integer divide by zero")), (_q$3 = sr.Max.Y / 2, (_q$3 === _q$3 && _q$3 !== 1/0 && _q$3 !== -1/0) ? _q$3 >> 0 : $throwRuntimeError("integer divide by zero")), 6409, 5121, $clone(cr, js.Value)); /* */ $s = 8; case 8: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
142734
+ $r = w.gl.BindVertexArray(w.vertexArray); /* */ $s = 9; case 9: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
142735
+ $r = w.gl.DrawElements(4, elementsIndices.$length, 5123, new $Int64(0, 0)); /* */ $s = 10; case 10: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
142666
142736
  $s = -1; return;
142667
142737
  /* */ } return; } if ($f === undefined) { $f = { $blk: windowImpl.ptr.prototype.drawBufferYUV420JSArrayBuffers }; } $f._q = _q; $f._q$1 = _q$1; $f._q$2 = _q$2; $f._q$3 = _q$3; $f.cb = cb; $f.cr = cr; $f.dp = dp; $f.sr = sr; $f.w = w; $f.y = y; $f.$s = $s; $f.$r = $r; return $f;
142668
142738
  };
@@ -142754,101 +142824,62 @@ $packages["golang.org/x/exp/shiny/driver/webgldriver"] = (function() {
142754
142824
  /* */ } return; } if ($f === undefined) { $f = { $blk: main }; } $f._tuple = _tuple; $f.err = err; $f.f = f; $f.retErr = retErr; $f.s = s; $f.$s = $s; $f.$r = $r; return $f;
142755
142825
  };
142756
142826
  newWindow = function(screen$1, opts) {
142757
- var _q, _q$1, _q$2, _q$3, _r, _r$1, _r$10, _r$11, _r$12, _r$2, _r$3, _r$4, _r$5, _r$6, _r$7, _r$8, _r$9, _tuple, _tuple$1, _tuple$2, adaptCanvas, canvasEl, domEvents, err, gl, height, opts, resizeCallback, screen$1, w, width, $s, $r;
142758
- /* */ $s = 0; var $f, $c = false; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; _q = $f._q; _q$1 = $f._q$1; _q$2 = $f._q$2; _q$3 = $f._q$3; _r = $f._r; _r$1 = $f._r$1; _r$10 = $f._r$10; _r$11 = $f._r$11; _r$12 = $f._r$12; _r$2 = $f._r$2; _r$3 = $f._r$3; _r$4 = $f._r$4; _r$5 = $f._r$5; _r$6 = $f._r$6; _r$7 = $f._r$7; _r$8 = $f._r$8; _r$9 = $f._r$9; _tuple = $f._tuple; _tuple$1 = $f._tuple$1; _tuple$2 = $f._tuple$2; adaptCanvas = $f.adaptCanvas; canvasEl = $f.canvasEl; domEvents = $f.domEvents; err = $f.err; gl = $f.gl; height = $f.height; opts = $f.opts; resizeCallback = $f.resizeCallback; screen$1 = $f.screen$1; w = $f.w; width = $f.width; $s = $f.$s; $r = $f.$r; } s: while (true) { switch ($s) { case 0:
142759
- adaptCanvas = [adaptCanvas];
142760
- canvasEl = [canvasEl];
142827
+ var _r, _r$1, _r$2, _r$3, _r$4, _r$5, _tuple, canvasEl, domEvents, err, gl, opts, screen$1, w, $s, $r;
142828
+ /* */ $s = 0; var $f, $c = false; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; _r = $f._r; _r$1 = $f._r$1; _r$2 = $f._r$2; _r$3 = $f._r$3; _r$4 = $f._r$4; _r$5 = $f._r$5; _tuple = $f._tuple; canvasEl = $f.canvasEl; domEvents = $f.domEvents; err = $f.err; gl = $f.gl; opts = $f.opts; screen$1 = $f.screen$1; w = $f.w; $s = $f.$s; $r = $f.$r; } s: while (true) { switch ($s) { case 0:
142761
142829
  _r = $clone(screen$1.doc, js.Value).Call("createElement", new sliceType$2([new $String("canvas")])); /* */ $s = 1; case 1: if($c) { $c = false; _r = _r.$blk(); } if (_r && _r.$blk !== undefined) { break s; }
142762
- canvasEl[0] = $clone(_r, js.Value);
142763
- _r$1 = $clone($clone(screen$1.doc, js.Value).Get("body"), js.Value).Call("appendChild", new sliceType$2([new canvasEl[0].constructor.elem(canvasEl[0])])); /* */ $s = 2; case 2: if($c) { $c = false; _r$1 = _r$1.$blk(); } if (_r$1 && _r$1.$blk !== undefined) { break s; }
142830
+ canvasEl = $clone(_r, js.Value);
142831
+ _r$1 = $clone($clone(screen$1.doc, js.Value).Get("body"), js.Value).Call("appendChild", new sliceType$2([new canvasEl.constructor.elem(canvasEl)])); /* */ $s = 2; case 2: if($c) { $c = false; _r$1 = _r$1.$blk(); } if (_r$1 && _r$1.$blk !== undefined) { break s; }
142764
142832
  _r$1;
142765
- adaptCanvas[0] = (function(adaptCanvas, canvasEl) { return function $b() {
142766
- var height, width, $s, $r;
142767
- /* */ $s = 0; var $f, $c = false; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; height = $f.height; width = $f.width; $s = $f.$s; $r = $f.$r; } s: while (true) { switch ($s) { case 0:
142768
- width = dom.GetScreenWidth();
142769
- /* */ if (!(($clone($clone(canvasEl[0], js.Value).Get("width"), js.Value).Int() === width))) { $s = 1; continue; }
142770
- /* */ $s = 2; continue;
142771
- /* if (!(($clone($clone(canvasEl[0], js.Value).Get("width"), js.Value).Int() === width))) { */ case 1:
142772
- $r = $clone(canvasEl[0], js.Value).Set("width", new $Int(width)); /* */ $s = 3; case 3: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
142773
- /* } */ case 2:
142774
- height = dom.GetScreenHeight();
142775
- /* */ if (!(($clone($clone(canvasEl[0], js.Value).Get("height"), js.Value).Int() === height))) { $s = 4; continue; }
142776
- /* */ $s = 5; continue;
142777
- /* if (!(($clone($clone(canvasEl[0], js.Value).Get("height"), js.Value).Int() === height))) { */ case 4:
142778
- $r = $clone(canvasEl[0], js.Value).Set("height", new $Int(height)); /* */ $s = 6; case 6: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
142779
- /* } */ case 5:
142780
- $s = -1; return;
142781
- /* */ } return; } if ($f === undefined) { $f = { $blk: $b }; } $f.height = height; $f.width = width; $f.$s = $s; $f.$r = $r; return $f;
142782
- }; })(adaptCanvas, canvasEl);
142783
- $r = adaptCanvas[0](); /* */ $s = 3; case 3: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
142784
- resizeCallback = $clone(js.FuncOf((function(adaptCanvas, canvasEl) { return function $b(this$1, args) {
142785
- var args, this$1, $s, $r;
142786
- /* */ $s = 0; var $f, $c = false; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; args = $f.args; this$1 = $f.this$1; $s = $f.$s; $r = $f.$r; } s: while (true) { switch ($s) { case 0:
142787
- $r = adaptCanvas[0](); /* */ $s = 1; case 1: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
142788
- $s = -1; return $ifaceNil;
142789
- /* */ } return; } if ($f === undefined) { $f = { $blk: $b }; } $f.args = args; $f.this$1 = this$1; $f.$s = $s; $f.$r = $r; return $f;
142790
- }; })(adaptCanvas, canvasEl)), js.Func);
142791
- _r$2 = $clone(js.Global(), js.Value).Call("addEventListener", new sliceType$2([new $String("resize"), new resizeCallback.constructor.elem(resizeCallback)])); /* */ $s = 4; case 4: if($c) { $c = false; _r$2 = _r$2.$blk(); } if (_r$2 && _r$2.$blk !== undefined) { break s; }
142792
- _r$2;
142793
- /* */ if (!((opts.Width === 0))) { $s = 5; continue; }
142794
- /* */ $s = 6; continue;
142795
- /* if (!((opts.Width === 0))) { */ case 5:
142796
- $r = dom.SetWindowWidth(opts.Width); /* */ $s = 7; case 7: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
142797
- /* } */ case 6:
142798
- /* */ if (!((opts.Height === 0))) { $s = 8; continue; }
142799
- /* */ $s = 9; continue;
142800
- /* if (!((opts.Height === 0))) { */ case 8:
142801
- $r = dom.SetWindowHeight(opts.Height); /* */ $s = 10; case 10: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
142802
- /* } */ case 9:
142803
- /* */ if (!(opts.Title === "")) { $s = 11; continue; }
142804
- /* */ $s = 12; continue;
142805
- /* if (!(opts.Title === "")) { */ case 11:
142806
- _r$3 = $clone($clone(screen$1.doc, js.Value).Get("head"), js.Value).Call("getElementsByTagName", new sliceType$2([new $String("title")])); /* */ $s = 13; case 13: if($c) { $c = false; _r$3 = _r$3.$blk(); } if (_r$3 && _r$3.$blk !== undefined) { break s; }
142807
- _r$4 = $clone(_r$3, js.Value).Call("item", new sliceType$2([new $Int(0)])); /* */ $s = 14; case 14: if($c) { $c = false; _r$4 = _r$4.$blk(); } if (_r$4 && _r$4.$blk !== undefined) { break s; }
142808
- $r = $clone(_r$4, js.Value).Set("innerHTML", new $String(opts.Title)); /* */ $s = 15; case 15: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
142809
- /* } */ case 12:
142810
- _r$5 = webgl.FromCanvas($clone(canvasEl[0], js.Value)); /* */ $s = 16; case 16: if($c) { $c = false; _r$5 = _r$5.$blk(); } if (_r$5 && _r$5.$blk !== undefined) { break s; }
142811
- _tuple = _r$5;
142833
+ _r$2 = webgl.FromCanvas($clone(canvasEl, js.Value)); /* */ $s = 3; case 3: if($c) { $c = false; _r$2 = _r$2.$blk(); } if (_r$2 && _r$2.$blk !== undefined) { break s; }
142834
+ _tuple = _r$2;
142812
142835
  gl = _tuple[0];
142813
142836
  err = _tuple[1];
142814
142837
  if (!($interfaceIsEqual(err, $ifaceNil))) {
142815
142838
  $panic(err);
142816
142839
  }
142817
142840
  domEvents = dom.NewDomEvents();
142818
- w = new windowImpl.ptr(screen$1, ptrType$1.nil, $clone(canvasEl[0], js.Value), gl, ptrType$3.nil, ptrType$5.nil, ptrType$3.nil, ptrType$5.nil, ptrType$5.nil, ptrType$5.nil, ptrType$6.nil, false, domEvents, $clone(resizeCallback, js.Func));
142819
- width = dom.GetScreenWidth();
142820
- height = dom.GetScreenHeight();
142821
- _r$6 = w.createAndLinkProgramRGBA(); /* */ $s = 17; case 17: if($c) { $c = false; _r$6 = _r$6.$blk(); } if (_r$6 && _r$6.$blk !== undefined) { break s; }
142822
- _tuple$1 = _r$6;
142823
- w.programRGBA = _tuple$1[0];
142824
- err = _tuple$1[1];
142825
- if (!($interfaceIsEqual(err, $ifaceNil))) {
142826
- $panic(err);
142827
- }
142828
- _r$7 = w.createTexture(33984, 6408, width, height); /* */ $s = 18; case 18: if($c) { $c = false; _r$7 = _r$7.$blk(); } if (_r$7 && _r$7.$blk !== undefined) { break s; }
142829
- w.imageTexRGBA = _r$7;
142830
- _r$8 = w.createAndLinkProgramYUV420(); /* */ $s = 19; case 19: if($c) { $c = false; _r$8 = _r$8.$blk(); } if (_r$8 && _r$8.$blk !== undefined) { break s; }
142831
- _tuple$2 = _r$8;
142832
- w.programYUV420 = _tuple$2[0];
142833
- err = _tuple$2[1];
142834
- if (!($interfaceIsEqual(err, $ifaceNil))) {
142835
- $panic(err);
142836
- }
142837
- _r$9 = w.createTexture(33985, 6409, width, height); /* */ $s = 20; case 20: if($c) { $c = false; _r$9 = _r$9.$blk(); } if (_r$9 && _r$9.$blk !== undefined) { break s; }
142838
- w.imageTexY = _r$9;
142839
- _r$10 = w.createTexture(33986, 6409, (_q = width / 2, (_q === _q && _q !== 1/0 && _q !== -1/0) ? _q >> 0 : $throwRuntimeError("integer divide by zero")), (_q$1 = height / 2, (_q$1 === _q$1 && _q$1 !== 1/0 && _q$1 !== -1/0) ? _q$1 >> 0 : $throwRuntimeError("integer divide by zero"))); /* */ $s = 21; case 21: if($c) { $c = false; _r$10 = _r$10.$blk(); } if (_r$10 && _r$10.$blk !== undefined) { break s; }
142840
- w.imageTexU = _r$10;
142841
- _r$11 = w.createTexture(33987, 6409, (_q$2 = width / 2, (_q$2 === _q$2 && _q$2 !== 1/0 && _q$2 !== -1/0) ? _q$2 >> 0 : $throwRuntimeError("integer divide by zero")), (_q$3 = height / 2, (_q$3 === _q$3 && _q$3 !== 1/0 && _q$3 !== -1/0) ? _q$3 >> 0 : $throwRuntimeError("integer divide by zero"))); /* */ $s = 22; case 22: if($c) { $c = false; _r$11 = _r$11.$blk(); } if (_r$11 && _r$11.$blk !== undefined) { break s; }
142842
- w.imageTexV = _r$11;
142843
- _r$12 = w.createBuffers(); /* */ $s = 23; case 23: if($c) { $c = false; _r$12 = _r$12.$blk(); } if (_r$12 && _r$12.$blk !== undefined) { break s; }
142844
- w.vertexArray = _r$12;
142845
- $r = w.gl.Enable(2929); /* */ $s = 24; case 24: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
142846
- $r = w.gl.Viewport(0, 0, width, height); /* */ $s = 25; case 25: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
142847
- $r = w.clear(); /* */ $s = 26; case 26: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
142848
- $r = domEvents.BindEvents(); /* */ $s = 27; case 27: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
142841
+ w = new windowImpl.ptr(screen$1, ptrType$1.nil, $clone(canvasEl, js.Value), gl, ptrType$3.nil, ptrType$5.nil, ptrType$3.nil, ptrType$5.nil, ptrType$5.nil, ptrType$5.nil, ptrType$6.nil, false, domEvents, 0, 0);
142842
+ /* */ if (!((opts.Width === 0))) { $s = 4; continue; }
142843
+ /* */ $s = 5; continue;
142844
+ /* if (!((opts.Width === 0))) { */ case 4:
142845
+ $r = dom.SetWindowWidth(opts.Width); /* */ $s = 6; case 6: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
142846
+ /* } */ case 5:
142847
+ /* */ if (!((opts.Height === 0))) { $s = 7; continue; }
142848
+ /* */ $s = 8; continue;
142849
+ /* if (!((opts.Height === 0))) { */ case 7:
142850
+ $r = dom.SetWindowHeight(opts.Height); /* */ $s = 9; case 9: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
142851
+ /* } */ case 8:
142852
+ /* */ if (!(opts.Title === "")) { $s = 10; continue; }
142853
+ /* */ $s = 11; continue;
142854
+ /* if (!(opts.Title === "")) { */ case 10:
142855
+ _r$3 = $clone($clone(screen$1.doc, js.Value).Get("head"), js.Value).Call("getElementsByTagName", new sliceType$2([new $String("title")])); /* */ $s = 12; case 12: if($c) { $c = false; _r$3 = _r$3.$blk(); } if (_r$3 && _r$3.$blk !== undefined) { break s; }
142856
+ _r$4 = $clone(_r$3, js.Value).Call("item", new sliceType$2([new $Int(0)])); /* */ $s = 13; case 13: if($c) { $c = false; _r$4 = _r$4.$blk(); } if (_r$4 && _r$4.$blk !== undefined) { break s; }
142857
+ $r = $clone(_r$4, js.Value).Set("innerHTML", new $String(opts.Title)); /* */ $s = 14; case 14: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
142858
+ /* } */ case 11:
142859
+ _r$5 = w.createBuffers(); /* */ $s = 15; case 15: if($c) { $c = false; _r$5 = _r$5.$blk(); } if (_r$5 && _r$5.$blk !== undefined) { break s; }
142860
+ w.vertexArray = _r$5;
142861
+ $r = domEvents.BindEvents(); /* */ $s = 16; case 16: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
142849
142862
  $s = -1; return w;
142850
- /* */ } return; } if ($f === undefined) { $f = { $blk: newWindow }; } $f._q = _q; $f._q$1 = _q$1; $f._q$2 = _q$2; $f._q$3 = _q$3; $f._r = _r; $f._r$1 = _r$1; $f._r$10 = _r$10; $f._r$11 = _r$11; $f._r$12 = _r$12; $f._r$2 = _r$2; $f._r$3 = _r$3; $f._r$4 = _r$4; $f._r$5 = _r$5; $f._r$6 = _r$6; $f._r$7 = _r$7; $f._r$8 = _r$8; $f._r$9 = _r$9; $f._tuple = _tuple; $f._tuple$1 = _tuple$1; $f._tuple$2 = _tuple$2; $f.adaptCanvas = adaptCanvas; $f.canvasEl = canvasEl; $f.domEvents = domEvents; $f.err = err; $f.gl = gl; $f.height = height; $f.opts = opts; $f.resizeCallback = resizeCallback; $f.screen$1 = screen$1; $f.w = w; $f.width = width; $f.$s = $s; $f.$r = $r; return $f;
142863
+ /* */ } return; } if ($f === undefined) { $f = { $blk: newWindow }; } $f._r = _r; $f._r$1 = _r$1; $f._r$2 = _r$2; $f._r$3 = _r$3; $f._r$4 = _r$4; $f._r$5 = _r$5; $f._tuple = _tuple; $f.canvasEl = canvasEl; $f.domEvents = domEvents; $f.err = err; $f.gl = gl; $f.opts = opts; $f.screen$1 = screen$1; $f.w = w; $f.$s = $s; $f.$r = $r; return $f;
142864
+ };
142865
+ windowImpl.ptr.prototype.ensureCanvasSize = function(width, height) {
142866
+ var height, w, width, $s, $r;
142867
+ /* */ $s = 0; var $f, $c = false; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; height = $f.height; w = $f.w; width = $f.width; $s = $f.$s; $r = $f.$r; } s: while (true) { switch ($s) { case 0:
142868
+ w = this;
142869
+ /* */ if (!(($clone($clone(w.canvasEl, js.Value).Get("width"), js.Value).Int() === width))) { $s = 1; continue; }
142870
+ /* */ $s = 2; continue;
142871
+ /* if (!(($clone($clone(w.canvasEl, js.Value).Get("width"), js.Value).Int() === width))) { */ case 1:
142872
+ $r = $clone(w.canvasEl, js.Value).Set("width", new $Int(width)); /* */ $s = 3; case 3: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
142873
+ /* } */ case 2:
142874
+ /* */ if (!(($clone($clone(w.canvasEl, js.Value).Get("height"), js.Value).Int() === height))) { $s = 4; continue; }
142875
+ /* */ $s = 5; continue;
142876
+ /* if (!(($clone($clone(w.canvasEl, js.Value).Get("height"), js.Value).Int() === height))) { */ case 4:
142877
+ $r = $clone(w.canvasEl, js.Value).Set("height", new $Int(height)); /* */ $s = 6; case 6: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
142878
+ /* } */ case 5:
142879
+ $s = -1; return;
142880
+ /* */ } return; } if ($f === undefined) { $f = { $blk: windowImpl.ptr.prototype.ensureCanvasSize }; } $f.height = height; $f.w = w; $f.width = width; $f.$s = $s; $f.$r = $r; return $f;
142851
142881
  };
142882
+ windowImpl.prototype.ensureCanvasSize = function(width, height) { return this.$val.ensureCanvasSize(width, height); };
142852
142883
  windowImpl.ptr.prototype.clear = function() {
142853
142884
  var w, $s, $r;
142854
142885
  /* */ $s = 0; var $f, $c = false; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; w = $f.w; $s = $f.$s; $r = $f.$r; } s: while (true) { switch ($s) { case 0:
@@ -142860,23 +142891,20 @@ $packages["golang.org/x/exp/shiny/driver/webgldriver"] = (function() {
142860
142891
  };
142861
142892
  windowImpl.prototype.clear = function() { return this.$val.clear(); };
142862
142893
  windowImpl.ptr.prototype.Release = function() {
142863
- var _r, _r$1, w, x, $s, $deferred, $r;
142864
- /* */ $s = 0; var $f, $c = false; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; _r = $f._r; _r$1 = $f._r$1; w = $f.w; x = $f.x; $s = $f.$s; $deferred = $f.$deferred; $r = $f.$r; } var $err = null; try { s: while (true) { switch ($s) { case 0: $deferred = []; $deferred.index = $curGoroutine.deferStack.length; $curGoroutine.deferStack.push($deferred);
142894
+ var _r, w, $s, $deferred, $r;
142895
+ /* */ $s = 0; var $f, $c = false; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; _r = $f._r; w = $f.w; $s = $f.$s; $deferred = $f.$deferred; $r = $f.$r; } var $err = null; try { s: while (true) { switch ($s) { case 0: $deferred = []; $deferred.index = $curGoroutine.deferStack.length; $curGoroutine.deferStack.push($deferred);
142865
142896
  w = this;
142866
142897
  $r = w.mutex.Lock(); /* */ $s = 1; case 1: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
142867
142898
  $deferred.push([$methodVal(w.mutex, "Unlock"), []]);
142868
142899
  if (w.released) {
142869
142900
  $s = -1; return;
142870
142901
  }
142871
- _r = $clone(js.Global(), js.Value).Call("removeEventListener", new sliceType$2([new $String("resize"), (x = w.resizeCallback, new x.constructor.elem(x))])); /* */ $s = 2; case 2: if($c) { $c = false; _r = _r.$blk(); } if (_r && _r.$blk !== undefined) { break s; }
142902
+ _r = $clone(w.canvasEl, js.Value).Call("remove", new sliceType$2([])); /* */ $s = 2; case 2: if($c) { $c = false; _r = _r.$blk(); } if (_r && _r.$blk !== undefined) { break s; }
142872
142903
  _r;
142873
- $clone(w.resizeCallback, js.Func).Release();
142874
- _r$1 = $clone(w.canvasEl, js.Value).Call("remove", new sliceType$2([])); /* */ $s = 3; case 3: if($c) { $c = false; _r$1 = _r$1.$blk(); } if (_r$1 && _r$1.$blk !== undefined) { break s; }
142875
- _r$1;
142876
- $r = w.domEvents.Release(); /* */ $s = 4; case 4: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
142904
+ $r = w.domEvents.Release(); /* */ $s = 3; case 3: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
142877
142905
  w.released = true;
142878
142906
  $s = -1; return;
142879
- /* */ } return; } } catch(err) { $err = err; $s = -1; } finally { $callDeferred($deferred, $err); if($curGoroutine.asleep) { if ($f === undefined) { $f = { $blk: windowImpl.ptr.prototype.Release }; } $f._r = _r; $f._r$1 = _r$1; $f.w = w; $f.x = x; $f.$s = $s; $f.$deferred = $deferred; $f.$r = $r; return $f; } }
142907
+ /* */ } return; } } catch(err) { $err = err; $s = -1; } finally { $callDeferred($deferred, $err); if($curGoroutine.asleep) { if ($f === undefined) { $f = { $blk: windowImpl.ptr.prototype.Release }; } $f._r = _r; $f.w = w; $f.$s = $s; $f.$deferred = $deferred; $f.$r = $r; return $f; } }
142880
142908
  };
142881
142909
  windowImpl.prototype.Release = function() { return this.$val.Release(); };
142882
142910
  windowImpl.ptr.prototype.Publish = function() {
@@ -143032,12 +143060,12 @@ $packages["golang.org/x/exp/shiny/driver/webgldriver"] = (function() {
143032
143060
  ptrType$9.methods = [{prop: "slice", name: "slice", pkg: "golang.org/x/exp/shiny/driver/webgldriver", typ: $funcType([], [js.Value], false)}];
143033
143061
  ptrType$8.methods = [{prop: "Size", name: "Size", pkg: "", typ: $funcType([], [image.Point], false)}, {prop: "Bounds", name: "Bounds", pkg: "", typ: $funcType([], [image.Rectangle], false)}, {prop: "RGBA", name: "RGBA", pkg: "", typ: $funcType([], [ptrType$10], false)}, {prop: "YCbCr", name: "YCbCr", pkg: "", typ: $funcType([], [ptrType$11], false)}, {prop: "YCbCrJS", name: "YCbCrJS", pkg: "", typ: $funcType([], [ptrType$2], false)}, {prop: "Release", name: "Release", pkg: "", typ: $funcType([], [], false)}];
143034
143062
  ptrType.methods = [{prop: "NewBuffer", name: "NewBuffer", pkg: "", typ: $funcType([image.Point], [screen.Buffer, $error], false)}, {prop: "NewTexture", name: "NewTexture", pkg: "", typ: $funcType([image.Point], [screen.Texture, $error], false)}, {prop: "NewWindow", name: "NewWindow", pkg: "", typ: $funcType([ptrType$12], [screen.Window, $error], false)}];
143035
- ptrType$14.methods = [{prop: "createBuffers", name: "createBuffers", pkg: "golang.org/x/exp/shiny/driver/webgldriver", typ: $funcType([], [ptrType$6], false)}, {prop: "createAndAttachFragmentShader", name: "createAndAttachFragmentShader", pkg: "golang.org/x/exp/shiny/driver/webgldriver", typ: $funcType([ptrType$3, $String], [$error], false)}, {prop: "createTexture", name: "createTexture", pkg: "golang.org/x/exp/shiny/driver/webgldriver", typ: $funcType([types.GLEnum, types.GLEnum, $Int, $Int], [ptrType$5], false)}, {prop: "createAndLinkProgramRGBA", name: "createAndLinkProgramRGBA", pkg: "golang.org/x/exp/shiny/driver/webgldriver", typ: $funcType([], [ptrType$3, $error], false)}, {prop: "drawBufferRGBA", name: "drawBufferRGBA", pkg: "golang.org/x/exp/shiny/driver/webgldriver", typ: $funcType([image.Point, screen.Buffer, image.Rectangle], [], false)}, {prop: "createAndLinkProgramYUV420", name: "createAndLinkProgramYUV420", pkg: "golang.org/x/exp/shiny/driver/webgldriver", typ: $funcType([], [ptrType$3, $error], false)}, {prop: "drawBufferYUV420", name: "drawBufferYUV420", pkg: "golang.org/x/exp/shiny/driver/webgldriver", typ: $funcType([image.Point, screen.Buffer, image.Rectangle], [], false)}, {prop: "drawBufferYUV420JSArrayBuffers", name: "drawBufferYUV420JSArrayBuffers", pkg: "golang.org/x/exp/shiny/driver/webgldriver", typ: $funcType([image.Point, js.Value, js.Value, js.Value, image.Rectangle], [], false)}, {prop: "createAndAttachVertexShader", name: "createAndAttachVertexShader", pkg: "golang.org/x/exp/shiny/driver/webgldriver", typ: $funcType([ptrType$3], [$error], false)}, {prop: "clear", name: "clear", pkg: "golang.org/x/exp/shiny/driver/webgldriver", typ: $funcType([], [], false)}, {prop: "Release", name: "Release", pkg: "", typ: $funcType([], [], false)}, {prop: "Publish", name: "Publish", pkg: "", typ: $funcType([], [screen.PublishResult], false)}, {prop: "Send", name: "Send", pkg: "", typ: $funcType([$emptyInterface], [], false)}, {prop: "SendFirst", name: "SendFirst", pkg: "", typ: $funcType([$emptyInterface], [], false)}, {prop: "NextEvent", name: "NextEvent", pkg: "", typ: $funcType([], [$emptyInterface], false)}, {prop: "Upload", name: "Upload", pkg: "", typ: $funcType([image.Point, screen.Buffer, image.Rectangle], [], false)}, {prop: "UploadYCbCr", name: "UploadYCbCr", pkg: "", typ: $funcType([image.Point, screen.Buffer, image.Rectangle], [], false)}, {prop: "Fill", name: "Fill", pkg: "", typ: $funcType([image.Rectangle, color.Color, draw.Op], [], false)}, {prop: "Draw", name: "Draw", pkg: "", typ: $funcType([f64.Aff3, screen.Texture, image.Rectangle, draw.Op, ptrType$13], [], false)}, {prop: "DrawUniform", name: "DrawUniform", pkg: "", typ: $funcType([f64.Aff3, color.Color, image.Rectangle, draw.Op, ptrType$13], [], false)}, {prop: "Copy", name: "Copy", pkg: "", typ: $funcType([image.Point, screen.Texture, image.Rectangle, draw.Op, ptrType$13], [], false)}, {prop: "Scale", name: "Scale", pkg: "", typ: $funcType([image.Rectangle, screen.Texture, image.Rectangle, draw.Op, ptrType$13], [], false)}];
143063
+ ptrType$14.methods = [{prop: "createBuffers", name: "createBuffers", pkg: "golang.org/x/exp/shiny/driver/webgldriver", typ: $funcType([], [ptrType$6], false)}, {prop: "createAndAttachFragmentShader", name: "createAndAttachFragmentShader", pkg: "golang.org/x/exp/shiny/driver/webgldriver", typ: $funcType([ptrType$3, $String], [$error], false)}, {prop: "createTexture", name: "createTexture", pkg: "golang.org/x/exp/shiny/driver/webgldriver", typ: $funcType([types.GLEnum, types.GLEnum, $Int, $Int], [ptrType$5], false)}, {prop: "ensureRGBATextures", name: "ensureRGBATextures", pkg: "golang.org/x/exp/shiny/driver/webgldriver", typ: $funcType([$Int, $Int], [], false)}, {prop: "createAndLinkProgramRGBA", name: "createAndLinkProgramRGBA", pkg: "golang.org/x/exp/shiny/driver/webgldriver", typ: $funcType([], [ptrType$3, $error], false)}, {prop: "drawBufferRGBA", name: "drawBufferRGBA", pkg: "golang.org/x/exp/shiny/driver/webgldriver", typ: $funcType([image.Point, screen.Buffer, image.Rectangle], [], false)}, {prop: "ensureYUV420Textures", name: "ensureYUV420Textures", pkg: "golang.org/x/exp/shiny/driver/webgldriver", typ: $funcType([$Int, $Int], [], false)}, {prop: "createAndLinkProgramYUV420", name: "createAndLinkProgramYUV420", pkg: "golang.org/x/exp/shiny/driver/webgldriver", typ: $funcType([], [ptrType$3, $error], false)}, {prop: "drawBufferYUV420", name: "drawBufferYUV420", pkg: "golang.org/x/exp/shiny/driver/webgldriver", typ: $funcType([image.Point, screen.Buffer, image.Rectangle], [], false)}, {prop: "drawBufferYUV420JSArrayBuffers", name: "drawBufferYUV420JSArrayBuffers", pkg: "golang.org/x/exp/shiny/driver/webgldriver", typ: $funcType([image.Point, js.Value, js.Value, js.Value, image.Rectangle], [], false)}, {prop: "createAndAttachVertexShader", name: "createAndAttachVertexShader", pkg: "golang.org/x/exp/shiny/driver/webgldriver", typ: $funcType([ptrType$3], [$error], false)}, {prop: "ensureCanvasSize", name: "ensureCanvasSize", pkg: "golang.org/x/exp/shiny/driver/webgldriver", typ: $funcType([$Int, $Int], [], false)}, {prop: "clear", name: "clear", pkg: "golang.org/x/exp/shiny/driver/webgldriver", typ: $funcType([], [], false)}, {prop: "Release", name: "Release", pkg: "", typ: $funcType([], [], false)}, {prop: "Publish", name: "Publish", pkg: "", typ: $funcType([], [screen.PublishResult], false)}, {prop: "Send", name: "Send", pkg: "", typ: $funcType([$emptyInterface], [], false)}, {prop: "SendFirst", name: "SendFirst", pkg: "", typ: $funcType([$emptyInterface], [], false)}, {prop: "NextEvent", name: "NextEvent", pkg: "", typ: $funcType([], [$emptyInterface], false)}, {prop: "Upload", name: "Upload", pkg: "", typ: $funcType([image.Point, screen.Buffer, image.Rectangle], [], false)}, {prop: "UploadYCbCr", name: "UploadYCbCr", pkg: "", typ: $funcType([image.Point, screen.Buffer, image.Rectangle], [], false)}, {prop: "Fill", name: "Fill", pkg: "", typ: $funcType([image.Rectangle, color.Color, draw.Op], [], false)}, {prop: "Draw", name: "Draw", pkg: "", typ: $funcType([f64.Aff3, screen.Texture, image.Rectangle, draw.Op, ptrType$13], [], false)}, {prop: "DrawUniform", name: "DrawUniform", pkg: "", typ: $funcType([f64.Aff3, color.Color, image.Rectangle, draw.Op, ptrType$13], [], false)}, {prop: "Copy", name: "Copy", pkg: "", typ: $funcType([image.Point, screen.Texture, image.Rectangle, draw.Op, ptrType$13], [], false)}, {prop: "Scale", name: "Scale", pkg: "", typ: $funcType([image.Rectangle, screen.Texture, image.Rectangle, draw.Op, ptrType$13], [], false)}];
143036
143064
  ArrayBufferSlice.init("", [{prop: "ArrayBuffer", name: "ArrayBuffer", embedded: false, exported: true, typ: js.Value, tag: ""}, {prop: "Offset", name: "Offset", embedded: false, exported: true, typ: $Int, tag: ""}, {prop: "Length", name: "Length", embedded: false, exported: true, typ: $Int, tag: ""}]);
143037
143065
  YCbCrJS.init("", [{prop: "Y", name: "Y", embedded: false, exported: true, typ: ArrayBufferSlice, tag: ""}, {prop: "Cb", name: "Cb", embedded: false, exported: true, typ: ArrayBufferSlice, tag: ""}, {prop: "Cr", name: "Cr", embedded: false, exported: true, typ: ArrayBufferSlice, tag: ""}, {prop: "YStride", name: "YStride", embedded: false, exported: true, typ: $Int, tag: ""}, {prop: "CStride", name: "CStride", embedded: false, exported: true, typ: $Int, tag: ""}, {prop: "SubsampleRatio", name: "SubsampleRatio", embedded: false, exported: true, typ: image.YCbCrSubsampleRatio, tag: ""}, {prop: "Rect", name: "Rect", embedded: false, exported: true, typ: image.Rectangle, tag: ""}, {prop: "Use", name: "Use", embedded: false, exported: true, typ: $Bool, tag: ""}]);
143038
143066
  BufferImpl.init("golang.org/x/exp/shiny/driver/webgldriver", [{prop: "screen", name: "screen", embedded: false, exported: false, typ: ptrType, tag: ""}, {prop: "size", name: "size", embedded: false, exported: false, typ: image.Point, tag: ""}, {prop: "mutex", name: "mutex", embedded: false, exported: false, typ: ptrType$1, tag: ""}, {prop: "released", name: "released", embedded: false, exported: false, typ: $Bool, tag: ""}, {prop: "rgba", name: "rgba", embedded: false, exported: false, typ: image.RGBA, tag: ""}, {prop: "ycbcr", name: "ycbcr", embedded: false, exported: false, typ: image.YCbCr, tag: ""}, {prop: "ycbcrJS", name: "ycbcrJS", embedded: false, exported: false, typ: ptrType$2, tag: ""}]);
143039
143067
  screenImpl.init("golang.org/x/exp/shiny/driver/webgldriver", [{prop: "doc", name: "doc", embedded: false, exported: false, typ: js.Value, tag: ""}]);
143040
- windowImpl.init("golang.org/x/exp/shiny/driver/webgldriver", [{prop: "screen", name: "screen", embedded: false, exported: false, typ: ptrType, tag: ""}, {prop: "mutex", name: "mutex", embedded: false, exported: false, typ: ptrType$1, tag: ""}, {prop: "canvasEl", name: "canvasEl", embedded: false, exported: false, typ: js.Value, tag: ""}, {prop: "gl", name: "gl", embedded: false, exported: false, typ: ptrType$4, tag: ""}, {prop: "programRGBA", name: "programRGBA", embedded: false, exported: false, typ: ptrType$3, tag: ""}, {prop: "imageTexRGBA", name: "imageTexRGBA", embedded: false, exported: false, typ: ptrType$5, tag: ""}, {prop: "programYUV420", name: "programYUV420", embedded: false, exported: false, typ: ptrType$3, tag: ""}, {prop: "imageTexY", name: "imageTexY", embedded: false, exported: false, typ: ptrType$5, tag: ""}, {prop: "imageTexU", name: "imageTexU", embedded: false, exported: false, typ: ptrType$5, tag: ""}, {prop: "imageTexV", name: "imageTexV", embedded: false, exported: false, typ: ptrType$5, tag: ""}, {prop: "vertexArray", name: "vertexArray", embedded: false, exported: false, typ: ptrType$6, tag: ""}, {prop: "released", name: "released", embedded: false, exported: false, typ: $Bool, tag: ""}, {prop: "domEvents", name: "domEvents", embedded: false, exported: false, typ: ptrType$7, tag: ""}, {prop: "resizeCallback", name: "resizeCallback", embedded: false, exported: false, typ: js.Func, tag: ""}]);
143068
+ windowImpl.init("golang.org/x/exp/shiny/driver/webgldriver", [{prop: "screen", name: "screen", embedded: false, exported: false, typ: ptrType, tag: ""}, {prop: "mutex", name: "mutex", embedded: false, exported: false, typ: ptrType$1, tag: ""}, {prop: "canvasEl", name: "canvasEl", embedded: false, exported: false, typ: js.Value, tag: ""}, {prop: "gl", name: "gl", embedded: false, exported: false, typ: ptrType$4, tag: ""}, {prop: "programRGBA", name: "programRGBA", embedded: false, exported: false, typ: ptrType$3, tag: ""}, {prop: "imageTexRGBA", name: "imageTexRGBA", embedded: false, exported: false, typ: ptrType$5, tag: ""}, {prop: "programYUV420", name: "programYUV420", embedded: false, exported: false, typ: ptrType$3, tag: ""}, {prop: "imageTexY", name: "imageTexY", embedded: false, exported: false, typ: ptrType$5, tag: ""}, {prop: "imageTexU", name: "imageTexU", embedded: false, exported: false, typ: ptrType$5, tag: ""}, {prop: "imageTexV", name: "imageTexV", embedded: false, exported: false, typ: ptrType$5, tag: ""}, {prop: "vertexArray", name: "vertexArray", embedded: false, exported: false, typ: ptrType$6, tag: ""}, {prop: "released", name: "released", embedded: false, exported: false, typ: $Bool, tag: ""}, {prop: "domEvents", name: "domEvents", embedded: false, exported: false, typ: ptrType$7, tag: ""}, {prop: "width", name: "width", embedded: false, exported: false, typ: $Int, tag: ""}, {prop: "height", name: "height", embedded: false, exported: false, typ: $Int, tag: ""}]);
143041
143069
  $init = function() {
143042
143070
  $pkg.$init = function() {};
143043
143071
  /* */ var $f, $c = false, $s = 0, $r; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; $s = $f.$s; $r = $f.$r; } s: while (true) { switch ($s) { case 0:
@@ -143068,47 +143096,43 @@ $packages["github.com/supraio/client-daemon/pkg/x264/h264decoder"] = (function()
143068
143096
  webgldriver = $packages["golang.org/x/exp/shiny/driver/webgldriver"];
143069
143097
  image = $packages["image"];
143070
143098
  js = $packages["syscall/js"];
143071
- H264Decoder = $pkg.H264Decoder = $newType(0, $kindStruct, "h264_decoder.H264Decoder", true, "github.com/supraio/client-daemon/pkg/x264/h264decoder", true, function(decoder_, nalBuffer_) {
143099
+ H264Decoder = $pkg.H264Decoder = $newType(0, $kindStruct, "h264_decoder.H264Decoder", true, "github.com/supraio/client-daemon/pkg/x264/h264decoder", true, function(decoder_) {
143072
143100
  this.$val = this;
143073
143101
  if (arguments.length === 0) {
143074
143102
  this.decoder = new js.Value.ptr(null, false);
143075
- this.nalBuffer = new js.Value.ptr(null, false);
143076
143103
  return;
143077
143104
  }
143078
143105
  this.decoder = decoder_;
143079
- this.nalBuffer = nalBuffer_;
143080
143106
  });
143081
143107
  sliceType = $sliceType($emptyInterface);
143082
143108
  ptrType = $ptrType(webgldriver.BufferImpl);
143083
143109
  sliceType$1 = $sliceType($Uint8);
143084
143110
  ptrType$1 = $ptrType(H264Decoder);
143085
143111
  NewDecoder = function(header) {
143086
- var _r, decoder, header, nalBuffer, nalBufferOffset, $s, $r;
143087
- /* */ $s = 0; var $f, $c = false; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; _r = $f._r; decoder = $f.decoder; header = $f.header; nalBuffer = $f.nalBuffer; nalBufferOffset = $f.nalBufferOffset; $s = $f.$s; $r = $f.$r; } s: while (true) { switch ($s) { case 0:
143112
+ var decoder, header;
143088
143113
  decoder = $clone($clone(js.Global(), js.Value).Get("h264Decoder"), js.Value);
143089
- nalBufferOffset = $clone($clone(decoder, js.Value).Get("decBuffer"), js.Value);
143090
- _r = $clone($clone($clone(decoder, js.Value).Get("memory"), js.Value).Get("HEAPU8"), js.Value).Call("subarray", new sliceType([new nalBufferOffset.constructor.elem(nalBufferOffset)])); /* */ $s = 1; case 1: if($c) { $c = false; _r = _r.$blk(); } if (_r && _r.$blk !== undefined) { break s; }
143091
- nalBuffer = $clone(_r, js.Value);
143092
- $s = -1; return new H264Decoder.ptr($clone(decoder, js.Value), $clone(nalBuffer, js.Value));
143093
- /* */ } return; } if ($f === undefined) { $f = { $blk: NewDecoder }; } $f._r = _r; $f.decoder = decoder; $f.header = header; $f.nalBuffer = nalBuffer; $f.nalBufferOffset = nalBufferOffset; $f.$s = $s; $f.$r = $r; return $f;
143114
+ return new H264Decoder.ptr($clone(decoder, js.Value));
143094
143115
  };
143095
143116
  $pkg.NewDecoder = NewDecoder;
143096
143117
  H264Decoder.ptr.prototype.Decode = function(nal, outputBuffer) {
143097
- var _q, _q$1, _q$2, _r, _r$1, _r$2, _r$3, _r$4, cSize, cStride, height, heightIndex, m, nal, outputBuffer, pHeight, pPicture, pWidth, pictureBuffer, pictureBufferOffset, pictureIndex, pictureLen, status, width, widthIndex, x, x$1, ySize, yStride, ycbcrImg, ycbcrJSImg, $s, $r;
143098
- /* */ $s = 0; var $f, $c = false; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; _q = $f._q; _q$1 = $f._q$1; _q$2 = $f._q$2; _r = $f._r; _r$1 = $f._r$1; _r$2 = $f._r$2; _r$3 = $f._r$3; _r$4 = $f._r$4; cSize = $f.cSize; cStride = $f.cStride; height = $f.height; heightIndex = $f.heightIndex; m = $f.m; nal = $f.nal; outputBuffer = $f.outputBuffer; pHeight = $f.pHeight; pPicture = $f.pPicture; pWidth = $f.pWidth; pictureBuffer = $f.pictureBuffer; pictureBufferOffset = $f.pictureBufferOffset; pictureIndex = $f.pictureIndex; pictureLen = $f.pictureLen; status = $f.status; width = $f.width; widthIndex = $f.widthIndex; x = $f.x; x$1 = $f.x$1; ySize = $f.ySize; yStride = $f.yStride; ycbcrImg = $f.ycbcrImg; ycbcrJSImg = $f.ycbcrJSImg; $s = $f.$s; $r = $f.$r; } s: while (true) { switch ($s) { case 0:
143118
+ var _q, _q$1, _q$2, _r, _r$1, _r$2, _r$3, _r$4, _r$5, cSize, cStride, height, heightIndex, m, nal, nalBuffer, nalBufferOffset, outputBuffer, pHeight, pPicture, pWidth, pictureBuffer, pictureBufferOffset, pictureIndex, pictureLen, status, width, widthIndex, x, x$1, ySize, yStride, ycbcrImg, ycbcrJSImg, $s, $r;
143119
+ /* */ $s = 0; var $f, $c = false; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; _q = $f._q; _q$1 = $f._q$1; _q$2 = $f._q$2; _r = $f._r; _r$1 = $f._r$1; _r$2 = $f._r$2; _r$3 = $f._r$3; _r$4 = $f._r$4; _r$5 = $f._r$5; cSize = $f.cSize; cStride = $f.cStride; height = $f.height; heightIndex = $f.heightIndex; m = $f.m; nal = $f.nal; nalBuffer = $f.nalBuffer; nalBufferOffset = $f.nalBufferOffset; outputBuffer = $f.outputBuffer; pHeight = $f.pHeight; pPicture = $f.pPicture; pWidth = $f.pWidth; pictureBuffer = $f.pictureBuffer; pictureBufferOffset = $f.pictureBufferOffset; pictureIndex = $f.pictureIndex; pictureLen = $f.pictureLen; status = $f.status; width = $f.width; widthIndex = $f.widthIndex; x = $f.x; x$1 = $f.x$1; ySize = $f.ySize; yStride = $f.yStride; ycbcrImg = $f.ycbcrImg; ycbcrJSImg = $f.ycbcrJSImg; $s = $f.$s; $r = $f.$r; } s: while (true) { switch ($s) { case 0:
143099
143120
  m = this;
143100
- js.CopyBytesToJS($clone(m.nalBuffer, js.Value), nal);
143121
+ nalBufferOffset = $clone($clone(m.decoder, js.Value).Get("decBuffer"), js.Value);
143122
+ _r = $clone($clone($clone(m.decoder, js.Value).Get("memory"), js.Value).Get("HEAPU8"), js.Value).Call("subarray", new sliceType([new nalBufferOffset.constructor.elem(nalBufferOffset)])); /* */ $s = 1; case 1: if($c) { $c = false; _r = _r.$blk(); } if (_r && _r.$blk !== undefined) { break s; }
143123
+ nalBuffer = $clone(_r, js.Value);
143124
+ js.CopyBytesToJS($clone(nalBuffer, js.Value), nal);
143101
143125
  pPicture = $clone($clone(m.decoder, js.Value).Get("pPicture"), js.Value);
143102
143126
  pWidth = $clone($clone(m.decoder, js.Value).Get("pWidth"), js.Value);
143103
143127
  pHeight = $clone($clone(m.decoder, js.Value).Get("pHeight"), js.Value);
143104
- _r = $clone($clone(m.decoder, js.Value).Get("asm"), js.Value).Call("decode", new sliceType([(x = $clone(m.decoder, js.Value).Get("pStorage"), new x.constructor.elem(x)), (x$1 = $clone(m.decoder, js.Value).Get("decBuffer"), new x$1.constructor.elem(x$1)), new $Int(nal.$length), new pPicture.constructor.elem(pPicture), new pWidth.constructor.elem(pWidth), new pHeight.constructor.elem(pHeight)])); /* */ $s = 1; case 1: if($c) { $c = false; _r = _r.$blk(); } if (_r && _r.$blk !== undefined) { break s; }
143105
- status = $clone(_r, js.Value);
143106
- /* */ if (!(($clone(status, js.Value).Int() === 1))) { $s = 2; continue; }
143107
- /* */ $s = 3; continue;
143108
- /* if (!(($clone(status, js.Value).Int() === 1))) { */ case 2:
143109
- _r$1 = errs.Errorf("Decoding failed with status code %d", new sliceType([new $Int($clone(status, js.Value).Int())])); /* */ $s = 4; case 4: if($c) { $c = false; _r$1 = _r$1.$blk(); } if (_r$1 && _r$1.$blk !== undefined) { break s; }
143110
- $s = -1; return _r$1;
143111
- /* } */ case 3:
143128
+ _r$1 = $clone($clone(m.decoder, js.Value).Get("asm"), js.Value).Call("decode", new sliceType([(x = $clone(m.decoder, js.Value).Get("pStorage"), new x.constructor.elem(x)), (x$1 = $clone(m.decoder, js.Value).Get("decBuffer"), new x$1.constructor.elem(x$1)), new $Int(nal.$length), new pPicture.constructor.elem(pPicture), new pWidth.constructor.elem(pWidth), new pHeight.constructor.elem(pHeight)])); /* */ $s = 2; case 2: if($c) { $c = false; _r$1 = _r$1.$blk(); } if (_r$1 && _r$1.$blk !== undefined) { break s; }
143129
+ status = $clone(_r$1, js.Value);
143130
+ /* */ if (!(($clone(status, js.Value).Int() === 1))) { $s = 3; continue; }
143131
+ /* */ $s = 4; continue;
143132
+ /* if (!(($clone(status, js.Value).Int() === 1))) { */ case 3:
143133
+ _r$2 = errs.Errorf("Decoding failed with status code %d", new sliceType([new $Int($clone(status, js.Value).Int())])); /* */ $s = 5; case 5: if($c) { $c = false; _r$2 = _r$2.$blk(); } if (_r$2 && _r$2.$blk !== undefined) { break s; }
143134
+ $s = -1; return _r$2;
143135
+ /* } */ case 4:
143112
143136
  widthIndex = $clone(pWidth, js.Value).Int() >> 2 >> 0;
143113
143137
  heightIndex = $clone(pHeight, js.Value).Int() >> 2 >> 0;
143114
143138
  width = $clone($clone($clone($clone(m.decoder, js.Value).Get("memory"), js.Value).Get("HEAP32"), js.Value).Index(widthIndex), js.Value).Int();
@@ -143116,14 +143140,14 @@ $packages["github.com/supraio/client-daemon/pkg/x264/h264decoder"] = (function()
143116
143140
  pictureIndex = $clone(pPicture, js.Value).Int() >> 2 >> 0;
143117
143141
  pictureBufferOffset = $clone($clone($clone($clone(m.decoder, js.Value).Get("memory"), js.Value).Get("HEAP32"), js.Value).Index(pictureIndex), js.Value).Int();
143118
143142
  pictureLen = (_q = ($imul(($imul(width, height)), 3)) / 2, (_q === _q && _q !== 1/0 && _q !== -1/0) ? _q >> 0 : $throwRuntimeError("integer divide by zero"));
143119
- _r$2 = $clone($clone($clone(m.decoder, js.Value).Get("memory"), js.Value).Get("HEAPU8"), js.Value).Call("subarray", new sliceType([new $Int(pictureBufferOffset), new $Int((pictureBufferOffset + pictureLen >> 0))])); /* */ $s = 5; case 5: if($c) { $c = false; _r$2 = _r$2.$blk(); } if (_r$2 && _r$2.$blk !== undefined) { break s; }
143120
- pictureBuffer = $clone(_r$2, js.Value);
143143
+ _r$3 = $clone($clone($clone(m.decoder, js.Value).Get("memory"), js.Value).Get("HEAPU8"), js.Value).Call("subarray", new sliceType([new $Int(pictureBufferOffset), new $Int((pictureBufferOffset + pictureLen >> 0))])); /* */ $s = 6; case 6: if($c) { $c = false; _r$3 = _r$3.$blk(); } if (_r$3 && _r$3.$blk !== undefined) { break s; }
143144
+ pictureBuffer = $clone(_r$3, js.Value);
143121
143145
  yStride = width;
143122
143146
  cStride = (_q$1 = yStride / 2, (_q$1 === _q$1 && _q$1 !== 1/0 && _q$1 !== -1/0) ? _q$1 >> 0 : $throwRuntimeError("integer divide by zero"));
143123
143147
  ySize = $imul(yStride, height);
143124
143148
  cSize = (_q$2 = ($imul(cStride, height)) / 2, (_q$2 === _q$2 && _q$2 !== 1/0 && _q$2 !== -1/0) ? _q$2 >> 0 : $throwRuntimeError("integer divide by zero"));
143125
- _r$3 = $assertType(outputBuffer, ptrType).YCbCrJS(); /* */ $s = 6; case 6: if($c) { $c = false; _r$3 = _r$3.$blk(); } if (_r$3 && _r$3.$blk !== undefined) { break s; }
143126
- ycbcrJSImg = _r$3;
143149
+ _r$4 = $assertType(outputBuffer, ptrType).YCbCrJS(); /* */ $s = 7; case 7: if($c) { $c = false; _r$4 = _r$4.$blk(); } if (_r$4 && _r$4.$blk !== undefined) { break s; }
143150
+ ycbcrJSImg = _r$4;
143127
143151
  webgldriver.ArrayBufferSlice.copy(ycbcrJSImg.Y, new webgldriver.ArrayBufferSlice.ptr($clone(pictureBuffer, js.Value), 0, ySize));
143128
143152
  webgldriver.ArrayBufferSlice.copy(ycbcrJSImg.Cb, new webgldriver.ArrayBufferSlice.ptr($clone(pictureBuffer, js.Value), ySize, ySize + cSize >> 0));
143129
143153
  webgldriver.ArrayBufferSlice.copy(ycbcrJSImg.Cr, new webgldriver.ArrayBufferSlice.ptr($clone(pictureBuffer, js.Value), ySize + cSize >> 0, ySize + ($imul(cSize, 2)) >> 0));
@@ -143132,12 +143156,12 @@ $packages["github.com/supraio/client-daemon/pkg/x264/h264decoder"] = (function()
143132
143156
  ycbcrJSImg.SubsampleRatio = 2;
143133
143157
  image.Rectangle.copy(ycbcrJSImg.Rect, image.Rect(0, 0, width, height));
143134
143158
  ycbcrJSImg.Use = true;
143135
- _r$4 = outputBuffer.YCbCr(); /* */ $s = 7; case 7: if($c) { $c = false; _r$4 = _r$4.$blk(); } if (_r$4 && _r$4.$blk !== undefined) { break s; }
143136
- ycbcrImg = _r$4;
143159
+ _r$5 = outputBuffer.YCbCr(); /* */ $s = 8; case 8: if($c) { $c = false; _r$5 = _r$5.$blk(); } if (_r$5 && _r$5.$blk !== undefined) { break s; }
143160
+ ycbcrImg = _r$5;
143137
143161
  image.Rectangle.copy(ycbcrImg.Rect, ycbcrJSImg.Rect);
143138
143162
  ycbcrImg.SubsampleRatio = 2;
143139
143163
  $s = -1; return $ifaceNil;
143140
- /* */ } return; } if ($f === undefined) { $f = { $blk: H264Decoder.ptr.prototype.Decode }; } $f._q = _q; $f._q$1 = _q$1; $f._q$2 = _q$2; $f._r = _r; $f._r$1 = _r$1; $f._r$2 = _r$2; $f._r$3 = _r$3; $f._r$4 = _r$4; $f.cSize = cSize; $f.cStride = cStride; $f.height = height; $f.heightIndex = heightIndex; $f.m = m; $f.nal = nal; $f.outputBuffer = outputBuffer; $f.pHeight = pHeight; $f.pPicture = pPicture; $f.pWidth = pWidth; $f.pictureBuffer = pictureBuffer; $f.pictureBufferOffset = pictureBufferOffset; $f.pictureIndex = pictureIndex; $f.pictureLen = pictureLen; $f.status = status; $f.width = width; $f.widthIndex = widthIndex; $f.x = x; $f.x$1 = x$1; $f.ySize = ySize; $f.yStride = yStride; $f.ycbcrImg = ycbcrImg; $f.ycbcrJSImg = ycbcrJSImg; $f.$s = $s; $f.$r = $r; return $f;
143164
+ /* */ } return; } if ($f === undefined) { $f = { $blk: H264Decoder.ptr.prototype.Decode }; } $f._q = _q; $f._q$1 = _q$1; $f._q$2 = _q$2; $f._r = _r; $f._r$1 = _r$1; $f._r$2 = _r$2; $f._r$3 = _r$3; $f._r$4 = _r$4; $f._r$5 = _r$5; $f.cSize = cSize; $f.cStride = cStride; $f.height = height; $f.heightIndex = heightIndex; $f.m = m; $f.nal = nal; $f.nalBuffer = nalBuffer; $f.nalBufferOffset = nalBufferOffset; $f.outputBuffer = outputBuffer; $f.pHeight = pHeight; $f.pPicture = pPicture; $f.pWidth = pWidth; $f.pictureBuffer = pictureBuffer; $f.pictureBufferOffset = pictureBufferOffset; $f.pictureIndex = pictureIndex; $f.pictureLen = pictureLen; $f.status = status; $f.width = width; $f.widthIndex = widthIndex; $f.x = x; $f.x$1 = x$1; $f.ySize = ySize; $f.yStride = yStride; $f.ycbcrImg = ycbcrImg; $f.ycbcrJSImg = ycbcrJSImg; $f.$s = $s; $f.$r = $r; return $f;
143141
143165
  };
143142
143166
  H264Decoder.prototype.Decode = function(nal, outputBuffer) { return this.$val.Decode(nal, outputBuffer); };
143143
143167
  H264Decoder.ptr.prototype.Release = function(outputBuffer) {
@@ -143146,7 +143170,7 @@ $packages["github.com/supraio/client-daemon/pkg/x264/h264decoder"] = (function()
143146
143170
  };
143147
143171
  H264Decoder.prototype.Release = function(outputBuffer) { return this.$val.Release(outputBuffer); };
143148
143172
  ptrType$1.methods = [{prop: "Decode", name: "Decode", pkg: "", typ: $funcType([sliceType$1, general.OutputBuffer], [$error], false)}, {prop: "Release", name: "Release", pkg: "", typ: $funcType([general.OutputBuffer], [], false)}];
143149
- H264Decoder.init("github.com/supraio/client-daemon/pkg/x264/h264decoder", [{prop: "decoder", name: "decoder", embedded: false, exported: false, typ: js.Value, tag: ""}, {prop: "nalBuffer", name: "nalBuffer", embedded: false, exported: false, typ: js.Value, tag: ""}]);
143173
+ H264Decoder.init("github.com/supraio/client-daemon/pkg/x264/h264decoder", [{prop: "decoder", name: "decoder", embedded: false, exported: false, typ: js.Value, tag: ""}]);
143150
143174
  $init = function() {
143151
143175
  $pkg.$init = function() {};
143152
143176
  /* */ var $f, $c = false, $s = 0, $r; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; $s = $f.$s; $r = $f.$r; } s: while (true) { switch ($s) { case 0:
@@ -143928,8 +143952,8 @@ $packages["github.com/supraio/client-daemon/pkg/x264"] = (function() {
143928
143952
  sliceType = $sliceType($emptyInterface);
143929
143953
  sliceType$1 = $sliceType($Uint8);
143930
143954
  NewH264Decoder = function(header) {
143931
- var _r, _r$1, decoder, header, $s, $r;
143932
- /* */ $s = 0; var $f, $c = false; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; _r = $f._r; _r$1 = $f._r$1; decoder = $f.decoder; header = $f.header; $s = $f.$s; $r = $f.$r; } s: while (true) { switch ($s) { case 0:
143955
+ var _r, decoder, header, $s, $r;
143956
+ /* */ $s = 0; var $f, $c = false; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; _r = $f._r; decoder = $f.decoder; header = $f.header; $s = $f.$s; $r = $f.$r; } s: while (true) { switch ($s) { case 0:
143933
143957
  decoder = $ifaceNil;
143934
143958
  /* */ if (!$clone($clone(js.Global(), js.Value).Get("VideoDecoder"), js.Value).IsUndefined()) { $s = 1; continue; }
143935
143959
  /* */ if (!$clone($clone(js.Global(), js.Value).Get("h264Decoder"), js.Value).IsUndefined()) { $s = 2; continue; }
@@ -143938,15 +143962,14 @@ $packages["github.com/supraio/client-daemon/pkg/x264"] = (function() {
143938
143962
  decoder = webcodecs.NewDecoder(header);
143939
143963
  $s = 4; continue;
143940
143964
  /* } else if (!$clone($clone(js.Global(), js.Value).Get("h264Decoder"), js.Value).IsUndefined()) { */ case 2:
143941
- _r = h264_decoder.NewDecoder(header); /* */ $s = 5; case 5: if($c) { $c = false; _r = _r.$blk(); } if (_r && _r.$blk !== undefined) { break s; }
143942
- decoder = _r;
143965
+ decoder = h264_decoder.NewDecoder(header);
143943
143966
  $s = 4; continue;
143944
143967
  /* } else { */ case 3:
143945
- _r$1 = errs.Errorf("Not available any h264 docoder adapeter in JS", new sliceType([])); /* */ $s = 6; case 6: if($c) { $c = false; _r$1 = _r$1.$blk(); } if (_r$1 && _r$1.$blk !== undefined) { break s; }
143946
- $s = -1; return [ptrType.nil, _r$1];
143968
+ _r = errs.Errorf("Not available any h264 docoder adapeter in JS", new sliceType([])); /* */ $s = 5; case 5: if($c) { $c = false; _r = _r.$blk(); } if (_r && _r.$blk !== undefined) { break s; }
143969
+ $s = -1; return [ptrType.nil, _r];
143947
143970
  /* } */ case 4:
143948
143971
  $s = -1; return [new H264Decoder.ptr(decoder), $ifaceNil];
143949
- /* */ } return; } if ($f === undefined) { $f = { $blk: NewH264Decoder }; } $f._r = _r; $f._r$1 = _r$1; $f.decoder = decoder; $f.header = header; $f.$s = $s; $f.$r = $r; return $f;
143972
+ /* */ } return; } if ($f === undefined) { $f = { $blk: NewH264Decoder }; } $f._r = _r; $f.decoder = decoder; $f.header = header; $f.$s = $s; $f.$r = $r; return $f;
143950
143973
  };
143951
143974
  $pkg.NewH264Decoder = NewH264Decoder;
143952
143975
  H264Decoder.ptr.prototype.Decode = function(nal, outputBuffer) {