@supraio/client-daemon-js 0.0.1-master.10 → 0.0.1-master.11

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.
@@ -136254,6 +136254,18 @@ $packages["github.com/supraio/client-daemon/pkg/window"] = (function() {
136254
136254
  $pkg.$init = $init;
136255
136255
  return $pkg;
136256
136256
  })();
136257
+ $packages["github.com/supraio/client-daemon/pkg/x264/general"] = (function() {
136258
+ var $pkg = {}, $init, image;
136259
+ image = $packages["image"];
136260
+ $init = function() {
136261
+ $pkg.$init = function() {};
136262
+ /* */ 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:
136263
+ $r = image.$init(); /* */ $s = 1; case 1: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
136264
+ /* */ } return; } if ($f === undefined) { $f = { $blk: $init }; } $f.$s = $s; $f.$r = $r; return $f;
136265
+ };
136266
+ $pkg.$init = $init;
136267
+ return $pkg;
136268
+ })();
136257
136269
  $packages["github.com/nuberu/webgl/types"] = (function() {
136258
136270
  var $pkg = {}, $init, js, ActiveInfo, Attributes, GLEnum, PowerPreference, Buffer, FrameBuffer, RenderBuffer, Program, Shader, ShaderPrecisionFormat, Texture, UniformLocation, VertexArray, ptrType, ptrType$1, ptrType$2, ptrType$3, ptrType$4, ptrType$5, ptrType$6, ptrType$7, ptrType$8, ptrType$9, NewActiveInfo, NewBuffer, NewFrameBuffer, NewRenderBuffer, NewProgram, NewShader, NewShaderPrecisionFormat, NewTexture, NewUniformLocation, NewVertexArray;
136259
136271
  js = $packages["syscall/js"];
@@ -136618,7 +136630,7 @@ $packages["github.com/nuberu/webgl/extensions"] = (function() {
136618
136630
  return $pkg;
136619
136631
  })();
136620
136632
  $packages["github.com/nuberu/webgl"] = (function() {
136621
- var $pkg = {}, $init, errors, fmt, extensions, types, reflect, runtime, js, RenderingContext, sliceType, sliceType$1, sliceType$2, sliceType$3, sliceType$4, sliceType$5, sliceType$6, sliceType$7, sliceType$8, sliceType$9, ptrType, ptrType$1, ptrType$2, ptrType$3, ptrType$4, ptrType$5, ptrType$6, ptrType$7, ptrType$8, ptrType$9, sliceType$10, ptrType$10, ptrType$11, ptrType$12, ptrType$13, ptrType$14, ptrType$15, ptrType$16, sliceType$11, ptrType$17, arrayType, arrayType$1, arrayType$2, sliceType$12, sliceType$13, sliceType$14, sliceType$15, ptrType$18, ptrType$19, ptrType$20, ptrType$21, ptrType$22, ptrType$23, sliceToByteSlice, TypedArrayOf, WrapContext, FromCanvas;
136633
+ var $pkg = {}, $init, errors, fmt, extensions, types, reflect, runtime, js, RenderingContext, sliceType, sliceType$1, sliceType$2, sliceType$3, sliceType$4, sliceType$5, sliceType$6, sliceType$7, sliceType$8, sliceType$9, ptrType, ptrType$1, ptrType$2, ptrType$3, ptrType$4, ptrType$5, ptrType$6, ptrType$7, ptrType$8, ptrType$9, sliceType$10, ptrType$10, ptrType$11, ptrType$12, ptrType$13, ptrType$14, ptrType$15, ptrType$16, sliceType$11, ptrType$17, arrayType, arrayType$1, arrayType$2, sliceType$12, sliceType$13, sliceType$14, sliceType$15, ptrType$18, ptrType$19, ptrType$20, ptrType$21, ptrType$22, ptrType$23, sliceToByteSlice, TypedArrayOf, WrapContext, FromCanvas, polyfillOldVersion;
136622
136634
  errors = $packages["errors"];
136623
136635
  fmt = $packages["fmt"];
136624
136636
  extensions = $packages["github.com/nuberu/webgl/extensions"];
@@ -136710,20 +136722,20 @@ $packages["github.com/nuberu/webgl"] = (function() {
136710
136722
  h = ($pointerOfStructConversion(((s$8.$ptr || (s$8.$ptr = new ptrType$1(function() { return this.$target[0]; }, function($v) { this.$target[0] = $v; }, s$8)))), ptrType));
136711
136723
  $s = -1; return ((h)).$get();
136712
136724
  /* } else if ($assertType(_ref, sliceType$1, true)[1]) { */ case 2:
136713
- s$9[0] = _ref.$val;
136714
- h$1 = ($pointerOfStructConversion(((s$9.$ptr || (s$9.$ptr = new ptrType$2(function() { return this.$target[0]; }, function($v) { this.$target[0] = $v; }, s$9)))), ptrType));
136725
+ s$2[0] = _ref.$val;
136726
+ 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));
136715
136727
  h$1.Len = $imul(h$1.Len, (2));
136716
136728
  h$1.Cap = $imul(h$1.Cap, (2));
136717
136729
  $s = -1; return ((h$1)).$get();
136718
136730
  /* } else if ($assertType(_ref, sliceType$2, true)[1]) { */ case 3:
136719
- s$4[0] = _ref.$val;
136720
- h$2 = ($pointerOfStructConversion(((s$4.$ptr || (s$4.$ptr = new ptrType$3(function() { return this.$target[0]; }, function($v) { this.$target[0] = $v; }, s$4)))), ptrType));
136731
+ s$9[0] = _ref.$val;
136732
+ h$2 = ($pointerOfStructConversion(((s$9.$ptr || (s$9.$ptr = new ptrType$3(function() { return this.$target[0]; }, function($v) { this.$target[0] = $v; }, s$9)))), ptrType));
136721
136733
  h$2.Len = $imul(h$2.Len, (4));
136722
136734
  h$2.Cap = $imul(h$2.Cap, (4));
136723
136735
  $s = -1; return ((h$2)).$get();
136724
136736
  /* } else if ($assertType(_ref, sliceType$3, true)[1]) { */ case 4:
136725
- s$5[0] = _ref.$val;
136726
- h$3 = ($pointerOfStructConversion(((s$5.$ptr || (s$5.$ptr = new ptrType$4(function() { return this.$target[0]; }, function($v) { this.$target[0] = $v; }, s$5)))), ptrType));
136737
+ s$4[0] = _ref.$val;
136738
+ h$3 = ($pointerOfStructConversion(((s$4.$ptr || (s$4.$ptr = new ptrType$4(function() { return this.$target[0]; }, function($v) { this.$target[0] = $v; }, s$4)))), ptrType));
136727
136739
  h$3.Len = $imul(h$3.Len, (8));
136728
136740
  h$3.Cap = $imul(h$3.Cap, (8));
136729
136741
  $s = -1; return ((h$3)).$get();
@@ -136731,32 +136743,32 @@ $packages["github.com/nuberu/webgl"] = (function() {
136731
136743
  s$10 = _ref.$val;
136732
136744
  $s = -1; return s$10;
136733
136745
  /* } else if ($assertType(_ref, sliceType$5, true)[1]) { */ case 6:
136734
- s$6[0] = _ref.$val;
136735
- h$4 = ($pointerOfStructConversion(((s$6.$ptr || (s$6.$ptr = new ptrType$5(function() { return this.$target[0]; }, function($v) { this.$target[0] = $v; }, s$6)))), ptrType));
136746
+ s$5[0] = _ref.$val;
136747
+ h$4 = ($pointerOfStructConversion(((s$5.$ptr || (s$5.$ptr = new ptrType$5(function() { return this.$target[0]; }, function($v) { this.$target[0] = $v; }, s$5)))), ptrType));
136736
136748
  h$4.Len = $imul(h$4.Len, (2));
136737
136749
  h$4.Cap = $imul(h$4.Cap, (2));
136738
136750
  $s = -1; return ((h$4)).$get();
136739
136751
  /* } else if ($assertType(_ref, sliceType$6, true)[1]) { */ case 7:
136740
- s$2[0] = _ref.$val;
136741
- 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));
136752
+ s$3[0] = _ref.$val;
136753
+ h$5 = ($pointerOfStructConversion(((s$3.$ptr || (s$3.$ptr = new ptrType$6(function() { return this.$target[0]; }, function($v) { this.$target[0] = $v; }, s$3)))), ptrType));
136742
136754
  h$5.Len = $imul(h$5.Len, (4));
136743
136755
  h$5.Cap = $imul(h$5.Cap, (4));
136744
136756
  $s = -1; return ((h$5)).$get();
136745
136757
  /* } else if ($assertType(_ref, sliceType$7, true)[1]) { */ case 8:
136746
- s$7[0] = _ref.$val;
136747
- h$6 = ($pointerOfStructConversion(((s$7.$ptr || (s$7.$ptr = new ptrType$7(function() { return this.$target[0]; }, function($v) { this.$target[0] = $v; }, s$7)))), ptrType));
136758
+ s$6[0] = _ref.$val;
136759
+ h$6 = ($pointerOfStructConversion(((s$6.$ptr || (s$6.$ptr = new ptrType$7(function() { return this.$target[0]; }, function($v) { this.$target[0] = $v; }, s$6)))), ptrType));
136748
136760
  h$6.Len = $imul(h$6.Len, (8));
136749
136761
  h$6.Cap = $imul(h$6.Cap, (8));
136750
136762
  $s = -1; return ((h$6)).$get();
136751
136763
  /* } else if ($assertType(_ref, sliceType$8, true)[1]) { */ case 9:
136752
- s$3[0] = _ref.$val;
136753
- 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));
136764
+ s$1[0] = _ref.$val;
136765
+ 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));
136754
136766
  h$7.Len = $imul(h$7.Len, (4));
136755
136767
  h$7.Cap = $imul(h$7.Cap, (4));
136756
136768
  $s = -1; return ((h$7)).$get();
136757
136769
  /* } else if ($assertType(_ref, sliceType$9, true)[1]) { */ case 10:
136758
- s$1[0] = _ref.$val;
136759
- 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));
136770
+ s$7[0] = _ref.$val;
136771
+ h$8 = ($pointerOfStructConversion(((s$7.$ptr || (s$7.$ptr = new ptrType$9(function() { return this.$target[0]; }, function($v) { this.$target[0] = $v; }, s$7)))), ptrType));
136760
136772
  h$8.Len = $imul(h$8.Len, (8));
136761
136773
  h$8.Cap = $imul(h$8.Cap, (8));
136762
136774
  $s = -1; return ((h$8)).$get();
