@supraio/client-daemon-js 0.0.1-mz-resolution.0 → 0.0.1-mz-resolution.1

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.
@@ -10079,7 +10079,7 @@ $packages["math/bits"] = (function() {
10079
10079
  return $pkg;
10080
10080
  })();
10081
10081
  $packages["math"] = (function() {
10082
- var $pkg = {}, $init, js, bits, arrayType, arrayType$1, arrayType$2, structType, math, _zero, posInf, negInf, nan, buf, Exp, Frexp, Inf, IsInf, IsNaN, Log, Log2, NaN, init, Float32bits, Float32frombits, Float64bits, Float64frombits, Abs, normalize, frexp, log2;
10082
+ var $pkg = {}, $init, js, bits, arrayType, arrayType$1, arrayType$2, structType, math, _zero, posInf, negInf, nan, buf, Exp, Frexp, Inf, IsInf, IsNaN, Log, Log2, NaN, init, Float32bits, Float32frombits, Float64bits, Float64frombits, Abs, normalize, Round, frexp, log2;
10083
10083
  js = $packages["github.com/gopherjs/gopherjs/js"];
10084
10084
  bits = $packages["math/bits"];
10085
10085
  arrayType = $arrayType($Uint32, 2);
@@ -10199,6 +10199,23 @@ $packages["math"] = (function() {
10199
10199
  exp$1 = _tmp$3;
10200
10200
  return [y, exp$1];
10201
10201
  };
10202
+ Round = function(x) {
10203
+ var bits$1, e, x, x$1, x$2, x$3, x$4;
10204
+ bits$1 = Float64bits(x);
10205
+ e = ((($shiftRightUint64(bits$1, 52).$low >>> 0)) & 2047) >>> 0;
10206
+ if (e < 1023) {
10207
+ bits$1 = (x$1 = new $Uint64(2147483648, 0), new $Uint64(bits$1.$high & x$1.$high, (bits$1.$low & x$1.$low) >>> 0));
10208
+ if (e === 1022) {
10209
+ bits$1 = (x$2 = new $Uint64(1072693248, 0), new $Uint64(bits$1.$high | x$2.$high, (bits$1.$low | x$2.$low) >>> 0));
10210
+ }
10211
+ } else if (e < 1075) {
10212
+ e = e - (1023) >>> 0;
10213
+ bits$1 = (x$3 = $shiftRightUint64(new $Uint64(524288, 0), e), new $Uint64(bits$1.$high + x$3.$high, bits$1.$low + x$3.$low));
10214
+ bits$1 = (x$4 = $shiftRightUint64(new $Uint64(1048575, 4294967295), e), new $Uint64(bits$1.$high & ~x$4.$high, (bits$1.$low & ~x$4.$low) >>> 0));
10215
+ }
10216
+ return Float64frombits(bits$1);
10217
+ };
10218
+ $pkg.Round = Round;
10202
10219
  frexp = function(f) {
10203
10220
  var _tmp, _tmp$1, _tmp$2, _tmp$3, _tuple, exp$1, f, frac, x, x$1, x$2, x$3;
10204
10221
  frac = 0;
@@ -136353,20 +136370,20 @@ $packages["github.com/nuberu/webgl"] = (function() {
136353
136370
  h = ($pointerOfStructConversion(((s$9.$ptr || (s$9.$ptr = new ptrType$1(function() { return this.$target[0]; }, function($v) { this.$target[0] = $v; }, s$9)))), ptrType));
136354
136371
  $s = -1; return ((h)).$get();
136355
136372
  /* } else if ($assertType(_ref, sliceType$1, true)[1]) { */ case 2:
136356
- s$4[0] = _ref.$val;
136357
- h$1 = ($pointerOfStructConversion(((s$4.$ptr || (s$4.$ptr = new ptrType$2(function() { return this.$target[0]; }, function($v) { this.$target[0] = $v; }, s$4)))), ptrType));
136373
+ s$5[0] = _ref.$val;
136374
+ 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));
136358
136375
  h$1.Len = $imul(h$1.Len, (2));
136359
136376
  h$1.Cap = $imul(h$1.Cap, (2));
136360
136377
  $s = -1; return ((h$1)).$get();
136361
136378
  /* } else if ($assertType(_ref, sliceType$2, true)[1]) { */ case 3:
136362
- s$5[0] = _ref.$val;
136363
- h$2 = ($pointerOfStructConversion(((s$5.$ptr || (s$5.$ptr = new ptrType$3(function() { return this.$target[0]; }, function($v) { this.$target[0] = $v; }, s$5)))), ptrType));
136379
+ s$6[0] = _ref.$val;
136380
+ 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));
136364
136381
  h$2.Len = $imul(h$2.Len, (4));
136365
136382
  h$2.Cap = $imul(h$2.Cap, (4));
136366
136383
  $s = -1; return ((h$2)).$get();
136367
136384
  /* } else if ($assertType(_ref, sliceType$3, true)[1]) { */ case 4:
136368
- s$6[0] = _ref.$val;
136369
- h$3 = ($pointerOfStructConversion(((s$6.$ptr || (s$6.$ptr = new ptrType$4(function() { return this.$target[0]; }, function($v) { this.$target[0] = $v; }, s$6)))), ptrType));
136385
+ s$7[0] = _ref.$val;
136386
+ h$3 = ($pointerOfStructConversion(((s$7.$ptr || (s$7.$ptr = new ptrType$4(function() { return this.$target[0]; }, function($v) { this.$target[0] = $v; }, s$7)))), ptrType));
136370
136387
  h$3.Len = $imul(h$3.Len, (8));
136371
136388
  h$3.Cap = $imul(h$3.Cap, (8));
136372
136389
  $s = -1; return ((h$3)).$get();
@@ -136374,14 +136391,14 @@ $packages["github.com/nuberu/webgl"] = (function() {
136374
136391
  s$10 = _ref.$val;
136375
136392
  $s = -1; return s$10;
136376
136393
  /* } else if ($assertType(_ref, sliceType$5, true)[1]) { */ case 6:
136377
- s$7[0] = _ref.$val;
136378
- h$4 = ($pointerOfStructConversion(((s$7.$ptr || (s$7.$ptr = new ptrType$5(function() { return this.$target[0]; }, function($v) { this.$target[0] = $v; }, s$7)))), ptrType));
136394
+ s$1[0] = _ref.$val;
136395
+ h$4 = ($pointerOfStructConversion(((s$1.$ptr || (s$1.$ptr = new ptrType$5(function() { return this.$target[0]; }, function($v) { this.$target[0] = $v; }, s$1)))), ptrType));
136379
136396
  h$4.Len = $imul(h$4.Len, (2));
136380
136397
  h$4.Cap = $imul(h$4.Cap, (2));
136381
136398
  $s = -1; return ((h$4)).$get();
136382
136399
  /* } else if ($assertType(_ref, sliceType$6, true)[1]) { */ case 7:
136383
- s$8[0] = _ref.$val;
136384
- h$5 = ($pointerOfStructConversion(((s$8.$ptr || (s$8.$ptr = new ptrType$6(function() { return this.$target[0]; }, function($v) { this.$target[0] = $v; }, s$8)))), ptrType));
136400
+ s$2[0] = _ref.$val;
136401
+ h$5 = ($pointerOfStructConversion(((s$2.$ptr || (s$2.$ptr = new ptrType$6(function() { return this.$target[0]; }, function($v) { this.$target[0] = $v; }, s$2)))), ptrType));
136385
136402
  h$5.Len = $imul(h$5.Len, (4));
136386
136403
  h$5.Cap = $imul(h$5.Cap, (4));
136387
136404
  $s = -1; return ((h$5)).$get();
@@ -136392,14 +136409,14 @@ $packages["github.com/nuberu/webgl"] = (function() {
136392
136409
  h$6.Cap = $imul(h$6.Cap, (8));
136393
136410
  $s = -1; return ((h$6)).$get();
136394
136411
  /* } else if ($assertType(_ref, sliceType$8, true)[1]) { */ case 9:
136395
- s$1[0] = _ref.$val;
136396
- h$7 = ($pointerOfStructConversion(((s$1.$ptr || (s$1.$ptr = new ptrType$8(function() { return this.$target[0]; }, function($v) { this.$target[0] = $v; }, s$1)))), ptrType));
136412
+ s$8[0] = _ref.$val;
136413
+ h$7 = ($pointerOfStructConversion(((s$8.$ptr || (s$8.$ptr = new ptrType$8(function() { return this.$target[0]; }, function($v) { this.$target[0] = $v; }, s$8)))), ptrType));
136397
136414
  h$7.Len = $imul(h$7.Len, (4));
136398
136415
  h$7.Cap = $imul(h$7.Cap, (4));
136399
136416
  $s = -1; return ((h$7)).$get();
136400
136417
  /* } else if ($assertType(_ref, sliceType$9, true)[1]) { */ case 10:
136401
- s$2[0] = _ref.$val;
136402
- h$8 = ($pointerOfStructConversion(((s$2.$ptr || (s$2.$ptr = new ptrType$9(function() { return this.$target[0]; }, function($v) { this.$target[0] = $v; }, s$2)))), ptrType));
136418
+ s$4[0] = _ref.$val;
136419
+ 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));
136403
136420
  h$8.Len = $imul(h$8.Len, (8));
136404
136421
  h$8.Cap = $imul(h$8.Cap, (8));
136405
136422
  $s = -1; return ((h$8)).$get();
@@ -140198,12 +140215,13 @@ $packages["github.com/nuberu/webgl"] = (function() {
140198
140215
  return $pkg;
140199
140216
  })();
140200
140217
  $packages["golang.org/x/exp/shiny/driver/internal/dom"] = (function() {
140201
- var $pkg = {}, $init, focus, key, mouse, size, geom, strings, js, DomEvents, funcType, sliceType, sliceType$1, sliceType$2, chanType, ptrType, keyCodesMap, keyCodesByKeyMap, NewDomEvents, getMouseDirection, getWheelButton, getMouseButton, getEventModifiers, isFocusIn, getKeyRune, getKeyDirection, getKeyCode, GetDocWidth, GetDocHeight, GetOrientation;
140218
+ var $pkg = {}, $init, focus, key, mouse, size, geom, math, strings, js, DomEvents, funcType, sliceType, sliceType$1, sliceType$2, chanType, ptrType, keyCodesMap, keyCodesByKeyMap, NewDomEvents, getMouseDirection, getWheelButton, getMouseButton, getEventModifiers, isFocusIn, getKeyRune, getKeyDirection, getKeyCode, GetDocWidth, GetDocHeight, GetScreenWidth, GetScreenHeight, GetBrowserZoomRatio, SetWindowWidth, SetWindowHeight, GetOrientation;
140202
140219
  focus = $packages["golang.org/x/mobile/event/focus"];
140203
140220
  key = $packages["golang.org/x/mobile/event/key"];
140204
140221
  mouse = $packages["golang.org/x/mobile/event/mouse"];
140205
140222
  size = $packages["golang.org/x/mobile/event/size"];
140206
140223
  geom = $packages["golang.org/x/mobile/geom"];
140224
+ math = $packages["math"];
140207
140225
  strings = $packages["strings"];
140208
140226
  js = $packages["syscall/js"];
140209
140227
  DomEvents = $pkg.DomEvents = $newType(0, $kindStruct, "dom.DomEvents", true, "golang.org/x/exp/shiny/driver/internal/dom", true, function(eventChan_, releases_) {
@@ -140547,6 +140565,62 @@ $packages["golang.org/x/exp/shiny/driver/internal/dom"] = (function() {
140547
140565
  return $clone($clone(js.Global(), js.Value).Get("innerHeight"), js.Value).Int();
140548
140566
  };
140549
140567
  $pkg.GetDocHeight = GetDocHeight;
140568
+ GetScreenWidth = function() {
140569
+ return $clone($clone($clone(js.Global(), js.Value).Get("screen"), js.Value).Get("width"), js.Value).Int();
140570
+ };
140571
+ $pkg.GetScreenWidth = GetScreenWidth;
140572
+ GetScreenHeight = function() {
140573
+ return $clone($clone($clone(js.Global(), js.Value).Get("screen"), js.Value).Get("height"), js.Value).Int();
140574
+ };
140575
+ $pkg.GetScreenHeight = GetScreenHeight;
140576
+ GetBrowserZoomRatio = function() {
140577
+ var chromeZoom1, chromeZoom2, chromeZoom3, docElClientWidth, scrollerWidthInNoZoom, scrollerWidthInZoom1, scrollerWidthInZoom2, windowInnerWidth, windowOuterWidth;
140578
+ windowInnerWidth = $clone($clone(js.Global(), js.Value).Get("innerWidth"), js.Value).Float();
140579
+ windowOuterWidth = $clone($clone(js.Global(), js.Value).Get("outerWidth"), js.Value).Float();
140580
+ docElClientWidth = $clone($clone($clone($clone(js.Global(), js.Value).Get("document"), js.Value).Get("documentElement"), js.Value).Get("clientWidth"), js.Value).Float();
140581
+ scrollerWidthInNoZoom = windowInnerWidth - docElClientWidth;
140582
+ chromeZoom1 = (windowOuterWidth - scrollerWidthInNoZoom) / windowInnerWidth;
140583
+ scrollerWidthInZoom1 = math.Round(scrollerWidthInNoZoom * chromeZoom1);
140584
+ chromeZoom2 = (windowOuterWidth - scrollerWidthInZoom1) / windowInnerWidth;
140585
+ scrollerWidthInZoom2 = math.Round(scrollerWidthInNoZoom * chromeZoom2);
140586
+ chromeZoom3 = (windowOuterWidth - scrollerWidthInZoom2) / windowInnerWidth;
140587
+ return chromeZoom3;
140588
+ };
140589
+ $pkg.GetBrowserZoomRatio = GetBrowserZoomRatio;
140590
+ SetWindowWidth = function(newInnerWidth) {
140591
+ var _r, innerWidth, newInnerWidth, newOuterWidth, outerHeight, outerWidth, screenWidth, $s, $r;
140592
+ /* */ $s = 0; var $f, $c = false; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; _r = $f._r; innerWidth = $f.innerWidth; newInnerWidth = $f.newInnerWidth; newOuterWidth = $f.newOuterWidth; outerHeight = $f.outerHeight; outerWidth = $f.outerWidth; screenWidth = $f.screenWidth; $s = $f.$s; $r = $f.$r; } s: while (true) { switch ($s) { case 0:
140593
+ innerWidth = $clone($clone(js.Global(), js.Value).Get("innerWidth"), js.Value).Int();
140594
+ outerWidth = $clone($clone(js.Global(), js.Value).Get("outerWidth"), js.Value).Int();
140595
+ outerHeight = $clone($clone(js.Global(), js.Value).Get("outerHeight"), js.Value).Int();
140596
+ newOuterWidth = newInnerWidth + ((outerWidth - innerWidth >> 0)) >> 0;
140597
+ screenWidth = GetScreenWidth();
140598
+ if (newOuterWidth > screenWidth) {
140599
+ newOuterWidth = screenWidth;
140600
+ }
140601
+ _r = $clone(js.Global(), js.Value).Call("resizeTo", new sliceType$1([new $Int(newOuterWidth), new $Int(outerHeight)])); /* */ $s = 1; case 1: if($c) { $c = false; _r = _r.$blk(); } if (_r && _r.$blk !== undefined) { break s; }
140602
+ _r;
140603
+ $s = -1; return;
140604
+ /* */ } return; } if ($f === undefined) { $f = { $blk: SetWindowWidth }; } $f._r = _r; $f.innerWidth = innerWidth; $f.newInnerWidth = newInnerWidth; $f.newOuterWidth = newOuterWidth; $f.outerHeight = outerHeight; $f.outerWidth = outerWidth; $f.screenWidth = screenWidth; $f.$s = $s; $f.$r = $r; return $f;
140605
+ };
140606
+ $pkg.SetWindowWidth = SetWindowWidth;
140607
+ SetWindowHeight = function(newInnerHeight) {
140608
+ var _r, innerHeight, newInnerHeight, newOuterHeight, outerHeight, outerWidth, screenHeight, $s, $r;
140609
+ /* */ $s = 0; var $f, $c = false; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; _r = $f._r; innerHeight = $f.innerHeight; newInnerHeight = $f.newInnerHeight; newOuterHeight = $f.newOuterHeight; outerHeight = $f.outerHeight; outerWidth = $f.outerWidth; screenHeight = $f.screenHeight; $s = $f.$s; $r = $f.$r; } s: while (true) { switch ($s) { case 0:
140610
+ innerHeight = $clone($clone(js.Global(), js.Value).Get("innerHeight"), js.Value).Int();
140611
+ outerHeight = $clone($clone(js.Global(), js.Value).Get("outerHeight"), js.Value).Int();
140612
+ outerWidth = $clone($clone(js.Global(), js.Value).Get("outerWidth"), js.Value).Int();
140613
+ newOuterHeight = newInnerHeight + ((outerHeight - innerHeight >> 0)) >> 0;
140614
+ screenHeight = GetScreenHeight();
140615
+ if (newOuterHeight > screenHeight) {
140616
+ newOuterHeight = screenHeight;
140617
+ }
140618
+ _r = $clone(js.Global(), js.Value).Call("resizeTo", new sliceType$1([new $Int(outerWidth), new $Int(newOuterHeight)])); /* */ $s = 1; case 1: if($c) { $c = false; _r = _r.$blk(); } if (_r && _r.$blk !== undefined) { break s; }
140619
+ _r;
140620
+ $s = -1; return;
140621
+ /* */ } return; } if ($f === undefined) { $f = { $blk: SetWindowHeight }; } $f._r = _r; $f.innerHeight = innerHeight; $f.newInnerHeight = newInnerHeight; $f.newOuterHeight = newOuterHeight; $f.outerHeight = outerHeight; $f.outerWidth = outerWidth; $f.screenHeight = screenHeight; $f.$s = $s; $f.$r = $r; return $f;
140622
+ };
140623
+ $pkg.SetWindowHeight = SetWindowHeight;
140550
140624
  GetOrientation = function() {
140551
140625
  var orientation, orientationType, $deferred;
140552
140626
  /* */ var $err = null; try { $deferred = []; $deferred.index = $curGoroutine.deferStack.length; $curGoroutine.deferStack.push($deferred);
@@ -140580,8 +140654,9 @@ $packages["golang.org/x/exp/shiny/driver/internal/dom"] = (function() {
140580
140654
  $r = mouse.$init(); /* */ $s = 3; case 3: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
140581
140655
  $r = size.$init(); /* */ $s = 4; case 4: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
140582
140656
  $r = geom.$init(); /* */ $s = 5; case 5: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
140583
- $r = strings.$init(); /* */ $s = 6; case 6: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
140584
- $r = js.$init(); /* */ $s = 7; case 7: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
140657
+ $r = math.$init(); /* */ $s = 6; case 6: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
140658
+ $r = strings.$init(); /* */ $s = 7; case 7: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
140659
+ $r = js.$init(); /* */ $s = 8; case 8: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
140585
140660
  keyCodesMap = $makeMap($String.keyFor, [{ k: "KeyA", v: 4 }, { k: "KeyB", v: 5 }, { k: "KeyC", v: 6 }, { k: "KeyD", v: 7 }, { k: "KeyE", v: 8 }, { k: "KeyF", v: 9 }, { k: "KeyG", v: 10 }, { k: "KeyH", v: 11 }, { k: "KeyI", v: 12 }, { k: "KeyJ", v: 13 }, { k: "KeyK", v: 14 }, { k: "KeyL", v: 15 }, { k: "KeyM", v: 16 }, { k: "KeyN", v: 17 }, { k: "KeyO", v: 18 }, { k: "KeyP", v: 19 }, { k: "KeyQ", v: 20 }, { k: "KeyR", v: 21 }, { k: "KeyS", v: 22 }, { k: "KeyT", v: 23 }, { k: "KeyU", v: 24 }, { k: "KeyV", v: 25 }, { k: "KeyW", v: 26 }, { k: "KeyX", v: 27 }, { k: "KeyY", v: 28 }, { k: "KeyZ", v: 29 }, { k: "Digit1", v: 30 }, { k: "Digit2", v: 31 }, { k: "Digit3", v: 32 }, { k: "Digit4", v: 33 }, { k: "Digit5", v: 34 }, { k: "Digit6", v: 35 }, { k: "Digit7", v: 36 }, { k: "Digit8", v: 37 }, { k: "Digit9", v: 38 }, { k: "Digit0", v: 39 }, { k: "Enter", v: 40 }, { k: "Escape", v: 41 }, { k: "Backspace", v: 42 }, { k: "Tab", v: 43 }, { k: "Space", v: 44 }, { k: "Minus", v: 45 }, { k: "Equal", v: 46 }, { k: "BracketLeft", v: 47 }, { k: "BracketRight", v: 48 }, { k: "Backslash", v: 49 }, { k: "Semicolon", v: 51 }, { k: "Quote", v: 52 }, { k: "Backquote", v: 53 }, { k: "Comma", v: 54 }, { k: "Period", v: 55 }, { k: "Slash", v: 56 }, { k: "CapsLock", v: 57 }, { k: "F1", v: 58 }, { k: "F2", v: 59 }, { k: "F3", v: 60 }, { k: "F4", v: 61 }, { k: "F5", v: 62 }, { k: "F6", v: 63 }, { k: "F7", v: 64 }, { k: "F8", v: 65 }, { k: "F9", v: 66 }, { k: "F10", v: 67 }, { k: "F11", v: 68 }, { k: "F12", v: 69 }, { k: "Pause", v: 72 }, { k: "Insert", v: 73 }, { k: "Home", v: 74 }, { k: "PageUp", v: 75 }, { k: "Delete", v: 76 }, { k: "End", v: 77 }, { k: "PageDown", v: 78 }, { k: "ArrowRight", v: 79 }, { k: "ArrowLeft", v: 80 }, { k: "ArrowDown", v: 81 }, { k: "ArrowUp", v: 82 }, { k: "NumLock", v: 83 }, { k: "NumpadDivide", v: 84 }, { k: "NumpadMultiply", v: 85 }, { k: "NumpadSubtract", v: 86 }, { k: "NumpadAdd", v: 87 }, { k: "NumpadEnter", v: 88 }, { k: "Numpad1", v: 89 }, { k: "Numpad2", v: 90 }, { k: "Numpad3", v: 91 }, { k: "Numpad4", v: 92 }, { k: "Numpad5", v: 93 }, { k: "Numpad6", v: 94 }, { k: "Numpad7", v: 95 }, { k: "Numpad8", v: 96 }, { k: "Numpad9", v: 97 }, { k: "Numpad0", v: 98 }, { k: "NumpadDecimal", v: 99 }, { k: "NumpadEqual", v: 103 }, { k: "F13", v: 104 }, { k: "F14", v: 105 }, { k: "F15", v: 106 }, { k: "F16", v: 107 }, { k: "F17", v: 108 }, { k: "F18", v: 109 }, { k: "F19", v: 110 }, { k: "F20", v: 111 }, { k: "F21", v: 112 }, { k: "F22", v: 113 }, { k: "F23", v: 114 }, { k: "F24", v: 115 }, { k: "Help", v: 117 }, { k: "ContextMenu", v: 118 }, { k: "VolumeMute", v: 127 }, { k: "VolumeUp", v: 128 }, { k: "VolumeDown", v: 129 }, { k: "ControlLeft", v: 224 }, { k: "ShiftLeft", v: 225 }, { k: "AltLeft", v: 226 }, { k: "MetaLeft", v: 227 }, { k: "ControlRight", v: 228 }, { k: "ShiftRight", v: 229 }, { k: "AltRight", v: 230 }, { k: "MetaRight", v: 231 }, { k: "PrintScreen", v: 0 }]);
140586
140661
  keyCodesByKeyMap = $makeMap($String.keyFor, [{ k: "AudioVolumeMute", v: 127 }, { k: "AudioVolumeUp", v: 128 }, { k: "AudioVolumeDown", v: 129 }]);
140587
140662
  /* */ } return; } if ($f === undefined) { $f = { $blk: $init }; } $f.$s = $s; $f.$r = $r; return $f;
@@ -142196,12 +142271,10 @@ $packages["golang.org/x/exp/shiny/driver/webgldriver"] = (function() {
142196
142271
  }
142197
142272
  this.doc = doc_;
142198
142273
  });
142199
- windowImpl = $pkg.windowImpl = $newType(0, $kindStruct, "webgldriver.windowImpl", true, "golang.org/x/exp/shiny/driver/webgldriver", false, function(screen_, width_, height_, mutex_, canvasEl_, gl_, programRGBA_, imageTexRGBA_, programYUV420_, imageTexY_, imageTexU_, imageTexV_, vertexArray_, released_, domEvents_) {
142274
+ 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_) {
142200
142275
  this.$val = this;
142201
142276
  if (arguments.length === 0) {
142202
142277
  this.screen = ptrType.nil;
142203
- this.width = 0;
142204
- this.height = 0;
142205
142278
  this.mutex = ptrType$1.nil;
142206
142279
  this.canvasEl = new js.Value.ptr(null, false);
142207
142280
  this.gl = ptrType$4.nil;
@@ -142214,11 +142287,10 @@ $packages["golang.org/x/exp/shiny/driver/webgldriver"] = (function() {
142214
142287
  this.vertexArray = ptrType$6.nil;
142215
142288
  this.released = false;
142216
142289
  this.domEvents = ptrType$7.nil;
142290
+ this.resizeCallback = new js.Func.ptr(new js.Value.ptr(null, false));
142217
142291
  return;
142218
142292
  }
142219
142293
  this.screen = screen_;
142220
- this.width = width_;
142221
- this.height = height_;
142222
142294
  this.mutex = mutex_;
142223
142295
  this.canvasEl = canvasEl_;
142224
142296
  this.gl = gl_;
@@ -142231,6 +142303,7 @@ $packages["golang.org/x/exp/shiny/driver/webgldriver"] = (function() {
142231
142303
  this.vertexArray = vertexArray_;
142232
142304
  this.released = released_;
142233
142305
  this.domEvents = domEvents_;
142306
+ this.resizeCallback = resizeCallback_;
142234
142307
  });
142235
142308
  sliceType = $sliceType($Uint16);
142236
142309
  sliceType$1 = $sliceType($Float32);
@@ -142602,68 +142675,100 @@ $packages["golang.org/x/exp/shiny/driver/webgldriver"] = (function() {
142602
142675
  /* */ } 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;
142603
142676
  };
142604
142677
  newWindow = function(screen$1, opts) {
142605
- var _q, _q$1, _q$2, _q$3, _r, _r$1, _r$10, _r$11, _r$2, _r$3, _r$4, _r$5, _r$6, _r$7, _r$8, _r$9, _tuple, _tuple$1, _tuple$2, canvasEl, domEvents, err, gl, height, opts, screen$1, w, width, $s, $r;
142606
- /* */ $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$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; canvasEl = $f.canvasEl; domEvents = $f.domEvents; err = $f.err; gl = $f.gl; height = $f.height; opts = $f.opts; screen$1 = $f.screen$1; w = $f.w; width = $f.width; $s = $f.$s; $r = $f.$r; } s: while (true) { switch ($s) { case 0:
142678
+ 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;
142679
+ /* */ $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:
142680
+ adaptCanvas = [adaptCanvas];
142681
+ canvasEl = [canvasEl];
142607
142682
  _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; }
142608
- canvasEl = $clone(_r, js.Value);
142609
- _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; }
142683
+ canvasEl[0] = $clone(_r, js.Value);
142684
+ _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; }
142610
142685
  _r$1;
142611
- width = opts.Width;
142612
- if (opts.Width === 0) {
142613
- width = dom.GetDocWidth();
142614
- }
142615
- $r = $clone(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; }
142616
- height = opts.Height;
142617
- if (opts.Height === 0) {
142618
- height = dom.GetDocHeight();
142619
- }
142620
- $r = $clone(canvasEl, js.Value).Set("height", new $Int(height)); /* */ $s = 4; case 4: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
142621
- /* */ if (!(opts.Title === "")) { $s = 5; continue; }
142686
+ adaptCanvas[0] = (function(adaptCanvas, canvasEl) { return function $b() {
142687
+ var height, width, $s, $r;
142688
+ /* */ $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:
142689
+ width = dom.GetScreenWidth();
142690
+ /* */ if (!(($clone($clone(canvasEl[0], js.Value).Get("width"), js.Value).Int() === width))) { $s = 1; continue; }
142691
+ /* */ $s = 2; continue;
142692
+ /* if (!(($clone($clone(canvasEl[0], js.Value).Get("width"), js.Value).Int() === width))) { */ case 1:
142693
+ $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; }
142694
+ /* } */ case 2:
142695
+ height = dom.GetScreenHeight();
142696
+ /* */ if (!(($clone($clone(canvasEl[0], js.Value).Get("height"), js.Value).Int() === height))) { $s = 4; continue; }
142697
+ /* */ $s = 5; continue;
142698
+ /* if (!(($clone($clone(canvasEl[0], js.Value).Get("height"), js.Value).Int() === height))) { */ case 4:
142699
+ $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; }
142700
+ /* } */ case 5:
142701
+ $s = -1; return;
142702
+ /* */ } return; } if ($f === undefined) { $f = { $blk: $b }; } $f.height = height; $f.width = width; $f.$s = $s; $f.$r = $r; return $f;
142703
+ }; })(adaptCanvas, canvasEl);
142704
+ $r = adaptCanvas[0](); /* */ $s = 3; case 3: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
142705
+ resizeCallback = $clone(js.FuncOf((function(adaptCanvas, canvasEl) { return function $b(this$1, args) {
142706
+ var args, this$1, $s, $r;
142707
+ /* */ $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:
142708
+ $r = adaptCanvas[0](); /* */ $s = 1; case 1: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
142709
+ $s = -1; return $ifaceNil;
142710
+ /* */ } return; } if ($f === undefined) { $f = { $blk: $b }; } $f.args = args; $f.this$1 = this$1; $f.$s = $s; $f.$r = $r; return $f;
142711
+ }; })(adaptCanvas, canvasEl)), js.Func);
142712
+ _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; }
142713
+ _r$2;
142714
+ /* */ if (!((opts.Width === 0))) { $s = 5; continue; }
142622
142715
  /* */ $s = 6; continue;
142623
- /* if (!(opts.Title === "")) { */ case 5:
142624
- _r$2 = $clone($clone(screen$1.doc, js.Value).Get("head"), js.Value).Call("getElementsByTagName", new sliceType$2([new $String("title")])); /* */ $s = 7; case 7: if($c) { $c = false; _r$2 = _r$2.$blk(); } if (_r$2 && _r$2.$blk !== undefined) { break s; }
142625
- _r$3 = $clone(_r$2, js.Value).Call("item", new sliceType$2([new $Int(0)])); /* */ $s = 8; case 8: if($c) { $c = false; _r$3 = _r$3.$blk(); } if (_r$3 && _r$3.$blk !== undefined) { break s; }
142626
- $r = $clone(_r$3, js.Value).Set("innerHTML", new $String(opts.Title)); /* */ $s = 9; case 9: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
142716
+ /* if (!((opts.Width === 0))) { */ case 5:
142717
+ $r = dom.SetWindowWidth(opts.Width); /* */ $s = 7; case 7: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
142627
142718
  /* } */ case 6:
142628
- _r$4 = webgl.FromCanvas($clone(canvasEl, js.Value)); /* */ $s = 10; case 10: if($c) { $c = false; _r$4 = _r$4.$blk(); } if (_r$4 && _r$4.$blk !== undefined) { break s; }
142629
- _tuple = _r$4;
142719
+ /* */ if (!((opts.Height === 0))) { $s = 8; continue; }
142720
+ /* */ $s = 9; continue;
142721
+ /* if (!((opts.Height === 0))) { */ case 8:
142722
+ $r = dom.SetWindowHeight(opts.Height); /* */ $s = 10; case 10: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
142723
+ /* } */ case 9:
142724
+ /* */ if (!(opts.Title === "")) { $s = 11; continue; }
142725
+ /* */ $s = 12; continue;
142726
+ /* if (!(opts.Title === "")) { */ case 11:
142727
+ _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; }
142728
+ _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; }
142729
+ $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; }
142730
+ /* } */ case 12:
142731
+ _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; }
142732
+ _tuple = _r$5;
142630
142733
  gl = _tuple[0];
