@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.
@@ -6989,7 +6989,7 @@ $packages["math/bits"] = (function() {
6989
6989
  return $pkg;
6990
6990
  })();
6991
6991
  $packages["math"] = (function() {
6992
- 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;
6992
+ 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;
6993
6993
  js = $packages["github.com/gopherjs/gopherjs/js"];
6994
6994
  bits = $packages["math/bits"];
6995
6995
  arrayType = $arrayType($Uint32, 2);
@@ -7109,6 +7109,23 @@ $packages["math"] = (function() {
7109
7109
  exp$1 = _tmp$3;
7110
7110
  return [y, exp$1];
7111
7111
  };
7112
+ Round = function(x) {
7113
+ var bits$1, e, x, x$1, x$2, x$3, x$4;
7114
+ bits$1 = Float64bits(x);
7115
+ e = ((($shiftRightUint64(bits$1, 52).$low >>> 0)) & 2047) >>> 0;
7116
+ if (e < 1023) {
7117
+ bits$1 = (x$1 = new $Uint64(2147483648, 0), new $Uint64(bits$1.$high & x$1.$high, (bits$1.$low & x$1.$low) >>> 0));
7118
+ if (e === 1022) {
7119
+ bits$1 = (x$2 = new $Uint64(1072693248, 0), new $Uint64(bits$1.$high | x$2.$high, (bits$1.$low | x$2.$low) >>> 0));
7120
+ }
7121
+ } else if (e < 1075) {
7122
+ e = e - (1023) >>> 0;
7123
+ bits$1 = (x$3 = $shiftRightUint64(new $Uint64(524288, 0), e), new $Uint64(bits$1.$high + x$3.$high, bits$1.$low + x$3.$low));
7124
+ 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));
7125
+ }
7126
+ return Float64frombits(bits$1);
7127
+ };
7128
+ $pkg.Round = Round;
7112
7129
  frexp = function(f) {
7113
7130
  var _tmp, _tmp$1, _tmp$2, _tmp$3, _tuple, exp$1, f, frac, x, x$1, x$2, x$3;
7114
7131
  frac = 0;
@@ -136722,24 +136739,24 @@ $packages["github.com/nuberu/webgl"] = (function() {
136722
136739
  /* */ if ($assertType(_ref, sliceType$9, true)[1]) { $s = 10; continue; }
136723
136740
  /* */ $s = 11; continue;
136724
136741
  /* if ($assertType(_ref, sliceType, true)[1]) { */ case 1:
136725
- s$7[0] = _ref.$val;
136726
- h = ($pointerOfStructConversion(((s$7.$ptr || (s$7.$ptr = new ptrType$1(function() { return this.$target[0]; }, function($v) { this.$target[0] = $v; }, s$7)))), ptrType));
136742
+ s$9[0] = _ref.$val;
136743
+ 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));
136727
136744
  $s = -1; return ((h)).$get();
136728
136745
  /* } else if ($assertType(_ref, sliceType$1, true)[1]) { */ case 2:
136729
- s$2[0] = _ref.$val;
136730
- h$1 = ($pointerOfStructConversion(((s$2.$ptr || (s$2.$ptr = new ptrType$2(function() { return this.$target[0]; }, function($v) { this.$target[0] = $v; }, s$2)))), ptrType));
136746
+ s$5[0] = _ref.$val;
136747
+ 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));
136731
136748
  h$1.Len = $imul(h$1.Len, (2));
136732
136749
  h$1.Cap = $imul(h$1.Cap, (2));
136733
136750
  $s = -1; return ((h$1)).$get();
136734
136751
  /* } else if ($assertType(_ref, sliceType$2, true)[1]) { */ case 3:
136735
- s$8[0] = _ref.$val;
136736
- 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));
136752
+ s$1[0] = _ref.$val;
136753
+ h$2 = ($pointerOfStructConversion(((s$1.$ptr || (s$1.$ptr = new ptrType$3(function() { return this.$target[0]; }, function($v) { this.$target[0] = $v; }, s$1)))), ptrType));
136737
136754
  h$2.Len = $imul(h$2.Len, (4));
136738
136755
  h$2.Cap = $imul(h$2.Cap, (4));
136739
136756
  $s = -1; return ((h$2)).$get();
136740
136757
  /* } else if ($assertType(_ref, sliceType$3, true)[1]) { */ case 4:
136741
- s$3[0] = _ref.$val;
136742
- h$3 = ($pointerOfStructConversion(((s$3.$ptr || (s$3.$ptr = new ptrType$4(function() { return this.$target[0]; }, function($v) { this.$target[0] = $v; }, s$3)))), ptrType));
136758
+ s$6[0] = _ref.$val;
136759
+ 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));
136743
136760
  h$3.Len = $imul(h$3.Len, (8));