@@ -136899,25 +136911,47 @@ $packages["github.com/nuberu/webgl"] = (function() {
136899
136911
  /* */ $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; canvasEl = $f.canvasEl; jsContext = $f.jsContext; $s = $f.$s; $r = $f.$r; } s: while (true) { switch ($s) { case 0:
136900
136912
  _r = $clone(canvasEl, js.Value).Call("getContext", new sliceType$10([new $String("webgl2")])); /* */ $s = 1; case 1: if($c) { $c = false; _r = _r.$blk(); } if (_r && _r.$blk !== undefined) { break s; }
136901
136913
  jsContext = $clone(_r, js.Value);
136902
- /* */ if ($clone(jsContext, js.Value).IsUndefined()) { $s = 2; continue; }
136914
+ /* */ if ($clone(jsContext, js.Value).IsUndefined() || $clone(jsContext, js.Value).IsNull()) { $s = 2; continue; }
136903
136915
  /* */ $s = 3; continue;
136904
- /* if ($clone(jsContext, js.Value).IsUndefined()) { */ case 2:
136916
+ /* if ($clone(jsContext, js.Value).IsUndefined() || $clone(jsContext, js.Value).IsNull()) { */ case 2:
136905
136917
  _r$1 = $clone(canvasEl, js.Value).Call("getContext", new sliceType$10([new $String("webgl")])); /* */ $s = 4; case 4: if($c) { $c = false; _r$1 = _r$1.$blk(); } if (_r$1 && _r$1.$blk !== undefined) { break s; }
136906
136918
  js.Value.copy(jsContext, _r$1);
136919
+ $r = polyfillOldVersion($clone(jsContext, js.Value)); /* */ $s = 5; case 5: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
136907
136920
  /* } */ case 3:
136908
- /* */ if ($clone(jsContext, js.Value).IsUndefined()) { $s = 5; continue; }
136909
- /* */ $s = 6; continue;
136910
- /* if ($clone(jsContext, js.Value).IsUndefined()) { */ case 5:
136911
- _r$2 = $clone(canvasEl, js.Value).Call("getContext", new sliceType$10([new $String("experimental-webgl")])); /* */ $s = 7; case 7: if($c) { $c = false; _r$2 = _r$2.$blk(); } if (_r$2 && _r$2.$blk !== undefined) { break s; }
136921
+ /* */ if ($clone(jsContext, js.Value).IsUndefined() || $clone(jsContext, js.Value).IsNull()) { $s = 6; continue; }
136922
+ /* */ $s = 7; continue;
136923
+ /* if ($clone(jsContext, js.Value).IsUndefined() || $clone(jsContext, js.Value).IsNull()) { */ case 6:
136924
+ _r$2 = $clone(canvasEl, js.Value).Call("getContext", new sliceType$10([new $String("experimental-webgl")])); /* */ $s = 8; case 8: if($c) { $c = false; _r$2 = _r$2.$blk(); } if (_r$2 && _r$2.$blk !== undefined) { break s; }
136912
136925
  js.Value.copy(jsContext, _r$2);
136913
- /* } */ case 6:
136914
- if ($clone(jsContext, js.Value).IsUndefined()) {
136926
+ $r = polyfillOldVersion($clone(jsContext, js.Value)); /* */ $s = 9; case 9: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
136927
+ /* } */ case 7:
136928
+ if ($clone(jsContext, js.Value).IsUndefined() || $clone(jsContext, js.Value).IsNull()) {
136915
136929
  $s = -1; return [ptrType$10.nil, errors.New("browser might not support webgl")];
136916
136930
  }
136917
136931
  $s = -1; return [WrapContext($clone(jsContext, js.Value)), $ifaceNil];
136918
136932
  /* */ } return; } if ($f === undefined) { $f = { $blk: FromCanvas }; } $f._r = _r; $f._r$1 = _r$1; $f._r$2 = _r$2; $f.canvasEl = canvasEl; $f.jsContext = jsContext; $f.$s = $s; $f.$r = $r; return $f;
136919
136933
  };
136920
136934
  $pkg.FromCanvas = FromCanvas;
136935
+ polyfillOldVersion = function(jsContext) {
136936
+ var _arg, _arg$1, _arg$2, _arg$3, _r, _r$1, _r$2, _r$3, _r$4, jsContext, vaoExt, x, x$1, x$2, x$3, $s, $r;
136937
+ /* */ $s = 0; var $f, $c = false; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; _arg = $f._arg; _arg$1 = $f._arg$1; _arg$2 = $f._arg$2; _arg$3 = $f._arg$3; _r = $f._r; _r$1 = $f._r$1; _r$2 = $f._r$2; _r$3 = $f._r$3; _r$4 = $f._r$4; jsContext = $f.jsContext; vaoExt = $f.vaoExt; x = $f.x; x$1 = $f.x$1; x$2 = $f.x$2; x$3 = $f.x$3; $s = $f.$s; $r = $f.$r; } s: while (true) { switch ($s) { case 0:
136938
+ _r = $clone(jsContext, js.Value).Call("getExtension", new sliceType$10([new $String("OES_vertex_array_object")])); /* */ $s = 1; case 1: if($c) { $c = false; _r = _r.$blk(); } if (_r && _r.$blk !== undefined) { break s; }
136939
+ vaoExt = $clone(_r, js.Value);
136940
+ _r$1 = $clone($clone(vaoExt, js.Value).Get("bindVertexArrayOES"), js.Value).Call("bind", new sliceType$10([new vaoExt.constructor.elem(vaoExt)])); /* */ $s = 2; case 2: if($c) { $c = false; _r$1 = _r$1.$blk(); } if (_r$1 && _r$1.$blk !== undefined) { break s; }
136941
+ _arg = (x = _r$1, new x.constructor.elem(x));
136942
+ $r = $clone(jsContext, js.Value).Set("bindVertexArray", _arg); /* */ $s = 3; case 3: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
136943
+ _r$2 = $clone($clone(vaoExt, js.Value).Get("createVertexArrayOES"), js.Value).Call("bind", new sliceType$10([new vaoExt.constructor.elem(vaoExt)])); /* */ $s = 4; case 4: if($c) { $c = false; _r$2 = _r$2.$blk(); } if (_r$2 && _r$2.$blk !== undefined) { break s; }
136944
+ _arg$1 = (x$1 = _r$2, new x$1.constructor.elem(x$1));
136945
+ $r = $clone(jsContext, js.Value).Set("createVertexArray", _arg$1); /* */ $s = 5; case 5: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
136946
+ _r$3 = $clone($clone(vaoExt, js.Value).Get("deleteVertexArrayOES"), js.Value).Call("bind", new sliceType$10([new vaoExt.constructor.elem(vaoExt)])); /* */ $s = 6; case 6: if($c) { $c = false; _r$3 = _r$3.$blk(); } if (_r$3 && _r$3.$blk !== undefined) { break s; }
136947
+ _arg$2 = (x$2 = _r$3, new x$2.constructor.elem(x$2));
136948
+ $r = $clone(jsContext, js.Value).Set("deleteVertexArray", _arg$2); /* */ $s = 7; case 7: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
136949
+ _r$4 = $clone($clone(vaoExt, js.Value).Get("isVertexArrayOES"), js.Value).Call("bind", new sliceType$10([new vaoExt.constructor.elem(vaoExt)])); /* */ $s = 8; case 8: if($c) { $c = false; _r$4 = _r$4.$blk(); } if (_r$4 && _r$4.$blk !== undefined) { break s; }
136950
+ _arg$3 = (x$3 = _r$4, new x$3.constructor.elem(x$3));
136951
+ $r = $clone(jsContext, js.Value).Set("isVertexArray", _arg$3); /* */ $s = 9; case 9: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
136952
+ $s = -1; return;
136953
+ /* */ } return; } if ($f === undefined) { $f = { $blk: polyfillOldVersion }; } $f._arg = _arg; $f._arg$1 = _arg$1; $f._arg$2 = _arg$2; $f._arg$3 = _arg$3; $f._r = _r; $f._r$1 = _r$1; $f._r$2 = _r$2; $f._r$3 = _r$3; $f._r$4 = _r$4; $f.jsContext = jsContext; $f.vaoExt = vaoExt; $f.x = x; $f.x$1 = x$1; $f.x$2 = x$2; $f.x$3 = x$3; $f.$s = $s; $f.$r = $r; return $f;
136954
+ };
136921
136955
  RenderingContext.ptr.prototype.GetJs = function() {
136922
136956
  var c;
136923
136957
  c = this;
@@ -140532,112 +140566,504 @@ $packages["github.com/nuberu/webgl"] = (function() {
140532
140566
  $pkg.$init = $init;
140533
140567
  return $pkg;
140534
140568
  })();
140535
- $packages["golang.org/x/image/math/f64"] = (function() {
140536
- var $pkg = {}, $init, Aff3;
140537
- Aff3 = $pkg.Aff3 = $newType(48, $kindArray, "f64.Aff3", true, "golang.org/x/image/math/f64", true, null);
140538
- Aff3.init($Float64, 6);
140539
- $init = function() {
140540
- $pkg.$init = function() {};
140541
- /* */ 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:
140542
- /* */ } return; } if ($f === undefined) { $f = { $blk: $init }; } $f.$s = $s; $f.$r = $r; return $f;
140569
+ $packages["golang.org/x/exp/shiny/driver/internal/dom"] = (function() {
140570
+ 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;
140571
+ focus = $packages["golang.org/x/mobile/event/focus"];
140572
+ key = $packages["golang.org/x/mobile/event/key"];
140573
+ mouse = $packages["golang.org/x/mobile/event/mouse"];
140574
+ size = $packages["golang.org/x/mobile/event/size"];
140575
+ geom = $packages["golang.org/x/mobile/geom"];
140576
+ strings = $packages["strings"];
140577
+ js = $packages["syscall/js"];
140578
+ DomEvents = $pkg.DomEvents = $newType(0, $kindStruct, "dom.DomEvents", true, "golang.org/x/exp/shiny/driver/internal/dom", true, function(eventChan_, releases_) {
140579
+ this.$val = this;
140580
+ if (arguments.length === 0) {
140581
+ this.eventChan = $chanNil;
140582
+ this.releases = sliceType.nil;
140583
+ return;
140584
+ }
140585
+ this.eventChan = eventChan_;
140586
+ this.releases = releases_;
140587
+ });
140588
+ funcType = $funcType([], [], false);
140589
+ sliceType = $sliceType(funcType);
140590
+ sliceType$1 = $sliceType($emptyInterface);
140591
+ sliceType$2 = $sliceType($Int32);
140592
+ chanType = $chanType($emptyInterface, false, false);
140593
+ ptrType = $ptrType(DomEvents);
140594
+ NewDomEvents = function() {
140595
+ return new DomEvents.ptr(new $Chan($emptyInterface, 0), $makeSlice(sliceType, 0));
140543
140596
  };
140544
- $pkg.$init = $init;
140545
- return $pkg;
140546
- })();
140547
- $packages["image/internal/imageutil"] = (function() {
140548
- var $pkg = {}, $init, image, DrawYCbCr;
140549
- image = $packages["image"];
140550
- DrawYCbCr = function(dst, r, src, sp) {
140551
- var _1, _q, _q$1, _q$2, _q$3, _q$4, _q$5, _q$6, _q$7, _tmp, _tmp$1, _tmp$10, _tmp$11, _tmp$12, _tmp$13, _tmp$14, _tmp$15, _tmp$16, _tmp$17, _tmp$18, _tmp$19, _tmp$2, _tmp$20, _tmp$21, _tmp$22, _tmp$23, _tmp$24, _tmp$25, _tmp$26, _tmp$27, _tmp$28, _tmp$29, _tmp$3, _tmp$30, _tmp$31, _tmp$4, _tmp$5, _tmp$6, _tmp$7, _tmp$8, _tmp$9, b, b$1, b$2, b$3, cb1, cb1$1, cb1$2, cb1$3, ci, ci$1, ci$2, ci$3, ciBase, ciBase$1, cr1, cr1$1, cr1$2, cr1$3, dpix, dpix$1, dpix$2, dpix$3, dst, g, g$1, g$2, g$3, ok, r, r$1, r$2, r$3, r$4, rgba, rgba$1, rgba$2, rgba$3, sp, src, sx, sx$1, sy, sy$1, sy$2, sy$3, x, x$1, x$10, x$11, x$12, x$13, x$14, x$15, x$2, x$3, x$4, x$5, x$6, x$7, x$8, x$9, x0, x1, y, y$1, y$2, y$3, y0, y1, yi, yi$1, yi$2, yi$3, yy1, yy1$1, yy1$2, yy1$3;
140552
- ok = false;
140553
- x0 = $imul(((r.Min.X - dst.Rect.Min.X >> 0)), 4);
140554
- x1 = $imul(((r.Max.X - dst.Rect.Min.X >> 0)), 4);
140555
- y0 = r.Min.Y - dst.Rect.Min.Y >> 0;
140556
- y1 = r.Max.Y - dst.Rect.Min.Y >> 0;
140557
- _1 = src.SubsampleRatio;
140597
+ $pkg.NewDomEvents = NewDomEvents;
140598
+ DomEvents.ptr.prototype.GetEventChan = function() {
140599
+ var d;
140600
+ d = this;
140601
+ return d.eventChan;
140602
+ };
140603
+ DomEvents.prototype.GetEventChan = function() { return this.$val.GetEventChan(); };
140604
+ DomEvents.ptr.prototype.Release = function() {
140605
+ var _i, _ref, d, release, $s, $r;
140606
+ /* */ $s = 0; var $f, $c = false; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; _i = $f._i; _ref = $f._ref; d = $f.d; release = $f.release; $s = $f.$s; $r = $f.$r; } s: while (true) { switch ($s) { case 0:
140607
+ d = this;
140608
+ _ref = d.releases;
140609
+ _i = 0;
140610
+ /* while (true) { */ case 1:
140611
+ /* if (!(_i < _ref.$length)) { break; } */ if(!(_i < _ref.$length)) { $s = 2; continue; }
140612
+ release = ((_i < 0 || _i >= _ref.$length) ? ($throwRuntimeError("index out of range"), undefined) : _ref.$array[_ref.$offset + _i]);
140613
+ $r = release(); /* */ $s = 3; case 3: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
140614
+ _i++;
140615
+ /* } */ $s = 1; continue; case 2:
140616
+ $s = -1; return;
140617
+ /* */ } return; } if ($f === undefined) { $f = { $blk: DomEvents.ptr.prototype.Release }; } $f._i = _i; $f._ref = _ref; $f.d = d; $f.release = release; $f.$s = $s; $f.$r = $r; return $f;
140618
+ };
140619
+ DomEvents.prototype.Release = function() { return this.$val.Release(); };
140620
+ DomEvents.ptr.prototype.BindEvents = function() {
140621
+ var d, $s, $r;
140622
+ /* */ $s = 0; var $f, $c = false; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; d = $f.d; $s = $f.$s; $r = $f.$r; } s: while (true) { switch ($s) { case 0:
140623
+ d = this;
140624
+ $r = d.bindSizeEvents(); /* */ $s = 1; case 1: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
140625
+ $go($methodVal(d, "emitSizeEvent"), []);
140626
+ $r = d.bindMouseEvents(); /* */ $s = 2; case 2: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
140627
+ $r = d.bindKeyEvents(); /* */ $s = 3; case 3: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
140628
+ $r = d.bindFocusEvents(); /* */ $s = 4; case 4: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
140629
+ $s = -1; return;
140630
+ /* */ } return; } if ($f === undefined) { $f = { $blk: DomEvents.ptr.prototype.BindEvents }; } $f.d = d; $f.$s = $s; $f.$r = $r; return $f;
140631
+ };
140632
+ DomEvents.prototype.BindEvents = function() { return this.$val.BindEvents(); };
140633
+ DomEvents.ptr.prototype.bindSizeEvents = function() {
140634
+ var _r, d, onResize, $s, $r;
140635
+ /* */ $s = 0; var $f, $c = false; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; _r = $f._r; d = $f.d; onResize = $f.onResize; $s = $f.$s; $r = $f.$r; } s: while (true) { switch ($s) { case 0:
140636
+ d = [d];
140637
+ onResize = [onResize];
140638
+ d[0] = this;
140639
+ onResize[0] = $clone(js.FuncOf((function(d, onResize) { return function $b(this$1, args) {
140640
+ var args, this$1, $s, $r;
140641
+ /* */ $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:
140642
+ $r = d[0].emitSizeEvent(); /* */ $s = 1; case 1: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
140643
+ $s = -1; return $ifaceNil;
140644
+ /* */ } return; } if ($f === undefined) { $f = { $blk: $b }; } $f.args = args; $f.this$1 = this$1; $f.$s = $s; $f.$r = $r; return $f;
140645
+ }; })(d, onResize)), js.Func);
140646
+ _r = $clone(js.Global(), js.Value).Call("addEventListener", new sliceType$1([new $String("resize"), new onResize[0].constructor.elem(onResize[0])])); /* */ $s = 1; case 1: if($c) { $c = false; _r = _r.$blk(); } if (_r && _r.$blk !== undefined) { break s; }
140647
+ _r;
140648
+ d[0].releases = $append(d[0].releases, (function(d, onResize) { return function $b() {
140649
+ var _r$1, $s, $r;
140650
+ /* */ $s = 0; var $f, $c = false; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; _r$1 = $f._r$1; $s = $f.$s; $r = $f.$r; } s: while (true) { switch ($s) { case 0:
140651
+ _r$1 = $clone(js.Global(), js.Value).Call("removeEventListener", new sliceType$1([new $String("resize"), new onResize[0].constructor.elem(onResize[0])])); /* */ $s = 1; case 1: if($c) { $c = false; _r$1 = _r$1.$blk(); } if (_r$1 && _r$1.$blk !== undefined) { break s; }
140652
+ _r$1;
140653
+ $clone(onResize[0], js.Func).Release();
140654
+ $s = -1; return;
140655
+ /* */ } return; } if ($f === undefined) { $f = { $blk: $b }; } $f._r$1 = _r$1; $f.$s = $s; $f.$r = $r; return $f;
140656
+ }; })(d, onResize));
140657
+ $s = -1; return;
140658
+ /* */ } return; } if ($f === undefined) { $f = { $blk: DomEvents.ptr.prototype.bindSizeEvents }; } $f._r = _r; $f.d = d; $f.onResize = onResize; $f.$s = $s; $f.$r = $r; return $f;
140659
+ };
140660
+ DomEvents.prototype.bindSizeEvents = function() { return this.$val.bindSizeEvents(); };
140661
+ DomEvents.ptr.prototype.emitSizeEvent = function() {
140662
+ var _q, _q$1, d, height, orientation, pixelsPerPt, width, x, $s, $r;
140663
+ /* */ $s = 0; var $f, $c = false; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; _q = $f._q; _q$1 = $f._q$1; d = $f.d; height = $f.height; orientation = $f.orientation; pixelsPerPt = $f.pixelsPerPt; width = $f.width; x = $f.x; $s = $f.$s; $r = $f.$r; } s: while (true) { switch ($s) { case 0:
140664
+ d = this;
140665
+ orientation = GetOrientation();
140666
+ pixelsPerPt = 1;
140667
+ width = GetDocWidth();
140668
+ height = GetDocHeight();
140669
+ $r = $send(d.eventChan, (x = new size.Event.ptr(width, height, ((_q = width / ((pixelsPerPt >> 0)), (_q === _q && _q !== 1/0 && _q !== -1/0) ? _q >> 0 : $throwRuntimeError("integer divide by zero"))), ((_q$1 = height / ((pixelsPerPt >> 0)), (_q$1 === _q$1 && _q$1 !== 1/0 && _q$1 !== -1/0) ? _q$1 >> 0 : $throwRuntimeError("integer divide by zero"))), pixelsPerPt, orientation), new x.constructor.elem(x))); /* */ $s = 1; case 1: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
140670
+ $s = -1; return;
140671
+ /* */ } return; } if ($f === undefined) { $f = { $blk: DomEvents.ptr.prototype.emitSizeEvent }; } $f._q = _q; $f._q$1 = _q$1; $f.d = d; $f.height = height; $f.orientation = orientation; $f.pixelsPerPt = pixelsPerPt; $f.width = width; $f.x = x; $f.$s = $s; $f.$r = $r; return $f;
140672
+ };
140673
+ DomEvents.prototype.emitSizeEvent = function() { return this.$val.emitSizeEvent(); };
140674
+ DomEvents.ptr.prototype.bindMouseEvents = function() {
140675
+ var _r, _r$1, _r$2, _r$3, d, onClick, onMove, onWheel, $s, $r;
140676
+ /* */ $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; d = $f.d; onClick = $f.onClick; onMove = $f.onMove; onWheel = $f.onWheel; $s = $f.$s; $r = $f.$r; } s: while (true) { switch ($s) { case 0:
140677
+ d = [d];
140678
+ onClick = [onClick];
140679
+ onMove = [onMove];
140680
+ onWheel = [onWheel];
140681
+ d[0] = this;
140682
+ onMove[0] = $clone(js.FuncOf((function(d, onClick, onMove, onWheel) { return function $b(this$1, args) {
140683
+ var _r, args, this$1, x, $s, $r;
140684
+ /* */ $s = 0; var $f, $c = false; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; _r = $f._r; args = $f.args; this$1 = $f.this$1; x = $f.x; $s = $f.$s; $r = $f.$r; } s: while (true) { switch ($s) { case 0:
140685
+ _r = $clone((0 >= args.$length ? ($throwRuntimeError("index out of range"), undefined) : args.$array[args.$offset + 0]), js.Value).Call("preventDefault", new sliceType$1([])); /* */ $s = 1; case 1: if($c) { $c = false; _r = _r.$blk(); } if (_r && _r.$blk !== undefined) { break s; }
140686
+ _r;
140687
+ $r = $send(d[0].eventChan, (x = new mouse.Event.ptr(($fround($clone($clone((0 >= args.$length ? ($throwRuntimeError("index out of range"), undefined) : args.$array[args.$offset + 0]), js.Value).Get("offsetX"), js.Value).Float())), ($fround($clone($clone((0 >= args.$length ? ($throwRuntimeError("index out of range"), undefined) : args.$array[args.$offset + 0]), js.Value).Get("offsetY"), js.Value).Float())), 0, getEventModifiers($clone((0 >= args.$length ? ($throwRuntimeError("index out of range"), undefined) : args.$array[args.$offset + 0]), js.Value)), 0), new x.constructor.elem(x))); /* */ $s = 2; case 2: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
140688
+ $s = -1; return $ifaceNil;
140689
+ /* */ } return; } if ($f === undefined) { $f = { $blk: $b }; } $f._r = _r; $f.args = args; $f.this$1 = this$1; $f.x = x; $f.$s = $s; $f.$r = $r; return $f;
140690
+ }; })(d, onClick, onMove, onWheel)), js.Func);
140691
+ _r = $clone(js.Global(), js.Value).Call("addEventListener", new sliceType$1([new $String("mousemove"), new onMove[0].constructor.elem(onMove[0])])); /* */ $s = 1; case 1: if($c) { $c = false; _r = _r.$blk(); } if (_r && _r.$blk !== undefined) { break s; }
140692
+ _r;
140693
+ onClick[0] = $clone(js.FuncOf((function(d, onClick, onMove, onWheel) { return function $b(this$1, args) {
140694
+ var _r$1, args, this$1, x, $s, $r;
140695
+ /* */ $s = 0; var $f, $c = false; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; _r$1 = $f._r$1; args = $f.args; this$1 = $f.this$1; x = $f.x; $s = $f.$s; $r = $f.$r; } s: while (true) { switch ($s) { case 0:
140696
+ _r$1 = $clone((0 >= args.$length ? ($throwRuntimeError("index out of range"), undefined) : args.$array[args.$offset + 0]), js.Value).Call("preventDefault", new sliceType$1([])); /* */ $s = 1; case 1: if($c) { $c = false; _r$1 = _r$1.$blk(); } if (_r$1 && _r$1.$blk !== undefined) { break s; }
140697
+ _r$1;
140698
+ $r = $send(d[0].eventChan, (x = new mouse.Event.ptr(($fround($clone($clone((0 >= args.$length ? ($throwRuntimeError("index out of range"), undefined) : args.$array[args.$offset + 0]), js.Value).Get("offsetX"), js.Value).Float())), ($fround($clone($clone((0 >= args.$length ? ($throwRuntimeError("index out of range"), undefined) : args.$array[args.$offset + 0]), js.Value).Get("offsetY"), js.Value).Float())), getMouseButton($clone((0 >= args.$length ? ($throwRuntimeError("index out of range"), undefined) : args.$array[args.$offset + 0]), js.Value)), getEventModifiers($clone((0 >= args.$length ? ($throwRuntimeError("index out of range"), undefined) : args.$array[args.$offset + 0]), js.Value)), getMouseDirection($clone((0 >= args.$length ? ($throwRuntimeError("index out of range"), undefined) : args.$array[args.$offset + 0]), js.Value))), new x.constructor.elem(x))); /* */ $s = 2; case 2: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
140699
+ $s = -1; return $ifaceNil;
140700
+ /* */ } return; } if ($f === undefined) { $f = { $blk: $b }; } $f._r$1 = _r$1; $f.args = args; $f.this$1 = this$1; $f.x = x; $f.$s = $s; $f.$r = $r; return $f;
140701
+ }; })(d, onClick, onMove, onWheel)), js.Func);
140702
+ _r$1 = $clone(js.Global(), js.Value).Call("addEventListener", new sliceType$1([new $String("mousedown"), new onClick[0].constructor.elem(onClick[0])])); /* */ $s = 2; case 2: if($c) { $c = false; _r$1 = _r$1.$blk(); } if (_r$1 && _r$1.$blk !== undefined) { break s; }
140703
+ _r$1;
140704
+ _r$2 = $clone(js.Global(), js.Value).Call("addEventListener", new sliceType$1([new $String("mouseup"), new onClick[0].constructor.elem(onClick[0])])); /* */ $s = 3; case 3: if($c) { $c = false; _r$2 = _r$2.$blk(); } if (_r$2 && _r$2.$blk !== undefined) { break s; }
140705
+ _r$2;
140706
+ onWheel[0] = $clone(js.FuncOf((function(d, onClick, onMove, onWheel) { return function $b(this$1, args) {
140707
+ var args, this$1, x, $s, $r;
140708
+ /* */ $s = 0; var $f, $c = false; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; args = $f.args; this$1 = $f.this$1; x = $f.x; $s = $f.$s; $r = $f.$r; } s: while (true) { switch ($s) { case 0:
140709
+ $r = $send(d[0].eventChan, (x = new mouse.Event.ptr(($fround($clone($clone((0 >= args.$length ? ($throwRuntimeError("index out of range"), undefined) : args.$array[args.$offset + 0]), js.Value).Get("offsetX"), js.Value).Float())), ($fround($clone($clone((0 >= args.$length ? ($throwRuntimeError("index out of range"), undefined) : args.$array[args.$offset + 0]), js.Value).Get("offsetY"), js.Value).Float())), getWheelButton($clone((0 >= args.$length ? ($throwRuntimeError("index out of range"), undefined) : args.$array[args.$offset + 0]), js.Value)), getEventModifiers($clone((0 >= args.$length ? ($throwRuntimeError("index out of range"), undefined) : args.$array[args.$offset + 0]), js.Value)), 3), new x.constructor.elem(x))); /* */ $s = 1; case 1: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
140710
+ $s = -1; return $ifaceNil;
140711
+ /* */ } return; } if ($f === undefined) { $f = { $blk: $b }; } $f.args = args; $f.this$1 = this$1; $f.x = x; $f.$s = $s; $f.$r = $r; return $f;
140712
+ }; })(d, onClick, onMove, onWheel)), js.Func);
140713
+ _r$3 = $clone(js.Global(), js.Value).Call("addEventListener", new sliceType$1([new $String("wheel"), new onWheel[0].constructor.elem(onWheel[0])])); /* */ $s = 4; case 4: if($c) { $c = false; _r$3 = _r$3.$blk(); } if (_r$3 && _r$3.$blk !== undefined) { break s; }
140714
+ _r$3;
140715
+ d[0].releases = $append(d[0].releases, (function(d, onClick, onMove, onWheel) { return function $b() {
140716
+ var _r$4, _r$5, _r$6, _r$7, $s, $r;
140717
+ /* */ $s = 0; var $f, $c = false; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; _r$4 = $f._r$4; _r$5 = $f._r$5; _r$6 = $f._r$6; _r$7 = $f._r$7; $s = $f.$s; $r = $f.$r; } s: while (true) { switch ($s) { case 0:
140718
+ _r$4 = $clone(js.Global(), js.Value).Call("removeEventListener", new sliceType$1([new $String("mousemove"), new onMove[0].constructor.elem(onMove[0])])); /* */ $s = 1; case 1: if($c) { $c = false; _r$4 = _r$4.$blk(); } if (_r$4 && _r$4.$blk !== undefined) { break s; }
140719
+ _r$4;
140720
+ _r$5 = $clone(js.Global(), js.Value).Call("removeEventListener", new sliceType$1([new $String("mousedown"), new onClick[0].constructor.elem(onClick[0])])); /* */ $s = 2; case 2: if($c) { $c = false; _r$5 = _r$5.$blk(); } if (_r$5 && _r$5.$blk !== undefined) { break s; }
140721
+ _r$5;
140722
+ _r$6 = $clone(js.Global(), js.Value).Call("removeEventListener", new sliceType$1([new $String("mouseup"), new onClick[0].constructor.elem(onClick[0])])); /* */ $s = 3; case 3: if($c) { $c = false; _r$6 = _r$6.$blk(); } if (_r$6 && _r$6.$blk !== undefined) { break s; }
140723
+ _r$6;
140724
+ _r$7 = $clone(js.Global(), js.Value).Call("removeEventListener", new sliceType$1([new $String("wheel"), new onWheel[0].constructor.elem(onWheel[0])])); /* */ $s = 4; case 4: if($c) { $c = false; _r$7 = _r$7.$blk(); } if (_r$7 && _r$7.$blk !== undefined) { break s; }
140725
+ _r$7;
140726
+ $clone(onMove[0], js.Func).Release();
140727
+ $clone(onClick[0], js.Func).Release();
140728
+ $clone(onWheel[0], js.Func).Release();
140729
+ $s = -1; return;
140730
+ /* */ } return; } if ($f === undefined) { $f = { $blk: $b }; } $f._r$4 = _r$4; $f._r$5 = _r$5; $f._r$6 = _r$6; $f._r$7 = _r$7; $f.$s = $s; $f.$r = $r; return $f;
140731
+ }; })(d, onClick, onMove, onWheel));
140732
+ $s = -1; return;
140733
+ /* */ } return; } if ($f === undefined) { $f = { $blk: DomEvents.ptr.prototype.bindMouseEvents }; } $f._r = _r; $f._r$1 = _r$1; $f._r$2 = _r$2; $f._r$3 = _r$3; $f.d = d; $f.onClick = onClick; $f.onMove = onMove; $f.onWheel = onWheel; $f.$s = $s; $f.$r = $r; return $f;
140734
+ };
140735
+ DomEvents.prototype.bindMouseEvents = function() { return this.$val.bindMouseEvents(); };
140736
+ getMouseDirection = function(ev) {
140737
+ var dir, ev;
140738
+ dir = 0;
140739
+ dir = 0;
140740
+ if ($clone($clone(ev, js.Value).Get("type"), js.Value).String() === "mousedown") {
140741
+ dir = 1;
140742
+ }
140743
+ if ($clone($clone(ev, js.Value).Get("type"), js.Value).String() === "mouseup") {
140744
+ dir = 2;
140745
+ }
140746
+ return dir;
140747
+ };
140748
+ getWheelButton = function(ev) {
140749
+ var deltaX, deltaY, ev;
140750
+ deltaY = $clone($clone(ev, js.Value).Get("deltaY"), js.Value).Int();
140751
+ deltaX = $clone($clone(ev, js.Value).Get("deltaX"), js.Value).Int();
140752
+ if (deltaY > 0) {
140753
+ return -2;
140754
+ }
140755
+ if (deltaY < 0) {
140756
+ return -1;
140757
+ }
140758
+ if (deltaX > 0) {
140759
+ return -4;
140760
+ }
140761
+ if (deltaX < 0) {
140762
+ return -3;
140763
+ }
140764
+ return 0;
140765
+ };
140766
+ getMouseButton = function(ev) {
140767
+ var _1, ev;
140768
+ _1 = $clone($clone(ev, js.Value).Get("button"), js.Value).Int();
140558
140769
  if (_1 === (0)) {
140559
- _tmp = y0;
140560
- _tmp$1 = sp.Y;
140561
- y = _tmp;
140562
- sy = _tmp$1;
140563
- while (true) {
140564
- if (!(!((y === y1)))) { break; }
140565
- dpix = $subslice(dst.Pix, ($imul(y, dst.Stride)));
140566
- yi = ($imul(((sy - src.Rect.Min.Y >> 0)), src.YStride)) + ((sp.X - src.Rect.Min.X >> 0)) >> 0;
140567
- ci = ($imul(((sy - src.Rect.Min.Y >> 0)), src.CStride)) + ((sp.X - src.Rect.Min.X >> 0)) >> 0;
140568
- x = x0;
140569
- while (true) {
140570
- if (!(!((x === x1)))) { break; }
140571
- yy1 = $imul((((x$1 = src.Y, ((yi < 0 || yi >= x$1.$length) ? ($throwRuntimeError("index out of range"), undefined) : x$1.$array[x$1.$offset + yi])) >> 0)), 65793);
140572
- cb1 = (((x$2 = src.Cb, ((ci < 0 || ci >= x$2.$length) ? ($throwRuntimeError("index out of range"), undefined) : x$2.$array[x$2.$offset + ci])) >> 0)) - 128 >> 0;
140573
- cr1 = (((x$3 = src.Cr, ((ci < 0 || ci >= x$3.$length) ? ($throwRuntimeError("index out of range"), undefined) : x$3.$array[x$3.$offset + ci])) >> 0)) - 128 >> 0;
140574
- r$1 = yy1 + ($imul(91881, cr1)) >> 0;
140575
- if (((((r$1 >>> 0)) & 4278190080) >>> 0) === 0) {
140576
- r$1 = (r$1 >> $min((16), 31)) >> 0;
140577
- } else {
140578
- r$1 = ~((r$1 >> 31 >> 0)) >> 0;
140579
- }
140580
- g = (yy1 - ($imul(22554, cb1)) >> 0) - ($imul(46802, cr1)) >> 0;
140581
- if (((((g >>> 0)) & 4278190080) >>> 0) === 0) {
140582
- g = (g >> $min((16), 31)) >> 0;
140583
- } else {
140584
- g = ~((g >> 31 >> 0)) >> 0;
140585
- }
140586
- b = yy1 + ($imul(116130, cb1)) >> 0;
140587
- if (((((b >>> 0)) & 4278190080) >>> 0) === 0) {
140588
- b = (b >> $min((16), 31)) >> 0;
140589
- } else {
140590
- b = ~((b >> 31 >> 0)) >> 0;
140591
- }
140592
- rgba = $subslice(dpix, x, (x + 4 >> 0), dpix.$length);
140593
- (0 >= rgba.$length ? ($throwRuntimeError("index out of range"), undefined) : rgba.$array[rgba.$offset + 0] = ((r$1 << 24 >>> 24)));
140594
- (1 >= rgba.$length ? ($throwRuntimeError("index out of range"), undefined) : rgba.$array[rgba.$offset + 1] = ((g << 24 >>> 24)));
140595
- (2 >= rgba.$length ? ($throwRuntimeError("index out of range"), undefined) : rgba.$array[rgba.$offset + 2] = ((b << 24 >>> 24)));
140596
- (3 >= rgba.$length ? ($throwRuntimeError("index out of range"), undefined) : rgba.$array[rgba.$offset + 3] = 255);
140597
- _tmp$2 = x + 4 >> 0;
140598
- _tmp$3 = yi + 1 >> 0;
140599
- _tmp$4 = ci + 1 >> 0;
140600
- x = _tmp$2;
140601
- yi = _tmp$3;
140602
- ci = _tmp$4;
140603
- }
140604
- _tmp$5 = y + 1 >> 0;
140605
- _tmp$6 = sy + 1 >> 0;
140606
- y = _tmp$5;
140607
- sy = _tmp$6;
140608
- }
140770
+ return 1;
140609
140771
  } else if (_1 === (1)) {
140610
- _tmp$7 = y0;
140611
- _tmp$8 = sp.Y;
140612
- y$1 = _tmp$7;
140613
- sy$1 = _tmp$8;
140614
- while (true) {
140615
- if (!(!((y$1 === y1)))) { break; }
140616
- dpix$1 = $subslice(dst.Pix, ($imul(y$1, dst.Stride)));
140617
- yi$1 = ($imul(((sy$1 - src.Rect.Min.Y >> 0)), src.YStride)) + ((sp.X - src.Rect.Min.X >> 0)) >> 0;
140618
- ciBase = ($imul(((sy$1 - src.Rect.Min.Y >> 0)), src.CStride)) - (_q = src.Rect.Min.X / 2, (_q === _q && _q !== 1/0 && _q !== -1/0) ? _q >> 0 : $throwRuntimeError("integer divide by zero")) >> 0;
140619
- _tmp$9 = x0;
140620
- _tmp$10 = sp.X;
140621
- x$4 = _tmp$9;
140622
- sx = _tmp$10;
140623
- while (true) {
140624
- if (!(!((x$4 === x1)))) { break; }
140625
- ci$1 = ciBase + (_q$1 = sx / 2, (_q$1 === _q$1 && _q$1 !== 1/0 && _q$1 !== -1/0) ? _q$1 >> 0 : $throwRuntimeError("integer divide by zero")) >> 0;
140626
- yy1$1 = $imul((((x$5 = src.Y, ((yi$1 < 0 || yi$1 >= x$5.$length) ? ($throwRuntimeError("index out of range"), undefined) : x$5.$array[x$5.$offset + yi$1])) >> 0)), 65793);
140627
- cb1$1 = (((x$6 = src.Cb, ((ci$1 < 0 || ci$1 >= x$6.$length) ? ($throwRuntimeError("index out of range"), undefined) : x$6.$array[x$6.$offset + ci$1])) >> 0)) - 128 >> 0;
140628
- cr1$1 = (((x$7 = src.Cr, ((ci$1 < 0 || ci$1 >= x$7.$length) ? ($throwRuntimeError("index out of range"), undefined) : x$7.$array[x$7.$offset + ci$1])) >> 0)) - 128 >> 0;
140629
- r$2 = yy1$1 + ($imul(91881, cr1$1)) >> 0;
140630
- if (((((r$2 >>> 0)) & 4278190080) >>> 0) === 0) {
140631
- r$2 = (r$2 >> $min((16), 31)) >> 0;
140632
- } else {
140633
- r$2 = ~((r$2 >> 31 >> 0)) >> 0;
140634
- }
140635
- g$1 = (yy1$1 - ($imul(22554, cb1$1)) >> 0) - ($imul(46802, cr1$1)) >> 0;
140636
- if (((((g$1 >>> 0)) & 4278190080) >>> 0) === 0) {
140637
- g$1 = (g$1 >> $min((16), 31)) >> 0;
140638
- } else {
140639
- g$1 = ~((g$1 >> 31 >> 0)) >> 0;
140640
- }
140772
+ return 2;
140773
+ } else if (_1 === (2)) {
140774
+ return 3;
140775
+ } else if (_1 === (3)) {
140776
+ return 8;
140777
+ } else if (_1 === (4)) {
140778
+ return 9;
140779
+ } else {
140780
+ return 0;
140781
+ }
140782
+ };
140783
+ getEventModifiers = function(ev) {
140784
+ var ev, mod;
140785
+ mod = 0;
140786
+ if ($clone($clone(ev, js.Value).Get("altKey"), js.Value).Bool()) {
140787
+ mod = (mod | (4)) >>> 0;
140788
+ }
140789
+ if ($clone($clone(ev, js.Value).Get("ctrlKey"), js.Value).Bool()) {
140790
+ mod = (mod | (2)) >>> 0;
140791
+ }
140792
+ if ($clone($clone(ev, js.Value).Get("shiftKey"), js.Value).Bool()) {
140793
+ mod = (mod | (1)) >>> 0;
140794
+ }
140795
+ if ($clone($clone(ev, js.Value).Get("metaKey"), js.Value).Bool()) {
140796
+ mod = (mod | (8)) >>> 0;
140797
+ }
140798
+ return mod;
140799
+ };
140800
+ DomEvents.ptr.prototype.bindFocusEvents = function() {
140801
+ var _r, _r$1, d, onFocus, $s, $r;
140802
+ /* */ $s = 0; var $f, $c = false; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; _r = $f._r; _r$1 = $f._r$1; d = $f.d; onFocus = $f.onFocus; $s = $f.$s; $r = $f.$r; } s: while (true) { switch ($s) { case 0:
140803
+ d = [d];
140804
+ onFocus = [onFocus];
140805
+ d[0] = this;
140806
+ onFocus[0] = $clone(js.FuncOf((function(d, onFocus) { return function $b(this$1, args) {
140807
+ var args, this$1, x, $s, $r;
140808
+ /* */ $s = 0; var $f, $c = false; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; args = $f.args; this$1 = $f.this$1; x = $f.x; $s = $f.$s; $r = $f.$r; } s: while (true) { switch ($s) { case 0:
140809
+ $r = $send(d[0].eventChan, (x = new focus.Event.ptr(isFocusIn($clone((0 >= args.$length ? ($throwRuntimeError("index out of range"), undefined) : args.$array[args.$offset + 0]), js.Value))), new x.constructor.elem(x))); /* */ $s = 1; case 1: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
140810
+ $s = -1; return $ifaceNil;
140811
+ /* */ } return; } if ($f === undefined) { $f = { $blk: $b }; } $f.args = args; $f.this$1 = this$1; $f.x = x; $f.$s = $s; $f.$r = $r; return $f;
140812
+ }; })(d, onFocus)), js.Func);
140813
+ _r = $clone(js.Global(), js.Value).Call("addEventListener", new sliceType$1([new $String("focus"), new onFocus[0].constructor.elem(onFocus[0])])); /* */ $s = 1; case 1: if($c) { $c = false; _r = _r.$blk(); } if (_r && _r.$blk !== undefined) { break s; }
140814
+ _r;
140815
+ _r$1 = $clone(js.Global(), js.Value).Call("addEventListener", new sliceType$1([new $String("blur"), new onFocus[0].constructor.elem(onFocus[0])])); /* */ $s = 2; case 2: if($c) { $c = false; _r$1 = _r$1.$blk(); } if (_r$1 && _r$1.$blk !== undefined) { break s; }
140816
+ _r$1;
140817
+ d[0].releases = $append(d[0].releases, (function(d, onFocus) { return function $b() {
140818
+ var _r$2, _r$3, $s, $r;
140819
+ /* */ $s = 0; var $f, $c = false; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; _r$2 = $f._r$2; _r$3 = $f._r$3; $s = $f.$s; $r = $f.$r; } s: while (true) { switch ($s) { case 0:
140820
+ _r$2 = $clone(js.Global(), js.Value).Call("removeEventListener", new sliceType$1([new $String("focus"), new onFocus[0].constructor.elem(onFocus[0])])); /* */ $s = 1; case 1: if($c) { $c = false; _r$2 = _r$2.$blk(); } if (_r$2 && _r$2.$blk !== undefined) { break s; }
140821
+ _r$2;
140822
+ _r$3 = $clone(js.Global(), js.Value).Call("removeEventListener", new sliceType$1([new $String("blur"), new onFocus[0].constructor.elem(onFocus[0])])); /* */ $s = 2; case 2: if($c) { $c = false; _r$3 = _r$3.$blk(); } if (_r$3 && _r$3.$blk !== undefined) { break s; }
140823
+ _r$3;
140824
+ $clone(onFocus[0], js.Func).Release();
140825
+ $s = -1; return;
140826
+ /* */ } return; } if ($f === undefined) { $f = { $blk: $b }; } $f._r$2 = _r$2; $f._r$3 = _r$3; $f.$s = $s; $f.$r = $r; return $f;
140827
+ }; })(d, onFocus));
140828
+ $s = -1; return;
140829
+ /* */ } return; } if ($f === undefined) { $f = { $blk: DomEvents.ptr.prototype.bindFocusEvents }; } $f._r = _r; $f._r$1 = _r$1; $f.d = d; $f.onFocus = onFocus; $f.$s = $s; $f.$r = $r; return $f;
140830
+ };
140831
+ DomEvents.prototype.bindFocusEvents = function() { return this.$val.bindFocusEvents(); };
140832
+ isFocusIn = function(ev) {
140833
+ var ev;
140834
+ if ($clone($clone(ev, js.Value).Get("type"), js.Value).String() === "focus") {
140835
+ return true;
140836
+ }
140837
+ return false;
140838
+ };
140839
+ DomEvents.ptr.prototype.bindKeyEvents = function() {
140840
+ var _r, _r$1, d, onKey, $s, $r;
140841
+ /* */ $s = 0; var $f, $c = false; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; _r = $f._r; _r$1 = $f._r$1; d = $f.d; onKey = $f.onKey; $s = $f.$s; $r = $f.$r; } s: while (true) { switch ($s) { case 0:
140842
+ d = [d];
140843
+ onKey = [onKey];
140844
+ d[0] = this;
140845
+ onKey[0] = $clone(js.FuncOf((function(d, onKey) { return function $b(this$1, args) {
140846
+ var _r, args, this$1, x, $s, $r;
140847
+ /* */ $s = 0; var $f, $c = false; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; _r = $f._r; args = $f.args; this$1 = $f.this$1; x = $f.x; $s = $f.$s; $r = $f.$r; } s: while (true) { switch ($s) { case 0:
140848
+ _r = $clone((0 >= args.$length ? ($throwRuntimeError("index out of range"), undefined) : args.$array[args.$offset + 0]), js.Value).Call("preventDefault", new sliceType$1([])); /* */ $s = 1; case 1: if($c) { $c = false; _r = _r.$blk(); } if (_r && _r.$blk !== undefined) { break s; }
140849
+ _r;
140850
+ $r = $send(d[0].eventChan, (x = new key.Event.ptr(getKeyRune($clone((0 >= args.$length ? ($throwRuntimeError("index out of range"), undefined) : args.$array[args.$offset + 0]), js.Value)), getKeyCode($clone((0 >= args.$length ? ($throwRuntimeError("index out of range"), undefined) : args.$array[args.$offset + 0]), js.Value)), getEventModifiers($clone((0 >= args.$length ? ($throwRuntimeError("index out of range"), undefined) : args.$array[args.$offset + 0]), js.Value)), getKeyDirection($clone((0 >= args.$length ? ($throwRuntimeError("index out of range"), undefined) : args.$array[args.$offset + 0]), js.Value))), new x.constructor.elem(x))); /* */ $s = 2; case 2: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
140851
+ $s = -1; return $ifaceNil;
140852
+ /* */ } return; } if ($f === undefined) { $f = { $blk: $b }; } $f._r = _r; $f.args = args; $f.this$1 = this$1; $f.x = x; $f.$s = $s; $f.$r = $r; return $f;
140853
+ }; })(d, onKey)), js.Func);
140854
+ _r = $clone(js.Global(), js.Value).Call("addEventListener", new sliceType$1([new $String("keydown"), new onKey[0].constructor.elem(onKey[0])])); /* */ $s = 1; case 1: if($c) { $c = false; _r = _r.$blk(); } if (_r && _r.$blk !== undefined) { break s; }
140855
+ _r;
140856
+ _r$1 = $clone(js.Global(), js.Value).Call("addEventListener", new sliceType$1([new $String("keyup"), new onKey[0].constructor.elem(onKey[0])])); /* */ $s = 2; case 2: if($c) { $c = false; _r$1 = _r$1.$blk(); } if (_r$1 && _r$1.$blk !== undefined) { break s; }
140857
+ _r$1;
140858
+ d[0].releases = $append(d[0].releases, (function(d, onKey) { return function $b() {
140859
+ var _r$2, _r$3, $s, $r;
140860
+ /* */ $s = 0; var $f, $c = false; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; _r$2 = $f._r$2; _r$3 = $f._r$3; $s = $f.$s; $r = $f.$r; } s: while (true) { switch ($s) { case 0:
140861
+ _r$2 = $clone(js.Global(), js.Value).Call("removeEventListener", new sliceType$1([new $String("keydown"), new onKey[0].constructor.elem(onKey[0])])); /* */ $s = 1; case 1: if($c) { $c = false; _r$2 = _r$2.$blk(); } if (_r$2 && _r$2.$blk !== undefined) { break s; }
140862
+ _r$2;
140863
+ _r$3 = $clone(js.Global(), js.Value).Call("removeEventListener", new sliceType$1([new $String("keyup"), new onKey[0].constructor.elem(onKey[0])])); /* */ $s = 2; case 2: if($c) { $c = false; _r$3 = _r$3.$blk(); } if (_r$3 && _r$3.$blk !== undefined) { break s; }
140864
+ _r$3;
140865
+ $clone(onKey[0], js.Func).Release();
140866
+ $s = -1; return;
140867
+ /* */ } return; } if ($f === undefined) { $f = { $blk: $b }; } $f._r$2 = _r$2; $f._r$3 = _r$3; $f.$s = $s; $f.$r = $r; return $f;
140868
+ }; })(d, onKey));
140869
+ $s = -1; return;
140870
+ /* */ } return; } if ($f === undefined) { $f = { $blk: DomEvents.ptr.prototype.bindKeyEvents }; } $f._r = _r; $f._r$1 = _r$1; $f.d = d; $f.onKey = onKey; $f.$s = $s; $f.$r = $r; return $f;
140871
+ };
140872
+ DomEvents.prototype.bindKeyEvents = function() { return this.$val.bindKeyEvents(); };
140873
+ getKeyRune = function(ev) {
140874
+ var ev, key$1;
140875
+ key$1 = (new sliceType$2($stringToRunes($clone($clone(ev, js.Value).Get("key"), js.Value).String())));
140876
+ if (key$1.$length === 1) {
140877
+ return (0 >= key$1.$length ? ($throwRuntimeError("index out of range"), undefined) : key$1.$array[key$1.$offset + 0]);
140878
+ }
140879
+ return -1;
140880
+ };
140881
+ getKeyDirection = function(ev) {
140882
+ var dir, ev;
140883
+ dir = 0;
140884
+ dir = 0;
140885
+ if ($clone($clone(ev, js.Value).Get("type"), js.Value).String() === "keydown") {
140886
+ dir = 1;
140887
+ }
140888
+ if ($clone($clone(ev, js.Value).Get("type"), js.Value).String() === "keyup") {
140889
+ dir = 2;
140890
+ }
140891
+ return dir;
140892
+ };
140893
+ getKeyCode = function(ev) {
140894
+ var _entry, _entry$1, _tuple, _tuple$1, code, code$1, domCode, domKey, ev, exists, exists$1;
140895
+ domCode = $clone($clone(ev, js.Value).Get("code"), js.Value).String();
140896
+ _tuple = (_entry = keyCodesMap[$String.keyFor(domCode)], _entry !== undefined ? [_entry.v, true] : [0, false]);
140897
+ code = _tuple[0];
140898
+ exists = _tuple[1];
140899
+ if (exists) {
140900
+ return code;
140901
+ }
140902
+ domKey = $clone($clone(ev, js.Value).Get("key"), js.Value).String();
140903
+ _tuple$1 = (_entry$1 = keyCodesByKeyMap[$String.keyFor(domKey)], _entry$1 !== undefined ? [_entry$1.v, true] : [0, false]);
140904
+ code$1 = _tuple$1[0];
140905
+ exists$1 = _tuple$1[1];
140906
+ if (exists$1) {
140907
+ return code$1;
140908
+ }
140909
+ return 0;
140910
+ };
140911
+ GetDocWidth = function() {
140912
+ return $clone($clone(js.Global(), js.Value).Get("innerWidth"), js.Value).Int();
140913
+ };
140914
+ $pkg.GetDocWidth = GetDocWidth;
140915
+ GetDocHeight = function() {
140916
+ return $clone($clone(js.Global(), js.Value).Get("innerHeight"), js.Value).Int();
140917
+ };
140918
+ $pkg.GetDocHeight = GetDocHeight;
140919
+ GetOrientation = function() {
140920
+ var orientation, orientationType, $deferred;
140921
+ /* */ var $err = null; try { $deferred = []; $deferred.index = $curGoroutine.deferStack.length; $curGoroutine.deferStack.push($deferred);
140922
+ orientation = 0;
140923
+ $deferred.push([(function() {
140924
+ if (!($interfaceIsEqual($recover(), $ifaceNil))) {
140925
+ orientation = 0;
140926
+ }
140927
+ }), []]);
140928
+ orientationType = $clone($clone($clone($clone(js.Global(), js.Value).Get("screen"), js.Value).Get("orientation"), js.Value).Get("type"), js.Value).String();
140929
+ if (strings.HasPrefix(orientationType, "landscape")) {
140930
+ orientation = 2;
140931
+ return orientation;
140932
+ }
140933
+ if (strings.HasPrefix(orientationType, "portrait")) {
140934
+ orientation = 2;
140935
+ return orientation;
140936
+ }
140937
+ orientation = 0;
140938
+ return orientation;
140939
+ /* */ } catch(err) { $err = err; } finally { $callDeferred($deferred, $err); if (!$curGoroutine.asleep) { return orientation; } }
140940
+ };
140941
+ $pkg.GetOrientation = GetOrientation;
140942
+ ptrType.methods = [{prop: "GetEventChan", name: "GetEventChan", pkg: "", typ: $funcType([], [chanType], false)}, {prop: "Release", name: "Release", pkg: "", typ: $funcType([], [], false)}, {prop: "BindEvents", name: "BindEvents", pkg: "", typ: $funcType([], [], false)}, {prop: "bindSizeEvents", name: "bindSizeEvents", pkg: "golang.org/x/exp/shiny/driver/internal/dom", typ: $funcType([], [], false)}, {prop: "emitSizeEvent", name: "emitSizeEvent", pkg: "golang.org/x/exp/shiny/driver/internal/dom", typ: $funcType([], [], false)}, {prop: "bindMouseEvents", name: "bindMouseEvents", pkg: "golang.org/x/exp/shiny/driver/internal/dom", typ: $funcType([], [], false)}, {prop: "bindFocusEvents", name: "bindFocusEvents", pkg: "golang.org/x/exp/shiny/driver/internal/dom", typ: $funcType([], [], false)}, {prop: "bindKeyEvents", name: "bindKeyEvents", pkg: "golang.org/x/exp/shiny/driver/internal/dom", typ: $funcType([], [], false)}];
140943
+ DomEvents.init("golang.org/x/exp/shiny/driver/internal/dom", [{prop: "eventChan", name: "eventChan", embedded: false, exported: false, typ: chanType, tag: ""}, {prop: "releases", name: "releases", embedded: false, exported: false, typ: sliceType, tag: ""}]);
140944
+ $init = function() {
140945
+ $pkg.$init = function() {};
140946
+ /* */ 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:
140947
+ $r = focus.$init(); /* */ $s = 1; case 1: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
140948
+ $r = key.$init(); /* */ $s = 2; case 2: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
140949
+ $r = mouse.$init(); /* */ $s = 3; case 3: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
140950
+ $r = size.$init(); /* */ $s = 4; case 4: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
140951
+ $r = geom.$init(); /* */ $s = 5; case 5: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
140952
+ $r = strings.$init(); /* */ $s = 6; case 6: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
140953
+ $r = js.$init(); /* */ $s = 7; case 7: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
140954
+ 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 }]);
140955
+ keyCodesByKeyMap = $makeMap($String.keyFor, [{ k: "AudioVolumeMute", v: 127 }, { k: "AudioVolumeUp", v: 128 }, { k: "AudioVolumeDown", v: 129 }]);
140956
+ /* */ } return; } if ($f === undefined) { $f = { $blk: $init }; } $f.$s = $s; $f.$r = $r; return $f;
140957
+ };
140958
+ $pkg.$init = $init;
140959
+ return $pkg;
140960
+ })();
140961
+ $packages["golang.org/x/image/math/f64"] = (function() {
140962
+ var $pkg = {}, $init, Aff3;
140963
+ Aff3 = $pkg.Aff3 = $newType(48, $kindArray, "f64.Aff3", true, "golang.org/x/image/math/f64", true, null);
140964
+ Aff3.init($Float64, 6);
140965
+ $init = function() {
140966
+ $pkg.$init = function() {};
140967
+ /* */ 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:
140968
+ /* */ } return; } if ($f === undefined) { $f = { $blk: $init }; } $f.$s = $s; $f.$r = $r; return $f;
140969
+ };
140970
+ $pkg.$init = $init;
140971
+ return $pkg;
140972
+ })();
140973
+ $packages["image/internal/imageutil"] = (function() {
140974
+ var $pkg = {}, $init, image, DrawYCbCr;
140975
+ image = $packages["image"];
140976
+ DrawYCbCr = function(dst, r, src, sp) {
140977
+ var _1, _q, _q$1, _q$2, _q$3, _q$4, _q$5, _q$6, _q$7, _tmp, _tmp$1, _tmp$10, _tmp$11, _tmp$12, _tmp$13, _tmp$14, _tmp$15, _tmp$16, _tmp$17, _tmp$18, _tmp$19, _tmp$2, _tmp$20, _tmp$21, _tmp$22, _tmp$23, _tmp$24, _tmp$25, _tmp$26, _tmp$27, _tmp$28, _tmp$29, _tmp$3, _tmp$30, _tmp$31, _tmp$4, _tmp$5, _tmp$6, _tmp$7, _tmp$8, _tmp$9, b, b$1, b$2, b$3, cb1, cb1$1, cb1$2, cb1$3, ci, ci$1, ci$2, ci$3, ciBase, ciBase$1, cr1, cr1$1, cr1$2, cr1$3, dpix, dpix$1, dpix$2, dpix$3, dst, g, g$1, g$2, g$3, ok, r, r$1, r$2, r$3, r$4, rgba, rgba$1, rgba$2, rgba$3, sp, src, sx, sx$1, sy, sy$1, sy$2, sy$3, x, x$1, x$10, x$11, x$12, x$13, x$14, x$15, x$2, x$3, x$4, x$5, x$6, x$7, x$8, x$9, x0, x1, y, y$1, y$2, y$3, y0, y1, yi, yi$1, yi$2, yi$3, yy1, yy1$1, yy1$2, yy1$3;
140978
+ ok = false;
140979
+ x0 = $imul(((r.Min.X - dst.Rect.Min.X >> 0)), 4);
140980
+ x1 = $imul(((r.Max.X - dst.Rect.Min.X >> 0)), 4);
140981
+ y0 = r.Min.Y - dst.Rect.Min.Y >> 0;
140982
+ y1 = r.Max.Y - dst.Rect.Min.Y >> 0;
140983
+ _1 = src.SubsampleRatio;
140984
+ if (_1 === (0)) {
140985
+ _tmp = y0;
140986
+ _tmp$1 = sp.Y;
140987
+ y = _tmp;
140988
+ sy = _tmp$1;
140989
+ while (true) {
140990
+ if (!(!((y === y1)))) { break; }
140991
+ dpix = $subslice(dst.Pix, ($imul(y, dst.Stride)));
140992
+ yi = ($imul(((sy - src.Rect.Min.Y >> 0)), src.YStride)) + ((sp.X - src.Rect.Min.X >> 0)) >> 0;
140993
+ ci = ($imul(((sy - src.Rect.Min.Y >> 0)), src.CStride)) + ((sp.X - src.Rect.Min.X >> 0)) >> 0;
140994
+ x = x0;
140995
+ while (true) {
140996
+ if (!(!((x === x1)))) { break; }
140997
+ yy1 = $imul((((x$1 = src.Y, ((yi < 0 || yi >= x$1.$length) ? ($throwRuntimeError("index out of range"), undefined) : x$1.$array[x$1.$offset + yi])) >> 0)), 65793);
140998
+ cb1 = (((x$2 = src.Cb, ((ci < 0 || ci >= x$2.$length) ? ($throwRuntimeError("index out of range"), undefined) : x$2.$array[x$2.$offset + ci])) >> 0)) - 128 >> 0;
140999
+ cr1 = (((x$3 = src.Cr, ((ci < 0 || ci >= x$3.$length) ? ($throwRuntimeError("index out of range"), undefined) : x$3.$array[x$3.$offset + ci])) >> 0)) - 128 >> 0;
141000
+ r$1 = yy1 + ($imul(91881, cr1)) >> 0;
141001
+ if (((((r$1 >>> 0)) & 4278190080) >>> 0) === 0) {
141002
+ r$1 = (r$1 >> $min((16), 31)) >> 0;
141003
+ } else {
141004
+ r$1 = ~((r$1 >> 31 >> 0)) >> 0;
141005
+ }
141006
+ g = (yy1 - ($imul(22554, cb1)) >> 0) - ($imul(46802, cr1)) >> 0;
141007
+ if (((((g >>> 0)) & 4278190080) >>> 0) === 0) {
141008
+ g = (g >> $min((16), 31)) >> 0;
141009
+ } else {
141010
+ g = ~((g >> 31 >> 0)) >> 0;
141011
+ }
141012
+ b = yy1 + ($imul(116130, cb1)) >> 0;
141013
+ if (((((b >>> 0)) & 4278190080) >>> 0) === 0) {
141014
+ b = (b >> $min((16), 31)) >> 0;
141015
+ } else {
141016
+ b = ~((b >> 31 >> 0)) >> 0;
141017
+ }
141018
+ rgba = $subslice(dpix, x, (x + 4 >> 0), dpix.$length);
141019
+ (0 >= rgba.$length ? ($throwRuntimeError("index out of range"), undefined) : rgba.$array[rgba.$offset + 0] = ((r$1 << 24 >>> 24)));
141020
+ (1 >= rgba.$length ? ($throwRuntimeError("index out of range"), undefined) : rgba.$array[rgba.$offset + 1] = ((g << 24 >>> 24)));
141021
+ (2 >= rgba.$length ? ($throwRuntimeError("index out of range"), undefined) : rgba.$array[rgba.$offset + 2] = ((b << 24 >>> 24)));
141022
+ (3 >= rgba.$length ? ($throwRuntimeError("index out of range"), undefined) : rgba.$array[rgba.$offset + 3] = 255);
141023
+ _tmp$2 = x + 4 >> 0;
141024
+ _tmp$3 = yi + 1 >> 0;
141025
+ _tmp$4 = ci + 1 >> 0;
141026
+ x = _tmp$2;
141027
+ yi = _tmp$3;
141028
+ ci = _tmp$4;
141029
+ }
141030
+ _tmp$5 = y + 1 >> 0;
141031
+ _tmp$6 = sy + 1 >> 0;
141032
+ y = _tmp$5;
141033
+ sy = _tmp$6;
141034
+ }
141035
+ } else if (_1 === (1)) {
141036
+ _tmp$7 = y0;
141037
+ _tmp$8 = sp.Y;
141038
+ y$1 = _tmp$7;
141039
+ sy$1 = _tmp$8;
141040
+ while (true) {
141041
+ if (!(!((y$1 === y1)))) { break; }
141042
+ dpix$1 = $subslice(dst.Pix, ($imul(y$1, dst.Stride)));
141043
+ yi$1 = ($imul(((sy$1 - src.Rect.Min.Y >> 0)), src.YStride)) + ((sp.X - src.Rect.Min.X >> 0)) >> 0;
141044
+ ciBase = ($imul(((sy$1 - src.Rect.Min.Y >> 0)), src.CStride)) - (_q = src.Rect.Min.X / 2, (_q === _q && _q !== 1/0 && _q !== -1/0) ? _q >> 0 : $throwRuntimeError("integer divide by zero")) >> 0;
141045
+ _tmp$9 = x0;
141046
+ _tmp$10 = sp.X;
141047
+ x$4 = _tmp$9;
141048
+ sx = _tmp$10;
141049
+ while (true) {
141050
+ if (!(!((x$4 === x1)))) { break; }
141051
+ ci$1 = ciBase + (_q$1 = sx / 2, (_q$1 === _q$1 && _q$1 !== 1/0 && _q$1 !== -1/0) ? _q$1 >> 0 : $throwRuntimeError("integer divide by zero")) >> 0;
141052
+ yy1$1 = $imul((((x$5 = src.Y, ((yi$1 < 0 || yi$1 >= x$5.$length) ? ($throwRuntimeError("index out of range"), undefined) : x$5.$array[x$5.$offset + yi$1])) >> 0)), 65793);
141053
+ cb1$1 = (((x$6 = src.Cb, ((ci$1 < 0 || ci$1 >= x$6.$length) ? ($throwRuntimeError("index out of range"), undefined) : x$6.$array[x$6.$offset + ci$1])) >> 0)) - 128 >> 0;
141054
+ cr1$1 = (((x$7 = src.Cr, ((ci$1 < 0 || ci$1 >= x$7.$length) ? ($throwRuntimeError("index out of range"), undefined) : x$7.$array[x$7.$offset + ci$1])) >> 0)) - 128 >> 0;
141055
+ r$2 = yy1$1 + ($imul(91881, cr1$1)) >> 0;
141056
+ if (((((r$2 >>> 0)) & 4278190080) >>> 0) === 0) {
141057
+ r$2 = (r$2 >> $min((16), 31)) >> 0;
141058
+ } else {
141059
+ r$2 = ~((r$2 >> 31 >> 0)) >> 0;
141060
+ }
141061
+ g$1 = (yy1$1 - ($imul(22554, cb1$1)) >> 0) - ($imul(46802, cr1$1)) >> 0;
141062
+ if (((((g$1 >>> 0)) & 4278190080) >>> 0) === 0) {
141063
+ g$1 = (g$1 >> $min((16), 31)) >> 0;
141064
+ } else {
141065
+ g$1 = ~((g$1 >> 31 >> 0)) >> 0;
141066
+ }
140641
141067
  b$1 = yy1$1 + ($imul(116130, cb1$1)) >> 0;
140642
141068
  if (((((b$1 >>> 0)) & 4278190080) >>> 0) === 0) {
140643
141069
  b$1 = (b$1 >> $min((16), 31)) >> 0;
@@ -141980,43 +142406,9 @@ $packages["golang.org/x/exp/shiny/screen"] = (function() {
141980
142406
  return $pkg;
141981
142407
  })();
141982
142408
  $packages["golang.org/x/exp/shiny/driver/internal/errscreen"] = (function() {
141983
- var $pkg = {}, $init, screen, image, stub, ptrType, Stub;
142409
+ var $pkg = {}, $init, screen, image;
141984
142410
  screen = $packages["golang.org/x/exp/shiny/screen"];
141985
142411
  image = $packages["image"];
141986
- stub = $pkg.stub = $newType(0, $kindStruct, "errscreen.stub", true, "golang.org/x/exp/shiny/driver/internal/errscreen", false, function(err_) {
141987
- this.$val = this;
141988
- if (arguments.length === 0) {
141989
- this.err = $ifaceNil;
141990
- return;
141991
- }
141992
- this.err = err_;
141993
- });
141994
- ptrType = $ptrType(screen.NewWindowOptions);
141995
- Stub = function(err) {
141996
- var err, x;
141997
- return (x = new stub.ptr(err), new x.constructor.elem(x));
141998
- };
141999
- $pkg.Stub = Stub;
142000
- stub.ptr.prototype.NewBuffer = function(size) {
142001
- var s, size;
142002
- s = this;
142003
- return [$ifaceNil, s.err];
142004
- };
142005
- stub.prototype.NewBuffer = function(size) { return this.$val.NewBuffer(size); };
142006
- stub.ptr.prototype.NewTexture = function(size) {
142007
- var s, size;
142008
- s = this;
142009
- return [$ifaceNil, s.err];
142010
- };
142011
- stub.prototype.NewTexture = function(size) { return this.$val.NewTexture(size); };
142012
- stub.ptr.prototype.NewWindow = function(opts) {
142013
- var opts, s;
142014
- s = this;
142015
- return [$ifaceNil, s.err];
142016
- };
142017
- stub.prototype.NewWindow = function(opts) { return this.$val.NewWindow(opts); };
142018
- stub.methods = [{prop: "NewBuffer", name: "NewBuffer", pkg: "", typ: $funcType([image.Point], [screen.Buffer, $error], false)}, {prop: "NewTexture", name: "NewTexture", pkg: "", typ: $funcType([image.Point], [screen.Texture, $error], false)}, {prop: "NewWindow", name: "NewWindow", pkg: "", typ: $funcType([ptrType], [screen.Window, $error], false)}];
142019
- stub.init("golang.org/x/exp/shiny/driver/internal/errscreen", [{prop: "err", name: "err", embedded: false, exported: false, typ: $error, tag: ""}]);
142020
142412
  $init = function() {
142021
142413
  $pkg.$init = function() {};
142022
142414
  /* */ 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:
@@ -142061,23 +142453,18 @@ $packages["golang.org/x/exp/shiny/imageutil"] = (function() {
142061
142453
  return $pkg;
142062
142454
  })();
142063
142455
  $packages["golang.org/x/exp/shiny/driver/webgldriver"] = (function() {
142064
- var $pkg = {}, $init, fmt, webgl, types, errscreen, imageutil, screen, f64, focus, key, mouse, size, geom, image, color, draw, strings, sync, js, ArrayBufferSlice, YCbCrJS, BufferImpl, screenImpl, windowImpl, sliceType, sliceType$1, sliceType$2, ptrType, ptrType$1, sliceType$3, ptrType$2, sliceType$4, ptrType$3, ptrType$4, ptrType$5, ptrType$6, funcType, sliceType$5, ptrType$7, ptrType$8, ptrType$9, ptrType$10, ptrType$11, ptrType$12, ptrType$13, chanType, keyCodesMap, keyCodesByKeyMap, elementsIndices, texCoordsVertices, newBuffer, getDocWidth, getDocHeight, getOrientation, getMouseDirection, getWheelButton, getMouseButton, getEventModifiers, isFocusIn, getKeyRune, getKeyDirection, getKeyCode, newScreenImpl, Main, main, newWindow;
142456
+ var $pkg = {}, $init, fmt, webgl, types, dom, errscreen, imageutil, screen, f64, image, color, draw, sync, js, ArrayBufferSlice, YCbCrJS, BufferImpl, screenImpl, windowImpl, sliceType, sliceType$1, sliceType$2, ptrType, ptrType$1, sliceType$3, ptrType$2, ptrType$3, ptrType$4, ptrType$5, ptrType$6, ptrType$7, ptrType$8, ptrType$9, ptrType$10, ptrType$11, ptrType$12, ptrType$13, ptrType$14, elementsIndices, texCoordsVertices, newBuffer, newScreenImpl, main, newWindow;
142065
142457
  fmt = $packages["fmt"];
142066
142458
  webgl = $packages["github.com/nuberu/webgl"];
142067
142459
  types = $packages["github.com/nuberu/webgl/types"];
142460
+ dom = $packages["golang.org/x/exp/shiny/driver/internal/dom"];
142068
142461
  errscreen = $packages["golang.org/x/exp/shiny/driver/internal/errscreen"];
142069
142462
  imageutil = $packages["golang.org/x/exp/shiny/imageutil"];
142070
142463
  screen = $packages["golang.org/x/exp/shiny/screen"];
142071
142464
  f64 = $packages["golang.org/x/image/math/f64"];
142072
- focus = $packages["golang.org/x/mobile/event/focus"];
142073
- key = $packages["golang.org/x/mobile/event/key"];
142074
- mouse = $packages["golang.org/x/mobile/event/mouse"];
142075
- size = $packages["golang.org/x/mobile/event/size"];
142076
- geom = $packages["golang.org/x/mobile/geom"];
142077
142465
  image = $packages["image"];
142078
142466
  color = $packages["image/color"];
142079
142467
  draw = $packages["image/draw"];
142080
- strings = $packages["strings"];
142081
142468
  sync = $packages["sync"];
142082
142469
  js = $packages["syscall/js"];
142083
142470
  ArrayBufferSlice = $pkg.ArrayBufferSlice = $newType(0, $kindStruct, "webgldriver.ArrayBufferSlice", true, "golang.org/x/exp/shiny/driver/webgldriver", true, function(ArrayBuffer_, Offset_, Length_) {
@@ -142142,7 +142529,7 @@ $packages["golang.org/x/exp/shiny/driver/webgldriver"] = (function() {
142142
142529
  }
142143
142530
  this.doc = doc_;
142144
142531
  });
142145
- 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_, releases_, eventChan_) {
142532
+ 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_) {
142146
142533
  this.$val = this;
142147
142534
  if (arguments.length === 0) {
142148
142535
  this.screen = ptrType.nil;
@@ -142159,8 +142546,7 @@ $packages["golang.org/x/exp/shiny/driver/webgldriver"] = (function() {
142159
142546
  this.imageTexV = ptrType$5.nil;
142160
142547
  this.vertexArray = ptrType$6.nil;
142161
142548
  this.released = false;
142162
- this.releases = sliceType$5.nil;
142163
- this.eventChan = $chanNil;
142549
+ this.domEvents = ptrType$7.nil;
142164
142550
  return;
142165
142551
  }
142166
142552
  this.screen = screen_;
@@ -142177,8 +142563,7 @@ $packages["golang.org/x/exp/shiny/driver/webgldriver"] = (function() {
142177
142563
  this.imageTexV = imageTexV_;
142178
142564
  this.vertexArray = vertexArray_;
142179
142565
  this.released = released_;
142180
- this.releases = releases_;
142181
- this.eventChan = eventChan_;
142566
+ this.domEvents = domEvents_;
142182
142567
  });
142183
142568
  sliceType = $sliceType($Uint16);
142184
142569
  sliceType$1 = $sliceType($Float32);
@@ -142187,21 +142572,18 @@ $packages["golang.org/x/exp/shiny/driver/webgldriver"] = (function() {
142187
142572
  ptrType$1 = $ptrType(sync.Mutex);
142188
142573
  sliceType$3 = $sliceType($Uint8);
142189
142574
  ptrType$2 = $ptrType(YCbCrJS);
142190
- sliceType$4 = $sliceType($Int32);
142191
142575
  ptrType$3 = $ptrType(types.Program);
142192
142576
  ptrType$4 = $ptrType(webgl.RenderingContext);
142193
142577
  ptrType$5 = $ptrType(types.Texture);
142194
142578
  ptrType$6 = $ptrType(types.VertexArray);
142195
- funcType = $funcType([], [], false);
142196
- sliceType$5 = $sliceType(funcType);
142197
- ptrType$7 = $ptrType(BufferImpl);
142198
- ptrType$8 = $ptrType(ArrayBufferSlice);
142199
- ptrType$9 = $ptrType(image.RGBA);
142200
- ptrType$10 = $ptrType(image.YCbCr);
142201
- ptrType$11 = $ptrType(screen.NewWindowOptions);
142202
- ptrType$12 = $ptrType(screen.DrawOptions);
142203
- ptrType$13 = $ptrType(windowImpl);
142204
- chanType = $chanType($emptyInterface, false, false);
142579
+ ptrType$7 = $ptrType(dom.DomEvents);
142580
+ ptrType$8 = $ptrType(BufferImpl);
142581
+ ptrType$9 = $ptrType(ArrayBufferSlice);
142582
+ ptrType$10 = $ptrType(image.RGBA);
142583
+ ptrType$11 = $ptrType(image.YCbCr);
142584
+ ptrType$12 = $ptrType(screen.NewWindowOptions);
142585
+ ptrType$13 = $ptrType(screen.DrawOptions);
142586
+ ptrType$14 = $ptrType(windowImpl);
142205
142587
  ArrayBufferSlice.ptr.prototype.slice = function() {
142206
142588
  var _r, a, $s, $r;
142207
142589
  /* */ $s = 0; var $f, $c = false; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; _r = $f._r; a = $f.a; $s = $f.$s; $r = $f.$r; } s: while (true) { switch ($s) { case 0:
@@ -142211,10 +142593,10 @@ $packages["golang.org/x/exp/shiny/driver/webgldriver"] = (function() {
142211
142593
  /* */ } return; } if ($f === undefined) { $f = { $blk: ArrayBufferSlice.ptr.prototype.slice }; } $f._r = _r; $f.a = a; $f.$s = $s; $f.$r = $r; return $f;
142212
142594
  };
142213
142595
  ArrayBufferSlice.prototype.slice = function() { return this.$val.slice(); };
142214
- newBuffer = function(screen$1, size$1) {
142215
- var _q, _q$1, _q$2, b, rect, screen$1, size$1;
142216
- rect = new image.Rectangle.ptr(new image.Point.ptr(0, 0), $clone(size$1, image.Point));
142217
- b = new BufferImpl.ptr(screen$1, $clone(size$1, image.Point), new sync.Mutex.ptr(0, 0), false, new image.RGBA.ptr($makeSlice(sliceType$3, ($imul(($imul(4, size$1.X)), size$1.Y))), $imul(4, size$1.X), $clone(rect, image.Rectangle)), new image.YCbCr.ptr($makeSlice(sliceType$3, ($imul(size$1.X, size$1.Y))), $makeSlice(sliceType$3, (_q$1 = ($imul(size$1.X, size$1.Y)) / 4, (_q$1 === _q$1 && _q$1 !== 1/0 && _q$1 !== -1/0) ? _q$1 >> 0 : $throwRuntimeError("integer divide by zero"))), $makeSlice(sliceType$3, (_q$2 = ($imul(size$1.X, size$1.Y)) / 4, (_q$2 === _q$2 && _q$2 !== 1/0 && _q$2 !== -1/0) ? _q$2 >> 0 : $throwRuntimeError("integer divide by zero"))), size$1.X, (_q = size$1.X / 2, (_q === _q && _q !== 1/0 && _q !== -1/0) ? _q >> 0 : $throwRuntimeError("integer divide by zero")), 2, $clone(rect, image.Rectangle)), ptrType$2.nil);
142596
+ newBuffer = function(screen$1, size) {
142597
+ var _q, _q$1, _q$2, b, rect, screen$1, size;
142598
+ rect = new image.Rectangle.ptr(new image.Point.ptr(0, 0), $clone(size, image.Point));
142599
+ b = new BufferImpl.ptr(screen$1, $clone(size, image.Point), new sync.Mutex.ptr(0, 0), false, new image.RGBA.ptr($makeSlice(sliceType$3, ($imul(($imul(4, size.X)), size.Y))), $imul(4, size.X), $clone(rect, image.Rectangle)), new image.YCbCr.ptr($makeSlice(sliceType$3, ($imul(size.X, size.Y))), $makeSlice(sliceType$3, (_q$1 = ($imul(size.X, size.Y)) / 4, (_q$1 === _q$1 && _q$1 !== 1/0 && _q$1 !== -1/0) ? _q$1 >> 0 : $throwRuntimeError("integer divide by zero"))), $makeSlice(sliceType$3, (_q$2 = ($imul(size.X, size.Y)) / 4, (_q$2 === _q$2 && _q$2 !== 1/0 && _q$2 !== -1/0) ? _q$2 >> 0 : $throwRuntimeError("integer divide by zero"))), size.X, (_q = size.X / 2, (_q === _q && _q !== 1/0 && _q !== -1/0) ? _q >> 0 : $throwRuntimeError("integer divide by zero")), 2, $clone(rect, image.Rectangle)), ptrType$2.nil);
142218
142600
  return b;
142219
142601
  };
142220
142602
  BufferImpl.ptr.prototype.Size = function() {
@@ -142270,312 +142652,6 @@ $packages["golang.org/x/exp/shiny/driver/webgldriver"] = (function() {
142270
142652
  /* */ } return; } } catch(err) { $err = err; $s = -1; } finally { $callDeferred($deferred, $err); if($curGoroutine.asleep) { if ($f === undefined) { $f = { $blk: BufferImpl.ptr.prototype.Release }; } $f.b = b; $f.$s = $s; $f.$deferred = $deferred; $f.$r = $r; return $f; } }
142271
142653
  };
142272
142654
  BufferImpl.prototype.Release = function() { return this.$val.Release(); };
142273
- getDocWidth = function() {
142274
- return $clone($clone(js.Global(), js.Value).Get("innerWidth"), js.Value).Int();
142275
- };
142276
- getDocHeight = function() {
142277
- return $clone($clone(js.Global(), js.Value).Get("innerHeight"), js.Value).Int();
142278
- };
142279
- getOrientation = function() {
142280
- var orientation, orientationType, $deferred;
142281
- /* */ var $err = null; try { $deferred = []; $deferred.index = $curGoroutine.deferStack.length; $curGoroutine.deferStack.push($deferred);
142282
- orientation = 0;
142283
- $deferred.push([(function() {
142284
- if (!($interfaceIsEqual($recover(), $ifaceNil))) {
142285
- orientation = 0;
142286
- }
142287
- }), []]);
142288
- orientationType = $clone($clone($clone($clone(js.Global(), js.Value).Get("screen"), js.Value).Get("orientation"), js.Value).Get("type"), js.Value).String();
142289
- if (strings.HasPrefix(orientationType, "landscape")) {
142290
- orientation = 2;
142291
- return orientation;
142292
- }
142293
- if (strings.HasPrefix(orientationType, "portrait")) {
142294
- orientation = 2;
142295
- return orientation;
142296
- }
142297
- orientation = 0;
142298
- return orientation;
142299
- /* */ } catch(err) { $err = err; } finally { $callDeferred($deferred, $err); if (!$curGoroutine.asleep) { return orientation; } }
142300
- };
142301
- windowImpl.ptr.prototype.bindSizeEvents = function() {
142302
- var _r, onResize, w, $s, $r;
142303
- /* */ $s = 0; var $f, $c = false; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; _r = $f._r; onResize = $f.onResize; w = $f.w; $s = $f.$s; $r = $f.$r; } s: while (true) { switch ($s) { case 0:
142304
- onResize = [onResize];
142305
- w = [w];
142306
- w[0] = this;
142307
- onResize[0] = $clone(js.FuncOf((function(onResize, w) { return function $b(this$1, args) {
142308
- var args, this$1, $s, $r;
142309
- /* */ $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:
142310
- $r = w[0].emitSizeEvent(); /* */ $s = 1; case 1: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
142311
- $s = -1; return $ifaceNil;
142312
- /* */ } return; } if ($f === undefined) { $f = { $blk: $b }; } $f.args = args; $f.this$1 = this$1; $f.$s = $s; $f.$r = $r; return $f;
142313
- }; })(onResize, w)), js.Func);
142314
- _r = $clone(js.Global(), js.Value).Call("addEventListener", new sliceType$2([new $String("resize"), new onResize[0].constructor.elem(onResize[0])])); /* */ $s = 1; case 1: if($c) { $c = false; _r = _r.$blk(); } if (_r && _r.$blk !== undefined) { break s; }
142315
- _r;
142316
- w[0].releases = $append(w[0].releases, (function(onResize, w) { return function $b() {
142317
- var _r$1, $s, $r;
142318
- /* */ $s = 0; var $f, $c = false; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; _r$1 = $f._r$1; $s = $f.$s; $r = $f.$r; } s: while (true) { switch ($s) { case 0:
142319
- _r$1 = $clone(js.Global(), js.Value).Call("removeEventListener", new sliceType$2([new $String("resize"), new onResize[0].constructor.elem(onResize[0])])); /* */ $s = 1; case 1: if($c) { $c = false; _r$1 = _r$1.$blk(); } if (_r$1 && _r$1.$blk !== undefined) { break s; }
142320
- _r$1;
142321
- $clone(onResize[0], js.Func).Release();
142322
- $s = -1; return;
142323
- /* */ } return; } if ($f === undefined) { $f = { $blk: $b }; } $f._r$1 = _r$1; $f.$s = $s; $f.$r = $r; return $f;
142324
- }; })(onResize, w));
142325
- $s = -1; return;
142326
- /* */ } return; } if ($f === undefined) { $f = { $blk: windowImpl.ptr.prototype.bindSizeEvents }; } $f._r = _r; $f.onResize = onResize; $f.w = w; $f.$s = $s; $f.$r = $r; return $f;
142327
- };
142328
- windowImpl.prototype.bindSizeEvents = function() { return this.$val.bindSizeEvents(); };
142329
- windowImpl.ptr.prototype.emitSizeEvent = function() {
142330
- var _q, _q$1, height, orientation, pixelsPerPt, w, width, x, $s, $r;
142331
- /* */ $s = 0; var $f, $c = false; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; _q = $f._q; _q$1 = $f._q$1; height = $f.height; orientation = $f.orientation; pixelsPerPt = $f.pixelsPerPt; w = $f.w; width = $f.width; x = $f.x; $s = $f.$s; $r = $f.$r; } s: while (true) { switch ($s) { case 0:
142332
- w = this;
142333
- orientation = getOrientation();
142334
- pixelsPerPt = 1;
142335
- width = getDocWidth();
142336
- height = getDocHeight();
142337
- $r = $send(w.eventChan, (x = new size.Event.ptr(width, height, ((_q = width / ((pixelsPerPt >> 0)), (_q === _q && _q !== 1/0 && _q !== -1/0) ? _q >> 0 : $throwRuntimeError("integer divide by zero"))), ((_q$1 = height / ((pixelsPerPt >> 0)), (_q$1 === _q$1 && _q$1 !== 1/0 && _q$1 !== -1/0) ? _q$1 >> 0 : $throwRuntimeError("integer divide by zero"))), pixelsPerPt, orientation), new x.constructor.elem(x))); /* */ $s = 1; case 1: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
142338
- $s = -1; return;
142339
- /* */ } return; } if ($f === undefined) { $f = { $blk: windowImpl.ptr.prototype.emitSizeEvent }; } $f._q = _q; $f._q$1 = _q$1; $f.height = height; $f.orientation = orientation; $f.pixelsPerPt = pixelsPerPt; $f.w = w; $f.width = width; $f.x = x; $f.$s = $s; $f.$r = $r; return $f;
142340
- };
142341
- windowImpl.prototype.emitSizeEvent = function() { return this.$val.emitSizeEvent(); };
142342
- windowImpl.ptr.prototype.bindMouseEvents = function() {
142343
- var _r, _r$1, _r$2, _r$3, onClick, onMove, onWheel, w, $s, $r;
142344
- /* */ $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; onClick = $f.onClick; onMove = $f.onMove; onWheel = $f.onWheel; w = $f.w; $s = $f.$s; $r = $f.$r; } s: while (true) { switch ($s) { case 0:
142345
- onClick = [onClick];
142346
- onMove = [onMove];
142347
- onWheel = [onWheel];
142348
- w = [w];
142349
- w[0] = this;
142350
- onMove[0] = $clone(js.FuncOf((function(onClick, onMove, onWheel, w) { return function $b(this$1, args) {
142351
- var _r, args, this$1, x, $s, $r;
142352
- /* */ $s = 0; var $f, $c = false; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; _r = $f._r; args = $f.args; this$1 = $f.this$1; x = $f.x; $s = $f.$s; $r = $f.$r; } s: while (true) { switch ($s) { case 0:
142353
- _r = $clone((0 >= args.$length ? ($throwRuntimeError("index out of range"), undefined) : args.$array[args.$offset + 0]), js.Value).Call("preventDefault", new sliceType$2([])); /* */ $s = 1; case 1: if($c) { $c = false; _r = _r.$blk(); } if (_r && _r.$blk !== undefined) { break s; }
142354
- _r;
142355
- $r = $send(w[0].eventChan, (x = new mouse.Event.ptr(($fround($clone($clone((0 >= args.$length ? ($throwRuntimeError("index out of range"), undefined) : args.$array[args.$offset + 0]), js.Value).Get("offsetX"), js.Value).Float())), ($fround($clone($clone((0 >= args.$length ? ($throwRuntimeError("index out of range"), undefined) : args.$array[args.$offset + 0]), js.Value).Get("offsetY"), js.Value).Float())), 0, getEventModifiers($clone((0 >= args.$length ? ($throwRuntimeError("index out of range"), undefined) : args.$array[args.$offset + 0]), js.Value)), 0), new x.constructor.elem(x))); /* */ $s = 2; case 2: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
142356
- $s = -1; return $ifaceNil;
142357
- /* */ } return; } if ($f === undefined) { $f = { $blk: $b }; } $f._r = _r; $f.args = args; $f.this$1 = this$1; $f.x = x; $f.$s = $s; $f.$r = $r; return $f;
142358
- }; })(onClick, onMove, onWheel, w)), js.Func);
142359
- _r = $clone(js.Global(), js.Value).Call("addEventListener", new sliceType$2([new $String("mousemove"), new onMove[0].constructor.elem(onMove[0])])); /* */ $s = 1; case 1: if($c) { $c = false; _r = _r.$blk(); } if (_r && _r.$blk !== undefined) { break s; }
142360
- _r;
142361
- onClick[0] = $clone(js.FuncOf((function(onClick, onMove, onWheel, w) { return function $b(this$1, args) {
142362
- var _r$1, args, this$1, x, $s, $r;
142363
- /* */ $s = 0; var $f, $c = false; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; _r$1 = $f._r$1; args = $f.args; this$1 = $f.this$1; x = $f.x; $s = $f.$s; $r = $f.$r; } s: while (true) { switch ($s) { case 0:
142364
- _r$1 = $clone((0 >= args.$length ? ($throwRuntimeError("index out of range"), undefined) : args.$array[args.$offset + 0]), js.Value).Call("preventDefault", new sliceType$2([])); /* */ $s = 1; case 1: if($c) { $c = false; _r$1 = _r$1.$blk(); } if (_r$1 && _r$1.$blk !== undefined) { break s; }
142365
- _r$1;
142366
- $r = $send(w[0].eventChan, (x = new mouse.Event.ptr(($fround($clone($clone((0 >= args.$length ? ($throwRuntimeError("index out of range"), undefined) : args.$array[args.$offset + 0]), js.Value).Get("offsetX"), js.Value).Float())), ($fround($clone($clone((0 >= args.$length ? ($throwRuntimeError("index out of range"), undefined) : args.$array[args.$offset + 0]), js.Value).Get("offsetY"), js.Value).Float())), getMouseButton($clone((0 >= args.$length ? ($throwRuntimeError("index out of range"), undefined) : args.$array[args.$offset + 0]), js.Value)), getEventModifiers($clone((0 >= args.$length ? ($throwRuntimeError("index out of range"), undefined) : args.$array[args.$offset + 0]), js.Value)), getMouseDirection($clone((0 >= args.$length ? ($throwRuntimeError("index out of range"), undefined) : args.$array[args.$offset + 0]), js.Value))), new x.constructor.elem(x))); /* */ $s = 2; case 2: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
142367
- $s = -1; return $ifaceNil;
142368
- /* */ } return; } if ($f === undefined) { $f = { $blk: $b }; } $f._r$1 = _r$1; $f.args = args; $f.this$1 = this$1; $f.x = x; $f.$s = $s; $f.$r = $r; return $f;
142369
- }; })(onClick, onMove, onWheel, w)), js.Func);
142370
- _r$1 = $clone(js.Global(), js.Value).Call("addEventListener", new sliceType$2([new $String("mousedown"), new onClick[0].constructor.elem(onClick[0])])); /* */ $s = 2; case 2: if($c) { $c = false; _r$1 = _r$1.$blk(); } if (_r$1 && _r$1.$blk !== undefined) { break s; }
142371
- _r$1;
142372
- _r$2 = $clone(js.Global(), js.Value).Call("addEventListener", new sliceType$2([new $String("mouseup"), new onClick[0].constructor.elem(onClick[0])])); /* */ $s = 3; case 3: if($c) { $c = false; _r$2 = _r$2.$blk(); } if (_r$2 && _r$2.$blk !== undefined) { break s; }
142373
- _r$2;
142374
- onWheel[0] = $clone(js.FuncOf((function(onClick, onMove, onWheel, w) { return function $b(this$1, args) {
142375
- var args, this$1, x, $s, $r;
142376
- /* */ $s = 0; var $f, $c = false; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; args = $f.args; this$1 = $f.this$1; x = $f.x; $s = $f.$s; $r = $f.$r; } s: while (true) { switch ($s) { case 0:
142377
- $r = $send(w[0].eventChan, (x = new mouse.Event.ptr(($fround($clone($clone((0 >= args.$length ? ($throwRuntimeError("index out of range"), undefined) : args.$array[args.$offset + 0]), js.Value).Get("offsetX"), js.Value).Float())), ($fround($clone($clone((0 >= args.$length ? ($throwRuntimeError("index out of range"), undefined) : args.$array[args.$offset + 0]), js.Value).Get("offsetY"), js.Value).Float())), getWheelButton($clone((0 >= args.$length ? ($throwRuntimeError("index out of range"), undefined) : args.$array[args.$offset + 0]), js.Value)), getEventModifiers($clone((0 >= args.$length ? ($throwRuntimeError("index out of range"), undefined) : args.$array[args.$offset + 0]), js.Value)), 3), new x.constructor.elem(x))); /* */ $s = 1; case 1: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
142378
- $s = -1; return $ifaceNil;
142379
- /* */ } return; } if ($f === undefined) { $f = { $blk: $b }; } $f.args = args; $f.this$1 = this$1; $f.x = x; $f.$s = $s; $f.$r = $r; return $f;
142380
- }; })(onClick, onMove, onWheel, w)), js.Func);
142381
- _r$3 = $clone(js.Global(), js.Value).Call("addEventListener", new sliceType$2([new $String("wheel"), new onWheel[0].constructor.elem(onWheel[0])])); /* */ $s = 4; case 4: if($c) { $c = false; _r$3 = _r$3.$blk(); } if (_r$3 && _r$3.$blk !== undefined) { break s; }
142382
- _r$3;
142383
- w[0].releases = $append(w[0].releases, (function(onClick, onMove, onWheel, w) { return function $b() {
142384
- var _r$4, _r$5, _r$6, _r$7, $s, $r;
142385
- /* */ $s = 0; var $f, $c = false; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; _r$4 = $f._r$4; _r$5 = $f._r$5; _r$6 = $f._r$6; _r$7 = $f._r$7; $s = $f.$s; $r = $f.$r; } s: while (true) { switch ($s) { case 0:
142386
- _r$4 = $clone(js.Global(), js.Value).Call("removeEventListener", new sliceType$2([new $String("mousemove"), new onMove[0].constructor.elem(onMove[0])])); /* */ $s = 1; case 1: if($c) { $c = false; _r$4 = _r$4.$blk(); } if (_r$4 && _r$4.$blk !== undefined) { break s; }
142387
- _r$4;
142388
- _r$5 = $clone(js.Global(), js.Value).Call("removeEventListener", new sliceType$2([new $String("mousedown"), new onClick[0].constructor.elem(onClick[0])])); /* */ $s = 2; case 2: if($c) { $c = false; _r$5 = _r$5.$blk(); } if (_r$5 && _r$5.$blk !== undefined) { break s; }
142389
- _r$5;
142390
- _r$6 = $clone(js.Global(), js.Value).Call("removeEventListener", new sliceType$2([new $String("mouseup"), new onClick[0].constructor.elem(onClick[0])])); /* */ $s = 3; case 3: if($c) { $c = false; _r$6 = _r$6.$blk(); } if (_r$6 && _r$6.$blk !== undefined) { break s; }
142391
- _r$6;
142392
- _r$7 = $clone(js.Global(), js.Value).Call("removeEventListener", new sliceType$2([new $String("wheel"), new onWheel[0].constructor.elem(onWheel[0])])); /* */ $s = 4; case 4: if($c) { $c = false; _r$7 = _r$7.$blk(); } if (_r$7 && _r$7.$blk !== undefined) { break s; }
142393
- _r$7;
142394
- $clone(onMove[0], js.Func).Release();
142395
- $clone(onClick[0], js.Func).Release();
142396
- $clone(onWheel[0], js.Func).Release();
142397
- $s = -1; return;
142398
- /* */ } return; } if ($f === undefined) { $f = { $blk: $b }; } $f._r$4 = _r$4; $f._r$5 = _r$5; $f._r$6 = _r$6; $f._r$7 = _r$7; $f.$s = $s; $f.$r = $r; return $f;
142399
- }; })(onClick, onMove, onWheel, w));
142400
- $s = -1; return;
142401
- /* */ } return; } if ($f === undefined) { $f = { $blk: windowImpl.ptr.prototype.bindMouseEvents }; } $f._r = _r; $f._r$1 = _r$1; $f._r$2 = _r$2; $f._r$3 = _r$3; $f.onClick = onClick; $f.onMove = onMove; $f.onWheel = onWheel; $f.w = w; $f.$s = $s; $f.$r = $r; return $f;
142402
- };
142403
- windowImpl.prototype.bindMouseEvents = function() { return this.$val.bindMouseEvents(); };
142404
- getMouseDirection = function(ev) {
142405
- var dir, ev;
142406
- dir = 0;
142407
- dir = 0;
142408
- if ($clone($clone(ev, js.Value).Get("type"), js.Value).String() === "mousedown") {
142409
- dir = 1;
142410
- }
142411
- if ($clone($clone(ev, js.Value).Get("type"), js.Value).String() === "mouseup") {
142412
- dir = 2;
142413
- }
142414
- return dir;
142415
- };
142416
- getWheelButton = function(ev) {
142417
- var deltaX, deltaY, ev;
142418
- deltaY = $clone($clone(ev, js.Value).Get("deltaY"), js.Value).Int();
142419
- deltaX = $clone($clone(ev, js.Value).Get("deltaX"), js.Value).Int();
142420
- if (deltaY > 0) {
142421
- return -2;
142422
- }
142423
- if (deltaY < 0) {
142424
- return -1;
142425
- }
142426
- if (deltaX > 0) {
142427
- return -4;
142428
- }
142429
- if (deltaX < 0) {
142430
- return -3;
142431
- }
142432
- return 0;
142433
- };
142434
- getMouseButton = function(ev) {
142435
- var _1, ev;
142436
- _1 = $clone($clone(ev, js.Value).Get("button"), js.Value).Int();
142437
- if (_1 === (0)) {
142438
- return 1;
142439
- } else if (_1 === (1)) {
142440
- return 2;
142441
- } else if (_1 === (2)) {
142442
- return 3;
142443
- } else if (_1 === (3)) {
142444
- return 8;
142445
- } else if (_1 === (4)) {
142446
- return 9;
142447
- } else {
142448
- return 0;
142449
- }
142450
- };
142451
- getEventModifiers = function(ev) {
142452
- var ev, mod;
142453
- mod = 0;
142454
- if ($clone($clone(ev, js.Value).Get("altKey"), js.Value).Bool()) {
142455
- mod = (mod | (4)) >>> 0;
142456
- }
142457
- if ($clone($clone(ev, js.Value).Get("ctrlKey"), js.Value).Bool()) {
142458
- mod = (mod | (2)) >>> 0;
142459
- }
142460
- if ($clone($clone(ev, js.Value).Get("shiftKey"), js.Value).Bool()) {
142461
- mod = (mod | (1)) >>> 0;
142462
- }
142463
- if ($clone($clone(ev, js.Value).Get("metaKey"), js.Value).Bool()) {
142464
- mod = (mod | (8)) >>> 0;
142465
- }
142466
- return mod;
142467
- };
142468
- windowImpl.ptr.prototype.bindFocusEvents = function() {
142469
- var _r, _r$1, onFocus, w, $s, $r;
142470
- /* */ $s = 0; var $f, $c = false; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; _r = $f._r; _r$1 = $f._r$1; onFocus = $f.onFocus; w = $f.w; $s = $f.$s; $r = $f.$r; } s: while (true) { switch ($s) { case 0:
142471
- onFocus = [onFocus];
142472
- w = [w];
142473
- w[0] = this;
142474
- onFocus[0] = $clone(js.FuncOf((function(onFocus, w) { return function $b(this$1, args) {
142475
- var args, this$1, x, $s, $r;
142476
- /* */ $s = 0; var $f, $c = false; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; args = $f.args; this$1 = $f.this$1; x = $f.x; $s = $f.$s; $r = $f.$r; } s: while (true) { switch ($s) { case 0:
142477
- $r = $send(w[0].eventChan, (x = new focus.Event.ptr(isFocusIn($clone((0 >= args.$length ? ($throwRuntimeError("index out of range"), undefined) : args.$array[args.$offset + 0]), js.Value))), new x.constructor.elem(x))); /* */ $s = 1; case 1: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
142478
- $s = -1; return $ifaceNil;
142479
- /* */ } return; } if ($f === undefined) { $f = { $blk: $b }; } $f.args = args; $f.this$1 = this$1; $f.x = x; $f.$s = $s; $f.$r = $r; return $f;
142480
- }; })(onFocus, w)), js.Func);
142481
- _r = $clone(js.Global(), js.Value).Call("addEventListener", new sliceType$2([new $String("focus"), new onFocus[0].constructor.elem(onFocus[0])])); /* */ $s = 1; case 1: if($c) { $c = false; _r = _r.$blk(); } if (_r && _r.$blk !== undefined) { break s; }
142482
- _r;
142483
- _r$1 = $clone(js.Global(), js.Value).Call("addEventListener", new sliceType$2([new $String("blur"), new onFocus[0].constructor.elem(onFocus[0])])); /* */ $s = 2; case 2: if($c) { $c = false; _r$1 = _r$1.$blk(); } if (_r$1 && _r$1.$blk !== undefined) { break s; }
142484
- _r$1;
142485
- w[0].releases = $append(w[0].releases, (function(onFocus, w) { return function $b() {
142486
- var _r$2, _r$3, $s, $r;
142487
- /* */ $s = 0; var $f, $c = false; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; _r$2 = $f._r$2; _r$3 = $f._r$3; $s = $f.$s; $r = $f.$r; } s: while (true) { switch ($s) { case 0:
142488
- _r$2 = $clone(js.Global(), js.Value).Call("removeEventListener", new sliceType$2([new $String("focus"), new onFocus[0].constructor.elem(onFocus[0])])); /* */ $s = 1; case 1: if($c) { $c = false; _r$2 = _r$2.$blk(); } if (_r$2 && _r$2.$blk !== undefined) { break s; }
142489
- _r$2;
142490
- _r$3 = $clone(js.Global(), js.Value).Call("removeEventListener", new sliceType$2([new $String("blur"), new onFocus[0].constructor.elem(onFocus[0])])); /* */ $s = 2; case 2: if($c) { $c = false; _r$3 = _r$3.$blk(); } if (_r$3 && _r$3.$blk !== undefined) { break s; }
142491
- _r$3;
142492
- $clone(onFocus[0], js.Func).Release();
142493
- $s = -1; return;
142494
- /* */ } return; } if ($f === undefined) { $f = { $blk: $b }; } $f._r$2 = _r$2; $f._r$3 = _r$3; $f.$s = $s; $f.$r = $r; return $f;
142495
- }; })(onFocus, w));
142496
- $s = -1; return;
142497
- /* */ } return; } if ($f === undefined) { $f = { $blk: windowImpl.ptr.prototype.bindFocusEvents }; } $f._r = _r; $f._r$1 = _r$1; $f.onFocus = onFocus; $f.w = w; $f.$s = $s; $f.$r = $r; return $f;
142498
- };
142499
- windowImpl.prototype.bindFocusEvents = function() { return this.$val.bindFocusEvents(); };
142500
- isFocusIn = function(ev) {
142501
- var ev;
142502
- if ($clone($clone(ev, js.Value).Get("type"), js.Value).String() === "focus") {
142503
- return true;
142504
- }
142505
- return false;
142506
- };
142507
- windowImpl.ptr.prototype.bindKeyEvents = function() {
142508
- var _r, _r$1, onKey, w, $s, $r;
142509
- /* */ $s = 0; var $f, $c = false; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; _r = $f._r; _r$1 = $f._r$1; onKey = $f.onKey; w = $f.w; $s = $f.$s; $r = $f.$r; } s: while (true) { switch ($s) { case 0:
142510
- onKey = [onKey];
142511
- w = [w];
142512
- w[0] = this;
142513
- onKey[0] = $clone(js.FuncOf((function(onKey, w) { return function $b(this$1, args) {
142514
- var _r, args, this$1, x, $s, $r;
142515
- /* */ $s = 0; var $f, $c = false; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; _r = $f._r; args = $f.args; this$1 = $f.this$1; x = $f.x; $s = $f.$s; $r = $f.$r; } s: while (true) { switch ($s) { case 0:
142516
- _r = $clone((0 >= args.$length ? ($throwRuntimeError("index out of range"), undefined) : args.$array[args.$offset + 0]), js.Value).Call("preventDefault", new sliceType$2([])); /* */ $s = 1; case 1: if($c) { $c = false; _r = _r.$blk(); } if (_r && _r.$blk !== undefined) { break s; }
142517
- _r;
142518
- $r = $send(w[0].eventChan, (x = new key.Event.ptr(getKeyRune($clone((0 >= args.$length ? ($throwRuntimeError("index out of range"), undefined) : args.$array[args.$offset + 0]), js.Value)), getKeyCode($clone((0 >= args.$length ? ($throwRuntimeError("index out of range"), undefined) : args.$array[args.$offset + 0]), js.Value)), getEventModifiers($clone((0 >= args.$length ? ($throwRuntimeError("index out of range"), undefined) : args.$array[args.$offset + 0]), js.Value)), getKeyDirection($clone((0 >= args.$length ? ($throwRuntimeError("index out of range"), undefined) : args.$array[args.$offset + 0]), js.Value))), new x.constructor.elem(x))); /* */ $s = 2; case 2: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
142519
- $s = -1; return $ifaceNil;
142520
- /* */ } return; } if ($f === undefined) { $f = { $blk: $b }; } $f._r = _r; $f.args = args; $f.this$1 = this$1; $f.x = x; $f.$s = $s; $f.$r = $r; return $f;
142521
- }; })(onKey, w)), js.Func);
142522
- _r = $clone(js.Global(), js.Value).Call("addEventListener", new sliceType$2([new $String("keydown"), new onKey[0].constructor.elem(onKey[0])])); /* */ $s = 1; case 1: if($c) { $c = false; _r = _r.$blk(); } if (_r && _r.$blk !== undefined) { break s; }
142523
- _r;
142524
- _r$1 = $clone(js.Global(), js.Value).Call("addEventListener", new sliceType$2([new $String("keyup"), new onKey[0].constructor.elem(onKey[0])])); /* */ $s = 2; case 2: if($c) { $c = false; _r$1 = _r$1.$blk(); } if (_r$1 && _r$1.$blk !== undefined) { break s; }
142525
- _r$1;
142526
- w[0].releases = $append(w[0].releases, (function(onKey, w) { return function $b() {
142527
- var _r$2, _r$3, $s, $r;
142528
- /* */ $s = 0; var $f, $c = false; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; _r$2 = $f._r$2; _r$3 = $f._r$3; $s = $f.$s; $r = $f.$r; } s: while (true) { switch ($s) { case 0:
142529
- _r$2 = $clone(js.Global(), js.Value).Call("removeEventListener", new sliceType$2([new $String("keydown"), new onKey[0].constructor.elem(onKey[0])])); /* */ $s = 1; case 1: if($c) { $c = false; _r$2 = _r$2.$blk(); } if (_r$2 && _r$2.$blk !== undefined) { break s; }
142530
- _r$2;
142531
- _r$3 = $clone(js.Global(), js.Value).Call("removeEventListener", new sliceType$2([new $String("keyup"), new onKey[0].constructor.elem(onKey[0])])); /* */ $s = 2; case 2: if($c) { $c = false; _r$3 = _r$3.$blk(); } if (_r$3 && _r$3.$blk !== undefined) { break s; }
142532
- _r$3;
142533
- $clone(onKey[0], js.Func).Release();
142534
- $s = -1; return;
142535
- /* */ } return; } if ($f === undefined) { $f = { $blk: $b }; } $f._r$2 = _r$2; $f._r$3 = _r$3; $f.$s = $s; $f.$r = $r; return $f;
142536
- }; })(onKey, w));
142537
- $s = -1; return;
142538
- /* */ } return; } if ($f === undefined) { $f = { $blk: windowImpl.ptr.prototype.bindKeyEvents }; } $f._r = _r; $f._r$1 = _r$1; $f.onKey = onKey; $f.w = w; $f.$s = $s; $f.$r = $r; return $f;
142539
- };
142540
- windowImpl.prototype.bindKeyEvents = function() { return this.$val.bindKeyEvents(); };
142541
- getKeyRune = function(ev) {
142542
- var ev, key$1;
142543
- key$1 = (new sliceType$4($stringToRunes($clone($clone(ev, js.Value).Get("key"), js.Value).String())));
142544
- if (key$1.$length === 1) {
142545
- return (0 >= key$1.$length ? ($throwRuntimeError("index out of range"), undefined) : key$1.$array[key$1.$offset + 0]);
142546
- }
142547
- return -1;
142548
- };
142549
- getKeyDirection = function(ev) {
142550
- var dir, ev;
142551
- dir = 0;
142552
- dir = 0;
142553
- if ($clone($clone(ev, js.Value).Get("type"), js.Value).String() === "keydown") {
142554
- dir = 1;
142555
- }
142556
- if ($clone($clone(ev, js.Value).Get("type"), js.Value).String() === "keyup") {
142557
- dir = 2;
142558
- }
142559
- return dir;
142560
- };
142561
- getKeyCode = function(ev) {
142562
- var _entry, _entry$1, _tuple, _tuple$1, code, code$1, domCode, domKey, ev, exists, exists$1;
142563
- domCode = $clone($clone(ev, js.Value).Get("code"), js.Value).String();
142564
- _tuple = (_entry = keyCodesMap[$String.keyFor(domCode)], _entry !== undefined ? [_entry.v, true] : [0, false]);
142565
- code = _tuple[0];
142566
- exists = _tuple[1];
142567
- if (exists) {
142568
- return code;
142569
- }
142570
- domKey = $clone($clone(ev, js.Value).Get("key"), js.Value).String();
142571
- _tuple$1 = (_entry$1 = keyCodesByKeyMap[$String.keyFor(domKey)], _entry$1 !== undefined ? [_entry$1.v, true] : [0, false]);
142572
- code$1 = _tuple$1[0];
142573
- exists$1 = _tuple$1[1];
142574
- if (exists$1) {
142575
- return code$1;
142576
- }
142577
- return 0;
142578
- };
142579
142655
  windowImpl.ptr.prototype.createBuffers = function() {
142580
142656
  var _r, _r$1, _r$2, elementBuffer, emptyFloat, floatLen, vertexArray, vertexBuffer, w, $s, $r;
142581
142657
  /* */ $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; elementBuffer = $f.elementBuffer; emptyFloat = $f.emptyFloat; floatLen = $f.floatLen; vertexArray = $f.vertexArray; vertexBuffer = $f.vertexBuffer; w = $f.w; $s = $f.$s; $r = $f.$r; } s: while (true) { switch ($s) { case 0:
@@ -142802,22 +142878,22 @@ $packages["golang.org/x/exp/shiny/driver/webgldriver"] = (function() {
142802
142878
  s = new screenImpl.ptr($clone($clone(js.Global(), js.Value).Get("document"), js.Value));
142803
142879
  return [s, $ifaceNil];
142804
142880
  };
142805
- screenImpl.ptr.prototype.NewBuffer = function(size$1) {
142806
- var buffer, s, size$1;
142881
+ screenImpl.ptr.prototype.NewBuffer = function(size) {
142882
+ var buffer, s, size;
142807
142883
  s = this;
142808
- buffer = newBuffer(s, $clone(size$1, image.Point));
142884
+ buffer = newBuffer(s, $clone(size, image.Point));
142809
142885
  return [buffer, $ifaceNil];
142810
142886
  };
142811
- screenImpl.prototype.NewBuffer = function(size$1) { return this.$val.NewBuffer(size$1); };
142812
- screenImpl.ptr.prototype.NewTexture = function(size$1) {
142813
- var _r, s, size$1, $s, $r;
142814
- /* */ $s = 0; var $f, $c = false; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; _r = $f._r; s = $f.s; size$1 = $f.size$1; $s = $f.$s; $r = $f.$r; } s: while (true) { switch ($s) { case 0:
142887
+ screenImpl.prototype.NewBuffer = function(size) { return this.$val.NewBuffer(size); };
142888
+ screenImpl.ptr.prototype.NewTexture = function(size) {
142889
+ var _r, s, size, $s, $r;
142890
+ /* */ $s = 0; var $f, $c = false; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; _r = $f._r; s = $f.s; size = $f.size; $s = $f.$s; $r = $f.$r; } s: while (true) { switch ($s) { case 0:
142815
142891
  s = this;
142816
142892
  _r = fmt.Errorf("Texture not implemented", new sliceType$2([])); /* */ $s = 1; case 1: if($c) { $c = false; _r = _r.$blk(); } if (_r && _r.$blk !== undefined) { break s; }
142817
142893
  $s = -1; return [$ifaceNil, _r];
142818
- /* */ } return; } if ($f === undefined) { $f = { $blk: screenImpl.ptr.prototype.NewTexture }; } $f._r = _r; $f.s = s; $f.size$1 = size$1; $f.$s = $s; $f.$r = $r; return $f;
142894
+ /* */ } return; } if ($f === undefined) { $f = { $blk: screenImpl.ptr.prototype.NewTexture }; } $f._r = _r; $f.s = s; $f.size = size; $f.$s = $s; $f.$r = $r; return $f;
142819
142895
  };
142820
- screenImpl.prototype.NewTexture = function(size$1) { return this.$val.NewTexture(size$1); };
142896
+ screenImpl.prototype.NewTexture = function(size) { return this.$val.NewTexture(size); };
142821
142897
  screenImpl.ptr.prototype.NewWindow = function(opts) {
142822
142898
  var _r, opts, s, window, $s, $r;
142823
142899
  /* */ $s = 0; var $f, $c = false; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; _r = $f._r; opts = $f.opts; s = $f.s; window = $f.window; $s = $f.$s; $r = $f.$r; } s: while (true) { switch ($s) { case 0:
@@ -142828,20 +142904,6 @@ $packages["golang.org/x/exp/shiny/driver/webgldriver"] = (function() {
142828
142904
  /* */ } return; } if ($f === undefined) { $f = { $blk: screenImpl.ptr.prototype.NewWindow }; } $f._r = _r; $f.opts = opts; $f.s = s; $f.window = window; $f.$s = $s; $f.$r = $r; return $f;
142829
142905
  };
142830
142906
  screenImpl.prototype.NewWindow = function(opts) { return this.$val.NewWindow(opts); };
142831
- Main = function(f) {
142832
- var _r, err, f, $s, $r;
142833
- /* */ $s = 0; var $f, $c = false; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; _r = $f._r; err = $f.err; f = $f.f; $s = $f.$s; $r = $f.$r; } s: while (true) { switch ($s) { case 0:
142834
- _r = main(f); /* */ $s = 1; case 1: if($c) { $c = false; _r = _r.$blk(); } if (_r && _r.$blk !== undefined) { break s; }
142835
- err = _r;
142836
- /* */ if (!($interfaceIsEqual(err, $ifaceNil))) { $s = 2; continue; }
142837
- /* */ $s = 3; continue;
142838
- /* if (!($interfaceIsEqual(err, $ifaceNil))) { */ case 2:
142839
- $r = f(errscreen.Stub(err)); /* */ $s = 4; case 4: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
142840
- /* } */ case 3:
142841
- $s = -1; return;
142842
- /* */ } return; } if ($f === undefined) { $f = { $blk: Main }; } $f._r = _r; $f.err = err; $f.f = f; $f.$s = $s; $f.$r = $r; return $f;
142843
- };
142844
- $pkg.Main = Main;
142845
142907
  main = function(f) {
142846
142908
  var _tuple, err, f, retErr, s, $s, $r;
142847
142909
  /* */ $s = 0; var $f, $c = false; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; _tuple = $f._tuple; err = $f.err; f = $f.f; retErr = $f.retErr; s = $f.s; $s = $f.$s; $r = $f.$r; } s: while (true) { switch ($s) { case 0:
@@ -142859,20 +142921,20 @@ $packages["golang.org/x/exp/shiny/driver/webgldriver"] = (function() {
142859
142921
  /* */ } 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;
142860
142922
  };
142861
142923
  newWindow = function(screen$1, opts) {
142862
- 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, err, gl, height, opts, screen$1, w, width, $s, $r;
142863
- /* */ $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; 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:
142924
+ 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;
142925
+ /* */ $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:
142864
142926
  _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; }
142865
142927
  canvasEl = $clone(_r, js.Value);
142866
142928
  _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; }
142867
142929
  _r$1;
142868
142930
  width = opts.Width;
142869
142931
  if (opts.Width === 0) {
142870
- width = getDocWidth();
142932
+ width = dom.GetDocWidth();
142871
142933
  }
142872
142934
  $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; }
142873
142935
  height = opts.Height;
142874
142936
  if (opts.Height === 0) {
142875
- height = getDocHeight();
142937
+ height = dom.GetDocHeight();
142876
142938
  }
142877
142939
  $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; }
142878
142940
  /* */ if (!(opts.Title === "")) { $s = 5; continue; }
@@ -142889,7 +142951,8 @@ $packages["golang.org/x/exp/shiny/driver/webgldriver"] = (function() {
142889
142951
  if (!($interfaceIsEqual(err, $ifaceNil))) {
142890
142952
  $panic(err);
142891
142953
  }
142892
- 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, $makeSlice(sliceType$5, 0), new $Chan($emptyInterface, 0));
142954
+ domEvents = dom.NewDomEvents();
142955
+ 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);
142893
142956
  _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; }
142894
142957
  _tuple$1 = _r$5;
142895
142958
  w.programRGBA = _tuple$1[0];
@@ -142917,13 +142980,9 @@ $packages["golang.org/x/exp/shiny/driver/webgldriver"] = (function() {
142917
142980
  $r = w.gl.Enable(2929); /* */ $s = 18; case 18: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
142918
142981
  $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; }
142919
142982
  $r = w.clear(); /* */ $s = 20; case 20: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
142920
- $r = w.bindSizeEvents(); /* */ $s = 21; case 21: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
142921
- $go($methodVal(w, "emitSizeEvent"), []);
142922
- $r = w.bindMouseEvents(); /* */ $s = 22; case 22: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
142923
- $r = w.bindKeyEvents(); /* */ $s = 23; case 23: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
142924
- $r = w.bindFocusEvents(); /* */ $s = 24; case 24: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
142983
+ $r = domEvents.BindEvents(); /* */ $s = 21; case 21: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
142925
142984
  $s = -1; return w;
142926
- /* */ } 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.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;
142985
+ /* */ } 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;
142927
142986
  };
142928
142987
  windowImpl.ptr.prototype.clear = function() {
142929
142988
  var w, $s, $r;
@@ -142936,8 +142995,8 @@ $packages["golang.org/x/exp/shiny/driver/webgldriver"] = (function() {
142936
142995
  };
142937
142996
  windowImpl.prototype.clear = function() { return this.$val.clear(); };
142938
142997
  windowImpl.ptr.prototype.Release = function() {
142939
- var _i, _r, _ref, release, w, $s, $deferred, $r;
142940
- /* */ $s = 0; var $f, $c = false; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; _i = $f._i; _r = $f._r; _ref = $f._ref; release = $f.release; 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);
142998
+ var _r, w, $s, $deferred, $r;
142999
+ /* */ $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);
142941
143000
  w = this;
142942
143001
  $r = w.mutex.Lock(); /* */ $s = 1; case 1: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
142943
143002
  $deferred.push([$methodVal(w.mutex, "Unlock"), []]);
@@ -142946,17 +143005,10 @@ $packages["golang.org/x/exp/shiny/driver/webgldriver"] = (function() {
142946
143005
  }
142947
143006
  _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; }
142948
143007
  _r;
142949
- _ref = w.releases;
142950
- _i = 0;
142951
- /* while (true) { */ case 3:
142952
- /* if (!(_i < _ref.$length)) { break; } */ if(!(_i < _ref.$length)) { $s = 4; continue; }
142953
- release = ((_i < 0 || _i >= _ref.$length) ? ($throwRuntimeError("index out of range"), undefined) : _ref.$array[_ref.$offset + _i]);
142954
- $r = release(); /* */ $s = 5; case 5: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
142955
- _i++;
142956
- /* } */ $s = 3; continue; case 4:
143008
+ $r = w.domEvents.Release(); /* */ $s = 3; case 3: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
142957
143009
  w.released = true;
142958
143010
  $s = -1; return;
142959
- /* */ } return; } } catch(err) { $err = err; $s = -1; } finally { $callDeferred($deferred, $err); if($curGoroutine.asleep) { if ($f === undefined) { $f = { $blk: windowImpl.ptr.prototype.Release }; } $f._i = _i; $f._r = _r; $f._ref = _ref; $f.release = release; $f.w = w; $f.$s = $s; $f.$deferred = $deferred; $f.$r = $r; return $f; } }
143011
+ /* */ } 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; } }
142960
143012
  };