142631
142734
  err = _tuple[1];
142632
142735
  if (!($interfaceIsEqual(err, $ifaceNil))) {
142633
142736
  $panic(err);
142634
142737
  }
142635
142738
  domEvents = dom.NewDomEvents();
142636
- w = new windowImpl.ptr(screen$1, width, height, 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);
142637
- _r$5 = w.createAndLinkProgramRGBA(); /* */ $s = 11; case 11: if($c) { $c = false; _r$5 = _r$5.$blk(); } if (_r$5 && _r$5.$blk !== undefined) { break s; }
142638
- _tuple$1 = _r$5;
142739
+ 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));
142740
+ width = dom.GetScreenWidth();
142741
+ height = dom.GetScreenHeight();
142742
+ _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; }
142743
+ _tuple$1 = _r$6;
142639
142744
  w.programRGBA = _tuple$1[0];
142640
142745
  err = _tuple$1[1];
142641
142746
  if (!($interfaceIsEqual(err, $ifaceNil))) {
142642
142747
  $panic(err);
142643
142748
  }
142644
- _r$6 = w.createTexture(33984, 6408, w.width, w.height); /* */ $s = 12; case 12: if($c) { $c = false; _r$6 = _r$6.$blk(); } if (_r$6 && _r$6.$blk !== undefined) { break s; }
142645
- w.imageTexRGBA = _r$6;
142646
- _r$7 = w.createAndLinkProgramYUV420(); /* */ $s = 13; case 13: if($c) { $c = false; _r$7 = _r$7.$blk(); } if (_r$7 && _r$7.$blk !== undefined) { break s; }
142647
- _tuple$2 = _r$7;
142749
+ _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; }
142750
+ w.imageTexRGBA = _r$7;
142751
+ _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; }
142752
+ _tuple$2 = _r$8;
142648
142753
  w.programYUV420 = _tuple$2[0];