136744
136761
  h$3.Cap = $imul(h$3.Cap, (8));
136745
136762
  $s = -1; return ((h$3)).$get();
@@ -136747,32 +136764,32 @@ $packages["github.com/nuberu/webgl"] = (function() {
136747
136764
  s$10 = _ref.$val;
136748
136765
  $s = -1; return s$10;
136749
136766
  /* } else if ($assertType(_ref, sliceType$5, true)[1]) { */ case 6:
136750
- s$9[0] = _ref.$val;
136751
- h$4 = ($pointerOfStructConversion(((s$9.$ptr || (s$9.$ptr = new ptrType$5(function() { return this.$target[0]; }, function($v) { this.$target[0] = $v; }, s$9)))), ptrType));
136767
+ s$2[0] = _ref.$val;
136768
+ 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));
136752
136769
  h$4.Len = $imul(h$4.Len, (2));
136753
136770
  h$4.Cap = $imul(h$4.Cap, (2));
136754
136771
  $s = -1; return ((h$4)).$get();
136755
136772
  /* } else if ($assertType(_ref, sliceType$6, true)[1]) { */ case 7:
136756
- s$5[0] = _ref.$val;
136757
- h$5 = ($pointerOfStructConversion(((s$5.$ptr || (s$5.$ptr = new ptrType$6(function() { return this.$target[0]; }, function($v) { this.$target[0] = $v; }, s$5)))), ptrType));
136773
+ s$7[0] = _ref.$val;
136774
+ h$5 = ($pointerOfStructConversion(((s$7.$ptr || (s$7.$ptr = new ptrType$6(function() { return this.$target[0]; }, function($v) { this.$target[0] = $v; }, s$7)))), ptrType));
136758
136775
  h$5.Len = $imul(h$5.Len, (4));
136759
136776
  h$5.Cap = $imul(h$5.Cap, (4));
136760
136777
  $s = -1; return ((h$5)).$get();
136761
136778
  /* } else if ($assertType(_ref, sliceType$7, true)[1]) { */ case 8:
136762
- s$4[0] = _ref.$val;
136763
- h$6 = ($pointerOfStructConversion(((s$4.$ptr || (s$4.$ptr = new ptrType$7(function() { return this.$target[0]; }, function($v) { this.$target[0] = $v; }, s$4)))), ptrType));
136779
+ s$8[0] = _ref.$val;
136780
+ h$6 = ($pointerOfStructConversion(((s$8.$ptr || (s$8.$ptr = new ptrType$7(function() { return this.$target[0]; }, function($v) { this.$target[0] = $v; }, s$8)))), ptrType));
136764
136781
  h$6.Len = $imul(h$6.Len, (8));
136765
136782
  h$6.Cap = $imul(h$6.Cap, (8));
136766
136783
  $s = -1; return ((h$6)).$get();
136767
136784
  /* } else if ($assertType(_ref, sliceType$8, true)[1]) { */ case 9:
136768
- s$6[0] = _ref.$val;
136769
- h$7 = ($pointerOfStructConversion(((s$6.$ptr || (s$6.$ptr = new ptrType$8(function() { return this.$target[0]; }, function($v) { this.$target[0] = $v; }, s$6)))), ptrType));
136785
+ s$3[0] = _ref.$val;
136786
+ h$7 = ($pointerOfStructConversion(((s$3.$ptr || (s$3.$ptr = new ptrType$8(function() { return this.$target[0]; }, function($v) { this.$target[0] = $v; }, s$3)))), ptrType));
136770
136787
  h$7.Len = $imul(h$7.Len, (4));
136771
136788
  h$7.Cap = $imul(h$7.Cap, (4));
136772
136789
  $s = -1; return ((h$7)).$get();
136773
136790
  /* } else if ($assertType(_ref, sliceType$9, true)[1]) { */ case 10:
136774
- s$1[0] = _ref.$val;
136775
- 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));
136791
+ s$4[0] = _ref.$val;
136792
+ 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));
136776
136793
  h$8.Len = $imul(h$8.Len, (8));
136777
136794
  h$8.Cap = $imul(h$8.Cap, (8));
136778
136795
  $s = -1; return ((h$8)).$get();
@@ -140571,12 +140588,13 @@ $packages["github.com/nuberu/webgl"] = (function() {
140571
140588
  return $pkg;
140572
140589
  })();