142961
143013
  windowImpl.prototype.Release = function() { return this.$val.Release(); };
142962
143014
  windowImpl.ptr.prototype.Publish = function() {
@@ -142990,7 +143042,7 @@ $packages["golang.org/x/exp/shiny/driver/webgldriver"] = (function() {
142990
143042
  var _r, ev, w, $s, $r;
142991
143043
  /* */ $s = 0; var $f, $c = false; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; _r = $f._r; ev = $f.ev; w = $f.w; $s = $f.$s; $r = $f.$r; } s: while (true) { switch ($s) { case 0:
142992
143044
  w = this;
142993
- _r = $recv(w.eventChan); /* */ $s = 1; case 1: if($c) { $c = false; _r = _r.$blk(); } if (_r && _r.$blk !== undefined) { break s; }
143045
+ _r = $recv(w.domEvents.GetEventChan()); /* */ $s = 1; case 1: if($c) { $c = false; _r = _r.$blk(); } if (_r && _r.$blk !== undefined) { break s; }
142994
143046
  ev = _r[0];
142995
143047
  $s = -1; return ev;
142996
143048
  /* */ } return; } if ($f === undefined) { $f = { $blk: windowImpl.ptr.prototype.NextEvent }; } $f._r = _r; $f.ev = ev; $f.w = w; $f.$s = $s; $f.$r = $r; return $f;
@@ -143016,9 +143068,9 @@ $packages["golang.org/x/exp/shiny/driver/webgldriver"] = (function() {
143016
143068
  $s = -1; return;
143017
143069
  }
143018
143070
  _ref = src;
143019
- /* */ if ($assertType(_ref, ptrType$7, true)[1]) { $s = 1; continue; }
143071
+ /* */ if ($assertType(_ref, ptrType$8, true)[1]) { $s = 1; continue; }
143020
143072
  /* */ $s = 2; continue;
143021
- /* if ($assertType(_ref, ptrType$7, true)[1]) { */ case 1:
143073
+ /* if ($assertType(_ref, ptrType$8, true)[1]) { */ case 1:
143022
143074
  jsSrc = _ref.$val;
143023
143075
  _r = jsSrc.YCbCrJS(); /* */ $s = 5; case 5: if($c) { $c = false; _r = _r.$blk(); } if (_r && _r.$blk !== undefined) { break s; }
143024
143076
  /* */ if (_r.Use) { $s = 3; continue; }
@@ -143109,38 +143161,31 @@ $packages["golang.org/x/exp/shiny/driver/webgldriver"] = (function() {
143109
143161
  $panic(new $String("Not implemented"));
143110
143162
  };
143111
143163
  windowImpl.prototype.Scale = function(dr, src, sr, op, opts) { return this.$val.Scale(dr, src, sr, op, opts); };
143112
- ptrType$8.methods = [{prop: "slice", name: "slice", pkg: "golang.org/x/exp/shiny/driver/webgldriver", typ: $funcType([], [js.Value], false)}];
143113
- ptrType$7.methods = [{prop: "Size", name: "Size", pkg: "", typ: $funcType([], [image.Point], false)}, {prop: "Bounds", name: "Bounds", pkg: "", typ: $funcType([], [image.Rectangle], false)}, {prop: "RGBA", name: "RGBA", pkg: "", typ: $funcType([], [ptrType$9], false)}, {prop: "YCbCr", name: "YCbCr", pkg: "", typ: $funcType([], [ptrType$10], false)}, {prop: "YCbCrJS", name: "YCbCrJS", pkg: "", typ: $funcType([], [ptrType$2], false)}, {prop: "Release", name: "Release", pkg: "", typ: $funcType([], [], false)}];
143114
- ptrType.methods = [{prop: "NewBuffer", name: "NewBuffer", pkg: "", typ: $funcType([image.Point], [screen.Buffer, $error], false)}, {prop: "NewTexture", name: "NewTexture", pkg: "", typ: $funcType([image.Point], [screen.Texture, $error], false)}, {prop: "NewWindow", name: "NewWindow", pkg: "", typ: $funcType([ptrType$11], [screen.Window, $error], false)}];
143115
- ptrType$13.methods = [{prop: "bindSizeEvents", name: "bindSizeEvents", pkg: "golang.org/x/exp/shiny/driver/webgldriver", typ: $funcType([], [], false)}, {prop: "emitSizeEvent", name: "emitSizeEvent", pkg: "golang.org/x/exp/shiny/driver/webgldriver", typ: $funcType([], [], false)}, {prop: "bindMouseEvents", name: "bindMouseEvents", pkg: "golang.org/x/exp/shiny/driver/webgldriver", typ: $funcType([], [], false)}, {prop: "bindFocusEvents", name: "bindFocusEvents", pkg: "golang.org/x/exp/shiny/driver/webgldriver", typ: $funcType([], [], false)}, {prop: "bindKeyEvents", name: "bindKeyEvents", pkg: "golang.org/x/exp/shiny/driver/webgldriver", typ: $funcType([], [], false)}, {prop: "createBuffers", name: "createBuffers", pkg: "golang.org/x/exp/shiny/driver/webgldriver", typ: $funcType([], [ptrType$6], false)}, {prop: "createAndAttachFragmentShader", name: "createAndAttachFragmentShader", pkg: "golang.org/x/exp/shiny/driver/webgldriver", typ: $funcType([ptrType$3, $String], [$error], false)}, {prop: "createTexture", name: "createTexture", pkg: "golang.org/x/exp/shiny/driver/webgldriver", typ: $funcType([types.GLEnum, types.GLEnum, $Int, $Int], [ptrType$5], false)}, {prop: "createAndLinkProgramRGBA", name: "createAndLinkProgramRGBA", pkg: "golang.org/x/exp/shiny/driver/webgldriver", typ: $funcType([], [ptrType$3, $error], false)}, {prop: "drawBufferRGBA", name: "drawBufferRGBA", pkg: "golang.org/x/exp/shiny/driver/webgldriver", typ: $funcType([image.Point, screen.Buffer, image.Rectangle], [], false)}, {prop: "createAndLinkProgramYUV420", name: "createAndLinkProgramYUV420", pkg: "golang.org/x/exp/shiny/driver/webgldriver", typ: $funcType([], [ptrType$3, $error], false)}, {prop: "drawBufferYUV420", name: "drawBufferYUV420", pkg: "golang.org/x/exp/shiny/driver/webgldriver", typ: $funcType([image.Point, screen.Buffer, image.Rectangle], [], false)}, {prop: "drawBufferYUV420JSArrayBuffers", name: "drawBufferYUV420JSArrayBuffers", pkg: "golang.org/x/exp/shiny/driver/webgldriver", typ: $funcType([image.Point, js.Value, js.Value, js.Value, image.Rectangle], [], false)}, {prop: "createAndAttachVertexShader", name: "createAndAttachVertexShader", pkg: "golang.org/x/exp/shiny/driver/webgldriver", typ: $funcType([ptrType$3], [$error], false)}, {prop: "clear", name: "clear", pkg: "golang.org/x/exp/shiny/driver/webgldriver", typ: $funcType([], [], false)}, {prop: "Release", name: "Release", pkg: "", typ: $funcType([], [], false)}, {prop: "Publish", name: "Publish", pkg: "", typ: $funcType([], [screen.PublishResult], false)}, {prop: "Send", name: "Send", pkg: "", typ: $funcType([$emptyInterface], [], false)}, {prop: "SendFirst", name: "SendFirst", pkg: "", typ: $funcType([$emptyInterface], [], false)}, {prop: "NextEvent", name: "NextEvent", pkg: "", typ: $funcType([], [$emptyInterface], false)}, {prop: "Upload", name: "Upload", pkg: "", typ: $funcType([image.Point, screen.Buffer, image.Rectangle], [], false)}, {prop: "UploadYCbCr", name: "UploadYCbCr", pkg: "", typ: $funcType([image.Point, screen.Buffer, image.Rectangle], [], false)}, {prop: "Fill", name: "Fill", pkg: "", typ: $funcType([image.Rectangle, color.Color, draw.Op], [], false)}, {prop: "Draw", name: "Draw", pkg: "", typ: $funcType([f64.Aff3, screen.Texture, image.Rectangle, draw.Op, ptrType$12], [], false)}, {prop: "DrawUniform", name: "DrawUniform", pkg: "", typ: $funcType([f64.Aff3, color.Color, image.Rectangle, draw.Op, ptrType$12], [], false)}, {prop: "Copy", name: "Copy", pkg: "", typ: $funcType([image.Point, screen.Texture, image.Rectangle, draw.Op, ptrType$12], [], false)}, {prop: "Scale", name: "Scale", pkg: "", typ: $funcType([image.Rectangle, screen.Texture, image.Rectangle, draw.Op, ptrType$12], [], false)}];
143164
+ ptrType$9.methods = [{prop: "slice", name: "slice", pkg: "golang.org/x/exp/shiny/driver/webgldriver", typ: $funcType([], [js.Value], false)}];
143165
+ ptrType$8.methods = [{prop: "Size", name: "Size", pkg: "", typ: $funcType([], [image.Point], false)}, {prop: "Bounds", name: "Bounds", pkg: "", typ: $funcType([], [image.Rectangle], false)}, {prop: "RGBA", name: "RGBA", pkg: "", typ: $funcType([], [ptrType$10], false)}, {prop: "YCbCr", name: "YCbCr", pkg: "", typ: $funcType([], [ptrType$11], false)}, {prop: "YCbCrJS", name: "YCbCrJS", pkg: "", typ: $funcType([], [ptrType$2], false)}, {prop: "Release", name: "Release", pkg: "", typ: $funcType([], [], false)}];
143166
+ ptrType.methods = [{prop: "NewBuffer", name: "NewBuffer", pkg: "", typ: $funcType([image.Point], [screen.Buffer, $error], false)}, {prop: "NewTexture", name: "NewTexture", pkg: "", typ: $funcType([image.Point], [screen.Texture, $error], false)}, {prop: "NewWindow", name: "NewWindow", pkg: "", typ: $funcType([ptrType$12], [screen.Window, $error], false)}];
143167
+ ptrType$14.methods = [{prop: "createBuffers", name: "createBuffers", pkg: "golang.org/x/exp/shiny/driver/webgldriver", typ: $funcType([], [ptrType$6], false)}, {prop: "createAndAttachFragmentShader", name: "createAndAttachFragmentShader", pkg: "golang.org/x/exp/shiny/driver/webgldriver", typ: $funcType([ptrType$3, $String], [$error], false)}, {prop: "createTexture", name: "createTexture", pkg: "golang.org/x/exp/shiny/driver/webgldriver", typ: $funcType([types.GLEnum, types.GLEnum, $Int, $Int], [ptrType$5], false)}, {prop: "createAndLinkProgramRGBA", name: "createAndLinkProgramRGBA", pkg: "golang.org/x/exp/shiny/driver/webgldriver", typ: $funcType([], [ptrType$3, $error], false)}, {prop: "drawBufferRGBA", name: "drawBufferRGBA", pkg: "golang.org/x/exp/shiny/driver/webgldriver", typ: $funcType([image.Point, screen.Buffer, image.Rectangle], [], false)}, {prop: "createAndLinkProgramYUV420", name: "createAndLinkProgramYUV420", pkg: "golang.org/x/exp/shiny/driver/webgldriver", typ: $funcType([], [ptrType$3, $error], false)}, {prop: "drawBufferYUV420", name: "drawBufferYUV420", pkg: "golang.org/x/exp/shiny/driver/webgldriver", typ: $funcType([image.Point, screen.Buffer, image.Rectangle], [], false)}, {prop: "drawBufferYUV420JSArrayBuffers", name: "drawBufferYUV420JSArrayBuffers", pkg: "golang.org/x/exp/shiny/driver/webgldriver", typ: $funcType([image.Point, js.Value, js.Value, js.Value, image.Rectangle], [], false)}, {prop: "createAndAttachVertexShader", name: "createAndAttachVertexShader", pkg: "golang.org/x/exp/shiny/driver/webgldriver", typ: $funcType([ptrType$3], [$error], false)}, {prop: "clear", name: "clear", pkg: "golang.org/x/exp/shiny/driver/webgldriver", typ: $funcType([], [], false)}, {prop: "Release", name: "Release", pkg: "", typ: $funcType([], [], false)}, {prop: "Publish", name: "Publish", pkg: "", typ: $funcType([], [screen.PublishResult], false)}, {prop: "Send", name: "Send", pkg: "", typ: $funcType([$emptyInterface], [], false)}, {prop: "SendFirst", name: "SendFirst", pkg: "", typ: $funcType([$emptyInterface], [], false)}, {prop: "NextEvent", name: "NextEvent", pkg: "", typ: $funcType([], [$emptyInterface], false)}, {prop: "Upload", name: "Upload", pkg: "", typ: $funcType([image.Point, screen.Buffer, image.Rectangle], [], false)}, {prop: "UploadYCbCr", name: "UploadYCbCr", pkg: "", typ: $funcType([image.Point, screen.Buffer, image.Rectangle], [], false)}, {prop: "Fill", name: "Fill", pkg: "", typ: $funcType([image.Rectangle, color.Color, draw.Op], [], false)}, {prop: "Draw", name: "Draw", pkg: "", typ: $funcType([f64.Aff3, screen.Texture, image.Rectangle, draw.Op, ptrType$13], [], false)}, {prop: "DrawUniform", name: "DrawUniform", pkg: "", typ: $funcType([f64.Aff3, color.Color, image.Rectangle, draw.Op, ptrType$13], [], false)}, {prop: "Copy", name: "Copy", pkg: "", typ: $funcType([image.Point, screen.Texture, image.Rectangle, draw.Op, ptrType$13], [], false)}, {prop: "Scale", name: "Scale", pkg: "", typ: $funcType([image.Rectangle, screen.Texture, image.Rectangle, draw.Op, ptrType$13], [], false)}];
143116
143168
  ArrayBufferSlice.init("", [{prop: "ArrayBuffer", name: "ArrayBuffer", embedded: false, exported: true, typ: js.Value, tag: ""}, {prop: "Offset", name: "Offset", embedded: false, exported: true, typ: $Int, tag: ""}, {prop: "Length", name: "Length", embedded: false, exported: true, typ: $Int, tag: ""}]);
143117
143169
  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: ""}]);
143118
143170
  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: ""}]);