142649
142754
  err = _tuple$2[1];
142650
142755
  if (!($interfaceIsEqual(err, $ifaceNil))) {
142651
142756
  $panic(err);
142652
142757
  }
142653
- _r$8 = w.createTexture(33985, 6409, w.width, w.height); /* */ $s = 14; case 14: if($c) { $c = false; _r$8 = _r$8.$blk(); } if (_r$8 && _r$8.$blk !== undefined) { break s; }
142654
- w.imageTexY = _r$8;
142655
- _r$9 = w.createTexture(33986, 6409, (_q = w.width / 2, (_q === _q && _q !== 1/0 && _q !== -1/0) ? _q >> 0 : $throwRuntimeError("integer divide by zero")), (_q$1 = w.height / 2, (_q$1 === _q$1 && _q$1 !== 1/0 && _q$1 !== -1/0) ? _q$1 >> 0 : $throwRuntimeError("integer divide by zero"))); /* */ $s = 15; case 15: if($c) { $c = false; _r$9 = _r$9.$blk(); } if (_r$9 && _r$9.$blk !== undefined) { break s; }
142656
- w.imageTexU = _r$9;
142657
- _r$10 = w.createTexture(33987, 6409, (_q$2 = w.width / 2, (_q$2 === _q$2 && _q$2 !== 1/0 && _q$2 !== -1/0) ? _q$2 >> 0 : $throwRuntimeError("integer divide by zero")), (_q$3 = w.height / 2, (_q$3 === _q$3 && _q$3 !== 1/0 && _q$3 !== -1/0) ? _q$3 >> 0 : $throwRuntimeError("integer divide by zero"))); /* */ $s = 16; case 16: if($c) { $c = false; _r$10 = _r$10.$blk(); } if (_r$10 && _r$10.$blk !== undefined) { break s; }
142658
- w.imageTexV = _r$10;
142659
- _r$11 = w.createBuffers(); /* */ $s = 17; case 17: if($c) { $c = false; _r$11 = _r$11.$blk(); } if (_r$11 && _r$11.$blk !== undefined) { break s; }
142660
- w.vertexArray = _r$11;
142661
- $r = w.gl.Enable(2929); /* */ $s = 18; case 18: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
142662
- $r = w.gl.Viewport(0, 0, w.width, w.height); /* */ $s = 19; case 19: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
142663
- $r = w.clear(); /* */ $s = 20; case 20: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
142664
- $r = domEvents.BindEvents(); /* */ $s = 21; case 21: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
142758
+ _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; }
142759
+ w.imageTexY = _r$9;
142760
+ _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; }
142761
+ w.imageTexU = _r$10;
142762
+ _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; }
142763
+ w.imageTexV = _r$11;
142764
+ _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; }
142765
+ w.vertexArray = _r$12;
142766
+ $r = w.gl.Enable(2929); /* */ $s = 24; case 24: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
142767
+ $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; }
142768
+ $r = w.clear(); /* */ $s = 26; case 26: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
142769
+ $r = domEvents.BindEvents(); /* */ $s = 27; case 27: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
142665
142770
  $s = -1; return w;