140573
140590
  $packages["golang.org/x/exp/shiny/driver/internal/dom"] = (function() {
140574
- 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;
140591
+ 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;
140575
140592
  focus = $packages["golang.org/x/mobile/event/focus"];
140576
140593
  key = $packages["golang.org/x/mobile/event/key"];
140577
140594
  mouse = $packages["golang.org/x/mobile/event/mouse"];
140578
140595
  size = $packages["golang.org/x/mobile/event/size"];
140579
140596
  geom = $packages["golang.org/x/mobile/geom"];
140597
+ math = $packages["math"];
140580
140598
  strings = $packages["strings"];
140581
140599
  js = $packages["syscall/js"];
140582
140600
  DomEvents = $pkg.DomEvents = $newType(0, $kindStruct, "dom.DomEvents", true, "golang.org/x/exp/shiny/driver/internal/dom", true, function(eventChan_, releases_) {
@@ -140920,6 +140938,62 @@ $packages["golang.org/x/exp/shiny/driver/internal/dom"] = (function() {
140920
140938
  return $clone($clone(js.Global(), js.Value).Get("innerHeight"), js.Value).Int();
140921
140939
  };
140922
140940
  $pkg.GetDocHeight = GetDocHeight;
140941
+ GetScreenWidth = function() {
140942
+ return $clone($clone($clone(js.Global(), js.Value).Get("screen"), js.Value).Get("width"), js.Value).Int();
140943
+ };
140944
+ $pkg.GetScreenWidth = GetScreenWidth;
140945
+ GetScreenHeight = function() {
140946
+ return $clone($clone($clone(js.Global(), js.Value).Get("screen"), js.Value).Get("height"), js.Value).Int();
140947
+ };
140948
+ $pkg.GetScreenHeight = GetScreenHeight;
140949
+ GetBrowserZoomRatio = function() {
140950
+ var chromeZoom1, chromeZoom2, chromeZoom3, docElClientWidth, scrollerWidthInNoZoom, scrollerWidthInZoom1, scrollerWidthInZoom2, windowInnerWidth, windowOuterWidth;
140951
+ windowInnerWidth = $clone($clone(js.Global(), js.Value).Get("innerWidth"), js.Value).Float();
140952
+ windowOuterWidth = $clone($clone(js.Global(), js.Value).Get("outerWidth"), js.Value).Float();
140953
+ docElClientWidth = $clone($clone($clone($clone(js.Global(), js.Value).Get("document"), js.Value).Get("documentElement"), js.Value).Get("clientWidth"), js.Value).Float();
140954
+ scrollerWidthInNoZoom = windowInnerWidth - docElClientWidth;
140955
+ chromeZoom1 = (windowOuterWidth - scrollerWidthInNoZoom) / windowInnerWidth;
140956
+ scrollerWidthInZoom1 = math.Round(scrollerWidthInNoZoom * chromeZoom1);
140957
+ chromeZoom2 = (windowOuterWidth - scrollerWidthInZoom1) / windowInnerWidth;
140958
+ scrollerWidthInZoom2 = math.Round(scrollerWidthInNoZoom * chromeZoom2);
140959
+ chromeZoom3 = (windowOuterWidth - scrollerWidthInZoom2) / windowInnerWidth;
140960
+ return chromeZoom3;
140961
+ };
140962
+ $pkg.GetBrowserZoomRatio = GetBrowserZoomRatio;
140963
+ SetWindowWidth = function(newInnerWidth) {
140964
+ var _r, innerWidth, newInnerWidth, newOuterWidth, outerHeight, outerWidth, screenWidth, $s, $r;
140965
+ /* */ $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:
140966
+ innerWidth = $clone($clone(js.Global(), js.Value).Get("innerWidth"), js.Value).Int();
140967
+ outerWidth = $clone($clone(js.Global(), js.Value).Get("outerWidth"), js.Value).Int();
140968
+ outerHeight = $clone($clone(js.Global(), js.Value).Get("outerHeight"), js.Value).Int();
140969
+ newOuterWidth = newInnerWidth + ((outerWidth - innerWidth >> 0)) >> 0;
140970
+ screenWidth = GetScreenWidth();
140971
+ if (newOuterWidth > screenWidth) {
140972
+ newOuterWidth = screenWidth;
140973
+ }
140974
+ _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; }
140975
+ _r;
140976
+ $s = -1; return;
140977
+ /* */ } 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;
140978
+ };
140979
+ $pkg.SetWindowWidth = SetWindowWidth;
140980
+ SetWindowHeight = function(newInnerHeight) {
140981
+ var _r, innerHeight, newInnerHeight, newOuterHeight, outerHeight, outerWidth, screenHeight, $s, $r;
140982
+ /* */ $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:
140983
+ innerHeight = $clone($clone(js.Global(), js.Value).Get("innerHeight"), js.Value).Int();
140984
+ outerHeight = $clone($clone(js.Global(), js.Value).Get("outerHeight"), js.Value).Int();
140985
+ outerWidth = $clone($clone(js.Global(), js.Value).Get("outerWidth"), js.Value).Int();
140986
+ newOuterHeight = newInnerHeight + ((outerHeight - innerHeight >> 0)) >> 0;
140987
+ screenHeight = GetScreenHeight();
140988
+ if (newOuterHeight > screenHeight) {
140989
+ newOuterHeight = screenHeight;
140990
+ }
140991
+ _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; }
140992
+ _r;
140993
+ $s = -1; return;
140994
+ /* */ } 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;
140995
+ };
140996
+ $pkg.SetWindowHeight = SetWindowHeight;
140923
140997
  GetOrientation = function() {
140924
140998
  var orientation, orientationType, $deferred;
140925
140999
  /* */ var $err = null; try { $deferred = []; $deferred.index = $curGoroutine.deferStack.length; $curGoroutine.deferStack.push($deferred);
@@ -140953,8 +141027,9 @@ $packages["golang.org/x/exp/shiny/driver/internal/dom"] = (function() {
140953
141027
  $r = mouse.$init(); /* */ $s = 3; case 3: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
140954
141028
  $r = size.$init(); /* */ $s = 4; case 4: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
140955
141029
  $r = geom.$init(); /* */ $s = 5; case 5: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
140956
- $r = strings.$init(); /* */ $s = 6; case 6: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
140957
- $r = js.$init(); /* */ $s = 7; case 7: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
141030
+ $r = math.$init(); /* */ $s = 6; case 6: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
141031
+ $r = strings.$init(); /* */ $s = 7; case 7: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
141032
+ $r = js.$init(); /* */ $s = 8; case 8: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
140958
141033
  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 }]);
140959
141034
  keyCodesByKeyMap = $makeMap($String.keyFor, [{ k: "AudioVolumeMute", v: 127 }, { k: "AudioVolumeUp", v: 128 }, { k: "AudioVolumeDown", v: 129 }]);
140960
141035
  /* */ } return; } if ($f === undefined) { $f = { $blk: $init }; } $f.$s = $s; $f.$r = $r; return $f;