143119
143171
  screenImpl.init("golang.org/x/exp/shiny/driver/webgldriver", [{prop: "doc", name: "doc", embedded: false, exported: false, typ: js.Value, tag: ""}]);
143120
- 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: "releases", name: "releases", embedded: false, exported: false, typ: sliceType$5, tag: ""}, {prop: "eventChan", name: "eventChan", embedded: false, exported: false, typ: chanType, tag: ""}]);
143172
+ 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: ""}]);
143121
143173
  $init = function() {
143122
143174
  $pkg.$init = function() {};
143123
143175
  /* */ 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:
143124
143176
  $r = fmt.$init(); /* */ $s = 1; case 1: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
143125
143177
  $r = webgl.$init(); /* */ $s = 2; case 2: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
143126
143178
  $r = types.$init(); /* */ $s = 3; case 3: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
143127
- $r = errscreen.$init(); /* */ $s = 4; case 4: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
143128
- $r = imageutil.$init(); /* */ $s = 5; case 5: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
143129
- $r = screen.$init(); /* */ $s = 6; case 6: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
143130
- $r = f64.$init(); /* */ $s = 7; case 7: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
143131
- $r = focus.$init(); /* */ $s = 8; case 8: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
143132
- $r = key.$init(); /* */ $s = 9; case 9: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
143133
- $r = mouse.$init(); /* */ $s = 10; case 10: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
143134
- $r = size.$init(); /* */ $s = 11; case 11: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
143135
- $r = geom.$init(); /* */ $s = 12; case 12: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
143136
- $r = image.$init(); /* */ $s = 13; case 13: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
143137
- $r = color.$init(); /* */ $s = 14; case 14: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
143138
- $r = draw.$init(); /* */ $s = 15; case 15: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
143139
- $r = strings.$init(); /* */ $s = 16; case 16: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
143140
- $r = sync.$init(); /* */ $s = 17; case 17: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
143141
- $r = js.$init(); /* */ $s = 18; case 18: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
143142
- 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 }]);
143143
- keyCodesByKeyMap = $makeMap($String.keyFor, [{ k: "AudioVolumeMute", v: 127 }, { k: "AudioVolumeUp", v: 128 }, { k: "AudioVolumeDown", v: 129 }]);
143179
+ $r = dom.$init(); /* */ $s = 4; case 4: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
143180
+ $r = errscreen.$init(); /* */ $s = 5; case 5: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
143181
+ $r = imageutil.$init(); /* */ $s = 6; case 6: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
143182
+ $r = screen.$init(); /* */ $s = 7; case 7: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
143183
+ $r = f64.$init(); /* */ $s = 8; case 8: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
143184
+ $r = image.$init(); /* */ $s = 9; case 9: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
143185
+ $r = color.$init(); /* */ $s = 10; case 10: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
143186
+ $r = draw.$init(); /* */ $s = 11; case 11: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
143187
+ $r = sync.$init(); /* */ $s = 12; case 12: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
143188
+ $r = js.$init(); /* */ $s = 13; case 13: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
143144
143189
  elementsIndices = new sliceType([0, 1, 3, 1, 2, 3]);