142666
- /* */ } 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$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.canvasEl = canvasEl; $f.domEvents = domEvents; $f.err = err; $f.gl = gl; $f.height = height; $f.opts = opts; $f.screen$1 = screen$1; $f.w = w; $f.width = width; $f.$s = $s; $f.$r = $r; return $f;
142771
+ /* */ } 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;
142667
142772
  };
142668
142773
  windowImpl.ptr.prototype.clear = function() {
142669
142774
  var w, $s, $r;
@@ -142676,20 +142781,23 @@ $packages["golang.org/x/exp/shiny/driver/webgldriver"] = (function() {
142676
142781
  };
142677
142782
  windowImpl.prototype.clear = function() { return this.$val.clear(); };
142678
142783
  windowImpl.ptr.prototype.Release = function() {
142679
- var _r, w, $s, $deferred, $r;
142680
- /* */ $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);
142784
+ var _r, _r$1, w, x, $s, $deferred, $r;
142785
+ /* */ $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);
142681
142786
  w = this;
142682
142787
  $r = w.mutex.Lock(); /* */ $s = 1; case 1: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
142683
142788
  $deferred.push([$methodVal(w.mutex, "Unlock"), []]);
142684
142789
  if (w.released) {
142685
142790
  $s = -1; return;
142686
142791
  }
142687
- _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; }
142792
+ _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; }
142688
142793
  _r;