@@ -142533,12 +142608,10 @@ $packages["golang.org/x/exp/shiny/driver/webgldriver"] = (function() {
142533
142608
  }
142534
142609
  this.doc = doc_;
142535
142610
  });
142536
- 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_) {
142611
+ 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_) {
142537
142612
  this.$val = this;
142538
142613
  if (arguments.length === 0) {
142539
142614
  this.screen = ptrType.nil;
142540
- this.width = 0;
142541
- this.height = 0;
142542
142615
  this.mutex = ptrType$1.nil;
142543
142616
  this.canvasEl = new js.Value.ptr(null, false);
142544
142617
  this.gl = ptrType$4.nil;
@@ -142551,11 +142624,10 @@ $packages["golang.org/x/exp/shiny/driver/webgldriver"] = (function() {
142551
142624
  this.vertexArray = ptrType$6.nil;
142552
142625
  this.released = false;
142553
142626
  this.domEvents = ptrType$7.nil;
142627
+ this.resizeCallback = new js.Func.ptr(new js.Value.ptr(null, false));
142554
142628
  return;
142555
142629
  }
142556
142630
  this.screen = screen_;
142557
- this.width = width_;
142558
- this.height = height_;
142559
142631
  this.mutex = mutex_;
142560
142632
  this.canvasEl = canvasEl_;
142561
142633
  this.gl = gl_;
@@ -142568,6 +142640,7 @@ $packages["golang.org/x/exp/shiny/driver/webgldriver"] = (function() {
142568
142640
  this.vertexArray = vertexArray_;
142569
142641
  this.released = released_;
142570
142642
  this.domEvents = domEvents_;
142643
+ this.resizeCallback = resizeCallback_;
142571
142644
  });
142572
142645
  sliceType = $sliceType($Uint16);
142573
142646
  sliceType$1 = $sliceType($Float32);
@@ -142925,68 +142998,100 @@ $packages["golang.org/x/exp/shiny/driver/webgldriver"] = (function() {
142925
142998
  /* */ } 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;
142926
142999
  };
142927
143000
  newWindow = function(screen$1, opts) {
142928
- 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;
142929
- /* */ $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:
143001
+ 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;
143002
+ /* */ $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:
143003
+ adaptCanvas = [adaptCanvas];
143004
+ canvasEl = [canvasEl];
142930
143005
  _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; }
142931
- canvasEl = $clone(_r, js.Value);
142932
- _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; }
143006
+ canvasEl[0] = $clone(_r, js.Value);
143007
+ _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; }
142933
143008
  _r$1;
142934
- width = opts.Width;
142935
- if (opts.Width === 0) {
142936
- width = dom.GetDocWidth();
142937
- }
142938
- $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; }
142939
- height = opts.Height;
142940
- if (opts.Height === 0) {
142941
- height = dom.GetDocHeight();
142942
- }
142943
- $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; }
142944
- /* */ if (!(opts.Title === "")) { $s = 5; continue; }
143009
+ adaptCanvas[0] = (function(adaptCanvas, canvasEl) { return function $b() {
143010
+ var height, width, $s, $r;
143011
+ /* */ $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:
143012
+ width = dom.GetScreenWidth();
143013
+ /* */ if (!(($clone($clone(canvasEl[0], js.Value).Get("width"), js.Value).Int() === width))) { $s = 1; continue; }
143014
+ /* */ $s = 2; continue;
143015
+ /* if (!(($clone($clone(canvasEl[0], js.Value).Get("width"), js.Value).Int() === width))) { */ case 1:
143016
+ $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; }
143017
+ /* } */ case 2:
143018
+ height = dom.GetScreenHeight();
143019
+ /* */ if (!(($clone($clone(canvasEl[0], js.Value).Get("height"), js.Value).Int() === height))) { $s = 4; continue; }
143020
+ /* */ $s = 5; continue;
143021
+ /* if (!(($clone($clone(canvasEl[0], js.Value).Get("height"), js.Value).Int() === height))) { */ case 4:
143022
+ $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; }
143023
+ /* } */ case 5:
143024
+ $s = -1; return;
143025
+ /* */ } return; } if ($f === undefined) { $f = { $blk: $b }; } $f.height = height; $f.width = width; $f.$s = $s; $f.$r = $r; return $f;
143026
+ }; })(adaptCanvas, canvasEl);
143027
+ $r = adaptCanvas[0](); /* */ $s = 3; case 3: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
143028
+ resizeCallback = $clone(js.FuncOf((function(adaptCanvas, canvasEl) { return function $b(this$1, args) {
143029
+ var args, this$1, $s, $r;
143030
+ /* */ $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:
143031
+ $r = adaptCanvas[0](); /* */ $s = 1; case 1: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
143032
+ $s = -1; return $ifaceNil;
143033
+ /* */ } return; } if ($f === undefined) { $f = { $blk: $b }; } $f.args = args; $f.this$1 = this$1; $f.$s = $s; $f.$r = $r; return $f;
143034
+ }; })(adaptCanvas, canvasEl)), js.Func);
143035
+ _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; }
143036
+ _r$2;
143037
+ /* */ if (!((opts.Width === 0))) { $s = 5; continue; }
142945
143038
  /* */ $s = 6; continue;