143145
143190
  texCoordsVertices = new sliceType$1([1, 1, 1, 0, 1, -1, 1, 1, -1, -1, 0, 1, -1, 1, 0, 0]);
143146
143191
  /* */ } return; } if ($f === undefined) { $f = { $blk: $init }; } $f.$s = $s; $f.$r = $r; return $f;
@@ -143148,9 +143193,10 @@ $packages["golang.org/x/exp/shiny/driver/webgldriver"] = (function() {
143148
143193
  $pkg.$init = $init;
143149
143194
  return $pkg;
143150
143195
  })();
143151
- $packages["github.com/supraio/client-daemon/pkg/x264"] = (function() {
143152
- var $pkg = {}, $init, errs, webgldriver, image, js;
143196
+ $packages["github.com/supraio/client-daemon/pkg/x264/h264decoder"] = (function() {
143197
+ var $pkg = {}, $init, errs, general, webgldriver, image, js;
143153
143198
  errs = $packages["github.com/supraio/client-daemon/pkg/errs"];
143199
+ general = $packages["github.com/supraio/client-daemon/pkg/x264/general"];
143154
143200
  webgldriver = $packages["golang.org/x/exp/shiny/driver/webgldriver"];
143155
143201
  image = $packages["image"];
143156
143202
  js = $packages["syscall/js"];
@@ -143158,30 +143204,446 @@ $packages["github.com/supraio/client-daemon/pkg/x264"] = (function() {
143158
143204
  $pkg.$init = function() {};
143159
143205
  /* */ 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:
143160
143206
  $r = errs.$init(); /* */ $s = 1; case 1: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
143161
- $r = webgldriver.$init(); /* */ $s = 2; case 2: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
143162
- $r = image.$init(); /* */ $s = 3; case 3: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
143163
- $r = js.$init(); /* */ $s = 4; case 4: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
143207
+ $r = general.$init(); /* */ $s = 2; case 2: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
143208
+ $r = webgldriver.$init(); /* */ $s = 3; case 3: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
143209
+ $r = image.$init(); /* */ $s = 4; case 4: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
143210
+ $r = js.$init(); /* */ $s = 5; case 5: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
143164
143211
  /* */ } return; } if ($f === undefined) { $f = { $blk: $init }; } $f.$s = $s; $f.$r = $r; return $f;
143165
143212
  };
143166
143213
  $pkg.$init = $init;
143167
143214
  return $pkg;
143168
143215
  })();
143169
- $packages["golang.org/x/exp/shiny/driver"] = (function() {
143170
- var $pkg = {}, $init, webgldriver, screen, main;
143171
- webgldriver = $packages["golang.org/x/exp/shiny/driver/webgldriver"];
143216
+ $packages["github.com/supraio/client-daemon/pkg/jshelper"] = (function() {
143217
+ var $pkg = {}, $init, js;
143218
+ js = $packages["syscall/js"];
143219
+ $init = function() {
143220
+ $pkg.$init = function() {};
143221
+ /* */ 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:
143222
+ $r = js.$init(); /* */ $s = 1; case 1: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
143223
+ /* */ } return; } if ($f === undefined) { $f = { $blk: $init }; } $f.$s = $s; $f.$r = $r; return $f;
143224
+ };
143225
+ $pkg.$init = $init;
143226
+ return $pkg;
143227
+ })();
143228
+ $packages["golang.org/x/exp/shiny/driver/canvasdriver"] = (function() {
143229
+ var $pkg = {}, $init, fmt, dom, errscreen, screen, f64, image, color, draw, sync, js, YCbCrJS, BufferImpl, screenImpl, windowImpl, ptrType, ptrType$1, sliceType, ptrType$2, ptrType$3, sliceType$1, ptrType$4, ptrType$5, ptrType$6, ptrType$7, ptrType$8, ptrType$9, ptrType$10, newBuffer, newScreenImpl, main, newWindow;
143230
+ fmt = $packages["fmt"];
143231
+ dom = $packages["golang.org/x/exp/shiny/driver/internal/dom"];
143232
+ errscreen = $packages["golang.org/x/exp/shiny/driver/internal/errscreen"];
143172
143233
  screen = $packages["golang.org/x/exp/shiny/screen"];
143234
+ f64 = $packages["golang.org/x/image/math/f64"];
143235
+ image = $packages["image"];
143236
+ color = $packages["image/color"];
143237
+ draw = $packages["image/draw"];
143238
+ sync = $packages["sync"];
143239
+ js = $packages["syscall/js"];
143240
+ YCbCrJS = $pkg.YCbCrJS = $newType(0, $kindStruct, "canvasdriver.YCbCrJS", true, "golang.org/x/exp/shiny/driver/canvasdriver", true, function(CanvasImageSource_) {
143241
+ this.$val = this;
143242
+ if (arguments.length === 0) {
143243
+ this.CanvasImageSource = ptrType$3.nil;
143244
+ return;
143245
+ }
143246
+ this.CanvasImageSource = CanvasImageSource_;
143247
+ });
143248
+ BufferImpl = $pkg.BufferImpl = $newType(0, $kindStruct, "canvasdriver.BufferImpl", true, "golang.org/x/exp/shiny/driver/canvasdriver", true, function(screen_, size_, mutex_, released_, rgba_, ycbcr_, ycbcrJS_) {
143249
+ this.$val = this;
143250
+ if (arguments.length === 0) {
143251
+ this.screen = ptrType.nil;
143252
+ this.size = new image.Point.ptr(0, 0);
143253
+ this.mutex = ptrType$1.nil;
143254
+ this.released = false;
143255
+ this.rgba = new image.RGBA.ptr(sliceType.nil, 0, new image.Rectangle.ptr(new image.Point.ptr(0, 0), new image.Point.ptr(0, 0)));
143256
+ this.ycbcr = new image.YCbCr.ptr(sliceType.nil, sliceType.nil, sliceType.nil, 0, 0, 0, new image.Rectangle.ptr(new image.Point.ptr(0, 0), new image.Point.ptr(0, 0)));
143257
+ this.ycbcrJS = ptrType$2.nil;
143258
+ return;
143259
+ }
143260
+ this.screen = screen_;
143261
+ this.size = size_;
143262
+ this.mutex = mutex_;
143263
+ this.released = released_;
143264
+ this.rgba = rgba_;
143265
+ this.ycbcr = ycbcr_;
143266
+ this.ycbcrJS = ycbcrJS_;
143267
+ });
143268
+ screenImpl = $pkg.screenImpl = $newType(0, $kindStruct, "canvasdriver.screenImpl", true, "golang.org/x/exp/shiny/driver/canvasdriver", false, function(doc_) {
143269
+ this.$val = this;
143270
+ if (arguments.length === 0) {
143271
+ this.doc = new js.Value.ptr(null, false);
143272
+ return;
143273
+ }
143274
+ this.doc = doc_;
143275
+ });
143276
+ 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_) {
143277
+ this.$val = this;
143278
+ if (arguments.length === 0) {
143279
+ this.screen = ptrType.nil;
143280
+ this.width = 0;
143281
+ this.height = 0;
143282
+ this.mutex = ptrType$1.nil;
143283
+ this.canvasEl = new js.Value.ptr(null, false);
143284
+ this.ctx2d = new js.Value.ptr(null, false);
143285
+ this.released = false;
143286
+ this.domEvents = ptrType$4.nil;
143287
+ return;
143288
+ }
143289
+ this.screen = screen_;
143290
+ this.width = width_;
143291
+ this.height = height_;
143292
+ this.mutex = mutex_;
143293
+ this.canvasEl = canvasEl_;
143294
+ this.ctx2d = ctx2d_;
143295
+ this.released = released_;
143296
+ this.domEvents = domEvents_;
143297
+ });
143298
+ ptrType = $ptrType(screenImpl);
143299
+ ptrType$1 = $ptrType(sync.Mutex);
143300
+ sliceType = $sliceType($Uint8);
143301
+ ptrType$2 = $ptrType(YCbCrJS);
143302
+ ptrType$3 = $ptrType(js.Value);
143303
+ sliceType$1 = $sliceType($emptyInterface);
143304
+ ptrType$4 = $ptrType(dom.DomEvents);
143305
+ ptrType$5 = $ptrType(BufferImpl);
143306
+ ptrType$6 = $ptrType(image.RGBA);
143307
+ ptrType$7 = $ptrType(image.YCbCr);
143308
+ ptrType$8 = $ptrType(screen.NewWindowOptions);
143309
+ ptrType$9 = $ptrType(screen.DrawOptions);
143310
+ ptrType$10 = $ptrType(windowImpl);
143311
+ newBuffer = function(screen$1, size) {
143312
+ var _q, _q$1, _q$2, b, rect, screen$1, size;
143313
+ rect = new image.Rectangle.ptr(new image.Point.ptr(0, 0), $clone(size, image.Point));
143314
+ b = new BufferImpl.ptr(screen$1, $clone(size, image.Point), new sync.Mutex.ptr(0, 0), false, new image.RGBA.ptr($makeSlice(sliceType, ($imul(($imul(4, size.X)), size.Y))), $imul(4, size.X), $clone(rect, image.Rectangle)), new image.YCbCr.ptr($makeSlice(sliceType, ($imul(size.X, size.Y))), $makeSlice(sliceType, (_q$1 = ($imul(size.X, size.Y)) / 4, (_q$1 === _q$1 && _q$1 !== 1/0 && _q$1 !== -1/0) ? _q$1 >> 0 : $throwRuntimeError("integer divide by zero"))), $makeSlice(sliceType, (_q$2 = ($imul(size.X, size.Y)) / 4, (_q$2 === _q$2 && _q$2 !== 1/0 && _q$2 !== -1/0) ? _q$2 >> 0 : $throwRuntimeError("integer divide by zero"))), size.X, (_q = size.X / 2, (_q === _q && _q !== 1/0 && _q !== -1/0) ? _q >> 0 : $throwRuntimeError("integer divide by zero")), 2, $clone(rect, image.Rectangle)), ptrType$2.nil);
143315
+ return b;
143316
+ };
143317
+ BufferImpl.ptr.prototype.Size = function() {
143318
+ var b;
143319
+ b = this;
143320
+ return b.size;
143321
+ };
143322
+ BufferImpl.prototype.Size = function() { return this.$val.Size(); };
143323
+ BufferImpl.ptr.prototype.Bounds = function() {
143324
+ var b;
143325
+ b = this;
143326
+ return new image.Rectangle.ptr(new image.Point.ptr(0, 0), $clone(b.size, image.Point));
143327
+ };
143328
+ BufferImpl.prototype.Bounds = function() { return this.$val.Bounds(); };
143329
+ BufferImpl.ptr.prototype.RGBA = function() {
143330
+ var b;
143331
+ b = this;
143332
+ return b.rgba;
143333
+ };
143334
+ BufferImpl.prototype.RGBA = function() { return this.$val.RGBA(); };
143335
+ BufferImpl.ptr.prototype.YCbCr = function() {
143336
+ var b;
143337
+ b = this;
143338
+ return b.ycbcr;
143339
+ };
143340
+ BufferImpl.prototype.YCbCr = function() { return this.$val.YCbCr(); };
143341
+ BufferImpl.ptr.prototype.YCbCrJS = function() {
143342
+ var b;
143343
+ b = this;
143344
+ if (b.ycbcrJS === ptrType$2.nil) {
143345
+ b.ycbcrJS = new YCbCrJS.ptr(ptrType$3.nil);
143346
+ }
143347
+ return b.ycbcrJS;
143348
+ };
143349
+ BufferImpl.prototype.YCbCrJS = function() { return this.$val.YCbCrJS(); };
143350
+ BufferImpl.ptr.prototype.Release = function() {
143351
+ var b, $s, $deferred, $r;
143352
+ /* */ $s = 0; var $f, $c = false; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; b = $f.b; $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);
143353
+ b = this;
143354
+ $r = b.mutex.Lock(); /* */ $s = 1; case 1: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
143355
+ $deferred.push([$methodVal(b.mutex, "Unlock"), []]);
143356
+ if (b.released) {
143357
+ $s = -1; return;
143358
+ }
143359
+ b.released = true;
143360
+ $s = -1; return;
143361
+ /* */ } return; } } catch(err) { $err = err; $s = -1; } finally { $callDeferred($deferred, $err); if($curGoroutine.asleep) { if ($f === undefined) { $f = { $blk: BufferImpl.ptr.prototype.Release }; } $f.b = b; $f.$s = $s; $f.$deferred = $deferred; $f.$r = $r; return $f; } }
143362
+ };
143363
+ BufferImpl.prototype.Release = function() { return this.$val.Release(); };
143364
+ newScreenImpl = function() {
143365
+ var s;
143366
+ s = new screenImpl.ptr($clone($clone(js.Global(), js.Value).Get("document"), js.Value));
143367
+ return [s, $ifaceNil];
143368
+ };
143369
+ screenImpl.ptr.prototype.NewBuffer = function(size) {
143370
+ var buffer, s, size;
143371
+ s = this;
143372
+ buffer = newBuffer(s, $clone(size, image.Point));
143373
+ return [buffer, $ifaceNil];
143374
+ };
143375
+ screenImpl.prototype.NewBuffer = function(size) { return this.$val.NewBuffer(size); };
143376
+ screenImpl.ptr.prototype.NewTexture = function(size) {
143377
+ var _r, s, size, $s, $r;
143378
+ /* */ $s = 0; var $f, $c = false; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; _r = $f._r; s = $f.s; size = $f.size; $s = $f.$s; $r = $f.$r; } s: while (true) { switch ($s) { case 0:
143379
+ s = this;
143380
+ _r = fmt.Errorf("Texture not implemented", new sliceType$1([])); /* */ $s = 1; case 1: if($c) { $c = false; _r = _r.$blk(); } if (_r && _r.$blk !== undefined) { break s; }
143381
+ $s = -1; return [$ifaceNil, _r];
143382
+ /* */ } return; } if ($f === undefined) { $f = { $blk: screenImpl.ptr.prototype.NewTexture }; } $f._r = _r; $f.s = s; $f.size = size; $f.$s = $s; $f.$r = $r; return $f;
143383
+ };
143384
+ screenImpl.prototype.NewTexture = function(size) { return this.$val.NewTexture(size); };
143385
+ screenImpl.ptr.prototype.NewWindow = function(opts) {
143386
+ var _r, opts, s, window, $s, $r;
143387
+ /* */ $s = 0; var $f, $c = false; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; _r = $f._r; opts = $f.opts; s = $f.s; window = $f.window; $s = $f.$s; $r = $f.$r; } s: while (true) { switch ($s) { case 0:
143388
+ s = this;
143389
+ _r = newWindow(s, opts); /* */ $s = 1; case 1: if($c) { $c = false; _r = _r.$blk(); } if (_r && _r.$blk !== undefined) { break s; }
143390
+ window = _r;
143391
+ $s = -1; return [window, $ifaceNil];
143392
+ /* */ } return; } if ($f === undefined) { $f = { $blk: screenImpl.ptr.prototype.NewWindow }; } $f._r = _r; $f.opts = opts; $f.s = s; $f.window = window; $f.$s = $s; $f.$r = $r; return $f;
143393
+ };
143394
+ screenImpl.prototype.NewWindow = function(opts) { return this.$val.NewWindow(opts); };
143173
143395
  main = function(f) {
143174
- var f, $s, $r;
143175
- /* */ $s = 0; var $f, $c = false; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; f = $f.f; $s = $f.$s; $r = $f.$r; } s: while (true) { switch ($s) { case 0:
143176
- $r = webgldriver.Main(f); /* */ $s = 1; case 1: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
143396
+ var _tuple, err, f, retErr, s, $s, $r;
143397
+ /* */ $s = 0; var $f, $c = false; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; _tuple = $f._tuple; err = $f.err; f = $f.f; retErr = $f.retErr; s = $f.s; $s = $f.$s; $r = $f.$r; } s: while (true) { switch ($s) { case 0:
143398
+ retErr = $ifaceNil;
143399
+ _tuple = newScreenImpl();
143400
+ s = _tuple[0];
143401
+ err = _tuple[1];
143402
+ if (!($interfaceIsEqual(err, $ifaceNil))) {
143403
+ retErr = err;
143404
+ $s = -1; return retErr;
143405
+ }
143406
+ $r = f(s); /* */ $s = 1; case 1: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
143407
+ retErr = $ifaceNil;
143408
+ $s = -1; return retErr;
143409
+ /* */ } 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;
143410
+ };
143411
+ newWindow = function(screen$1, opts) {
143412
+ var _r, _r$1, _r$2, _r$3, _r$4, _r$5, canvasEl, ctx2d, domEvents, height, opts, screen$1, w, width, $s, $r;
143413
+ /* */ $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:
143414
+ _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; }
143415
+ canvasEl = $clone(_r, js.Value);
143416
+ _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; }
143417
+ _r$1;
143418
+ width = opts.Width;
143419
+ if (opts.Width === 0) {
143420
+ width = dom.GetDocWidth();
143421
+ }
143422
+ $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; }
143423
+ height = opts.Height;
143424
+ if (opts.Height === 0) {
143425
+ height = dom.GetDocHeight();
143426
+ }
143427
+ $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; }
143428
+ /* */ if (!(opts.Title === "")) { $s = 5; continue; }
143429
+ /* */ $s = 6; continue;
143430
+ /* if (!(opts.Title === "")) { */ case 5:
143431
+ _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; }
143432
+ _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; }
143433
+ $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; }
143434
+ /* } */ case 6:
143435
+ _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; }
143436
+ ctx2d = $clone(_r$4, js.Value);
143437
+ /* */ if ($clone(ctx2d, js.Value).IsUndefined() || $clone(ctx2d, js.Value).IsNull()) { $s = 11; continue; }
143438
+ /* */ $s = 12; continue;
143439
+ /* if ($clone(ctx2d, js.Value).IsUndefined() || $clone(ctx2d, js.Value).IsNull()) { */ case 11:
143440
+ _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; }
143441
+ $panic(_r$5);
143442
+ /* } */ case 12:
143443
+ domEvents = dom.NewDomEvents();
143444
+ w = new windowImpl.ptr(screen$1, width, height, ptrType$1.nil, $clone(canvasEl, js.Value), $clone(ctx2d, js.Value), false, domEvents);
143445
+ $r = domEvents.BindEvents(); /* */ $s = 14; case 14: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
143446
+ $s = -1; return w;
143447
+ /* */ } 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;
143448
+ };
143449
+ windowImpl.ptr.prototype.Release = function() {
143450
+ var _r, w, $s, $deferred, $r;
143451
+ /* */ $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);
143452
+ w = this;
143453
+ $r = w.mutex.Lock(); /* */ $s = 1; case 1: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
143454
+ $deferred.push([$methodVal(w.mutex, "Unlock"), []]);
143455
+ if (w.released) {
143456
+ $s = -1; return;
143457
+ }
143458
+ _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; }
143459
+ _r;
143460
+ $r = w.domEvents.Release(); /* */ $s = 3; case 3: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
143461
+ w.released = true;
143462
+ $s = -1; return;
143463
+ /* */ } 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; } }
143464
+ };
143465
+ windowImpl.prototype.Release = function() { return this.$val.Release(); };
143466
+ windowImpl.ptr.prototype.Publish = function() {
143467
+ var w;
143468
+ w = this;
143469
+ if (w.released) {
143470
+ return new screen.PublishResult.ptr(false);
143471
+ }
143472
+ return new screen.PublishResult.ptr(false);
143473
+ };
143474
+ windowImpl.prototype.Publish = function() { return this.$val.Publish(); };
143475
+ windowImpl.ptr.prototype.Send = function(event) {
143476
+ var event, w;
143477
+ w = this;
143478
+ if (w.released) {
143479
+ return;
143480
+ }
143481
+ $panic(new $String("Not implemented"));
143482
+ };
143483
+ windowImpl.prototype.Send = function(event) { return this.$val.Send(event); };
143484
+ windowImpl.ptr.prototype.SendFirst = function(event) {
143485
+ var event, w;
143486
+ w = this;
143487
+ if (w.released) {
143488
+ return;
143489
+ }
143490
+ $panic(new $String("Not implemented"));
143491
+ };
143492
+ windowImpl.prototype.SendFirst = function(event) { return this.$val.SendFirst(event); };
143493
+ windowImpl.ptr.prototype.NextEvent = function() {
143494
+ var _r, ev, w, $s, $r;
143495
+ /* */ $s = 0; var $f, $c = false; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; _r = $f._r; ev = $f.ev; w = $f.w; $s = $f.$s; $r = $f.$r; } s: while (true) { switch ($s) { case 0:
143496
+ w = this;
143497
+ _r = $recv(w.domEvents.GetEventChan()); /* */ $s = 1; case 1: if($c) { $c = false; _r = _r.$blk(); } if (_r && _r.$blk !== undefined) { break s; }
143498
+ ev = _r[0];
143499
+ $s = -1; return ev;
143500
+ /* */ } return; } if ($f === undefined) { $f = { $blk: windowImpl.ptr.prototype.NextEvent }; } $f._r = _r; $f.ev = ev; $f.w = w; $f.$s = $s; $f.$r = $r; return $f;
143501
+ };
143502
+ windowImpl.prototype.NextEvent = function() { return this.$val.NextEvent(); };
143503
+ windowImpl.ptr.prototype.Upload = function(dp, src, sr) {
143504
+ var _r, dp, sr, src, w, $s, $r;
143505
+ /* */ $s = 0; var $f, $c = false; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; _r = $f._r; dp = $f.dp; sr = $f.sr; src = $f.src; w = $f.w; $s = $f.$s; $r = $f.$r; } s: while (true) { switch ($s) { case 0:
143506
+ w = this;
143507
+ if (w.released) {
143508
+ $s = -1; return;
143509
+ }
143510
+ _r = fmt.Errorf("Not implemented, use UploadYCbCr instead", new sliceType$1([])); /* */ $s = 1; case 1: if($c) { $c = false; _r = _r.$blk(); } if (_r && _r.$blk !== undefined) { break s; }
143511
+ $panic(_r);
143512
+ $s = -1; return;
143513
+ /* */ } return; } if ($f === undefined) { $f = { $blk: windowImpl.ptr.prototype.Upload }; } $f._r = _r; $f.dp = dp; $f.sr = sr; $f.src = src; $f.w = w; $f.$s = $s; $f.$r = $r; return $f;
143514
+ };
143515
+ windowImpl.prototype.Upload = function(dp, src, sr) { return this.$val.Upload(dp, src, sr); };
143516
+ windowImpl.ptr.prototype.UploadYCbCr = function(dp, src, sr) {
143517
+ var _r, _r$1, _ref, dp, jsSrc, sr, src, w, x, $s, $r;
143518
+ /* */ $s = 0; var $f, $c = false; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; _r = $f._r; _r$1 = $f._r$1; _ref = $f._ref; dp = $f.dp; jsSrc = $f.jsSrc; sr = $f.sr; src = $f.src; w = $f.w; x = $f.x; $s = $f.$s; $r = $f.$r; } s: while (true) { switch ($s) { case 0:
143519
+ w = this;
143520
+ if (w.released) {
143521
+ $s = -1; return;
143522
+ }
143523
+ _ref = src;
143524
+ /* */ if ($assertType(_ref, ptrType$5, true)[1]) { $s = 1; continue; }
143525
+ /* */ $s = 2; continue;
143526
+ /* if ($assertType(_ref, ptrType$5, true)[1]) { */ case 1:
143527
+ jsSrc = _ref.$val;
143528
+ _r = $clone(w.ctx2d, js.Value).Call("drawImage", new sliceType$1([(x = jsSrc.YCbCrJS().CanvasImageSource, new x.constructor.elem(x)), new $Int(0), new $Int(0)])); /* */ $s = 3; case 3: if($c) { $c = false; _r = _r.$blk(); } if (_r && _r.$blk !== undefined) { break s; }
143529
+ _r;
143530
+ $s = -1; return;
143531
+ /* } */ case 2:
143532
+ _r$1 = fmt.Errorf("Not implemented, use canvasdriver.BufferImpl instead", new sliceType$1([])); /* */ $s = 4; case 4: if($c) { $c = false; _r$1 = _r$1.$blk(); } if (_r$1 && _r$1.$blk !== undefined) { break s; }
143533
+ $panic(_r$1);
143177
143534
  $s = -1; return;
143178
- /* */ } return; } if ($f === undefined) { $f = { $blk: main }; } $f.f = f; $f.$s = $s; $f.$r = $r; return $f;
143535
+ /* */ } return; } if ($f === undefined) { $f = { $blk: windowImpl.ptr.prototype.UploadYCbCr }; } $f._r = _r; $f._r$1 = _r$1; $f._ref = _ref; $f.dp = dp; $f.jsSrc = jsSrc; $f.sr = sr; $f.src = src; $f.w = w; $f.x = x; $f.$s = $s; $f.$r = $r; return $f;
143179
143536
  };