142689
- $r = w.domEvents.Release(); /* */ $s = 3; case 3: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
142794
+ $clone(w.resizeCallback, js.Func).Release();
142795
+ _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; }
142796
+ _r$1;
142797
+ $r = w.domEvents.Release(); /* */ $s = 4; case 4: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
142690
142798
  w.released = true;
142691
142799
  $s = -1; return;
142692
- /* */ } 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; } }
142800
+ /* */ } 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; } }
142693
142801
  };
142694
142802
  windowImpl.prototype.Release = function() { return this.$val.Release(); };
142695
142803
  windowImpl.ptr.prototype.Publish = function() {
@@ -142850,7 +142958,7 @@ $packages["golang.org/x/exp/shiny/driver/webgldriver"] = (function() {
142850
142958
  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: ""}]);
142851
142959
  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: ""}]);
142852
142960
  screenImpl.init("golang.org/x/exp/shiny/driver/webgldriver", [{prop: "doc", name: "doc", embedded: false, exported: false, typ: js.Value, tag: ""}]);
142853
- windowImpl.init("golang.org/x/exp/shiny/driver/webgldriver", [{prop: "screen", name: "screen", embedded: false, exported: false, typ: ptrType, tag: ""}, {prop: "width", name: "width", embedded: false, exported: false, typ: $Int, tag: ""}, {prop: "height", name: "height", embedded: false, exported: false, typ: $Int, 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: ""}]);
142961
+ 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: ""}]);
142854
142962
  $init = function() {
142855
142963
  $pkg.$init = function() {};
142856
142964
  /* */ 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:
@@ -142907,8 +143015,8 @@ $packages["github.com/supraio/client-daemon/pkg/x264/h264decoder"] = (function()
142907
143015
  };
142908
143016
  $pkg.NewDecoder = NewDecoder;
142909
143017
  H264Decoder.ptr.prototype.Decode = function(nal, outputBuffer) {
142910
- var _q, _q$1, _q$2, _r, _r$1, _r$2, _r$3, cSize, cStride, height, heightIndex, m, nal, outputBuffer, pHeight, pPicture, pWidth, pictureBuffer, pictureBufferOffset, pictureIndex, pictureLen, status, width, widthIndex, x, x$1, ySize, yStride, ycbcrJSImg, $s, $r;
142911
- /* */ $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; 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; ycbcrJSImg = $f.ycbcrJSImg; $s = $f.$s; $r = $f.$r; } s: while (true) { switch ($s) { case 0:
143018
+ 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;
143019
+ /* */ $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:
142912
143020
  m = this;
142913
143021
  js.CopyBytesToJS($clone(m.nalBuffer, js.Value), nal);
142914
143022
  pPicture = $clone($clone(m.decoder, js.Value).Get("pPicture"), js.Value);
@@ -142945,8 +143053,12 @@ $packages["github.com/supraio/client-daemon/pkg/x264/h264decoder"] = (function()
142945
143053
  ycbcrJSImg.SubsampleRatio = 2;
142946
143054
  image.Rectangle.copy(ycbcrJSImg.Rect, image.Rect(0, 0, width, height));
142947
143055
  ycbcrJSImg.Use = true;
143056
+ _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; }
143057
+ ycbcrImg = _r$4;
143058
+ image.Rectangle.copy(ycbcrImg.Rect, ycbcrJSImg.Rect);
143059
+ ycbcrImg.SubsampleRatio = 2;
142948
143060
  $s = -1; return $ifaceNil;
142949
- /* */ } 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.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.ycbcrJSImg = ycbcrJSImg; $f.$s = $s; $f.$r = $r; return $f;
143061
+ /* */ } 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;
142950
143062
  };