142946
- /* if (!(opts.Title === "")) { */ case 5:
142947
- _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; }
142948
- _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; }
142949
- $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; }
143039
+ /* if (!((opts.Width === 0))) { */ case 5:
143040
+ $r = dom.SetWindowWidth(opts.Width); /* */ $s = 7; case 7: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
142950
143041
  /* } */ case 6:
142951
- _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; }
142952
- _tuple = _r$4;
143042
+ /* */ if (!((opts.Height === 0))) { $s = 8; continue; }
143043
+ /* */ $s = 9; continue;
143044
+ /* if (!((opts.Height === 0))) { */ case 8:
143045
+ $r = dom.SetWindowHeight(opts.Height); /* */ $s = 10; case 10: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
143046
+ /* } */ case 9:
143047
+ /* */ if (!(opts.Title === "")) { $s = 11; continue; }
143048
+ /* */ $s = 12; continue;
143049
+ /* if (!(opts.Title === "")) { */ case 11:
143050
+ _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; }
143051
+ _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; }
143052
+ $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; }
143053
+ /* } */ case 12:
143054
+ _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; }
143055
+ _tuple = _r$5;
142953
143056
  gl = _tuple[0];
142954
143057
  err = _tuple[1];
142955
143058
  if (!($interfaceIsEqual(err, $ifaceNil))) {
142956
143059
  $panic(err);
142957
143060
  }
142958
143061
  domEvents = dom.NewDomEvents();
142959
- 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);
142960
- _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; }
142961
- _tuple$1 = _r$5;
143062
+ 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));
143063
+ width = dom.GetScreenWidth();
143064
+ height = dom.GetScreenHeight();
143065
+ _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; }
143066
+ _tuple$1 = _r$6;
142962
143067
  w.programRGBA = _tuple$1[0];
142963
143068
  err = _tuple$1[1];
142964
143069
  if (!($interfaceIsEqual(err, $ifaceNil))) {
142965
143070
  $panic(err);
142966
143071
  }