143537
+ windowImpl.prototype.UploadYCbCr = function(dp, src, sr) { return this.$val.UploadYCbCr(dp, src, sr); };
143538
+ windowImpl.ptr.prototype.Fill = function(dr, src, op) {
143539
+ var dr, op, src, w;
143540
+ w = this;
143541
+ if (w.released) {
143542
+ return;
143543
+ }
143544
+ $panic(new $String("Not implemented"));
143545
+ };
143546
+ windowImpl.prototype.Fill = function(dr, src, op) { return this.$val.Fill(dr, src, op); };
143547
+ windowImpl.ptr.prototype.Draw = function(src2dst, src, sr, op, opts) {
143548
+ var op, opts, sr, src, src2dst, w;
143549
+ w = this;
143550
+ if (w.released) {
143551
+ return;
143552
+ }
143553
+ $panic(new $String("Not implemented"));
143554
+ };
143555
+ windowImpl.prototype.Draw = function(src2dst, src, sr, op, opts) { return this.$val.Draw(src2dst, src, sr, op, opts); };
143556
+ windowImpl.ptr.prototype.DrawUniform = function(src2dst, src, sr, op, opts) {
143557
+ var op, opts, sr, src, src2dst, w;
143558
+ w = this;
143559
+ if (w.released) {
143560
+ return;
143561
+ }
143562
+ $panic(new $String("Not implemented"));
143563
+ };
143564
+ windowImpl.prototype.DrawUniform = function(src2dst, src, sr, op, opts) { return this.$val.DrawUniform(src2dst, src, sr, op, opts); };
143565
+ windowImpl.ptr.prototype.Copy = function(dp, src, sr, op, opts) {
143566
+ var dp, op, opts, sr, src, w;
143567
+ w = this;
143568
+ if (w.released) {
143569
+ return;
143570
+ }
143571
+ $panic(new $String("Not implemented"));
143572
+ };
143573
+ windowImpl.prototype.Copy = function(dp, src, sr, op, opts) { return this.$val.Copy(dp, src, sr, op, opts); };
143574
+ windowImpl.ptr.prototype.Scale = function(dr, src, sr, op, opts) {
143575
+ var dr, op, opts, sr, src, w;
143576
+ w = this;
143577
+ if (w.released) {
143578
+ return;
143579
+ }
143580
+ $panic(new $String("Not implemented"));
143581
+ };
143582
+ windowImpl.prototype.Scale = function(dr, src, sr, op, opts) { return this.$val.Scale(dr, src, sr, op, opts); };
143583
+ ptrType$5.methods = [{prop: "Size", name: "Size", pkg: "", typ: $funcType([], [image.Point], false)}, {prop: "Bounds", name: "Bounds", pkg: "", typ: $funcType([], [image.Rectangle], false)}, {prop: "RGBA", name: "RGBA", pkg: "", typ: $funcType([], [ptrType$6], false)}, {prop: "YCbCr", name: "YCbCr", pkg: "", typ: $funcType([], [ptrType$7], false)}, {prop: "YCbCrJS", name: "YCbCrJS", pkg: "", typ: $funcType([], [ptrType$2], false)}, {prop: "Release", name: "Release", pkg: "", typ: $funcType([], [], false)}];
143584
+ ptrType.methods = [{prop: "NewBuffer", name: "NewBuffer", pkg: "", typ: $funcType([image.Point], [screen.Buffer, $error], false)}, {prop: "NewTexture", name: "NewTexture", pkg: "", typ: $funcType([image.Point], [screen.Texture, $error], false)}, {prop: "NewWindow", name: "NewWindow", pkg: "", typ: $funcType([ptrType$8], [screen.Window, $error], false)}];
143585
+ ptrType$10.methods = [{prop: "Release", name: "Release", pkg: "", typ: $funcType([], [], false)}, {prop: "Publish", name: "Publish", pkg: "", typ: $funcType([], [screen.PublishResult], false)}, {prop: "Send", name: "Send", pkg: "", typ: $funcType([$emptyInterface], [], false)}, {prop: "SendFirst", name: "SendFirst", pkg: "", typ: $funcType([$emptyInterface], [], false)}, {prop: "NextEvent", name: "NextEvent", pkg: "", typ: $funcType([], [$emptyInterface], false)}, {prop: "Upload", name: "Upload", pkg: "", typ: $funcType([image.Point, screen.Buffer, image.Rectangle], [], false)}, {prop: "UploadYCbCr", name: "UploadYCbCr", pkg: "", typ: $funcType([image.Point, screen.Buffer, image.Rectangle], [], false)}, {prop: "Fill", name: "Fill", pkg: "", typ: $funcType([image.Rectangle, color.Color, draw.Op], [], false)}, {prop: "Draw", name: "Draw", pkg: "", typ: $funcType([f64.Aff3, screen.Texture, image.Rectangle, draw.Op, ptrType$9], [], false)}, {prop: "DrawUniform", name: "DrawUniform", pkg: "", typ: $funcType([f64.Aff3, color.Color, image.Rectangle, draw.Op, ptrType$9], [], false)}, {prop: "Copy", name: "Copy", pkg: "", typ: $funcType([image.Point, screen.Texture, image.Rectangle, draw.Op, ptrType$9], [], false)}, {prop: "Scale", name: "Scale", pkg: "", typ: $funcType([image.Rectangle, screen.Texture, image.Rectangle, draw.Op, ptrType$9], [], false)}];
143586
+ YCbCrJS.init("", [{prop: "CanvasImageSource", name: "CanvasImageSource", embedded: false, exported: true, typ: ptrType$3, tag: ""}]);
143587
+ 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: ""}]);
143588
+ screenImpl.init("golang.org/x/exp/shiny/driver/canvasdriver", [{prop: "doc", name: "doc", embedded: false, exported: false, typ: js.Value, tag: ""}]);
143589
+ 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: ""}]);
143590
+ $init = function() {
143591
+ $pkg.$init = function() {};
143592
+ /* */ 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:
143593
+ $r = fmt.$init(); /* */ $s = 1; case 1: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
143594
+ $r = dom.$init(); /* */ $s = 2; case 2: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
143595
+ $r = errscreen.$init(); /* */ $s = 3; case 3: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
143596
+ $r = screen.$init(); /* */ $s = 4; case 4: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
143597
+ $r = f64.$init(); /* */ $s = 5; case 5: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
143598
+ $r = image.$init(); /* */ $s = 6; case 6: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
143599
+ $r = color.$init(); /* */ $s = 7; case 7: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
143600
+ $r = draw.$init(); /* */ $s = 8; case 8: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
143601
+ $r = sync.$init(); /* */ $s = 9; case 9: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
143602
+ $r = js.$init(); /* */ $s = 10; case 10: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
143603
+ /* */ } return; } if ($f === undefined) { $f = { $blk: $init }; } $f.$s = $s; $f.$r = $r; return $f;
143604
+ };
143605
+ $pkg.$init = $init;
143606
+ return $pkg;
143607
+ })();
143608
+ $packages["github.com/supraio/client-daemon/pkg/x264/webcodecs"] = (function() {
143609
+ var $pkg = {}, $init, hex, webgl, errs, jshelper, general, canvasdriver, js;
143610
+ hex = $packages["encoding/hex"];
143611
+ webgl = $packages["github.com/nuberu/webgl"];
143612
+ errs = $packages["github.com/supraio/client-daemon/pkg/errs"];
143613
+ jshelper = $packages["github.com/supraio/client-daemon/pkg/jshelper"];
143614
+ general = $packages["github.com/supraio/client-daemon/pkg/x264/general"];
143615
+ canvasdriver = $packages["golang.org/x/exp/shiny/driver/canvasdriver"];
143616
+ js = $packages["syscall/js"];
143180
143617
  $init = function() {
143181
143618
  $pkg.$init = function() {};
143182
143619
  /* */ 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:
143183
- $r = webgldriver.$init(); /* */ $s = 1; case 1: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
143184
- $r = screen.$init(); /* */ $s = 2; case 2: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
143620
+ $r = hex.$init(); /* */ $s = 1; case 1: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
143621
+ $r = webgl.$init(); /* */ $s = 2; case 2: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
143622
+ $r = errs.$init(); /* */ $s = 3; case 3: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
143623
+ $r = jshelper.$init(); /* */ $s = 4; case 4: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
143624
+ $r = general.$init(); /* */ $s = 5; case 5: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
143625
+ $r = canvasdriver.$init(); /* */ $s = 6; case 6: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
143626
+ $r = js.$init(); /* */ $s = 7; case 7: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
143627
+ /* */ } return; } if ($f === undefined) { $f = { $blk: $init }; } $f.$s = $s; $f.$r = $r; return $f;
143628
+ };
143629
+ $pkg.$init = $init;
143630
+ return $pkg;
143631
+ })();
143632
+ $packages["github.com/supraio/client-daemon/pkg/x264"] = (function() {
143633
+ var $pkg = {}, $init, errs, general, h264_decoder, webcodecs, js;
143634
+ errs = $packages["github.com/supraio/client-daemon/pkg/errs"];
143635
+ general = $packages["github.com/supraio/client-daemon/pkg/x264/general"];
143636
+ h264_decoder = $packages["github.com/supraio/client-daemon/pkg/x264/h264decoder"];
143637
+ webcodecs = $packages["github.com/supraio/client-daemon/pkg/x264/webcodecs"];
143638
+ js = $packages["syscall/js"];
143639
+ $init = function() {
143640
+ $pkg.$init = function() {};
143641
+ /* */ 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:
143642
+ $r = errs.$init(); /* */ $s = 1; case 1: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
143643
+ $r = general.$init(); /* */ $s = 2; case 2: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
143644
+ $r = h264_decoder.$init(); /* */ $s = 3; case 3: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
143645
+ $r = webcodecs.$init(); /* */ $s = 4; case 4: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
143646
+ $r = js.$init(); /* */ $s = 5; case 5: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
143185
143647
  /* */ } return; } if ($f === undefined) { $f = { $blk: $init }; } $f.$s = $s; $f.$r = $r; return $f;
143186
143648
  };
143187
143649
  $pkg.$init = $init;
@@ -143200,7 +143662,7 @@ $packages["golang.org/x/mobile/event/lifecycle"] = (function() {
143200
143662
  return $pkg;
143201
143663
  })();
143202
143664
  $packages["github.com/supraio/client-daemon/pkg/render"] = (function() {
143203
- var $pkg = {}, $init, binary, json, query, clipboard, errs, input, message, netclient, netpacket, netstream, stats, window, x264, driver, screen, focus, key, lifecycle, mouse, size, image, io, ioutil, log, os, path, strings, sync, js, time, ProcessInfo, ProcessInfoManager, ScreenManager, screenParams, sliceType$1, sliceType$2, ptrType$3, ptrType$13, openScreenWindows, mutex, NewProcessInfoManager, NewScreenManager;
143665
+ var $pkg = {}, $init, binary, json, query, clipboard, errs, input, message, netclient, netpacket, netstream, stats, window, x264, canvasdriver, webgldriver, screen, focus, key, lifecycle, mouse, size, image, io, ioutil, log, os, path, strings, sync, js, time, ProcessInfo, ProcessInfoManager, ScreenManager, screenParams, sliceType$1, sliceType$2, ptrType$3, ptrType$13, openScreenWindows, mutex, NewProcessInfoManager, NewScreenManager;
143204
143666
  binary = $packages["encoding/binary"];
143205
143667
  json = $packages["encoding/json"];
143206
143668
  query = $packages["github.com/google/go-querystring/query"];
@@ -143214,7 +143676,8 @@ $packages["github.com/supraio/client-daemon/pkg/render"] = (function() {
143214
143676
  stats = $packages["github.com/supraio/client-daemon/pkg/stats"];
143215
143677
  window = $packages["github.com/supraio/client-daemon/pkg/window"];
143216
143678
  x264 = $packages["github.com/supraio/client-daemon/pkg/x264"];
143217
- driver = $packages["golang.org/x/exp/shiny/driver"];
143679
+ canvasdriver = $packages["golang.org/x/exp/shiny/driver/canvasdriver"];
143680
+ webgldriver = $packages["golang.org/x/exp/shiny/driver/webgldriver"];
143218
143681
  screen = $packages["golang.org/x/exp/shiny/screen"];
143219
143682
  focus = $packages["golang.org/x/mobile/event/focus"];
143220
143683
  key = $packages["golang.org/x/mobile/event/key"];
@@ -143629,23 +144092,24 @@ $packages["github.com/supraio/client-daemon/pkg/render"] = (function() {
143629
144092
  $r = stats.$init(); /* */ $s = 11; case 11: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
143630
144093
  $r = window.$init(); /* */ $s = 12; case 12: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
143631
144094
  $r = x264.$init(); /* */ $s = 13; case 13: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
143632
- $r = driver.$init(); /* */ $s = 14; case 14: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
143633
- $r = screen.$init(); /* */ $s = 15; case 15: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
143634
- $r = focus.$init(); /* */ $s = 16; case 16: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
143635
- $r = key.$init(); /* */ $s = 17; case 17: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
143636
- $r = lifecycle.$init(); /* */ $s = 18; case 18: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
143637
- $r = mouse.$init(); /* */ $s = 19; case 19: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
143638
- $r = size.$init(); /* */ $s = 20; case 20: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
143639
- $r = image.$init(); /* */ $s = 21; case 21: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
143640
- $r = io.$init(); /* */ $s = 22; case 22: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
143641
- $r = ioutil.$init(); /* */ $s = 23; case 23: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
143642
- $r = log.$init(); /* */ $s = 24; case 24: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
143643
- $r = os.$init(); /* */ $s = 25; case 25: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
143644
- $r = path.$init(); /* */ $s = 26; case 26: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
143645
- $r = strings.$init(); /* */ $s = 27; case 27: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
143646
- $r = sync.$init(); /* */ $s = 28; case 28: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
143647
- $r = js.$init(); /* */ $s = 29; case 29: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
143648
- $r = time.$init(); /* */ $s = 30; case 30: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
144095
+ $r = canvasdriver.$init(); /* */ $s = 14; case 14: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
144096
+ $r = webgldriver.$init(); /* */ $s = 15; case 15: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
144097
+ $r = screen.$init(); /* */ $s = 16; case 16: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
144098
+ $r = focus.$init(); /* */ $s = 17; case 17: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
144099
+ $r = key.$init(); /* */ $s = 18; case 18: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
144100
+ $r = lifecycle.$init(); /* */ $s = 19; case 19: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
144101
+ $r = mouse.$init(); /* */ $s = 20; case 20: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
144102
+ $r = size.$init(); /* */ $s = 21; case 21: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
144103
+ $r = image.$init(); /* */ $s = 22; case 22: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
144104
+ $r = io.$init(); /* */ $s = 23; case 23: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
144105
+ $r = ioutil.$init(); /* */ $s = 24; case 24: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
144106
+ $r = log.$init(); /* */ $s = 25; case 25: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
144107
+ $r = os.$init(); /* */ $s = 26; case 26: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
144108
+ $r = path.$init(); /* */ $s = 27; case 27: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
144109
+ $r = strings.$init(); /* */ $s = 28; case 28: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
144110
+ $r = sync.$init(); /* */ $s = 29; case 29: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
144111
+ $r = js.$init(); /* */ $s = 30; case 30: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
144112
+ $r = time.$init(); /* */ $s = 31; case 31: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
143649
144113
  openScreenWindows = $makeMap($String.keyFor, []);
143650
144114
  mutex = new sync.Mutex.ptr(0, 0);
143651
144115
  /* */ } return; } if ($f === undefined) { $f = { $blk: $init }; } $f.$s = $s; $f.$r = $r; return $f;