142951
143063
  H264Decoder.prototype.Decode = function(nal, outputBuffer) { return this.$val.Decode(nal, outputBuffer); };
142952
143064
  H264Decoder.ptr.prototype.Release = function(outputBuffer) {
@@ -143072,27 +143184,25 @@ $packages["golang.org/x/exp/shiny/driver/canvasdriver"] = (function() {
143072
143184
  }
143073
143185
  this.doc = doc_;
143074
143186
  });
143075
- windowImpl = $pkg.windowImpl = $newType(0, $kindStruct, "canvasdriver.windowImpl", true, "golang.org/x/exp/shiny/driver/canvasdriver", false, function(screen_, width_, height_, mutex_, canvasEl_, ctx2d_, released_, domEvents_) {
143187
+ windowImpl = $pkg.windowImpl = $newType(0, $kindStruct, "canvasdriver.windowImpl", true, "golang.org/x/exp/shiny/driver/canvasdriver", false, function(screen_, mutex_, canvasEl_, ctx2d_, released_, domEvents_, resizeCallback_) {
143076
143188
  this.$val = this;
143077
143189
  if (arguments.length === 0) {
143078
143190
  this.screen = ptrType.nil;
143079
- this.width = 0;
143080
- this.height = 0;
143081
143191
  this.mutex = ptrType$1.nil;
143082
143192
  this.canvasEl = new js.Value.ptr(null, false);
143083
143193
  this.ctx2d = new js.Value.ptr(null, false);
143084
143194
  this.released = false;
143085
143195
  this.domEvents = ptrType$4.nil;
143196
+ this.resizeCallback = new js.Func.ptr(new js.Value.ptr(null, false));
143086
143197
  return;
143087
143198
  }
143088
143199
  this.screen = screen_;
143089
- this.width = width_;
143090
- this.height = height_;
143091
143200
  this.mutex = mutex_;
143092
143201
  this.canvasEl = canvasEl_;
143093
143202
  this.ctx2d = ctx2d_;
143094
143203
  this.released = released_;
143095
143204
  this.domEvents = domEvents_;
143205
+ this.resizeCallback = resizeCallback_;
143096
143206
  });
143097
143207
  ptrType = $ptrType(screenImpl);
143098
143208
  ptrType$1 = $ptrType(sync.Mutex);
@@ -143222,58 +143332,92 @@ $packages["golang.org/x/exp/shiny/driver/canvasdriver"] = (function() {
143222
143332
  /* */ } 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;
143223
143333
  };
143224
143334
  newWindow = function(screen$1, opts) {
143225
- var _r, _r$1, _r$2, _r$3, _r$4, _r$5, canvasEl, ctx2d, domEvents, height, opts, screen$1, w, width, $s, $r;
143226
- /* */ $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; canvasEl = $f.canvasEl; ctx2d = $f.ctx2d; domEvents = $f.domEvents; height = $f.height; opts = $f.opts; screen$1 = $f.screen$1; w = $f.w; width = $f.width; $s = $f.$s; $r = $f.$r; } s: while (true) { switch ($s) { case 0:
143335
+ var _r, _r$1, _r$2, _r$3, _r$4, _r$5, _r$6, adaptCanvas, canvasEl, ctx2d, domEvents, opts, resizeCallback, screen$1, w, $s, $r;
143336
+ /* */ $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; _r$6 = $f._r$6; adaptCanvas = $f.adaptCanvas; canvasEl = $f.canvasEl; ctx2d = $f.ctx2d; domEvents = $f.domEvents; opts = $f.opts; resizeCallback = $f.resizeCallback; screen$1 = $f.screen$1; w = $f.w; $s = $f.$s; $r = $f.$r; } s: while (true) { switch ($s) { case 0:
143337
+ adaptCanvas = [adaptCanvas];
143338
+ canvasEl = [canvasEl];
143227
143339
  _r = $clone(screen$1.doc, js.Value).Call("createElement", new sliceType$1([new $String("canvas")])); /* */ $s = 1; case 1: if($c) { $c = false; _r = _r.$blk(); } if (_r && _r.$blk !== undefined) { break s; }
143228
- canvasEl = $clone(_r, js.Value);
143229
- _r$1 = $clone($clone(screen$1.doc, js.Value).Get("body"), js.Value).Call("appendChild", new sliceType$1([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; }
143340
+ canvasEl[0] = $clone(_r, js.Value);
143341
+ _r$1 = $clone($clone(screen$1.doc, js.Value).Get("body"), js.Value).Call("appendChild", new sliceType$1([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; }
143230
143342
  _r$1;
143231
- width = opts.Width;
143232
- if (opts.Width === 0) {
143233
- width = dom.GetDocWidth();
143234
- }
143235
- $r = $clone(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; }
143236
- height = opts.Height;
143237
- if (opts.Height === 0) {
143238
- height = dom.GetDocHeight();
143239
- }
143240
- $r = $clone(canvasEl, js.Value).Set("height", new $Int(height)); /* */ $s = 4; case 4: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
143241
- /* */ if (!(opts.Title === "")) { $s = 5; continue; }
143343
+ adaptCanvas[0] = (function(adaptCanvas, canvasEl) { return function $b() {
143344
+ var height, scale, width, $s, $r;
143345
+ /* */ $s = 0; var $f, $c = false; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; height = $f.height; scale = $f.scale; width = $f.width; $s = $f.$s; $r = $f.$r; } s: while (true) { switch ($s) { case 0:
143346
+ scale = dom.GetBrowserZoomRatio();
143347
+ width = (((dom.GetScreenWidth()) / scale >> 0));
143348
+ /* */ if (!(($clone($clone(canvasEl[0], js.Value).Get("width"), js.Value).Int() === width))) { $s = 1; continue; }
143349
+ /* */ $s = 2; continue;
143350
+ /* if (!(($clone($clone(canvasEl[0], js.Value).Get("width"), js.Value).Int() === width))) { */ case 1:
143351
+ $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; }
143352
+ /* } */ case 2:
143353
+ height = (((dom.GetScreenHeight()) / scale >> 0));
143354
+ /* */ if (!(($clone($clone(canvasEl[0], js.Value).Get("height"), js.Value).Int() === height))) { $s = 4; continue; }
143355
+ /* */ $s = 5; continue;
143356
+ /* if (!(($clone($clone(canvasEl[0], js.Value).Get("height"), js.Value).Int() === height))) { */ case 4:
143357
+ $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; }
143358
+ /* } */ case 5:
143359
+ $s = -1; return;
143360
+ /* */ } return; } if ($f === undefined) { $f = { $blk: $b }; } $f.height = height; $f.scale = scale; $f.width = width; $f.$s = $s; $f.$r = $r; return $f;
143361
+ }; })(adaptCanvas, canvasEl);
143362
+ $r = adaptCanvas[0](); /* */ $s = 3; case 3: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
143363
+ resizeCallback = $clone(js.FuncOf((function(adaptCanvas, canvasEl) { return function $b(this$1, args) {
143364
+ var args, this$1, $s, $r;
143365
+ /* */ $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:
143366
+ $r = adaptCanvas[0](); /* */ $s = 1; case 1: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
143367
+ $s = -1; return $ifaceNil;
143368
+ /* */ } return; } if ($f === undefined) { $f = { $blk: $b }; } $f.args = args; $f.this$1 = this$1; $f.$s = $s; $f.$r = $r; return $f;
143369
+ }; })(adaptCanvas, canvasEl)), js.Func);
143370
+ _r$2 = $clone(js.Global(), js.Value).Call("addEventListener", new sliceType$1([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; }
143371
+ _r$2;
143372
+ /* */ if (!((opts.Width === 0))) { $s = 5; continue; }
143242
143373
  /* */ $s = 6; continue;
143243
- /* if (!(opts.Title === "")) { */ case 5:
143244
- _r$2 = $clone($clone(screen$1.doc, js.Value).Get("head"), js.Value).Call("getElementsByTagName", new sliceType$1([new $String("title")])); /* */ $s = 7; case 7: if($c) { $c = false; _r$2 = _r$2.$blk(); } if (_r$2 && _r$2.$blk !== undefined) { break s; }
143245
- _r$3 = $clone(_r$2, js.Value).Call("item", new sliceType$1([new $Int(0)])); /* */ $s = 8; case 8: if($c) { $c = false; _r$3 = _r$3.$blk(); } if (_r$3 && _r$3.$blk !== undefined) { break s; }
143246
- $r = $clone(_r$3, js.Value).Set("innerHTML", new $String(opts.Title)); /* */ $s = 9; case 9: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
143374
+ /* if (!((opts.Width === 0))) { */ case 5:
143375
+ $r = dom.SetWindowWidth(opts.Width); /* */ $s = 7; case 7: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
143247
143376
  /* } */ case 6:
143248
- _r$4 = $clone(canvasEl, js.Value).Call("getContext", new sliceType$1([new $String("2d")])); /* */ $s = 10; case 10: if($c) { $c = false; _r$4 = _r$4.$blk(); } if (_r$4 && _r$4.$blk !== undefined) { break s; }
143249
- ctx2d = $clone(_r$4, js.Value);
143250
- /* */ if ($clone(ctx2d, js.Value).IsUndefined() || $clone(ctx2d, js.Value).IsNull()) { $s = 11; continue; }
143377
+ /* */ if (!((opts.Height === 0))) { $s = 8; continue; }
143378
+ /* */ $s = 9; continue;
143379
+ /* if (!((opts.Height === 0))) { */ case 8:
143380
+ $r = dom.SetWindowHeight(opts.Height); /* */ $s = 10; case 10: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
143381
+ /* } */ case 9:
143382
+ /* */ if (!(opts.Title === "")) { $s = 11; continue; }
143251
143383
  /* */ $s = 12; continue;
143252
- /* if ($clone(ctx2d, js.Value).IsUndefined() || $clone(ctx2d, js.Value).IsNull()) { */ case 11:
143253
- _r$5 = fmt.Errorf("Cannot get 2d context of canvas", new sliceType$1([])); /* */ $s = 13; case 13: if($c) { $c = false; _r$5 = _r$5.$blk(); } if (_r$5 && _r$5.$blk !== undefined) { break s; }
143254
- $panic(_r$5);
143384
+ /* if (!(opts.Title === "")) { */ case 11:
143385
+ _r$3 = $clone($clone(screen$1.doc, js.Value).Get("head"), js.Value).Call("getElementsByTagName", new sliceType$1([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; }
143386
+ _r$4 = $clone(_r$3, js.Value).Call("item", new sliceType$1([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; }
143387
+ $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; }
143255
143388
  /* } */ case 12:
143389
+ _r$5 = $clone(canvasEl[0], js.Value).Call("getContext", new sliceType$1([new $String("2d")])); /* */ $s = 16; case 16: if($c) { $c = false; _r$5 = _r$5.$blk(); } if (_r$5 && _r$5.$blk !== undefined) { break s; }
143390
+ ctx2d = $clone(_r$5, js.Value);
143391
+ /* */ if ($clone(ctx2d, js.Value).IsUndefined() || $clone(ctx2d, js.Value).IsNull()) { $s = 17; continue; }
143392
+ /* */ $s = 18; continue;
143393
+ /* if ($clone(ctx2d, js.Value).IsUndefined() || $clone(ctx2d, js.Value).IsNull()) { */ case 17:
143394
+ _r$6 = fmt.Errorf("Cannot get 2d context of canvas", new sliceType$1([])); /* */ $s = 19; case 19: if($c) { $c = false; _r$6 = _r$6.$blk(); } if (_r$6 && _r$6.$blk !== undefined) { break s; }
143395
+ $panic(_r$6);
143396
+ /* } */ case 18:
143256
143397
  domEvents = dom.NewDomEvents();
143257
- w = new windowImpl.ptr(screen$1, width, height, ptrType$1.nil, $clone(canvasEl, js.Value), $clone(ctx2d, js.Value), false, domEvents);
143258
- $r = domEvents.BindEvents(); /* */ $s = 14; case 14: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
143398
+ w = new windowImpl.ptr(screen$1, ptrType$1.nil, $clone(canvasEl[0], js.Value), $clone(ctx2d, js.Value), false, domEvents, $clone(resizeCallback, js.Func));
143399
+ $r = domEvents.BindEvents(); /* */ $s = 20; case 20: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
143259
143400
  $s = -1; return w;
143260
- /* */ } 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.canvasEl = canvasEl; $f.ctx2d = ctx2d; $f.domEvents = domEvents; $f.height = height; $f.opts = opts; $f.screen$1 = screen$1; $f.w = w; $f.width = width; $f.$s = $s; $f.$r = $r; return $f;
143401
+ /* */ } 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._r$6 = _r$6; $f.adaptCanvas = adaptCanvas; $f.canvasEl = canvasEl; $f.ctx2d = ctx2d; $f.domEvents = domEvents; $f.opts = opts; $f.resizeCallback = resizeCallback; $f.screen$1 = screen$1; $f.w = w; $f.$s = $s; $f.$r = $r; return $f;
143261
143402
  };
143262
143403
  windowImpl.ptr.prototype.Release = function() {
143263
- var _r, w, $s, $deferred, $r;
143264
- /* */ $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);
143404
+ var _r, _r$1, w, x, $s, $deferred, $r;
143405
+ /* */ $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);
143265
143406
  w = this;
143266
143407
  $r = w.mutex.Lock(); /* */ $s = 1; case 1: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
143267
143408
  $deferred.push([$methodVal(w.mutex, "Unlock"), []]);
143268
143409
  if (w.released) {
143269
143410
  $s = -1; return;
143270
143411
  }
143271
- _r = $clone(w.canvasEl, js.Value).Call("remove", new sliceType$1([])); /* */ $s = 2; case 2: if($c) { $c = false; _r = _r.$blk(); } if (_r && _r.$blk !== undefined) { break s; }
143412
+ _r = $clone(js.Global(), js.Value).Call("removeEventListener", new sliceType$1([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; }
143272
143413
  _r;
143273
- $r = w.domEvents.Release(); /* */ $s = 3; case 3: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
143414
+ $clone(w.resizeCallback, js.Func).Release();
143415
+ _r$1 = $clone(w.canvasEl, js.Value).Call("remove", new sliceType$1([])); /* */ $s = 3; case 3: if($c) { $c = false; _r$1 = _r$1.$blk(); } if (_r$1 && _r$1.$blk !== undefined) { break s; }
143416
+ _r$1;
143417
+ $r = w.domEvents.Release(); /* */ $s = 4; case 4: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
143274
143418
  w.released = true;
143275
143419
  $s = -1; return;
143276
- /* */ } 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; } }
143420
+ /* */ } 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; } }
143277
143421
  };
143278
143422
  windowImpl.prototype.Release = function() { return this.$val.Release(); };
143279
143423
  windowImpl.ptr.prototype.Publish = function() {
@@ -143399,7 +143543,7 @@ $packages["golang.org/x/exp/shiny/driver/canvasdriver"] = (function() {
143399
143543
  YCbCrJS.init("", [{prop: "CanvasImageSource", name: "CanvasImageSource", embedded: false, exported: true, typ: ptrType$3, tag: ""}]);
143400
143544
  BufferImpl.init("golang.org/x/exp/shiny/driver/canvasdriver", [{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: ""}]);
143401
143545
  screenImpl.init("golang.org/x/exp/shiny/driver/canvasdriver", [{prop: "doc", name: "doc", embedded: false, exported: false, typ: js.Value, tag: ""}]);
143402
- windowImpl.init("golang.org/x/exp/shiny/driver/canvasdriver", [{prop: "screen", name: "screen", embedded: false, exported: false, typ: ptrType, tag: ""}, {prop: "width", name: "width", embedded: false, exported: false, typ: $Int, tag: ""}, {prop: "height", name: "height", embedded: false, exported: false, typ: $Int, 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: "ctx2d", name: "ctx2d", embedded: false, exported: false, typ: js.Value, tag: ""}, {prop: "released", name: "released", embedded: false, exported: false, typ: $Bool, tag: ""}, {prop: "domEvents", name: "domEvents", embedded: false, exported: false, typ: ptrType$4, tag: ""}]);
143546
+ windowImpl.init("golang.org/x/exp/shiny/driver/canvasdriver", [{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: "ctx2d", name: "ctx2d", embedded: false, exported: false, typ: js.Value, tag: ""}, {prop: "released", name: "released", embedded: false, exported: false, typ: $Bool, tag: ""}, {prop: "domEvents", name: "domEvents", embedded: false, exported: false, typ: ptrType$4, tag: ""}, {prop: "resizeCallback", name: "resizeCallback", embedded: false, exported: false, typ: js.Func, tag: ""}]);
143403
143547
  $init = function() {
143404
143548
  $pkg.$init = function() {};
143405
143549
  /* */ 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:
@@ -144907,8 +145051,8 @@ $packages["github.com/supraio/client-daemon/pkg/render"] = (function() {
144907
145051
  r.stats.NotifyFrameRenderStarted();
144908
145052
  _arg = new image.Point.ptr(0, 0);
144909
145053
  _arg$1 = r.screenBuffer;
144910
- _r$2 = r.screenBuffer.Bounds(); /* */ $s = 11; case 11: if($c) { $c = false; _r$2 = _r$2.$blk(); } if (_r$2 && _r$2.$blk !== undefined) { break s; }
144911
- _arg$2 = $clone(_r$2, image.Rectangle);
145054
+ _r$2 = r.screenBuffer.YCbCr(); /* */ $s = 11; case 11: if($c) { $c = false; _r$2 = _r$2.$blk(); } if (_r$2 && _r$2.$blk !== undefined) { break s; }
145055
+ _arg$2 = $clone(_r$2.Rect, image.Rectangle);
144912
145056
  $r = r.window.UploadYCbCr(_arg, _arg$1, _arg$2); /* */ $s = 12; case 12: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
144913
145057
  _r$3 = r.window.Publish(); /* */ $s = 13; case 13: if($c) { $c = false; _r$3 = _r$3.$blk(); } if (_r$3 && _r$3.$blk !== undefined) { break s; }
144914
145058
  _r$3;