142967
- _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; }
142968
- w.imageTexRGBA = _r$6;
142969
- _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; }
142970
- _tuple$2 = _r$7;
143072
+ _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; }
143073
+ w.imageTexRGBA = _r$7;
143074
+ _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; }
143075
+ _tuple$2 = _r$8;
142971
143076
  w.programYUV420 = _tuple$2[0];
142972
143077
  err = _tuple$2[1];
142973
143078
  if (!($interfaceIsEqual(err, $ifaceNil))) {
142974
143079
  $panic(err);
142975
143080
  }
142976
- _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; }
142977
- w.imageTexY = _r$8;
142978
- _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; }
142979
- w.imageTexU = _r$9;
142980
- _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; }
142981
- w.imageTexV = _r$10;
142982
- _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; }
142983
- w.vertexArray = _r$11;
142984
- $r = w.gl.Enable(2929); /* */ $s = 18; case 18: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
142985
- $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; }
142986
- $r = w.clear(); /* */ $s = 20; case 20: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
142987
- $r = domEvents.BindEvents(); /* */ $s = 21; case 21: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
143081
+ _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; }
143082
+ w.imageTexY = _r$9;
143083
+ _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; }
143084
+ w.imageTexU = _r$10;
143085
+ _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; }
143086
+ w.imageTexV = _r$11;
143087
+ _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; }
143088
+ w.vertexArray = _r$12;
143089
+ $r = w.gl.Enable(2929); /* */ $s = 24; case 24: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
143090
+ $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; }
143091
+ $r = w.clear(); /* */ $s = 26; case 26: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
143092
+ $r = domEvents.BindEvents(); /* */ $s = 27; case 27: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
142988
143093
  $s = -1; return w;
142989
- /* */ } 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;
143094
+ /* */ } 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;
142990
143095
  };
142991
143096
  windowImpl.ptr.prototype.clear = function() {
142992
143097
  var w, $s, $r;
@@ -142999,20 +143104,23 @@ $packages["golang.org/x/exp/shiny/driver/webgldriver"] = (function() {
142999
143104
  };
143000
143105
  windowImpl.prototype.clear = function() { return this.$val.clear(); };
143001
143106
  windowImpl.ptr.prototype.Release = function() {
143002
- var _r, w, $s, $deferred, $r;
143003
- /* */ $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);
143107
+ var _r, _r$1, w, x, $s, $deferred, $r;
143108
+ /* */ $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);
143004
143109
  w = this;
143005
143110
  $r = w.mutex.Lock(); /* */ $s = 1; case 1: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
143006
143111
  $deferred.push([$methodVal(w.mutex, "Unlock"), []]);
143007
143112
  if (w.released) {
143008
143113
  $s = -1; return;
143009
143114
  }
143010
- _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; }
143115
+ _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; }
143011
143116
  _r;
143012
- $r = w.domEvents.Release(); /* */ $s = 3; case 3: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
143117
+ $clone(w.resizeCallback, js.Func).Release();
143118
+ _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; }
143119
+ _r$1;
143120
+ $r = w.domEvents.Release(); /* */ $s = 4; case 4: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
143013
143121
  w.released = true;
143014
143122
  $s = -1; return;
143015
- /* */ } 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; } }
143123
+ /* */ } 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; } }
143016
143124
  };
143017
143125
  windowImpl.prototype.Release = function() { return this.$val.Release(); };
143018
143126
  windowImpl.ptr.prototype.Publish = function() {
@@ -143173,7 +143281,7 @@ $packages["golang.org/x/exp/shiny/driver/webgldriver"] = (function() {
143173
143281
  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: ""}]);
143174
143282
  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: ""}]);
143175
143283
  screenImpl.init("golang.org/x/exp/shiny/driver/webgldriver", [{prop: "doc", name: "doc", embedded: false, exported: false, typ: js.Value, tag: ""}]);
143176
- 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: ""}]);
143284
+ 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: ""}]);
143177
143285
  $init = function() {
143178
143286
  $pkg.$init = function() {};
143179
143287
  /* */ 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:
@@ -143277,27 +143385,25 @@ $packages["golang.org/x/exp/shiny/driver/canvasdriver"] = (function() {
143277
143385
  }
143278
143386
  this.doc = doc_;
143279
143387
  });
143280
- 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_) {
143388
+ 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_) {
143281
143389
  this.$val = this;
143282
143390
  if (arguments.length === 0) {
143283
143391
  this.screen = ptrType.nil;
143284
- this.width = 0;
143285
- this.height = 0;
143286
143392
  this.mutex = ptrType$1.nil;
143287
143393
  this.canvasEl = new js.Value.ptr(null, false);
143288
143394
  this.ctx2d = new js.Value.ptr(null, false);
143289
143395
  this.released = false;
143290
143396
  this.domEvents = ptrType$4.nil;
143397
+ this.resizeCallback = new js.Func.ptr(new js.Value.ptr(null, false));
143291
143398
  return;
143292
143399
  }
143293
143400
  this.screen = screen_;
143294
- this.width = width_;
143295
- this.height = height_;
143296
143401
  this.mutex = mutex_;
143297
143402
  this.canvasEl = canvasEl_;
143298
143403
  this.ctx2d = ctx2d_;
143299
143404
  this.released = released_;
143300
143405
  this.domEvents = domEvents_;
143406
+ this.resizeCallback = resizeCallback_;
143301
143407
  });
143302
143408
  ptrType = $ptrType(screenImpl);
143303
143409
  ptrType$1 = $ptrType(sync.Mutex);
@@ -143413,58 +143519,92 @@ $packages["golang.org/x/exp/shiny/driver/canvasdriver"] = (function() {
143413
143519
  /* */ } 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;
143414
143520
  };
143415
143521
  newWindow = function(screen$1, opts) {
143416
- var _r, _r$1, _r$2, _r$3, _r$4, _r$5, canvasEl, ctx2d, domEvents, height, opts, screen$1, w, width, $s, $r;
143417
- /* */ $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:
143522
+ 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;
143523
+ /* */ $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:
143524
+ adaptCanvas = [adaptCanvas];
143525
+ canvasEl = [canvasEl];
143418
143526
  _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; }
143419
- canvasEl = $clone(_r, js.Value);
143420
- _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; }
143527
+ canvasEl[0] = $clone(_r, js.Value);
143528
+ _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; }
143421
143529
  _r$1;
143422
- width = opts.Width;
143423
- if (opts.Width === 0) {
143424
- width = dom.GetDocWidth();
143425
- }
143426
- $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; }
143427
- height = opts.Height;
143428
- if (opts.Height === 0) {
143429
- height = dom.GetDocHeight();
143430
- }
143431
- $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; }
143432
- /* */ if (!(opts.Title === "")) { $s = 5; continue; }
143530
+ adaptCanvas[0] = (function(adaptCanvas, canvasEl) { return function $b() {
143531
+ var height, scale, width, $s, $r;
143532
+ /* */ $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:
143533
+ scale = dom.GetBrowserZoomRatio();
143534
+ width = (((dom.GetScreenWidth()) / scale >> 0));
143535
+ /* */ if (!(($clone($clone(canvasEl[0], js.Value).Get("width"), js.Value).Int() === width))) { $s = 1; continue; }
143536
+ /* */ $s = 2; continue;
143537
+ /* if (!(($clone($clone(canvasEl[0], js.Value).Get("width"), js.Value).Int() === width))) { */ case 1:
143538
+ $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; }
143539
+ /* } */ case 2:
143540
+ height = (((dom.GetScreenHeight()) / scale >> 0));
143541
+ /* */ if (!(($clone($clone(canvasEl[0], js.Value).Get("height"), js.Value).Int() === height))) { $s = 4; continue; }
143542
+ /* */ $s = 5; continue;
143543
+ /* if (!(($clone($clone(canvasEl[0], js.Value).Get("height"), js.Value).Int() === height))) { */ case 4:
143544
+ $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; }
143545
+ /* } */ case 5:
143546
+ $s = -1; return;
143547
+ /* */ } return; } if ($f === undefined) { $f = { $blk: $b }; } $f.height = height; $f.scale = scale; $f.width = width; $f.$s = $s; $f.$r = $r; return $f;
143548
+ }; })(adaptCanvas, canvasEl);
143549
+ $r = adaptCanvas[0](); /* */ $s = 3; case 3: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
143550
+ resizeCallback = $clone(js.FuncOf((function(adaptCanvas, canvasEl) { return function $b(this$1, args) {
143551
+ var args, this$1, $s, $r;
143552
+ /* */ $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:
143553
+ $r = adaptCanvas[0](); /* */ $s = 1; case 1: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
143554
+ $s = -1; return $ifaceNil;
143555
+ /* */ } return; } if ($f === undefined) { $f = { $blk: $b }; } $f.args = args; $f.this$1 = this$1; $f.$s = $s; $f.$r = $r; return $f;
143556
+ }; })(adaptCanvas, canvasEl)), js.Func);
143557
+ _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; }
143558
+ _r$2;
143559
+ /* */ if (!((opts.Width === 0))) { $s = 5; continue; }
143433
143560
  /* */ $s = 6; continue;
143434
- /* if (!(opts.Title === "")) { */ case 5:
143435
- _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; }
143436
- _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; }
143437
- $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; }
143561
+ /* if (!((opts.Width === 0))) { */ case 5:
143562
+ $r = dom.SetWindowWidth(opts.Width); /* */ $s = 7; case 7: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
143438
143563
  /* } */ case 6:
143439
- _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; }
143440
- ctx2d = $clone(_r$4, js.Value);
143441
- /* */ if ($clone(ctx2d, js.Value).IsUndefined() || $clone(ctx2d, js.Value).IsNull()) { $s = 11; continue; }
143564
+ /* */ if (!((opts.Height === 0))) { $s = 8; continue; }
143565
+ /* */ $s = 9; continue;
143566
+ /* if (!((opts.Height === 0))) { */ case 8:
143567
+ $r = dom.SetWindowHeight(opts.Height); /* */ $s = 10; case 10: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
143568
+ /* } */ case 9:
143569
+ /* */ if (!(opts.Title === "")) { $s = 11; continue; }
143442
143570
  /* */ $s = 12; continue;
143443
- /* if ($clone(ctx2d, js.Value).IsUndefined() || $clone(ctx2d, js.Value).IsNull()) { */ case 11:
143444
- _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; }
143445
- $panic(_r$5);
143571
+ /* if (!(opts.Title === "")) { */ case 11:
143572
+ _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; }
143573
+ _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; }
143574
+ $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; }
143446
143575
  /* } */ case 12:
143576
+ _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; }
143577
+ ctx2d = $clone(_r$5, js.Value);
143578
+ /* */ if ($clone(ctx2d, js.Value).IsUndefined() || $clone(ctx2d, js.Value).IsNull()) { $s = 17; continue; }
143579
+ /* */ $s = 18; continue;
143580
+ /* if ($clone(ctx2d, js.Value).IsUndefined() || $clone(ctx2d, js.Value).IsNull()) { */ case 17:
143581
+ _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; }
143582
+ $panic(_r$6);
143583
+ /* } */ case 18:
143447
143584
  domEvents = dom.NewDomEvents();
143448
- w = new windowImpl.ptr(screen$1, width, height, ptrType$1.nil, $clone(canvasEl, js.Value), $clone(ctx2d, js.Value), false, domEvents);
143449
- $r = domEvents.BindEvents(); /* */ $s = 14; case 14: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
143585
+ w = new windowImpl.ptr(screen$1, ptrType$1.nil, $clone(canvasEl[0], js.Value), $clone(ctx2d, js.Value), false, domEvents, $clone(resizeCallback, js.Func));
143586
+ $r = domEvents.BindEvents(); /* */ $s = 20; case 20: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
143450
143587
  $s = -1; return w;
143451
- /* */ } 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;
143588
+ /* */ } 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;
143452
143589
  };
143453
143590
  windowImpl.ptr.prototype.Release = function() {
143454
- var _r, w, $s, $deferred, $r;
143455
- /* */ $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);
143591
+ var _r, _r$1, w, x, $s, $deferred, $r;
143592
+ /* */ $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);
143456
143593
  w = this;
143457
143594
  $r = w.mutex.Lock(); /* */ $s = 1; case 1: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
143458
143595
  $deferred.push([$methodVal(w.mutex, "Unlock"), []]);
143459
143596
  if (w.released) {
143460
143597
  $s = -1; return;
143461
143598
  }
143462
- _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; }
143599
+ _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; }
143463
143600
  _r;
143464
- $r = w.domEvents.Release(); /* */ $s = 3; case 3: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
143601
+ $clone(w.resizeCallback, js.Func).Release();
143602
+ _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; }
143603
+ _r$1;
143604
+ $r = w.domEvents.Release(); /* */ $s = 4; case 4: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
143465
143605
  w.released = true;
143466
143606
  $s = -1; return;
143467
- /* */ } 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; } }
143607
+ /* */ } 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; } }
143468
143608
  };
143469
143609
  windowImpl.prototype.Release = function() { return this.$val.Release(); };
143470
143610
  windowImpl.ptr.prototype.Publish = function() {
@@ -143590,7 +143730,7 @@ $packages["golang.org/x/exp/shiny/driver/canvasdriver"] = (function() {
143590
143730
  YCbCrJS.init("", [{prop: "CanvasImageSource", name: "CanvasImageSource", embedded: false, exported: true, typ: ptrType$3, tag: ""}]);
143591
143731
  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: ""}]);
143592
143732
  screenImpl.init("golang.org/x/exp/shiny/driver/canvasdriver", [{prop: "doc", name: "doc", embedded: false, exported: false, typ: js.Value, tag: ""}]);
143593
- 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: ""}]);
143733
+ 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: ""}]);
143594
143734
  $init = function() {
143595
143735
  $pkg.$init = function() {};
143596
143736
  /* */ 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: