@supraio/client-daemon-js 0.0.0-mznacl.302 → 0.0.0-mznacldate1212.297

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.
@@ -21274,7 +21274,7 @@ $packages["strconv"] = (function() {
21274
21274
  return $pkg;
21275
21275
  })();
21276
21276
  $packages["reflect"] = (function() {
21277
- var $pkg = {}, $init, errors, js, abi, bytealg, goarch, itoa, unsafeheader, math, runtime, strconv, sync, unicode, utf8, Value, flag, ValueError, MapIter, Type, Kind, tflag, rtype, method, ChanDir, arrayType, chanType, imethod, interfaceType, mapType, ptrType, sliceType, structField, structType, Method, nameOff, typeOff, textOff, StructField, StructTag, fieldScan, uncommonType, funcType, name, nameData, hiter, sliceType$1, ptrType$1, sliceType$2, sliceType$3, sliceType$4, sliceType$5, ptrType$2, funcType$1, sliceType$7, sliceType$8, ptrType$6, ptrType$8, ptrType$9, sliceType$10, ptrType$10, sliceType$11, ptrType$11, ptrType$12, sliceType$12, ptrType$13, ptrType$14, funcType$2, sliceType$14, sliceType$15, ptrType$18, structType$3, sliceType$16, ptrType$19, ptrType$20, sliceType$17, sliceType$18, arrayType$6, sliceType$19, arrayType$7, sliceType$20, funcType$3, ptrType$23, arrayType$8, ptrType$24, funcType$4, funcType$5, ptrType$26, ptrType$27, bytesType, uint8Type, stringType, kindNames, initialized, nameMap, nameOffList, typeOffList, callHelper, jsObjectPtr, selectHelper, copyVal, overflowFloat32, typesMustMatch, grow, Append, MakeMap, MakeMapWithSize, Indirect, convertOp, makeFloat, makeFloat32, makeComplex, makeString, makeBytes, makeRunes, cvtInt, cvtUint, cvtFloatInt, cvtFloatUint, cvtIntFloat, cvtUintFloat, cvtFloat, cvtComplex, cvtIntString, cvtUintString, cvtBytesString, cvtStringBytes, cvtRunesString, cvtStringRunes, cvtT2I, cvtI2I, PtrTo, PointerTo, implements$1, specialChannelAssignability, directlyAssignable, haveIdenticalType, haveIdenticalUnderlyingType, toType, ifaceIndir, methodValueCallCodePtr, methodValueCall, init, New, jsType, reflectType, setKindType, newName, newMethodName, resolveReflectName, newTypeOff, internalStr, isWrapped, copyStruct, makeValue, MakeSlice, TypeOf, ValueOf, FuncOf, SliceOf, Zero, unsafe_New, makeInt, typedmemmove, makemap, keyFor, mapaccess, mapassign, mapdelete, mapaccess_faststr, mapassign_faststr, mapdelete_faststr, mapiterinit, mapiterkey, mapiterelem, mapiternext, maplen, cvtDirect, cvtSliceArrayPtr, Copy, methodReceiver, valueInterface, ifaceE2I, makeMethodValue, wrapJsObject, unwrapJsObject, getJsTag, chanrecv, chansend, DeepEqual, deepValueEqualJs, stringsLastIndex, stringsHasPrefix, valueMethodName, verifyNotInHeapPtr;
21277
+ var $pkg = {}, $init, errors, js, abi, bytealg, goarch, itoa, unsafeheader, math, runtime, strconv, sync, unicode, utf8, Value, flag, ValueError, MapIter, SliceHeader, Type, Kind, tflag, rtype, method, ChanDir, arrayType, chanType, imethod, interfaceType, mapType, ptrType, sliceType, structField, structType, Method, nameOff, typeOff, textOff, StructField, StructTag, fieldScan, uncommonType, funcType, name, nameData, hiter, sliceType$1, ptrType$1, sliceType$2, sliceType$3, sliceType$4, sliceType$5, ptrType$2, funcType$1, sliceType$7, sliceType$8, ptrType$6, ptrType$8, ptrType$9, sliceType$10, ptrType$10, sliceType$11, ptrType$11, ptrType$12, sliceType$12, ptrType$13, ptrType$14, funcType$2, sliceType$14, sliceType$15, ptrType$18, structType$3, sliceType$16, ptrType$19, ptrType$20, sliceType$17, sliceType$18, arrayType$6, sliceType$19, arrayType$7, sliceType$20, funcType$3, ptrType$23, arrayType$8, ptrType$24, funcType$4, funcType$5, ptrType$26, ptrType$27, bytesType, uint8Type, stringType, kindNames, initialized, nameMap, nameOffList, typeOffList, callHelper, jsObjectPtr, selectHelper, copyVal, overflowFloat32, typesMustMatch, grow, Append, MakeMap, MakeMapWithSize, Indirect, convertOp, makeFloat, makeFloat32, makeComplex, makeString, makeBytes, makeRunes, cvtInt, cvtUint, cvtFloatInt, cvtFloatUint, cvtIntFloat, cvtUintFloat, cvtFloat, cvtComplex, cvtIntString, cvtUintString, cvtBytesString, cvtStringBytes, cvtRunesString, cvtStringRunes, cvtT2I, cvtI2I, PtrTo, PointerTo, implements$1, specialChannelAssignability, directlyAssignable, haveIdenticalType, haveIdenticalUnderlyingType, toType, ifaceIndir, methodValueCallCodePtr, methodValueCall, init, New, jsType, reflectType, setKindType, newName, newMethodName, resolveReflectName, newTypeOff, internalStr, isWrapped, copyStruct, makeValue, MakeSlice, TypeOf, ValueOf, FuncOf, SliceOf, Zero, unsafe_New, makeInt, typedmemmove, makemap, keyFor, mapaccess, mapassign, mapdelete, mapaccess_faststr, mapassign_faststr, mapdelete_faststr, mapiterinit, mapiterkey, mapiterelem, mapiternext, maplen, cvtDirect, cvtSliceArrayPtr, Copy, methodReceiver, valueInterface, ifaceE2I, makeMethodValue, wrapJsObject, unwrapJsObject, getJsTag, chanrecv, chansend, DeepEqual, deepValueEqualJs, stringsLastIndex, stringsHasPrefix, valueMethodName, verifyNotInHeapPtr;
21278
21278
  errors = $packages["errors"];
21279
21279
  js = $packages["github.com/gopherjs/gopherjs/js"];
21280
21280
  abi = $packages["internal/abi"];
@@ -21321,6 +21321,18 @@ $packages["reflect"] = (function() {
21321
21321
  this.m = m_;
21322
21322
  this.hiter = hiter_;
21323
21323
  });
21324
+ SliceHeader = $pkg.SliceHeader = $newType(0, $kindStruct, "reflect.SliceHeader", true, "reflect", true, function(Data_, Len_, Cap_) {
21325
+ this.$val = this;
21326
+ if (arguments.length === 0) {
21327
+ this.Data = 0;
21328
+ this.Len = 0;
21329
+ this.Cap = 0;
21330
+ return;
21331
+ }
21332
+ this.Data = Data_;
21333
+ this.Len = Len_;
21334
+ this.Cap = Cap_;
21335
+ });
21324
21336
  Type = $pkg.Type = $newType(8, $kindInterface, "reflect.Type", true, "reflect", true, null);
21325
21337
  Kind = $pkg.Kind = $newType(4, $kindUint, "reflect.Kind", true, "reflect", true, null);
21326
21338
  tflag = $pkg.tflag = $newType(1, $kindUint8, "reflect.tflag", true, "reflect", false, null);
@@ -26570,6 +26582,7 @@ $packages["reflect"] = (function() {
26570
26582
  Value.init("reflect", [{prop: "typ", name: "typ", embedded: false, exported: false, typ: ptrType$1, tag: ""}, {prop: "ptr", name: "ptr", embedded: false, exported: false, typ: $UnsafePointer, tag: ""}, {prop: "flag", name: "flag", embedded: true, exported: false, typ: flag, tag: ""}]);
26571
26583
  ValueError.init("", [{prop: "Method", name: "Method", embedded: false, exported: true, typ: $String, tag: ""}, {prop: "Kind", name: "Kind", embedded: false, exported: true, typ: Kind, tag: ""}]);
26572
26584
  MapIter.init("reflect", [{prop: "m", name: "m", embedded: false, exported: false, typ: Value, tag: ""}, {prop: "hiter", name: "hiter", embedded: false, exported: false, typ: hiter, tag: ""}]);
26585
+ SliceHeader.init("", [{prop: "Data", name: "Data", embedded: false, exported: true, typ: $Uintptr, tag: ""}, {prop: "Len", name: "Len", embedded: false, exported: true, typ: $Int, tag: ""}, {prop: "Cap", name: "Cap", embedded: false, exported: true, typ: $Int, tag: ""}]);
26573
26586
  Type.init([{prop: "Align", name: "Align", pkg: "", typ: $funcType([], [$Int], false)}, {prop: "AssignableTo", name: "AssignableTo", pkg: "", typ: $funcType([Type], [$Bool], false)}, {prop: "Bits", name: "Bits", pkg: "", typ: $funcType([], [$Int], false)}, {prop: "ChanDir", name: "ChanDir", pkg: "", typ: $funcType([], [ChanDir], false)}, {prop: "Comparable", name: "Comparable", pkg: "", typ: $funcType([], [$Bool], false)}, {prop: "ConvertibleTo", name: "ConvertibleTo", pkg: "", typ: $funcType([Type], [$Bool], false)}, {prop: "Elem", name: "Elem", pkg: "", typ: $funcType([], [Type], false)}, {prop: "Field", name: "Field", pkg: "", typ: $funcType([$Int], [StructField], false)}, {prop: "FieldAlign", name: "FieldAlign", pkg: "", typ: $funcType([], [$Int], false)}, {prop: "FieldByIndex", name: "FieldByIndex", pkg: "", typ: $funcType([sliceType$7], [StructField], false)}, {prop: "FieldByName", name: "FieldByName", pkg: "", typ: $funcType([$String], [StructField, $Bool], false)}, {prop: "FieldByNameFunc", name: "FieldByNameFunc", pkg: "", typ: $funcType([funcType$3], [StructField, $Bool], false)}, {prop: "Implements", name: "Implements", pkg: "", typ: $funcType([Type], [$Bool], false)}, {prop: "In", name: "In", pkg: "", typ: $funcType([$Int], [Type], false)}, {prop: "IsVariadic", name: "IsVariadic", pkg: "", typ: $funcType([], [$Bool], false)}, {prop: "Key", name: "Key", pkg: "", typ: $funcType([], [Type], false)}, {prop: "Kind", name: "Kind", pkg: "", typ: $funcType([], [Kind], false)}, {prop: "Len", name: "Len", pkg: "", typ: $funcType([], [$Int], false)}, {prop: "Method", name: "Method", pkg: "", typ: $funcType([$Int], [Method], false)}, {prop: "MethodByName", name: "MethodByName", pkg: "", typ: $funcType([$String], [Method, $Bool], false)}, {prop: "Name", name: "Name", pkg: "", typ: $funcType([], [$String], false)}, {prop: "NumField", name: "NumField", pkg: "", typ: $funcType([], [$Int], false)}, {prop: "NumIn", name: "NumIn", pkg: "", typ: $funcType([], [$Int], false)}, {prop: "NumMethod", name: "NumMethod", pkg: "", typ: $funcType([], [$Int], false)}, {prop: "NumOut", name: "NumOut", pkg: "", typ: $funcType([], [$Int], false)}, {prop: "Out", name: "Out", pkg: "", typ: $funcType([$Int], [Type], false)}, {prop: "PkgPath", name: "PkgPath", pkg: "", typ: $funcType([], [$String], false)}, {prop: "Size", name: "Size", pkg: "", typ: $funcType([], [$Uintptr], false)}, {prop: "String", name: "String", pkg: "", typ: $funcType([], [$String], false)}, {prop: "common", name: "common", pkg: "reflect", typ: $funcType([], [ptrType$1], false)}, {prop: "uncommon", name: "uncommon", pkg: "reflect", typ: $funcType([], [ptrType$10], false)}]);
26574
26587
  rtype.init("reflect", [{prop: "size", name: "size", embedded: false, exported: false, typ: $Uintptr, tag: ""}, {prop: "ptrdata", name: "ptrdata", embedded: false, exported: false, typ: $Uintptr, tag: ""}, {prop: "hash", name: "hash", embedded: false, exported: false, typ: $Uint32, tag: ""}, {prop: "tflag", name: "tflag", embedded: false, exported: false, typ: tflag, tag: ""}, {prop: "align", name: "align", embedded: false, exported: false, typ: $Uint8, tag: ""}, {prop: "fieldAlign", name: "fieldAlign", embedded: false, exported: false, typ: $Uint8, tag: ""}, {prop: "kind", name: "kind", embedded: false, exported: false, typ: $Uint8, tag: ""}, {prop: "equal", name: "equal", embedded: false, exported: false, typ: funcType$4, tag: ""}, {prop: "gcdata", name: "gcdata", embedded: false, exported: false, typ: ptrType$14, tag: ""}, {prop: "str", name: "str", embedded: false, exported: false, typ: nameOff, tag: ""}, {prop: "ptrToThis", name: "ptrToThis", embedded: false, exported: false, typ: typeOff, tag: ""}]);
26575
26588
  method.init("reflect", [{prop: "name", name: "name", embedded: false, exported: false, typ: nameOff, tag: ""}, {prop: "mtyp", name: "mtyp", embedded: false, exported: false, typ: typeOff, tag: ""}, {prop: "ifn", name: "ifn", embedded: false, exported: false, typ: textOff, tag: ""}, {prop: "tfn", name: "tfn", embedded: false, exported: false, typ: textOff, tag: ""}]);
@@ -46398,14 +46411,14 @@ $packages["github.com/supraio/client-daemon/pkg/helper"] = (function() {
46398
46411
  $go((function(signalChannel) { return function $b() {
46399
46412
  var {$s, $r, $c} = $restore(this, {});
46400
46413
  /* */ $s = $s || 0; s: while (true) { switch ($s) { case 0:
46401
- $r = time.Sleep(new time.Duration(140815, 4180213760)); /* */ $s = 1; case 1: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
46414
+ $r = time.Sleep(new time.Duration(20116, 2437873664)); /* */ $s = 1; case 1: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
46402
46415
  $r = $send(signalChannel[0], new syscall.Signal(6)); /* */ $s = 2; case 2: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
46403
46416
  $s = -1; return;
46404
46417
  /* */ } return; } var $f = {$blk: $b, $c: true, $r, $s};return $f;
46405
46418
  }; })(signalChannel), []);
46406
46419
  _r$4 = $recv(signalChannel[0]); /* */ $s = 1; case 1: if($c) { $c = false; _r$4 = _r$4.$blk(); } if (_r$4 && _r$4.$blk !== undefined) { break s; }
46407
46420
  sig = _r$4[0];
46408
- $r = log.Printf("Signal %s received (emulated after 1 week).\n", new sliceType$1([sig])); /* */ $s = 2; case 2: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
46421
+ $r = log.Printf("Signal %s received (emulated after 24 hours).\n", new sliceType$1([sig])); /* */ $s = 2; case 2: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
46409
46422
  $s = -1; return;
46410
46423
  /* */ } return; } var $f = {$blk: WaitOnStopSignal, $c: true, $r, _r$4, sig, signalChannel, $s};return $f;
46411
46424
  };
@@ -158647,12 +158660,26 @@ $packages["github.com/supraio/client-daemon/pkg/netclient"] = (function() {
158647
158660
  };
158648
158661
  MetadataServer.prototype.handleData = function() { return this.$val.handleData(); };
158649
158662
  NewMetadataResponsiveSender = function(metadataServer, timeoutDuration) {
158650
- var metadataServer, s, timeoutDuration;
158651
- s = new MetadataResponsiveSender.ptr(metadataServer, timeoutDuration, $makeMap($String.keyFor, []), $clone(new sync.Mutex.ptr(0, 0), sync.Mutex));
158652
- metadataServer.OnMessage($methodVal(s, "handleServerData"));
158653
- return s;
158663
+ var metadataServer, timeoutDuration;
158664
+ return new MetadataResponsiveSender.ptr(metadataServer, timeoutDuration, $makeMap($String.keyFor, []), $clone(new sync.Mutex.ptr(0, 0), sync.Mutex));
158654
158665
  };
158655
158666
  $pkg.NewMetadataResponsiveSender = NewMetadataResponsiveSender;
158667
+ MetadataResponsiveSender.ptr.prototype.Listen = function() {
158668
+ var s;
158669
+ s = this;
158670
+ s.metadataServer.OnMessage($methodVal(s, "handleServerData"));
158671
+ };
158672
+ MetadataResponsiveSender.prototype.Listen = function() { return this.$val.Listen(); };
158673
+ MetadataResponsiveSender.ptr.prototype.Close = function() {
158674
+ var {$24r, _r, s, $s, $r, $c} = $restore(this, {});
158675
+ /* */ $s = $s || 0; s: while (true) { switch ($s) { case 0:
158676
+ s = this;
158677
+ _r = s.metadataServer.Close(); /* */ $s = 1; case 1: if($c) { $c = false; _r = _r.$blk(); } if (_r && _r.$blk !== undefined) { break s; }
158678
+ $24r = _r;
158679
+ $s = 2; case 2: return $24r;
158680
+ /* */ } return; } var $f = {$blk: MetadataResponsiveSender.ptr.prototype.Close, $c: true, $r, $24r, _r, s, $s};return $f;
158681
+ };
158682
+ MetadataResponsiveSender.prototype.Close = function() { return this.$val.Close(); };
158656
158683
  MetadataResponsiveSender.ptr.prototype.SendServerWaitResponse = function(msgType, data) {
158657
158684
  var {$24r, $24r$1, $24r$2, _key, _r, _r$1, _r$2, _r$3, _r$4, _r$5, _r$6, _selection, _tuple, data, err, msgType, reqData, requestChan, requestID, resp, s, $s, $r, $c} = $restore(this, {msgType, data});
158658
158685
  /* */ $s = $s || 0; s: while (true) { switch ($s) { case 0:
@@ -158952,7 +158979,7 @@ $packages["github.com/supraio/client-daemon/pkg/netclient"] = (function() {
158952
158979
  };
158953
158980
  Framer.prototype.parseFrames = function() { return this.$val.parseFrames(); };
158954
158981
  ptrType$1.methods = [{prop: "start", name: "start", pkg: "github.com/supraio/client-daemon/pkg/netclient", typ: $funcType([], [], false)}, {prop: "Send", name: "Send", pkg: "", typ: $funcType([sliceType$1], [$Int, $error], false)}, {prop: "OnClose", name: "OnClose", pkg: "", typ: $funcType([funcType], [], false)}, {prop: "OnMessage", name: "OnMessage", pkg: "", typ: $funcType([funcType$1], [], false)}, {prop: "Close", name: "Close", pkg: "", typ: $funcType([], [$error], false)}, {prop: "handleData", name: "handleData", pkg: "github.com/supraio/client-daemon/pkg/netclient", typ: $funcType([], [], false)}];
158955
- ptrType$2.methods = [{prop: "SendServerWaitResponse", name: "SendServerWaitResponse", pkg: "", typ: $funcType([message.MsgType, sliceType$1], [sliceType$1, $error], false)}, {prop: "handleServerData", name: "handleServerData", pkg: "github.com/supraio/client-daemon/pkg/netclient", typ: $funcType([message.MsgType, sliceType$1], [], false)}];
158982
+ ptrType$2.methods = [{prop: "Listen", name: "Listen", pkg: "", typ: $funcType([], [], false)}, {prop: "Close", name: "Close", pkg: "", typ: $funcType([], [$error], false)}, {prop: "SendServerWaitResponse", name: "SendServerWaitResponse", pkg: "", typ: $funcType([message.MsgType, sliceType$1], [sliceType$1, $error], false)}, {prop: "handleServerData", name: "handleServerData", pkg: "github.com/supraio/client-daemon/pkg/netclient", typ: $funcType([message.MsgType, sliceType$1], [], false)}];
158956
158983
  ptrType$3.methods = [{prop: "Send", name: "Send", pkg: "", typ: $funcType([message.MsgType, sliceType$1], [$error], false)}];
158957
158984
  ptrType$4.methods = [{prop: "Connect", name: "Connect", pkg: "", typ: $funcType([], [ptrType$1, $error], false)}];
158958
158985
  ptrType$6.methods = [{prop: "Start", name: "Start", pkg: "", typ: $funcType([], [], false)}, {prop: "Close", name: "Close", pkg: "", typ: $funcType([], [], false)}, {prop: "startPinging", name: "startPinging", pkg: "github.com/supraio/client-daemon/pkg/netclient", typ: $funcType([], [], false)}];
@@ -159244,7 +159271,7 @@ $packages["github.com/supraio/client-daemon/pkg/socket"] = (function() {
159244
159271
  _i++;
159245
159272
  $s = 1; continue;
159246
159273
  case 2:
159247
- l.closeConns = new $global.Map();
159274
+ l.closeConns = false;
159248
159275
  $s = -1; return $ifaceNil;
159249
159276
  /* */ } return; } var $f = {$blk: JsListener.ptr.prototype.Close, $c: true, $r, _entry, _i, _key, _keys, _ref, _size, closeConn, l, $s};return $f;
159250
159277
  };
@@ -159320,7 +159347,7 @@ $packages["github.com/supraio/client-daemon/pkg/socket"] = (function() {
159320
159347
  return $pkg;
159321
159348
  })();
159322
159349
  $packages["github.com/supraio/client-daemon/pkg/command"] = (function() {
159323
- var $pkg = {}, $init, context, json, errs, message, netclient, netpacket, netstream, socket, io, log, sync, time, ScreenManager, ServerInfo, Handler, sliceType, sliceType$1, sliceType$2, structType, ptrType, ptrType$1, sliceType$3, ptrType$2, funcType, ptrType$3, mapType, mapType$1, NewHandler;
159350
+ var $pkg = {}, $init, context, json, errs, message, netclient, netpacket, netstream, socket, io, log, sync, time, ScreenManager, ServerInfo, Handler, sliceType, sliceType$1, sliceType$2, structType, ptrType, ptrType$1, sliceType$3, ptrType$2, funcType, ptrType$3, mapType, NewHandler;
159324
159351
  context = $packages["context"];
159325
159352
  json = $packages["encoding/json"];
159326
159353
  errs = $packages["github.com/supraio/client-daemon/pkg/errs"];
@@ -159354,12 +159381,11 @@ $packages["github.com/supraio/client-daemon/pkg/command"] = (function() {
159354
159381
  this.ClientSecret = ClientSecret_;
159355
159382
  this.Secure = Secure_;
159356
159383
  });
159357
- Handler = $pkg.Handler = $newType(0, $kindStruct, "command.Handler", true, "github.com/supraio/client-daemon/pkg/command", true, function(socketPath_, screenManager_, metadataServers_, metadataResponsiveSenders_, timeoutDuration_, listener_, mutex_) {
159384
+ Handler = $pkg.Handler = $newType(0, $kindStruct, "command.Handler", true, "github.com/supraio/client-daemon/pkg/command", true, function(socketPath_, screenManager_, metadataResponsiveSenders_, timeoutDuration_, listener_, mutex_) {
159358
159385
  this.$val = this;
159359
159386
  if (arguments.length === 0) {
159360
159387
  this.socketPath = "";
159361
159388
  this.screenManager = $ifaceNil;
159362
- this.metadataServers = false;
159363
159389
  this.metadataResponsiveSenders = false;
159364
159390
  this.timeoutDuration = new time.Duration(0, 0);
159365
159391
  this.listener = $ifaceNil;
@@ -159368,7 +159394,6 @@ $packages["github.com/supraio/client-daemon/pkg/command"] = (function() {
159368
159394
  }
159369
159395
  this.socketPath = socketPath_;
159370
159396
  this.screenManager = screenManager_;
159371
- this.metadataServers = metadataServers_;
159372
159397
  this.metadataResponsiveSenders = metadataResponsiveSenders_;
159373
159398
  this.timeoutDuration = timeoutDuration_;
159374
159399
  this.listener = listener_;
@@ -159384,11 +159409,10 @@ $packages["github.com/supraio/client-daemon/pkg/command"] = (function() {
159384
159409
  ptrType$2 = $ptrType(netclient.Framer);
159385
159410
  funcType = $funcType([], [$error], false);
159386
159411
  ptrType$3 = $ptrType(Handler);
159387
- mapType = $mapType($String, ptrType$1);
159388
- mapType$1 = $mapType($String, ptrType);
159412
+ mapType = $mapType($String, ptrType);
159389
159413
  NewHandler = function(socketPath, screenManager, timeoutDuration) {
159390
159414
  var screenManager, socketPath, timeoutDuration;
159391
- return new Handler.ptr(socketPath, screenManager, $makeMap($String.keyFor, []), $makeMap($String.keyFor, []), timeoutDuration, $ifaceNil, $clone(new sync.Mutex.ptr(0, 0), sync.Mutex));
159415
+ return new Handler.ptr(socketPath, screenManager, $makeMap($String.keyFor, []), timeoutDuration, $ifaceNil, $clone(new sync.Mutex.ptr(0, 0), sync.Mutex));
159392
159416
  };
159393
159417
  $pkg.NewHandler = NewHandler;
159394
159418
  Handler.ptr.prototype.Listen = function() {
@@ -159423,13 +159447,13 @@ $packages["github.com/supraio/client-daemon/pkg/command"] = (function() {
159423
159447
  };
159424
159448
  Handler.prototype.Listen = function() { return this.$val.Listen(); };
159425
159449
  Handler.ptr.prototype.Close = function() {
159426
- var {$24r, $24r$1, _entry, _i, _i$1, _key, _keys, _r, _r$1, _r$2, _r$3, _ref, _ref$1, _size, allErr, err, err$1, err$2, errList, metadataServer, s, $s, $deferred, $r, $c} = $restore(this, {});
159450
+ var {$24r, $24r$1, _entry, _i, _i$1, _key, _keys, _r, _r$1, _r$2, _r$3, _ref, _ref$1, _size, allErr, err, err$1, err$2, errList, metadataResponsiveSender, s, $s, $deferred, $r, $c} = $restore(this, {});
159427
159451
  /* */ $s = $s || 0; var $err = null; try { s: while (true) { switch ($s) { case 0: $deferred = []; $curGoroutine.deferStack.push($deferred);
159428
159452
  s = this;
159429
159453
  $r = s.mutex.Lock(); /* */ $s = 1; case 1: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
159430
159454
  $deferred.push([$methodVal(s.mutex, "Unlock"), []]);
159431
159455
  errList = new sliceType([]);
159432
- _ref = s.metadataServers;
159456
+ _ref = s.metadataResponsiveSenders;
159433
159457
  _i = 0;
159434
159458
  _keys = _ref ? _ref.keys() : undefined;
159435
159459
  _size = _ref ? _ref.size : 0;
@@ -159441,8 +159465,8 @@ $packages["github.com/supraio/client-daemon/pkg/command"] = (function() {
159441
159465
  _i++;
159442
159466
  /* continue; */ $s = 2; continue;
159443
159467
  }
159444
- metadataServer = _entry.v;
159445
- _r = metadataServer.Close(); /* */ $s = 4; case 4: if($c) { $c = false; _r = _r.$blk(); } if (_r && _r.$blk !== undefined) { break s; }
159468
+ metadataResponsiveSender = _entry.v;
159469
+ _r = metadataResponsiveSender.Close(); /* */ $s = 4; case 4: if($c) { $c = false; _r = _r.$blk(); } if (_r && _r.$blk !== undefined) { break s; }
159446
159470
  err = _r;
159447
159471
  if (!($interfaceIsEqual(err, $ifaceNil))) {
159448
159472
  errList = $append(errList, err);
@@ -159476,7 +159500,7 @@ $packages["github.com/supraio/client-daemon/pkg/command"] = (function() {
159476
159500
  /* } */ case 7:
159477
159501
  $24r$1 = $ifaceNil;
159478
159502
  $s = 13; case 13: return $24r$1;
159479
- /* */ } return; } } catch(err) { $err = err; $s = -1; return $ifaceNil; } finally { $callDeferred($deferred, $err); if($curGoroutine.asleep) { var $f = {$blk: Handler.ptr.prototype.Close, $c: true, $r, $24r, $24r$1, _entry, _i, _i$1, _key, _keys, _r, _r$1, _r$2, _r$3, _ref, _ref$1, _size, allErr, err, err$1, err$2, errList, metadataServer, s, $s, $deferred};return $f; } }
159503
+ /* */ } return; } } catch(err) { $err = err; $s = -1; return $ifaceNil; } finally { $callDeferred($deferred, $err); if($curGoroutine.asleep) { var $f = {$blk: Handler.ptr.prototype.Close, $c: true, $r, $24r, $24r$1, _entry, _i, _i$1, _key, _keys, _r, _r$1, _r$2, _r$3, _ref, _ref$1, _size, allErr, err, err$1, err$2, errList, metadataResponsiveSender, s, $s, $deferred};return $f; } }
159480
159504
  };
159481
159505
  Handler.prototype.Close = function() { return this.$val.Close(); };
159482
159506
  Handler.ptr.prototype.bindMessages = function(framer, closeSocket) {
@@ -159607,34 +159631,40 @@ $packages["github.com/supraio/client-daemon/pkg/command"] = (function() {
159607
159631
  _tuple = _r;
159608
159632
  successData = _tuple[0];
159609
159633
  errorData = _tuple[1];
159634
+ /* break; */ $s = 1; continue;
159610
159635
  $s = 8; continue;
159611
159636
  /* } else if (_1 === (39)) { */ case 3:
159612
159637
  _r$1 = s.startProcess(data); /* */ $s = 10; case 10: if($c) { $c = false; _r$1 = _r$1.$blk(); } if (_r$1 && _r$1.$blk !== undefined) { break s; }
159613
159638
  _tuple$1 = _r$1;
159614
159639
  successData = _tuple$1[0];
159615
159640
  errorData = _tuple$1[1];
159641
+ /* break; */ $s = 1; continue;
159616
159642
  $s = 8; continue;
159617
159643
  /* } else if (_1 === (40)) { */ case 4:
159618
159644
  _r$2 = s.stopProcess(data); /* */ $s = 11; case 11: if($c) { $c = false; _r$2 = _r$2.$blk(); } if (_r$2 && _r$2.$blk !== undefined) { break s; }
159619
159645
  _tuple$2 = _r$2;
159620
159646
  successData = _tuple$2[0];
159621
159647
  errorData = _tuple$2[1];
159648
+ /* break; */ $s = 1; continue;
159622
159649
  $s = 8; continue;
159623
159650
  /* } else if ((_1 === (42)) || (_1 === (43))) { */ case 5:
159624
159651
  _r$3 = s.proxyMessage(messageType, data); /* */ $s = 12; case 12: if($c) { $c = false; _r$3 = _r$3.$blk(); } if (_r$3 && _r$3.$blk !== undefined) { break s; }
159625
159652
  _tuple$3 = _r$3;
159626
159653
  successData = _tuple$3[0];
159627
159654
  errorData = _tuple$3[1];
159655
+ /* break; */ $s = 1; continue;
159628
159656
  $s = 8; continue;
159629
159657
  /* } else if (_1 === (45)) { */ case 6:
159630
159658
  _r$4 = s.listAttachedProcesses(); /* */ $s = 13; case 13: if($c) { $c = false; _r$4 = _r$4.$blk(); } if (_r$4 && _r$4.$blk !== undefined) { break s; }
159631
159659
  _tuple$4 = _r$4;
159632
159660
  successData = _tuple$4[0];
159633
159661
  errorData = _tuple$4[1];
159662
+ /* break; */ $s = 1; continue;
159634
159663
  $s = 8; continue;
159635
159664
  /* } else { */ case 7:
159636
159665
  $r = log.Printf("Unknown message type %d\n", new sliceType$1([new message.MsgType(messageType)])); /* */ $s = 14; case 14: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
159637
159666
  errorData = (new sliceType$2($stringToBytes("Unknown message type")));
159667
+ /* break; */ $s = 1; continue;
159638
159668
  /* } */ case 8:
159639
159669
  case 1:
159640
159670
  _tmp = successData;
@@ -159914,7 +159944,7 @@ $packages["github.com/supraio/client-daemon/pkg/command"] = (function() {
159914
159944
  };
159915
159945
  Handler.prototype.proxyMessage = function(msgType, data) { return this.$val.proxyMessage(msgType, data); };
159916
159946
  Handler.ptr.prototype.getMetadataResponsiveSender = function(data) {
159917
- var {_entry, _key, _key$1, _r, _r$1, _tuple, _tuple$1, data, err, metadataResponsiveSender, metadataResponsiveSender$1, metadataServer, ok, s, serverInfo, $s, $r, $c} = $restore(this, {data});
159947
+ var {_entry, _key, _r, _r$1, _tuple, _tuple$1, data, err, metadataResponsiveSender, metadataResponsiveSender$1, metadataServer, ok, s, serverInfo, $s, $r, $c} = $restore(this, {data});
159918
159948
  /* */ $s = $s || 0; s: while (true) { switch ($s) { case 0:
159919
159949
  s = [s];
159920
159950
  serverInfo = [serverInfo];
@@ -159938,20 +159968,19 @@ $packages["github.com/supraio/client-daemon/pkg/command"] = (function() {
159938
159968
  if (!($interfaceIsEqual(err, $ifaceNil))) {
159939
159969
  $s = -1; return [ptrType.nil, err];
159940
159970
  }
159941
- _key = serverInfo[0].MetadataHost; (s[0].metadataServers || $throwRuntimeError("assignment to entry in nil map")).set($String.keyFor(_key), { k: _key, v: metadataServer });
159942
159971
  metadataResponsiveSender$1 = netclient.NewMetadataResponsiveSender(metadataServer, s[0].timeoutDuration);
159943
- _key$1 = serverInfo[0].MetadataHost; (s[0].metadataResponsiveSenders || $throwRuntimeError("assignment to entry in nil map")).set($String.keyFor(_key$1), { k: _key$1, v: metadataResponsiveSender$1 });
159972
+ metadataResponsiveSender$1.Listen();
159973
+ _key = serverInfo[0].MetadataHost; (s[0].metadataResponsiveSenders || $throwRuntimeError("assignment to entry in nil map")).set($String.keyFor(_key), { k: _key, v: metadataResponsiveSender$1 });
159944
159974
  metadataServer.OnClose((function(s, serverInfo) { return function $b() {
159945
159975
  var {$s, $r, $c} = $restore(this, {});
159946
159976
  /* */ $s = $s || 0; s: while (true) { switch ($s) { case 0:
159947
159977
  $r = log.Println(new sliceType$1([new $String("Metadata server was disconnected")])); /* */ $s = 1; case 1: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
159948
- $mapDelete(s[0].metadataServers, $String.keyFor(serverInfo[0].MetadataHost));
159949
159978
  $mapDelete(s[0].metadataResponsiveSenders, $String.keyFor(serverInfo[0].MetadataHost));
159950
159979
  $s = -1; return;
159951
159980
  /* */ } return; } var $f = {$blk: $b, $c: true, $r, $s};return $f;
159952
159981
  }; })(s, serverInfo));
159953
159982
  $s = -1; return [metadataResponsiveSender$1, $ifaceNil];
159954
- /* */ } return; } var $f = {$blk: Handler.ptr.prototype.getMetadataResponsiveSender, $c: true, $r, _entry, _key, _key$1, _r, _r$1, _tuple, _tuple$1, data, err, metadataResponsiveSender, metadataResponsiveSender$1, metadataServer, ok, s, serverInfo, $s};return $f;
159983
+ /* */ } return; } var $f = {$blk: Handler.ptr.prototype.getMetadataResponsiveSender, $c: true, $r, _entry, _key, _r, _r$1, _tuple, _tuple$1, data, err, metadataResponsiveSender, metadataResponsiveSender$1, metadataServer, ok, s, serverInfo, $s};return $f;
159955
159984
  };
159956
159985
  Handler.prototype.getMetadataResponsiveSender = function(data) { return this.$val.getMetadataResponsiveSender(data); };
159957
159986
  Handler.ptr.prototype.createMetadataServer = function(serverInfo) {
@@ -160014,7 +160043,7 @@ $packages["github.com/supraio/client-daemon/pkg/command"] = (function() {
160014
160043
  ptrType$3.methods = [{prop: "Listen", name: "Listen", pkg: "", typ: $funcType([], [$error], false)}, {prop: "Close", name: "Close", pkg: "", typ: $funcType([], [$error], false)}, {prop: "bindMessages", name: "bindMessages", pkg: "github.com/supraio/client-daemon/pkg/command", typ: $funcType([ptrType$2, funcType], [], false)}, {prop: "handleSocketData", name: "handleSocketData", pkg: "github.com/supraio/client-daemon/pkg/command", typ: $funcType([sliceType$2, ptrType$2], [], false)}, {prop: "processMsg", name: "processMsg", pkg: "github.com/supraio/client-daemon/pkg/command", typ: $funcType([message.MsgType, sliceType$2], [sliceType$2, sliceType$2], false)}, {prop: "attachProcess", name: "attachProcess", pkg: "github.com/supraio/client-daemon/pkg/command", typ: $funcType([sliceType$2], [sliceType$2, sliceType$2], false)}, {prop: "listAttachedProcesses", name: "listAttachedProcesses", pkg: "github.com/supraio/client-daemon/pkg/command", typ: $funcType([], [sliceType$2, sliceType$2], false)}, {prop: "startProcess", name: "startProcess", pkg: "github.com/supraio/client-daemon/pkg/command", typ: $funcType([sliceType$2], [sliceType$2, sliceType$2], false)}, {prop: "stopProcess", name: "stopProcess", pkg: "github.com/supraio/client-daemon/pkg/command", typ: $funcType([sliceType$2], [sliceType$2, sliceType$2], false)}, {prop: "proxyMessage", name: "proxyMessage", pkg: "github.com/supraio/client-daemon/pkg/command", typ: $funcType([message.MsgType, sliceType$2], [sliceType$2, sliceType$2], false)}, {prop: "getMetadataResponsiveSender", name: "getMetadataResponsiveSender", pkg: "github.com/supraio/client-daemon/pkg/command", typ: $funcType([sliceType$2], [ptrType, $error], false)}, {prop: "createMetadataServer", name: "createMetadataServer", pkg: "github.com/supraio/client-daemon/pkg/command", typ: $funcType([ServerInfo], [ptrType$1, $error], false)}];
160015
160044
  ScreenManager.init([{prop: "ListScreens", name: "ListScreens", pkg: "", typ: $funcType([], [sliceType$3, $error], false)}, {prop: "StartScreen", name: "StartScreen", pkg: "", typ: $funcType([$String, netpacket.Driver, $String, netstream.Driver, $String, $String, $String, $Bool], [$error], false)}, {prop: "StopScreen", name: "StopScreen", pkg: "", typ: $funcType([$String], [$error], false)}]);
160016
160045
  ServerInfo.init("", [{prop: "MetadataDriver", name: "MetadataDriver", embedded: false, exported: true, typ: netstream.Driver, tag: ""}, {prop: "MetadataHost", name: "MetadataHost", embedded: false, exported: true, typ: $String, tag: ""}, {prop: "ScreenDriver", name: "ScreenDriver", embedded: false, exported: true, typ: netpacket.Driver, tag: ""}, {prop: "ScreenHost", name: "ScreenHost", embedded: false, exported: true, typ: $String, tag: ""}, {prop: "ClientID", name: "ClientID", embedded: false, exported: true, typ: $String, tag: ""}, {prop: "ClientSecret", name: "ClientSecret", embedded: false, exported: true, typ: $String, tag: ""}, {prop: "Secure", name: "Secure", embedded: false, exported: true, typ: $Bool, tag: ""}]);
160017
- Handler.init("github.com/supraio/client-daemon/pkg/command", [{prop: "socketPath", name: "socketPath", embedded: false, exported: false, typ: $String, tag: ""}, {prop: "screenManager", name: "screenManager", embedded: false, exported: false, typ: ScreenManager, tag: ""}, {prop: "metadataServers", name: "metadataServers", embedded: false, exported: false, typ: mapType, tag: ""}, {prop: "metadataResponsiveSenders", name: "metadataResponsiveSenders", embedded: false, exported: false, typ: mapType$1, tag: ""}, {prop: "timeoutDuration", name: "timeoutDuration", embedded: false, exported: false, typ: time.Duration, tag: ""}, {prop: "listener", name: "listener", embedded: false, exported: false, typ: socket.Listener, tag: ""}, {prop: "mutex", name: "mutex", embedded: false, exported: false, typ: sync.Mutex, tag: ""}]);
160046
+ Handler.init("github.com/supraio/client-daemon/pkg/command", [{prop: "socketPath", name: "socketPath", embedded: false, exported: false, typ: $String, tag: ""}, {prop: "screenManager", name: "screenManager", embedded: false, exported: false, typ: ScreenManager, tag: ""}, {prop: "metadataResponsiveSenders", name: "metadataResponsiveSenders", embedded: false, exported: false, typ: mapType, tag: ""}, {prop: "timeoutDuration", name: "timeoutDuration", embedded: false, exported: false, typ: time.Duration, tag: ""}, {prop: "listener", name: "listener", embedded: false, exported: false, typ: socket.Listener, tag: ""}, {prop: "mutex", name: "mutex", embedded: false, exported: false, typ: sync.Mutex, tag: ""}]);
160018
160047
  $init = function() {
160019
160048
  $pkg.$init = function() {};
160020
160049
  /* */ 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:
@@ -181823,42 +181852,11 @@ $packages["github.com/supraio/client-daemon/pkg/clientscreen"] = (function() {
181823
181852
  return $pkg;
181824
181853
  })();
181825
181854
  $packages["github.com/supraio/client-daemon/pkg/jshelper"] = (function() {
181826
- var $pkg = {}, $init, errs, log, js, ptrType, sliceType, GetError, Await;
181827
- errs = $packages["github.com/supraio/client-daemon/pkg/errs"];
181855
+ var $pkg = {}, $init, log, js, ptrType, sliceType, Await;
181828
181856
  log = $packages["log"];
181829
181857
  js = $packages["syscall/js"];
181830
181858
  ptrType = $ptrType(js.Value);
181831
181859
  sliceType = $sliceType($emptyInterface);
181832
- GetError = function(err) {
181833
- var {$24r, $24r$1, $24r$2, $24r$3, _r, _r$1, _r$2, _r$3, err, $s, $r, $c} = $restore(this, {err});
181834
- /* */ $s = $s || 0; s: while (true) { switch ($s) { case 0:
181835
- /* */ if (err === ptrType.nil) { $s = 1; continue; }
181836
- /* */ $s = 2; continue;
181837
- /* if (err === ptrType.nil) { */ case 1:
181838
- _r = errs.Errorf("Error is nil", sliceType.nil); /* */ $s = 3; case 3: if($c) { $c = false; _r = _r.$blk(); } if (_r && _r.$blk !== undefined) { break s; }
181839
- $24r = _r;
181840
- $s = 4; case 4: return $24r;
181841
- /* } */ case 2:
181842
- /* */ if ($clone(err, js.Value).Type() === 4) { $s = 5; continue; }
181843
- /* */ if ($clone(err, js.Value).Type() === 6) { $s = 6; continue; }
181844
- /* */ $s = 7; continue;
181845
- /* if ($clone(err, js.Value).Type() === 4) { */ case 5:
181846
- _r$1 = errs.Errorf("%s", new sliceType([new $String($clone(err, js.Value).String())])); /* */ $s = 9; case 9: if($c) { $c = false; _r$1 = _r$1.$blk(); } if (_r$1 && _r$1.$blk !== undefined) { break s; }
181847
- $24r$1 = _r$1;
181848
- $s = 10; case 10: return $24r$1;
181849
- /* } else if ($clone(err, js.Value).Type() === 6) { */ case 6:
181850
- _r$2 = errs.Errorf("%s, stack: %s", new sliceType([new $String($clone($clone(err, js.Value).Get("message"), js.Value).String()), new $String($clone($clone(err, js.Value).Get("stack"), js.Value).String())])); /* */ $s = 11; case 11: if($c) { $c = false; _r$2 = _r$2.$blk(); } if (_r$2 && _r$2.$blk !== undefined) { break s; }
181851
- $24r$2 = _r$2;
181852
- $s = 12; case 12: return $24r$2;
181853
- /* } else { */ case 7:
181854
- _r$3 = errs.Errorf("Unknown error type: %v", new sliceType([err])); /* */ $s = 13; case 13: if($c) { $c = false; _r$3 = _r$3.$blk(); } if (_r$3 && _r$3.$blk !== undefined) { break s; }
181855
- $24r$3 = _r$3;
181856
- $s = 14; case 14: return $24r$3;
181857
- /* } */ case 8:
181858
- $s = -1; return $ifaceNil;
181859
- /* */ } return; } var $f = {$blk: GetError, $c: true, $r, $24r, $24r$1, $24r$2, $24r$3, _r, _r$1, _r$2, _r$3, err, $s};return $f;
181860
- };
181861
- $pkg.GetError = GetError;
181862
181860
  Await = function(awaitable) {
181863
181861
  var {$24r, $24r$1, _r, _r$1, _r$2, _selection, awaitable, catch$1, catchFunc, err, result, then, thenFunc, $s, $deferred, $r, $c} = $restore(this, {awaitable});
181864
181862
  /* */ $s = $s || 0; var $err = null; try { s: while (true) { switch ($s) { case 0: $deferred = []; $curGoroutine.deferStack.push($deferred);
@@ -181875,7 +181873,7 @@ $packages["github.com/supraio/client-daemon/pkg/jshelper"] = (function() {
181875
181873
  /* */ if (then[0] === $chanNil) { $s = 1; continue; }
181876
181874
  /* */ $s = 2; continue;
181877
181875
  /* if (then[0] === $chanNil) { */ case 1:
181878
- $r = log.Printf("Promise already resolved cannot resolve again: %v\n", new sliceType([(0 >= args.$length ? ($throwRuntimeError("index out of range"), undefined) : args.$array[args.$offset + 0])])); /* */ $s = 3; case 3: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
181876
+ $r = log.Println(new sliceType([new $String("Promise already resolved cannot resolve again")])); /* */ $s = 3; case 3: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
181879
181877
  $s = -1; return $ifaceNil;
181880
181878
  /* } */ case 2:
181881
181879
  $r = $send(then[0], (0 >= args.$length ? ($throwRuntimeError("index out of range"), undefined) : args.$array[args.$offset + 0])); /* */ $s = 4; case 4: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
@@ -181889,19 +181887,17 @@ $packages["github.com/supraio/client-daemon/pkg/jshelper"] = (function() {
181889
181887
  catch$1[0] = $chanNil;
181890
181888
  }; })(catch$1, then), []]);
181891
181889
  catchFunc = $clone(js.FuncOf((function(catch$1, then) { return function $b(this$1, args) {
181892
- var {_arg, _r, args, this$1, $s, $r, $c} = $restore(this, {this$1, args});
181890
+ var {args, this$1, $s, $r, $c} = $restore(this, {this$1, args});
181893
181891
  /* */ $s = $s || 0; s: while (true) { switch ($s) { case 0:
181894
181892
  /* */ if (catch$1[0] === $chanNil) { $s = 1; continue; }
181895
181893
  /* */ $s = 2; continue;
181896
181894
  /* if (catch$1[0] === $chanNil) { */ case 1:
181897
- _r = GetError((0 >= args.$length ? ($throwRuntimeError("index out of range"), undefined) : args.$array[args.$offset + 0])); /* */ $s = 3; case 3: if($c) { $c = false; _r = _r.$blk(); } if (_r && _r.$blk !== undefined) { break s; }
181898
- _arg = _r;
181899
- $r = errs.Print("Promise already resolved cannot be rejected", _arg); /* */ $s = 4; case 4: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
181895
+ $r = log.Println(new sliceType([new $String("Promise already resolved cannot be rejected")])); /* */ $s = 3; case 3: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
181900
181896
  $s = -1; return $ifaceNil;
181901
181897
  /* } */ case 2:
181902
- $r = $send(catch$1[0], (0 >= args.$length ? ($throwRuntimeError("index out of range"), undefined) : args.$array[args.$offset + 0])); /* */ $s = 5; case 5: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
181898
+ $r = $send(catch$1[0], (0 >= args.$length ? ($throwRuntimeError("index out of range"), undefined) : args.$array[args.$offset + 0])); /* */ $s = 4; case 4: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
181903
181899
  $s = -1; return $ifaceNil;
181904
- /* */ } return; } var $f = {$blk: $b, $c: true, $r, _arg, _r, args, this$1, $s};return $f;
181900
+ /* */ } return; } var $f = {$blk: $b, $c: true, $r, args, this$1, $s};return $f;
181905
181901
  }; })(catch$1, then)), js.Func);
181906
181902
  $deferred.push([$methodVal($clone(catchFunc, js.Func), "Release"), []]);
181907
181903
  _r = $clone(awaitable, js.Value).Call("then", new sliceType([new thenFunc.constructor.elem(thenFunc)])); /* */ $s = 1; case 1: if($c) { $c = false; _r = _r.$blk(); } if (_r && _r.$blk !== undefined) { break s; }
@@ -181928,9 +181924,8 @@ $packages["github.com/supraio/client-daemon/pkg/jshelper"] = (function() {
181928
181924
  $init = function() {
181929
181925
  $pkg.$init = function() {};
181930
181926
  /* */ 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:
181931
- $r = errs.$init(); /* */ $s = 1; case 1: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
181932
- $r = log.$init(); /* */ $s = 2; case 2: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
181933
- $r = js.$init(); /* */ $s = 3; case 3: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
181927
+ $r = log.$init(); /* */ $s = 1; case 1: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
181928
+ $r = js.$init(); /* */ $s = 2; case 2: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
181934
181929
  /* */ } return; } if ($f === undefined) { $f = { $blk: $init }; } $f.$s = $s; $f.$r = $r; return $f;
181935
181930
  };
181936
181931
  $pkg.$init = $init;
@@ -182734,11 +182729,12 @@ $packages["github.com/nuberu/webgl/extensions"] = (function() {
182734
182729
  return $pkg;
182735
182730
  })();
182736
182731
  $packages["github.com/nuberu/webgl"] = (function() {
182737
- var $pkg = {}, $init, errors, fmt, extensions, types, runtime, js, RenderingContext, funcType, arrayType, sliceType, ptrType, ptrType$1, ptrType$2, ptrType$3, ptrType$4, ptrType$5, ptrType$6, sliceType$1, ptrType$7, arrayType$1, arrayType$2, arrayType$3, sliceType$2, sliceType$3, sliceType$4, sliceType$5, sliceType$6, sliceType$7, sliceType$8, sliceType$9, sliceType$10, sliceType$11, sliceType$12, sliceType$13, ptrType$8, ptrType$9, ptrType$10, ptrType$11, ptrType$12, ptrType$13, WrapContext, FromCanvas, polyfillOldVersion, TypedArrayOf;
182732
+ var $pkg = {}, $init, errors, fmt, extensions, types, reflect, runtime, js, RenderingContext, funcType, arrayType, sliceType, ptrType, ptrType$1, ptrType$2, ptrType$3, ptrType$4, ptrType$5, ptrType$6, sliceType$1, ptrType$7, arrayType$1, arrayType$2, arrayType$3, sliceType$2, sliceType$3, sliceType$4, sliceType$5, sliceType$6, sliceType$7, sliceType$8, sliceType$9, sliceType$10, sliceType$11, sliceType$12, sliceType$13, ptrType$8, ptrType$9, ptrType$10, ptrType$11, ptrType$12, ptrType$13, ptrType$14, ptrType$15, ptrType$16, ptrType$17, sliceType$14, sliceType$15, ptrType$18, ptrType$19, ptrType$20, ptrType$21, ptrType$22, ptrType$23, WrapContext, FromCanvas, polyfillOldVersion, sliceToByteSlice, TypedArrayOf;
182738
182733
  errors = $packages["errors"];
182739
182734
  fmt = $packages["fmt"];
182740
182735
  extensions = $packages["github.com/nuberu/webgl/extensions"];
182741
182736
  types = $packages["github.com/nuberu/webgl/types"];
182737
+ reflect = $packages["reflect"];
182742
182738
  runtime = $packages["runtime"];
182743
182739
  js = $packages["syscall/js"];
182744
182740
  RenderingContext = $pkg.RenderingContext = $newType(0, $kindStruct, "webgl.RenderingContext", true, "github.com/nuberu/webgl", true, function(loaded_, js_, version_) {
@@ -182777,15 +182773,27 @@ $packages["github.com/nuberu/webgl"] = (function() {
182777
182773
  sliceType$8 = $sliceType($Int8);
182778
182774
  sliceType$9 = $sliceType($Int16);
182779
182775
  sliceType$10 = $sliceType($Int32);
182780
- sliceType$11 = $sliceType($Float64);
182781
- sliceType$12 = $sliceType($Int);
182782
- sliceType$13 = $sliceType($Uint);
182783
- ptrType$8 = $ptrType(types.VertexArray);
182784
- ptrType$9 = $ptrType(types.ActiveInfo);
182785
- ptrType$10 = $ptrType(extensions.Extension);
182786
- ptrType$11 = $ptrType(extensions.LoseContext);
182787
- ptrType$12 = $ptrType(types.ShaderPrecisionFormat);
182788
- ptrType$13 = $ptrType(types.UniformLocation);
182776
+ sliceType$11 = $sliceType($Int64);
182777
+ sliceType$12 = $sliceType($Uint64);
182778
+ sliceType$13 = $sliceType($Float64);
182779
+ ptrType$8 = $ptrType(reflect.SliceHeader);
182780
+ ptrType$9 = $ptrType(sliceType$8);
182781
+ ptrType$10 = $ptrType(sliceType$9);
182782
+ ptrType$11 = $ptrType(sliceType$10);
182783
+ ptrType$12 = $ptrType(sliceType$11);
182784
+ ptrType$13 = $ptrType(sliceType$5);
182785
+ ptrType$14 = $ptrType(sliceType$6);
182786
+ ptrType$15 = $ptrType(sliceType$12);
182787
+ ptrType$16 = $ptrType(sliceType$7);
182788
+ ptrType$17 = $ptrType(sliceType$13);
182789
+ sliceType$14 = $sliceType($Int);
182790
+ sliceType$15 = $sliceType($Uint);
182791
+ ptrType$18 = $ptrType(types.VertexArray);
182792
+ ptrType$19 = $ptrType(types.ActiveInfo);
182793
+ ptrType$20 = $ptrType(extensions.Extension);
182794
+ ptrType$21 = $ptrType(extensions.LoseContext);
182795
+ ptrType$22 = $ptrType(types.ShaderPrecisionFormat);
182796
+ ptrType$23 = $ptrType(types.UniformLocation);
182789
182797
  WrapContext = function(jsContext) {
182790
182798
  var context, jsContext;
182791
182799
  context = new RenderingContext.ptr(true, $clone(jsContext, js.Value), 0);
@@ -186583,10 +186591,96 @@ $packages["github.com/nuberu/webgl"] = (function() {
186583
186591
  /* */ } return; } var $f = {$blk: RenderingContext.ptr.prototype.Viewport, $c: true, $r, _r, c, height, width, x, y, $s};return $f;
186584
186592
  };
186585
186593
  RenderingContext.prototype.Viewport = function(x, y, width, height) { return this.$val.Viewport(x, y, width, height); };
186594
+ sliceToByteSlice = function(s) {
186595
+ var {_r, _ref, h, h$1, h$2, h$3, h$4, h$5, h$6, h$7, h$8, s, s$1, s$10, s$11, s$2, s$3, s$4, s$5, s$6, s$7, s$8, s$9, $s, $r, $c} = $restore(this, {s});
186596
+ /* */ $s = $s || 0; s: while (true) { switch ($s) { case 0:
186597
+ s$1 = [s$1];
186598
+ s$2 = [s$2];
186599
+ s$3 = [s$3];
186600
+ s$4 = [s$4];
186601
+ s$5 = [s$5];
186602
+ s$6 = [s$6];
186603
+ s$7 = [s$7];
186604
+ s$8 = [s$8];
186605
+ s$9 = [s$9];
186606
+ _ref = s;
186607
+ /* */ if ($assertType(_ref, sliceType$8, true)[1]) { $s = 1; continue; }
186608
+ /* */ if ($assertType(_ref, sliceType$9, true)[1]) { $s = 2; continue; }
186609
+ /* */ if ($assertType(_ref, sliceType$10, true)[1]) { $s = 3; continue; }
186610
+ /* */ if ($assertType(_ref, sliceType$11, true)[1]) { $s = 4; continue; }
186611
+ /* */ if ($assertType(_ref, sliceType$4, true)[1]) { $s = 5; continue; }
186612
+ /* */ if ($assertType(_ref, sliceType$5, true)[1]) { $s = 6; continue; }
186613
+ /* */ if ($assertType(_ref, sliceType$6, true)[1]) { $s = 7; continue; }
186614
+ /* */ if ($assertType(_ref, sliceType$12, true)[1]) { $s = 8; continue; }
186615
+ /* */ if ($assertType(_ref, sliceType$7, true)[1]) { $s = 9; continue; }
186616
+ /* */ if ($assertType(_ref, sliceType$13, true)[1]) { $s = 10; continue; }
186617
+ /* */ $s = 11; continue;
186618
+ /* if ($assertType(_ref, sliceType$8, true)[1]) { */ case 1:
186619
+ s$1[0] = _ref.$val;
186620
+ h = ($pointerOfStructConversion(((s$1.$ptr || (s$1.$ptr = new ptrType$9(function() { return this.$target[0]; }, function($v) { this.$target[0] = $v; }, s$1)))), ptrType$8));
186621
+ $s = -1; return ((h)).$get();
186622
+ /* } else if ($assertType(_ref, sliceType$9, true)[1]) { */ case 2:
186623
+ s$2[0] = _ref.$val;
186624
+ h$1 = ($pointerOfStructConversion(((s$2.$ptr || (s$2.$ptr = new ptrType$10(function() { return this.$target[0]; }, function($v) { this.$target[0] = $v; }, s$2)))), ptrType$8));
186625
+ h$1.Len = $imul(h$1.Len, (2));
186626
+ h$1.Cap = $imul(h$1.Cap, (2));
186627
+ $s = -1; return ((h$1)).$get();
186628
+ /* } else if ($assertType(_ref, sliceType$10, true)[1]) { */ case 3:
186629
+ s$3[0] = _ref.$val;
186630
+ h$2 = ($pointerOfStructConversion(((s$3.$ptr || (s$3.$ptr = new ptrType$11(function() { return this.$target[0]; }, function($v) { this.$target[0] = $v; }, s$3)))), ptrType$8));
186631
+ h$2.Len = $imul(h$2.Len, (4));
186632
+ h$2.Cap = $imul(h$2.Cap, (4));
186633
+ $s = -1; return ((h$2)).$get();
186634
+ /* } else if ($assertType(_ref, sliceType$11, true)[1]) { */ case 4:
186635
+ s$4[0] = _ref.$val;
186636
+ h$3 = ($pointerOfStructConversion(((s$4.$ptr || (s$4.$ptr = new ptrType$12(function() { return this.$target[0]; }, function($v) { this.$target[0] = $v; }, s$4)))), ptrType$8));
186637
+ h$3.Len = $imul(h$3.Len, (8));
186638
+ h$3.Cap = $imul(h$3.Cap, (8));
186639
+ $s = -1; return ((h$3)).$get();
186640
+ /* } else if ($assertType(_ref, sliceType$4, true)[1]) { */ case 5:
186641
+ s$10 = _ref.$val;
186642
+ $s = -1; return s$10;
186643
+ /* } else if ($assertType(_ref, sliceType$5, true)[1]) { */ case 6:
186644
+ s$5[0] = _ref.$val;
186645
+ h$4 = ($pointerOfStructConversion(((s$5.$ptr || (s$5.$ptr = new ptrType$13(function() { return this.$target[0]; }, function($v) { this.$target[0] = $v; }, s$5)))), ptrType$8));
186646
+ h$4.Len = $imul(h$4.Len, (2));
186647
+ h$4.Cap = $imul(h$4.Cap, (2));
186648
+ $s = -1; return ((h$4)).$get();
186649
+ /* } else if ($assertType(_ref, sliceType$6, true)[1]) { */ case 7:
186650
+ s$6[0] = _ref.$val;
186651
+ h$5 = ($pointerOfStructConversion(((s$6.$ptr || (s$6.$ptr = new ptrType$14(function() { return this.$target[0]; }, function($v) { this.$target[0] = $v; }, s$6)))), ptrType$8));
186652
+ h$5.Len = $imul(h$5.Len, (4));
186653
+ h$5.Cap = $imul(h$5.Cap, (4));
186654
+ $s = -1; return ((h$5)).$get();
186655
+ /* } else if ($assertType(_ref, sliceType$12, true)[1]) { */ case 8:
186656
+ s$7[0] = _ref.$val;
186657
+ h$6 = ($pointerOfStructConversion(((s$7.$ptr || (s$7.$ptr = new ptrType$15(function() { return this.$target[0]; }, function($v) { this.$target[0] = $v; }, s$7)))), ptrType$8));
186658
+ h$6.Len = $imul(h$6.Len, (8));
186659
+ h$6.Cap = $imul(h$6.Cap, (8));
186660
+ $s = -1; return ((h$6)).$get();
186661
+ /* } else if ($assertType(_ref, sliceType$7, true)[1]) { */ case 9:
186662
+ s$8[0] = _ref.$val;
186663
+ h$7 = ($pointerOfStructConversion(((s$8.$ptr || (s$8.$ptr = new ptrType$16(function() { return this.$target[0]; }, function($v) { this.$target[0] = $v; }, s$8)))), ptrType$8));
186664
+ h$7.Len = $imul(h$7.Len, (4));
186665
+ h$7.Cap = $imul(h$7.Cap, (4));
186666
+ $s = -1; return ((h$7)).$get();
186667
+ /* } else if ($assertType(_ref, sliceType$13, true)[1]) { */ case 10:
186668
+ s$9[0] = _ref.$val;
186669
+ h$8 = ($pointerOfStructConversion(((s$9.$ptr || (s$9.$ptr = new ptrType$17(function() { return this.$target[0]; }, function($v) { this.$target[0] = $v; }, s$9)))), ptrType$8));
186670
+ h$8.Len = $imul(h$8.Len, (8));
186671
+ h$8.Cap = $imul(h$8.Cap, (8));
186672
+ $s = -1; return ((h$8)).$get();
186673
+ /* } else { */ case 11:
186674
+ s$11 = _ref;
186675
+ _r = fmt.Sprintf("jsutil: unexpected value at sliceToBytesSlice: %T", new sliceType([s$11])); /* */ $s = 13; case 13: if($c) { $c = false; _r = _r.$blk(); } if (_r && _r.$blk !== undefined) { break s; }
186676
+ $panic(new $String(_r));
186677
+ /* } */ case 12:
186678
+ $s = -1; return sliceType$4.nil;
186679
+ /* */ } return; } var $f = {$blk: sliceToByteSlice, $c: true, $r, _r, _ref, h, h$1, h$2, h$3, h$4, h$5, h$6, h$7, h$8, s, s$1, s$10, s$11, s$2, s$3, s$4, s$5, s$6, s$7, s$8, s$9, $s};return $f;
186680
+ };
186586
186681
  TypedArrayOf = function(s) {
186587
- var {_i, _i$1, _i$2, _i$3, _i$4, _i$5, _i$6, _r, _r$1, _r$2, _r$3, _r$4, _r$5, _r$6, _r$7, _r$8, _ref, _ref$1, _ref$2, _ref$3, _ref$4, _ref$5, _ref$6, _ref$7, i, i$1, i$2, i$3, i$4, i$5, i$6, result, s, s$1, s$2, s$3, s$4, s$5, s$6, s$7, s$8, s$9, v, v$1, v$2, v$3, v$4, v$5, v$6, $s, $r, $c} = $restore(this, {s});
186682
+ var {$24r, $24r$1, $24r$2, $24r$3, $24r$4, $24r$5, $24r$6, _arg, _arg$1, _arg$10, _arg$11, _arg$12, _arg$13, _arg$2, _arg$3, _arg$4, _arg$5, _arg$6, _arg$7, _arg$8, _arg$9, _q, _q$1, _q$2, _q$3, _q$4, _q$5, _r, _r$1, _r$10, _r$11, _r$12, _r$13, _r$14, _r$15, _r$16, _r$17, _r$18, _r$19, _r$2, _r$20, _r$21, _r$22, _r$23, _r$24, _r$25, _r$26, _r$27, _r$28, _r$29, _r$3, _r$4, _r$5, _r$6, _r$7, _r$8, _r$9, _ref, a, a$1, a$2, a$3, a$4, a$5, a$6, a$7, buf, buf$1, buf$2, buf$3, buf$4, buf$5, buf$6, s, s$1, s$2, s$3, s$4, s$5, s$6, s$7, s$8, s$9, x, x$1, x$2, x$3, x$4, x$5, x$6, x$7, $s, $r, $c} = $restore(this, {s});
186588
186683
  /* */ $s = $s || 0; s: while (true) { switch ($s) { case 0:
186589
- result = new js.Value.ptr(null, false, arrayType.zero());
186590
186684
  _ref = s;
186591
186685
  /* */ if ($assertType(_ref, sliceType$8, true)[1]) { $s = 1; continue; }
186592
186686
  /* */ if ($assertType(_ref, sliceType$9, true)[1]) { $s = 2; continue; }
@@ -186595,123 +186689,123 @@ $packages["github.com/nuberu/webgl"] = (function() {
186595
186689
  /* */ if ($assertType(_ref, sliceType$5, true)[1]) { $s = 5; continue; }
186596
186690
  /* */ if ($assertType(_ref, sliceType$6, true)[1]) { $s = 6; continue; }
186597
186691
  /* */ if ($assertType(_ref, sliceType$7, true)[1]) { $s = 7; continue; }
186598
- /* */ if ($assertType(_ref, sliceType$11, true)[1]) { $s = 8; continue; }
186692
+ /* */ if ($assertType(_ref, sliceType$13, true)[1]) { $s = 8; continue; }
186599
186693
  /* */ $s = 9; continue;
186600
186694
  /* if ($assertType(_ref, sliceType$8, true)[1]) { */ case 1:
186601
186695
  s$1 = _ref.$val;
186602
- _r = $clone($clone(js.Global(), js.Value).Get("Int8Array"), js.Value).New(new sliceType([new $Int(s$1.$length)])); /* */ $s = 11; case 11: if($c) { $c = false; _r = _r.$blk(); } if (_r && _r.$blk !== undefined) { break s; }
186603
- js.Value.copy(result, _r);
186604
- _ref$1 = s$1;
186605
- _i = 0;
186606
- while (true) {
186607
- if (!(_i < _ref$1.$length)) { break; }
186608
- i = _i;
186609
- v = ((_i < 0 || _i >= _ref$1.$length) ? ($throwRuntimeError("index out of range"), undefined) : _ref$1.$array[_ref$1.$offset + _i]);
186610
- $clone(result, js.Value).SetIndex(i, new $Int8(v));
186611
- _i++;
186612
- }
186613
- $s = 10; continue;
186696
+ _r = $clone($clone(js.Global(), js.Value).Get("Uint8Array"), js.Value).New(new sliceType([new $Int(s$1.$length)])); /* */ $s = 11; case 11: if($c) { $c = false; _r = _r.$blk(); } if (_r && _r.$blk !== undefined) { break s; }
186697
+ a = $clone(_r, js.Value);
186698
+ _arg = $clone(a, js.Value);
186699
+ _r$1 = sliceToByteSlice(s$1); /* */ $s = 12; case 12: if($c) { $c = false; _r$1 = _r$1.$blk(); } if (_r$1 && _r$1.$blk !== undefined) { break s; }
186700
+ _arg$1 = _r$1;
186701
+ _r$2 = js.CopyBytesToJS(_arg, _arg$1); /* */ $s = 13; case 13: if($c) { $c = false; _r$2 = _r$2.$blk(); } if (_r$2 && _r$2.$blk !== undefined) { break s; }
186702
+ _r$2;
186703
+ runtime.KeepAlive(s$1);
186704
+ buf = $clone($clone(a, js.Value).Get("buffer"), js.Value);
186705
+ _r$3 = $clone($clone(js.Global(), js.Value).Get("Int8Array"), js.Value).New(new sliceType([new buf.constructor.elem(buf), (x = $clone(a, js.Value).Get("byteOffset"), new x.constructor.elem(x)), (x$1 = $clone(a, js.Value).Get("byteLength"), new x$1.constructor.elem(x$1))])); /* */ $s = 14; case 14: if($c) { $c = false; _r$3 = _r$3.$blk(); } if (_r$3 && _r$3.$blk !== undefined) { break s; }
186706
+ $24r = _r$3;
186707
+ $s = 15; case 15: return $24r;
186614
186708
  /* } else if ($assertType(_ref, sliceType$9, true)[1]) { */ case 2:
186615
186709
  s$2 = _ref.$val;
186616
- _r$1 = $clone($clone(js.Global(), js.Value).Get("Int16Array"), js.Value).New(new sliceType([new $Int(s$2.$length)])); /* */ $s = 12; case 12: if($c) { $c = false; _r$1 = _r$1.$blk(); } if (_r$1 && _r$1.$blk !== undefined) { break s; }
186617
- js.Value.copy(result, _r$1);
186618
- _ref$2 = s$2;
186619
- _i$1 = 0;
186620
- while (true) {
186621
- if (!(_i$1 < _ref$2.$length)) { break; }
186622
- i$1 = _i$1;
186623
- v$1 = ((_i$1 < 0 || _i$1 >= _ref$2.$length) ? ($throwRuntimeError("index out of range"), undefined) : _ref$2.$array[_ref$2.$offset + _i$1]);
186624
- $clone(result, js.Value).SetIndex(i$1, new $Int16(v$1));
186625
- _i$1++;
186626
- }
186627
- $s = 10; continue;
186710
+ _r$4 = $clone($clone(js.Global(), js.Value).Get("Uint8Array"), js.Value).New(new sliceType([new $Int(($imul(s$2.$length, 2)))])); /* */ $s = 16; case 16: if($c) { $c = false; _r$4 = _r$4.$blk(); } if (_r$4 && _r$4.$blk !== undefined) { break s; }
186711
+ a$1 = $clone(_r$4, js.Value);
186712
+ _arg$2 = $clone(a$1, js.Value);
186713
+ _r$5 = sliceToByteSlice(s$2); /* */ $s = 17; case 17: if($c) { $c = false; _r$5 = _r$5.$blk(); } if (_r$5 && _r$5.$blk !== undefined) { break s; }
186714
+ _arg$3 = _r$5;
186715
+ _r$6 = js.CopyBytesToJS(_arg$2, _arg$3); /* */ $s = 18; case 18: if($c) { $c = false; _r$6 = _r$6.$blk(); } if (_r$6 && _r$6.$blk !== undefined) { break s; }
186716
+ _r$6;
186717
+ runtime.KeepAlive(s$2);
186718
+ buf$1 = $clone($clone(a$1, js.Value).Get("buffer"), js.Value);
186719
+ _r$7 = $clone($clone(js.Global(), js.Value).Get("Int16Array"), js.Value).New(new sliceType([new buf$1.constructor.elem(buf$1), (x$2 = $clone(a$1, js.Value).Get("byteOffset"), new x$2.constructor.elem(x$2)), new $Int((_q = $clone($clone(a$1, js.Value).Get("byteLength"), js.Value).Int() / 2, (_q === _q && _q !== 1/0 && _q !== -1/0) ? _q >> 0 : $throwRuntimeError("integer divide by zero")))])); /* */ $s = 19; case 19: if($c) { $c = false; _r$7 = _r$7.$blk(); } if (_r$7 && _r$7.$blk !== undefined) { break s; }
186720
+ $24r$1 = _r$7;
186721
+ $s = 20; case 20: return $24r$1;
186628
186722
  /* } else if ($assertType(_ref, sliceType$10, true)[1]) { */ case 3:
186629
186723
  s$3 = _ref.$val;
186630
- _r$2 = $clone($clone(js.Global(), js.Value).Get("Int32Array"), js.Value).New(new sliceType([new $Int(s$3.$length)])); /* */ $s = 13; case 13: if($c) { $c = false; _r$2 = _r$2.$blk(); } if (_r$2 && _r$2.$blk !== undefined) { break s; }
186631
- js.Value.copy(result, _r$2);
186632
- _ref$3 = s$3;
186633
- _i$2 = 0;
186634
- while (true) {
186635
- if (!(_i$2 < _ref$3.$length)) { break; }
186636
- i$2 = _i$2;
186637
- v$2 = ((_i$2 < 0 || _i$2 >= _ref$3.$length) ? ($throwRuntimeError("index out of range"), undefined) : _ref$3.$array[_ref$3.$offset + _i$2]);
186638
- $clone(result, js.Value).SetIndex(i$2, new $Int32(v$2));
186639
- _i$2++;
186640
- }
186641
- $s = 10; continue;
186724
+ _r$8 = $clone($clone(js.Global(), js.Value).Get("Uint8Array"), js.Value).New(new sliceType([new $Int(($imul(s$3.$length, 4)))])); /* */ $s = 21; case 21: if($c) { $c = false; _r$8 = _r$8.$blk(); } if (_r$8 && _r$8.$blk !== undefined) { break s; }
186725
+ a$2 = $clone(_r$8, js.Value);
186726
+ _arg$4 = $clone(a$2, js.Value);
186727
+ _r$9 = sliceToByteSlice(s$3); /* */ $s = 22; case 22: if($c) { $c = false; _r$9 = _r$9.$blk(); } if (_r$9 && _r$9.$blk !== undefined) { break s; }
186728
+ _arg$5 = _r$9;
186729
+ _r$10 = js.CopyBytesToJS(_arg$4, _arg$5); /* */ $s = 23; case 23: if($c) { $c = false; _r$10 = _r$10.$blk(); } if (_r$10 && _r$10.$blk !== undefined) { break s; }
186730
+ _r$10;
186731
+ runtime.KeepAlive(s$3);
186732
+ buf$2 = $clone($clone(a$2, js.Value).Get("buffer"), js.Value);
186733
+ _r$11 = $clone($clone(js.Global(), js.Value).Get("Int32Array"), js.Value).New(new sliceType([new buf$2.constructor.elem(buf$2), (x$3 = $clone(a$2, js.Value).Get("byteOffset"), new x$3.constructor.elem(x$3)), new $Int((_q$1 = $clone($clone(a$2, js.Value).Get("byteLength"), js.Value).Int() / 4, (_q$1 === _q$1 && _q$1 !== 1/0 && _q$1 !== -1/0) ? _q$1 >> 0 : $throwRuntimeError("integer divide by zero")))])); /* */ $s = 24; case 24: if($c) { $c = false; _r$11 = _r$11.$blk(); } if (_r$11 && _r$11.$blk !== undefined) { break s; }
186734
+ $24r$2 = _r$11;
186735
+ $s = 25; case 25: return $24r$2;
186642
186736
  /* } else if ($assertType(_ref, sliceType$4, true)[1]) { */ case 4:
186643
186737
  s$4 = _ref.$val;
186644
- _r$3 = $clone($clone(js.Global(), js.Value).Get("Uint8Array"), js.Value).New(new sliceType([new $Int(s$4.$length)])); /* */ $s = 14; case 14: if($c) { $c = false; _r$3 = _r$3.$blk(); } if (_r$3 && _r$3.$blk !== undefined) { break s; }
186645
- js.Value.copy(result, _r$3);
186646
- js.CopyBytesToJS($clone(result, js.Value), s$4);
186738
+ _r$12 = $clone($clone(js.Global(), js.Value).Get("Uint8Array"), js.Value).New(new sliceType([new $Int(s$4.$length)])); /* */ $s = 26; case 26: if($c) { $c = false; _r$12 = _r$12.$blk(); } if (_r$12 && _r$12.$blk !== undefined) { break s; }
186739
+ a$3 = $clone(_r$12, js.Value);
186740
+ js.CopyBytesToJS($clone(a$3, js.Value), s$4);
186647
186741
  runtime.KeepAlive(s$4);
186648
- $s = 10; continue;
186742
+ $s = -1; return a$3;
186649
186743
  /* } else if ($assertType(_ref, sliceType$5, true)[1]) { */ case 5:
186650
186744
  s$5 = _ref.$val;
186651
- _r$4 = $clone($clone(js.Global(), js.Value).Get("Uint16Array"), js.Value).New(new sliceType([new $Int(s$5.$length)])); /* */ $s = 15; case 15: if($c) { $c = false; _r$4 = _r$4.$blk(); } if (_r$4 && _r$4.$blk !== undefined) { break s; }
186652
- js.Value.copy(result, _r$4);
186653
- _ref$4 = s$5;
186654
- _i$3 = 0;
186655
- while (true) {
186656
- if (!(_i$3 < _ref$4.$length)) { break; }
186657
- i$3 = _i$3;
186658
- v$3 = ((_i$3 < 0 || _i$3 >= _ref$4.$length) ? ($throwRuntimeError("index out of range"), undefined) : _ref$4.$array[_ref$4.$offset + _i$3]);
186659
- $clone(result, js.Value).SetIndex(i$3, new $Uint16(v$3));
186660
- _i$3++;
186661
- }
186662
- $s = 10; continue;
186745
+ _r$13 = $clone($clone(js.Global(), js.Value).Get("Uint8Array"), js.Value).New(new sliceType([new $Int(($imul(s$5.$length, 2)))])); /* */ $s = 27; case 27: if($c) { $c = false; _r$13 = _r$13.$blk(); } if (_r$13 && _r$13.$blk !== undefined) { break s; }
186746
+ a$4 = $clone(_r$13, js.Value);
186747
+ _arg$6 = $clone(a$4, js.Value);
186748
+ _r$14 = sliceToByteSlice(s$5); /* */ $s = 28; case 28: if($c) { $c = false; _r$14 = _r$14.$blk(); } if (_r$14 && _r$14.$blk !== undefined) { break s; }
186749
+ _arg$7 = _r$14;
186750
+ _r$15 = js.CopyBytesToJS(_arg$6, _arg$7); /* */ $s = 29; case 29: if($c) { $c = false; _r$15 = _r$15.$blk(); } if (_r$15 && _r$15.$blk !== undefined) { break s; }
186751
+ _r$15;
186752
+ runtime.KeepAlive(s$5);
186753
+ buf$3 = $clone($clone(a$4, js.Value).Get("buffer"), js.Value);
186754
+ _r$16 = $clone($clone(js.Global(), js.Value).Get("Uint16Array"), js.Value).New(new sliceType([new buf$3.constructor.elem(buf$3), (x$4 = $clone(a$4, js.Value).Get("byteOffset"), new x$4.constructor.elem(x$4)), new $Int((_q$2 = $clone($clone(a$4, js.Value).Get("byteLength"), js.Value).Int() / 2, (_q$2 === _q$2 && _q$2 !== 1/0 && _q$2 !== -1/0) ? _q$2 >> 0 : $throwRuntimeError("integer divide by zero")))])); /* */ $s = 30; case 30: if($c) { $c = false; _r$16 = _r$16.$blk(); } if (_r$16 && _r$16.$blk !== undefined) { break s; }
186755
+ $24r$3 = _r$16;
186756
+ $s = 31; case 31: return $24r$3;
186663
186757
  /* } else if ($assertType(_ref, sliceType$6, true)[1]) { */ case 6:
186664
186758
  s$6 = _ref.$val;
186665
- _r$5 = $clone($clone(js.Global(), js.Value).Get("Uint32Array"), js.Value).New(new sliceType([new $Int(s$6.$length)])); /* */ $s = 16; case 16: if($c) { $c = false; _r$5 = _r$5.$blk(); } if (_r$5 && _r$5.$blk !== undefined) { break s; }
186666
- js.Value.copy(result, _r$5);
186667
- _ref$5 = s$6;
186668
- _i$4 = 0;
186669
- while (true) {
186670
- if (!(_i$4 < _ref$5.$length)) { break; }
186671
- i$4 = _i$4;
186672
- v$4 = ((_i$4 < 0 || _i$4 >= _ref$5.$length) ? ($throwRuntimeError("index out of range"), undefined) : _ref$5.$array[_ref$5.$offset + _i$4]);
186673
- $clone(result, js.Value).SetIndex(i$4, new $Uint32(v$4));
186674
- _i$4++;
186675
- }
186676
- $s = 10; continue;
186759
+ _r$17 = $clone($clone(js.Global(), js.Value).Get("Uint8Array"), js.Value).New(new sliceType([new $Int(($imul(s$6.$length, 4)))])); /* */ $s = 32; case 32: if($c) { $c = false; _r$17 = _r$17.$blk(); } if (_r$17 && _r$17.$blk !== undefined) { break s; }
186760
+ a$5 = $clone(_r$17, js.Value);
186761
+ _arg$8 = $clone(a$5, js.Value);
186762
+ _r$18 = sliceToByteSlice(s$6); /* */ $s = 33; case 33: if($c) { $c = false; _r$18 = _r$18.$blk(); } if (_r$18 && _r$18.$blk !== undefined) { break s; }
186763
+ _arg$9 = _r$18;
186764
+ _r$19 = js.CopyBytesToJS(_arg$8, _arg$9); /* */ $s = 34; case 34: if($c) { $c = false; _r$19 = _r$19.$blk(); } if (_r$19 && _r$19.$blk !== undefined) { break s; }
186765
+ _r$19;
186766
+ runtime.KeepAlive(s$6);
186767
+ buf$4 = $clone($clone(a$5, js.Value).Get("buffer"), js.Value);
186768
+ _r$20 = $clone($clone(js.Global(), js.Value).Get("Uint32Array"), js.Value).New(new sliceType([new buf$4.constructor.elem(buf$4), (x$5 = $clone(a$5, js.Value).Get("byteOffset"), new x$5.constructor.elem(x$5)), new $Int((_q$3 = $clone($clone(a$5, js.Value).Get("byteLength"), js.Value).Int() / 4, (_q$3 === _q$3 && _q$3 !== 1/0 && _q$3 !== -1/0) ? _q$3 >> 0 : $throwRuntimeError("integer divide by zero")))])); /* */ $s = 35; case 35: if($c) { $c = false; _r$20 = _r$20.$blk(); } if (_r$20 && _r$20.$blk !== undefined) { break s; }
186769
+ $24r$4 = _r$20;
186770
+ $s = 36; case 36: return $24r$4;
186677
186771
  /* } else if ($assertType(_ref, sliceType$7, true)[1]) { */ case 7:
186678
186772
  s$7 = _ref.$val;
186679
- _r$6 = $clone($clone(js.Global(), js.Value).Get("Float32Array"), js.Value).New(new sliceType([new $Int(s$7.$length)])); /* */ $s = 17; case 17: if($c) { $c = false; _r$6 = _r$6.$blk(); } if (_r$6 && _r$6.$blk !== undefined) { break s; }
186680
- js.Value.copy(result, _r$6);
186681
- _ref$6 = s$7;
186682
- _i$5 = 0;
186683
- while (true) {
186684
- if (!(_i$5 < _ref$6.$length)) { break; }
186685
- i$5 = _i$5;
186686
- v$5 = ((_i$5 < 0 || _i$5 >= _ref$6.$length) ? ($throwRuntimeError("index out of range"), undefined) : _ref$6.$array[_ref$6.$offset + _i$5]);
186687
- $clone(result, js.Value).SetIndex(i$5, new $Float32(v$5));
186688
- _i$5++;
186689
- }
186690
- $s = 10; continue;
186691
- /* } else if ($assertType(_ref, sliceType$11, true)[1]) { */ case 8:
186773
+ _r$21 = $clone($clone(js.Global(), js.Value).Get("Uint8Array"), js.Value).New(new sliceType([new $Int(($imul(s$7.$length, 4)))])); /* */ $s = 37; case 37: if($c) { $c = false; _r$21 = _r$21.$blk(); } if (_r$21 && _r$21.$blk !== undefined) { break s; }
186774
+ a$6 = $clone(_r$21, js.Value);
186775
+ _arg$10 = $clone(a$6, js.Value);
186776
+ _r$22 = sliceToByteSlice(s$7); /* */ $s = 38; case 38: if($c) { $c = false; _r$22 = _r$22.$blk(); } if (_r$22 && _r$22.$blk !== undefined) { break s; }
186777
+ _arg$11 = _r$22;
186778
+ _r$23 = js.CopyBytesToJS(_arg$10, _arg$11); /* */ $s = 39; case 39: if($c) { $c = false; _r$23 = _r$23.$blk(); } if (_r$23 && _r$23.$blk !== undefined) { break s; }
186779
+ _r$23;
186780
+ runtime.KeepAlive(s$7);
186781
+ buf$5 = $clone($clone(a$6, js.Value).Get("buffer"), js.Value);
186782
+ _r$24 = $clone($clone(js.Global(), js.Value).Get("Float32Array"), js.Value).New(new sliceType([new buf$5.constructor.elem(buf$5), (x$6 = $clone(a$6, js.Value).Get("byteOffset"), new x$6.constructor.elem(x$6)), new $Int((_q$4 = $clone($clone(a$6, js.Value).Get("byteLength"), js.Value).Int() / 4, (_q$4 === _q$4 && _q$4 !== 1/0 && _q$4 !== -1/0) ? _q$4 >> 0 : $throwRuntimeError("integer divide by zero")))])); /* */ $s = 40; case 40: if($c) { $c = false; _r$24 = _r$24.$blk(); } if (_r$24 && _r$24.$blk !== undefined) { break s; }
186783
+ $24r$5 = _r$24;
186784
+ $s = 41; case 41: return $24r$5;
186785
+ /* } else if ($assertType(_ref, sliceType$13, true)[1]) { */ case 8:
186692
186786
  s$8 = _ref.$val;
186693
- _r$7 = $clone($clone(js.Global(), js.Value).Get("Float64Array"), js.Value).New(new sliceType([new $Int(s$8.$length)])); /* */ $s = 18; case 18: if($c) { $c = false; _r$7 = _r$7.$blk(); } if (_r$7 && _r$7.$blk !== undefined) { break s; }
186694
- js.Value.copy(result, _r$7);
186695
- _ref$7 = s$8;
186696
- _i$6 = 0;
186697
- while (true) {
186698
- if (!(_i$6 < _ref$7.$length)) { break; }
186699
- i$6 = _i$6;
186700
- v$6 = ((_i$6 < 0 || _i$6 >= _ref$7.$length) ? ($throwRuntimeError("index out of range"), undefined) : _ref$7.$array[_ref$7.$offset + _i$6]);
186701
- $clone(result, js.Value).SetIndex(i$6, new $Float64(v$6));
186702
- _i$6++;
186703
- }
186704
- $s = 10; continue;
186787
+ _r$25 = $clone($clone(js.Global(), js.Value).Get("Uint8Array"), js.Value).New(new sliceType([new $Int(($imul(s$8.$length, 8)))])); /* */ $s = 42; case 42: if($c) { $c = false; _r$25 = _r$25.$blk(); } if (_r$25 && _r$25.$blk !== undefined) { break s; }
186788
+ a$7 = $clone(_r$25, js.Value);
186789
+ _arg$12 = $clone(a$7, js.Value);
186790
+ _r$26 = sliceToByteSlice(s$8); /* */ $s = 43; case 43: if($c) { $c = false; _r$26 = _r$26.$blk(); } if (_r$26 && _r$26.$blk !== undefined) { break s; }
186791
+ _arg$13 = _r$26;
186792
+ _r$27 = js.CopyBytesToJS(_arg$12, _arg$13); /* */ $s = 44; case 44: if($c) { $c = false; _r$27 = _r$27.$blk(); } if (_r$27 && _r$27.$blk !== undefined) { break s; }
186793
+ _r$27;
186794
+ runtime.KeepAlive(s$8);
186795
+ buf$6 = $clone($clone(a$7, js.Value).Get("buffer"), js.Value);
186796
+ _r$28 = $clone($clone(js.Global(), js.Value).Get("Float64Array"), js.Value).New(new sliceType([new buf$6.constructor.elem(buf$6), (x$7 = $clone(a$7, js.Value).Get("byteOffset"), new x$7.constructor.elem(x$7)), new $Int((_q$5 = $clone($clone(a$7, js.Value).Get("byteLength"), js.Value).Int() / 8, (_q$5 === _q$5 && _q$5 !== 1/0 && _q$5 !== -1/0) ? _q$5 >> 0 : $throwRuntimeError("integer divide by zero")))])); /* */ $s = 45; case 45: if($c) { $c = false; _r$28 = _r$28.$blk(); } if (_r$28 && _r$28.$blk !== undefined) { break s; }
186797
+ $24r$6 = _r$28;
186798
+ $s = 46; case 46: return $24r$6;
186705
186799
  /* } else { */ case 9:
186706
186800
  s$9 = _ref;
186707
- _r$8 = fmt.Sprintf("jsutil: unexpected value at SliceToTypedArray: %T", new sliceType([s$9])); /* */ $s = 19; case 19: if($c) { $c = false; _r$8 = _r$8.$blk(); } if (_r$8 && _r$8.$blk !== undefined) { break s; }
186708
- $panic(new $String(_r$8));
186801
+ _r$29 = fmt.Sprintf("jsutil: unexpected value at SliceToTypedArray: %T", new sliceType([s$9])); /* */ $s = 47; case 47: if($c) { $c = false; _r$29 = _r$29.$blk(); } if (_r$29 && _r$29.$blk !== undefined) { break s; }
186802
+ $panic(new $String(_r$29));
186709
186803
  /* } */ case 10:
186710
- $s = -1; return result;
186711
- /* */ } return; } var $f = {$blk: TypedArrayOf, $c: true, $r, _i, _i$1, _i$2, _i$3, _i$4, _i$5, _i$6, _r, _r$1, _r$2, _r$3, _r$4, _r$5, _r$6, _r$7, _r$8, _ref, _ref$1, _ref$2, _ref$3, _ref$4, _ref$5, _ref$6, _ref$7, i, i$1, i$2, i$3, i$4, i$5, i$6, result, s, s$1, s$2, s$3, s$4, s$5, s$6, s$7, s$8, s$9, v, v$1, v$2, v$3, v$4, v$5, v$6, $s};return $f;
186804
+ $s = -1; return new js.Value.ptr(null, false, arrayType.zero());
186805
+ /* */ } return; } var $f = {$blk: TypedArrayOf, $c: true, $r, $24r, $24r$1, $24r$2, $24r$3, $24r$4, $24r$5, $24r$6, _arg, _arg$1, _arg$10, _arg$11, _arg$12, _arg$13, _arg$2, _arg$3, _arg$4, _arg$5, _arg$6, _arg$7, _arg$8, _arg$9, _q, _q$1, _q$2, _q$3, _q$4, _q$5, _r, _r$1, _r$10, _r$11, _r$12, _r$13, _r$14, _r$15, _r$16, _r$17, _r$18, _r$19, _r$2, _r$20, _r$21, _r$22, _r$23, _r$24, _r$25, _r$26, _r$27, _r$28, _r$29, _r$3, _r$4, _r$5, _r$6, _r$7, _r$8, _r$9, _ref, a, a$1, a$2, a$3, a$4, a$5, a$6, a$7, buf, buf$1, buf$2, buf$3, buf$4, buf$5, buf$6, s, s$1, s$2, s$3, s$4, s$5, s$6, s$7, s$8, s$9, x, x$1, x$2, x$3, x$4, x$5, x$6, x$7, $s};return $f;
186712
186806
  };
186713
186807
  $pkg.TypedArrayOf = TypedArrayOf;
186714
- ptrType.methods = [{prop: "GetJs", name: "GetJs", pkg: "", typ: $funcType([], [js.Value], false)}, {prop: "GetDrawingBufferWidth", name: "GetDrawingBufferWidth", pkg: "", typ: $funcType([], [$Int], false)}, {prop: "GetDrawingBufferHeight", name: "GetDrawingBufferHeight", pkg: "", typ: $funcType([], [$Int], false)}, {prop: "GetCanvas", name: "GetCanvas", pkg: "", typ: $funcType([], [js.Value], false)}, {prop: "ActiveTexture", name: "ActiveTexture", pkg: "", typ: $funcType([$Uint32], [], false)}, {prop: "AttachShader", name: "AttachShader", pkg: "", typ: $funcType([ptrType$1, ptrType$6], [], false)}, {prop: "BindAttribLocation", name: "BindAttribLocation", pkg: "", typ: $funcType([ptrType$1, $Int, $String], [], false)}, {prop: "BindBuffer", name: "BindBuffer", pkg: "", typ: $funcType([types.GLEnum, ptrType$2], [], false)}, {prop: "BindFrameBuffer", name: "BindFrameBuffer", pkg: "", typ: $funcType([types.GLEnum, ptrType$3], [], false)}, {prop: "BindRenderBuffer", name: "BindRenderBuffer", pkg: "", typ: $funcType([types.GLEnum, ptrType$4], [], false)}, {prop: "BindTexture", name: "BindTexture", pkg: "", typ: $funcType([types.GLEnum, ptrType$5], [], false)}, {prop: "BlendColor", name: "BlendColor", pkg: "", typ: $funcType([$Float32, $Float32, $Float32, $Float32], [], false)}, {prop: "BlendEquation", name: "BlendEquation", pkg: "", typ: $funcType([types.GLEnum], [], false)}, {prop: "BlendEquationSeparate", name: "BlendEquationSeparate", pkg: "", typ: $funcType([types.GLEnum, types.GLEnum], [], false)}, {prop: "BlendFunc", name: "BlendFunc", pkg: "", typ: $funcType([types.GLEnum, types.GLEnum], [], false)}, {prop: "BlendFuncSeparate", name: "BlendFuncSeparate", pkg: "", typ: $funcType([types.GLEnum, types.GLEnum, types.GLEnum, types.GLEnum], [], false)}, {prop: "BufferDataBySize", name: "BufferDataBySize", pkg: "", typ: $funcType([types.GLEnum, $Int, types.GLEnum], [], false)}, {prop: "BufferData", name: "BufferData", pkg: "", typ: $funcType([types.GLEnum, sliceType$7, types.GLEnum], [], false)}, {prop: "BufferDataI", name: "BufferDataI", pkg: "", typ: $funcType([types.GLEnum, sliceType$12, types.GLEnum], [], false)}, {prop: "BufferDataUI", name: "BufferDataUI", pkg: "", typ: $funcType([types.GLEnum, sliceType$6, types.GLEnum], [], false)}, {prop: "BufferDataUI16", name: "BufferDataUI16", pkg: "", typ: $funcType([types.GLEnum, sliceType$5, types.GLEnum], [], false)}, {prop: "BufferDataWithOffset", name: "BufferDataWithOffset", pkg: "", typ: $funcType([types.GLEnum, sliceType$7, types.GLEnum, $Uint, $Uint], [], false)}, {prop: "BufferDataIWithOffset", name: "BufferDataIWithOffset", pkg: "", typ: $funcType([types.GLEnum, sliceType$12, types.GLEnum, $Uint, $Uint], [], false)}, {prop: "BufferDataUIWithOffset", name: "BufferDataUIWithOffset", pkg: "", typ: $funcType([types.GLEnum, sliceType$13, types.GLEnum, $Uint, $Uint], [], false)}, {prop: "BufferSubData", name: "BufferSubData", pkg: "", typ: $funcType([types.GLEnum, $Int, sliceType$7], [], false)}, {prop: "BufferSubDataI", name: "BufferSubDataI", pkg: "", typ: $funcType([types.GLEnum, $Int, sliceType$12], [], false)}, {prop: "BufferSubDataUI", name: "BufferSubDataUI", pkg: "", typ: $funcType([types.GLEnum, $Int, sliceType$13], [], false)}, {prop: "BufferSubDataWithOffset", name: "BufferSubDataWithOffset", pkg: "", typ: $funcType([types.GLEnum, $Int, sliceType$7, $Uint, $Uint], [], false)}, {prop: "BufferSubDataIWithOffset", name: "BufferSubDataIWithOffset", pkg: "", typ: $funcType([types.GLEnum, $Int, sliceType$12, $Uint, $Uint], [], false)}, {prop: "BufferSubDataUIWithOffset", name: "BufferSubDataUIWithOffset", pkg: "", typ: $funcType([types.GLEnum, $Int, sliceType$13, $Uint, $Uint], [], false)}, {prop: "CheckFrameBufferStatus", name: "CheckFrameBufferStatus", pkg: "", typ: $funcType([types.GLEnum], [types.GLEnum], false)}, {prop: "Clear", name: "Clear", pkg: "", typ: $funcType([$Uint32], [], false)}, {prop: "ClearColor", name: "ClearColor", pkg: "", typ: $funcType([$Float32, $Float32, $Float32, $Float32], [], false)}, {prop: "ClearDepth", name: "ClearDepth", pkg: "", typ: $funcType([$Float32], [], false)}, {prop: "ClearStencil", name: "ClearStencil", pkg: "", typ: $funcType([$Int], [], false)}, {prop: "ColorMask", name: "ColorMask", pkg: "", typ: $funcType([$Float32, $Float32, $Float32, $Float32], [], false)}, {prop: "Commit", name: "Commit", pkg: "", typ: $funcType([], [], false)}, {prop: "CompileShader", name: "CompileShader", pkg: "", typ: $funcType([ptrType$6], [], false)}, {prop: "CompressedTexImage2D", name: "CompressedTexImage2D", pkg: "", typ: $funcType([types.GLEnum, $Int, types.GLEnum, $Int, $Int, $Int], [], false)}, {prop: "CompressedTexImage2DIn", name: "CompressedTexImage2DIn", pkg: "", typ: $funcType([types.GLEnum, $Int, types.GLEnum, $Int, $Int, $Int, sliceType$7], [], false)}, {prop: "CompressedTexImage2DOffset", name: "CompressedTexImage2DOffset", pkg: "", typ: $funcType([types.GLEnum, $Int, types.GLEnum, $Int, $Int, $Int, $Int, $Int], [], false)}, {prop: "CompressedTexImage2DFromOffset", name: "CompressedTexImage2DFromOffset", pkg: "", typ: $funcType([types.GLEnum, $Int, types.GLEnum, $Int, $Int, $Int, sliceType$7, $Int, $Int], [], false)}, {prop: "CompressedTexImage3DOffset", name: "CompressedTexImage3DOffset", pkg: "", typ: $funcType([types.GLEnum, $Int, types.GLEnum, $Int, $Int, $Int, $Int, $Int, $Int], [], false)}, {prop: "CompressedTexImage3DFromOffset", name: "CompressedTexImage3DFromOffset", pkg: "", typ: $funcType([types.GLEnum, $Int, types.GLEnum, $Int, $Int, $Int, $Int, sliceType$7, $Int, $Int], [], false)}, {prop: "CompressedTexSubImage2D", name: "CompressedTexSubImage2D", pkg: "", typ: $funcType([types.GLEnum, $Int, $Int, $Int, $Int, $Int, types.GLEnum], [], false)}, {prop: "CompressedTexSubImage2DIn", name: "CompressedTexSubImage2DIn", pkg: "", typ: $funcType([types.GLEnum, $Int, $Int, $Int, $Int, $Int, types.GLEnum, sliceType$7], [], false)}, {prop: "CompressedTexSubImage2DFrom", name: "CompressedTexSubImage2DFrom", pkg: "", typ: $funcType([types.GLEnum, $Int, $Int, $Int, $Int, $Int, types.GLEnum, $Int, $Int], [], false)}, {prop: "CompressedTexSubImage2DFromOffset", name: "CompressedTexSubImage2DFromOffset", pkg: "", typ: $funcType([types.GLEnum, $Int, $Int, $Int, $Int, $Int, types.GLEnum, sliceType$7, $Int, $Int], [], false)}, {prop: "CopyTexImage2D", name: "CopyTexImage2D", pkg: "", typ: $funcType([types.GLEnum, $Int, types.GLEnum, $Int, $Int, $Int, $Int, $Int], [], false)}, {prop: "CopyTexSubImage2D", name: "CopyTexSubImage2D", pkg: "", typ: $funcType([types.GLEnum, $Int, $Int, $Int, $Int, $Int, $Int, $Int], [], false)}, {prop: "CreateVertexArray", name: "CreateVertexArray", pkg: "", typ: $funcType([], [ptrType$8], false)}, {prop: "BindVertexArray", name: "BindVertexArray", pkg: "", typ: $funcType([ptrType$8], [], false)}, {prop: "CreateBuffer", name: "CreateBuffer", pkg: "", typ: $funcType([], [ptrType$2], false)}, {prop: "CreateFrameBuffer", name: "CreateFrameBuffer", pkg: "", typ: $funcType([], [ptrType$3], false)}, {prop: "CreateProgram", name: "CreateProgram", pkg: "", typ: $funcType([], [ptrType$1], false)}, {prop: "CreateRenderBuffer", name: "CreateRenderBuffer", pkg: "", typ: $funcType([], [ptrType$4], false)}, {prop: "CreateShader", name: "CreateShader", pkg: "", typ: $funcType([types.GLEnum], [ptrType$6], false)}, {prop: "CreateFragmentShader", name: "CreateFragmentShader", pkg: "", typ: $funcType([], [ptrType$6], false)}, {prop: "CreateVertexShader", name: "CreateVertexShader", pkg: "", typ: $funcType([], [ptrType$6], false)}, {prop: "CreateTexture", name: "CreateTexture", pkg: "", typ: $funcType([], [ptrType$5], false)}, {prop: "CullFace", name: "CullFace", pkg: "", typ: $funcType([types.GLEnum], [], false)}, {prop: "DeleteBuffer", name: "DeleteBuffer", pkg: "", typ: $funcType([ptrType$2], [], false)}, {prop: "DeleteFrameBuffer", name: "DeleteFrameBuffer", pkg: "", typ: $funcType([ptrType$3], [], false)}, {prop: "DeleteProgram", name: "DeleteProgram", pkg: "", typ: $funcType([ptrType$1], [], false)}, {prop: "DeleteRenderBuffer", name: "DeleteRenderBuffer", pkg: "", typ: $funcType([ptrType$4], [], false)}, {prop: "DeleteShader", name: "DeleteShader", pkg: "", typ: $funcType([ptrType$6], [], false)}, {prop: "DeleteTexture", name: "DeleteTexture", pkg: "", typ: $funcType([ptrType$5], [], false)}, {prop: "DepthFunc", name: "DepthFunc", pkg: "", typ: $funcType([types.GLEnum], [], false)}, {prop: "DepthMask", name: "DepthMask", pkg: "", typ: $funcType([$Bool], [], false)}, {prop: "DepthRange", name: "DepthRange", pkg: "", typ: $funcType([$Float32, $Float32], [], false)}, {prop: "DetachShader", name: "DetachShader", pkg: "", typ: $funcType([ptrType$1, ptrType$6], [], false)}, {prop: "Disable", name: "Disable", pkg: "", typ: $funcType([types.GLEnum], [], false)}, {prop: "DisableVertexAttribArray", name: "DisableVertexAttribArray", pkg: "", typ: $funcType([$Int], [], false)}, {prop: "DrawArrays", name: "DrawArrays", pkg: "", typ: $funcType([types.GLEnum, $Int, $Int], [], false)}, {prop: "DrawElements", name: "DrawElements", pkg: "", typ: $funcType([types.GLEnum, $Int, types.GLEnum, $Int64], [], false)}, {prop: "Enable", name: "Enable", pkg: "", typ: $funcType([types.GLEnum], [], false)}, {prop: "EnableVertexAttribArray", name: "EnableVertexAttribArray", pkg: "", typ: $funcType([$Int], [], false)}, {prop: "Finnish", name: "Finnish", pkg: "", typ: $funcType([], [], false)}, {prop: "Flush", name: "Flush", pkg: "", typ: $funcType([], [], false)}, {prop: "FrameBufferRenderbuffer", name: "FrameBufferRenderbuffer", pkg: "", typ: $funcType([types.GLEnum, types.GLEnum, types.GLEnum, ptrType$4], [], false)}, {prop: "FrameBufferTexture2D", name: "FrameBufferTexture2D", pkg: "", typ: $funcType([types.GLEnum, types.GLEnum, types.GLEnum, ptrType$5, $Int], [], false)}, {prop: "FrontFace", name: "FrontFace", pkg: "", typ: $funcType([types.GLEnum], [], false)}, {prop: "GenerateMipmap", name: "GenerateMipmap", pkg: "", typ: $funcType([types.GLEnum], [], false)}, {prop: "GetActiveAttrib", name: "GetActiveAttrib", pkg: "", typ: $funcType([ptrType$1, $Uint], [ptrType$9], false)}, {prop: "GetActiveUniform", name: "GetActiveUniform", pkg: "", typ: $funcType([ptrType$1, $Uint], [ptrType$9], false)}, {prop: "GetAttachedShaders", name: "GetAttachedShaders", pkg: "", typ: $funcType([ptrType$1], [sliceType$1], false)}, {prop: "GetAttribLocation", name: "GetAttribLocation", pkg: "", typ: $funcType([ptrType$1, $String], [$Int], false)}, {prop: "GetBufferParameter", name: "GetBufferParameter", pkg: "", typ: $funcType([types.GLEnum, types.GLEnum], [$Int], false)}, {prop: "GetContextAttributes", name: "GetContextAttributes", pkg: "", typ: $funcType([], [ptrType$7], false)}, {prop: "GetError", name: "GetError", pkg: "", typ: $funcType([], [$error], false)}, {prop: "GetExtension", name: "GetExtension", pkg: "", typ: $funcType([$String], [ptrType$10], false)}, {prop: "GetExtensionLoseContext", name: "GetExtensionLoseContext", pkg: "", typ: $funcType([], [ptrType$11], false)}, {prop: "GetFrameBufferAttachmentParameterInt", name: "GetFrameBufferAttachmentParameterInt", pkg: "", typ: $funcType([types.GLEnum, types.GLEnum, types.GLEnum], [$Int], false)}, {prop: "GetFrameBufferAttachmentParameterEnum", name: "GetFrameBufferAttachmentParameterEnum", pkg: "", typ: $funcType([types.GLEnum, types.GLEnum, types.GLEnum], [types.GLEnum], false)}, {prop: "GetFrameBufferAttachmentParameterRenderBuffer", name: "GetFrameBufferAttachmentParameterRenderBuffer", pkg: "", typ: $funcType([types.GLEnum, types.GLEnum, types.GLEnum], [ptrType$4], false)}, {prop: "GetFrameBufferAttachmentParameterTexture", name: "GetFrameBufferAttachmentParameterTexture", pkg: "", typ: $funcType([types.GLEnum, types.GLEnum, types.GLEnum], [ptrType$5], false)}, {prop: "GetParameter", name: "GetParameter", pkg: "", typ: $funcType([types.GLEnum], [js.Value], false)}, {prop: "GetParameterActiveTexture", name: "GetParameterActiveTexture", pkg: "", typ: $funcType([], [types.GLEnum], false)}, {prop: "GetParameterAliasedLineWidthRange", name: "GetParameterAliasedLineWidthRange", pkg: "", typ: $funcType([], [arrayType$1], false)}, {prop: "GetParameterAliasedPointSizeRange", name: "GetParameterAliasedPointSizeRange", pkg: "", typ: $funcType([], [arrayType$1], false)}, {prop: "GetParameterAlphaBits", name: "GetParameterAlphaBits", pkg: "", typ: $funcType([], [$Int], false)}, {prop: "GetParameterArrayBufferBinding", name: "GetParameterArrayBufferBinding", pkg: "", typ: $funcType([], [ptrType$2], false)}, {prop: "GetParameterBlend", name: "GetParameterBlend", pkg: "", typ: $funcType([], [$Bool], false)}, {prop: "GetParameterBlendColor", name: "GetParameterBlendColor", pkg: "", typ: $funcType([], [arrayType$2], false)}, {prop: "GetParameterBlendDstAlpha", name: "GetParameterBlendDstAlpha", pkg: "", typ: $funcType([], [types.GLEnum], false)}, {prop: "GetParameterBlendDstRgb", name: "GetParameterBlendDstRgb", pkg: "", typ: $funcType([], [types.GLEnum], false)}, {prop: "GetParameterBlendEquation", name: "GetParameterBlendEquation", pkg: "", typ: $funcType([], [types.GLEnum], false)}, {prop: "GetParameterBlendEquationAlpha", name: "GetParameterBlendEquationAlpha", pkg: "", typ: $funcType([], [types.GLEnum], false)}, {prop: "GetParameterBlendEquationRgb", name: "GetParameterBlendEquationRgb", pkg: "", typ: $funcType([], [types.GLEnum], false)}, {prop: "GetParameterBlendSrcAlpha", name: "GetParameterBlendSrcAlpha", pkg: "", typ: $funcType([], [types.GLEnum], false)}, {prop: "GetParameterBlendSrcRgb", name: "GetParameterBlendSrcRgb", pkg: "", typ: $funcType([], [types.GLEnum], false)}, {prop: "GetParameterBlueBits", name: "GetParameterBlueBits", pkg: "", typ: $funcType([], [$Int], false)}, {prop: "GetParameterColorClearValue", name: "GetParameterColorClearValue", pkg: "", typ: $funcType([], [arrayType$2], false)}, {prop: "GetParameterColorWritemask", name: "GetParameterColorWritemask", pkg: "", typ: $funcType([], [arrayType$3], false)}, {prop: "GetParameterCompressedTextureFormats", name: "GetParameterCompressedTextureFormats", pkg: "", typ: $funcType([], [sliceType$2], false)}, {prop: "GetParameterCullFace", name: "GetParameterCullFace", pkg: "", typ: $funcType([], [$Bool], false)}, {prop: "GetParameterCullFaceMode", name: "GetParameterCullFaceMode", pkg: "", typ: $funcType([], [types.GLEnum], false)}, {prop: "GetParameterCurrentProgram", name: "GetParameterCurrentProgram", pkg: "", typ: $funcType([], [ptrType$1], false)}, {prop: "GetParameterDepthBits", name: "GetParameterDepthBits", pkg: "", typ: $funcType([], [$Float32], false)}, {prop: "GetParameterDepthFunc", name: "GetParameterDepthFunc", pkg: "", typ: $funcType([], [types.GLEnum], false)}, {prop: "GetParameterElementArrayBufferBinding", name: "GetParameterElementArrayBufferBinding", pkg: "", typ: $funcType([], [ptrType$2], false)}, {prop: "GetParameterFrameBufferBinding", name: "GetParameterFrameBufferBinding", pkg: "", typ: $funcType([], [ptrType$3], false)}, {prop: "GetParameterFrontFace", name: "GetParameterFrontFace", pkg: "", typ: $funcType([], [types.GLEnum], false)}, {prop: "GetParameterGenerateMipmapHint", name: "GetParameterGenerateMipmapHint", pkg: "", typ: $funcType([], [types.GLEnum], false)}, {prop: "GetParameterGreenBits", name: "GetParameterGreenBits", pkg: "", typ: $funcType([], [$Int], false)}, {prop: "GetParameterImplementationColorReadFormat", name: "GetParameterImplementationColorReadFormat", pkg: "", typ: $funcType([], [types.GLEnum], false)}, {prop: "GetParameterImplementationColorReadType", name: "GetParameterImplementationColorReadType", pkg: "", typ: $funcType([], [types.GLEnum], false)}, {prop: "GetParameterLineWidth", name: "GetParameterLineWidth", pkg: "", typ: $funcType([], [$Float32], false)}, {prop: "GetParameterCombinedTextureImageUnits", name: "GetParameterCombinedTextureImageUnits", pkg: "", typ: $funcType([], [$Int], false)}, {prop: "GetParameterMaxCubeMapTextureSize", name: "GetParameterMaxCubeMapTextureSize", pkg: "", typ: $funcType([], [$Int], false)}, {prop: "GetParameterMaxFragmentUniformVectors", name: "GetParameterMaxFragmentUniformVectors", pkg: "", typ: $funcType([], [$Int], false)}, {prop: "GetParameterMaxRenderBufferSize", name: "GetParameterMaxRenderBufferSize", pkg: "", typ: $funcType([], [$Int], false)}, {prop: "GetParameterMaxTextureImageUnits", name: "GetParameterMaxTextureImageUnits", pkg: "", typ: $funcType([], [$Int], false)}, {prop: "GetParameterMaxTextureSize", name: "GetParameterMaxTextureSize", pkg: "", typ: $funcType([], [$Int], false)}, {prop: "GetParameterMaxVaryingVectors", name: "GetParameterMaxVaryingVectors", pkg: "", typ: $funcType([], [$Int], false)}, {prop: "GetParameterMaxVertexAttribs", name: "GetParameterMaxVertexAttribs", pkg: "", typ: $funcType([], [$Int], false)}, {prop: "GetParameterMaxVertexTextureImageUnits", name: "GetParameterMaxVertexTextureImageUnits", pkg: "", typ: $funcType([], [$Int], false)}, {prop: "GetParameterMaxVertexUniformVectors", name: "GetParameterMaxVertexUniformVectors", pkg: "", typ: $funcType([], [$Int], false)}, {prop: "GetParameterMaxViewportDims", name: "GetParameterMaxViewportDims", pkg: "", typ: $funcType([], [arrayType$1], false)}, {prop: "GetParameterPackAlignment", name: "GetParameterPackAlignment", pkg: "", typ: $funcType([], [$Int], false)}, {prop: "GetParameterPolygonOffsetFactor", name: "GetParameterPolygonOffsetFactor", pkg: "", typ: $funcType([], [$Float32], false)}, {prop: "GetParameterPolygonOffsetFill", name: "GetParameterPolygonOffsetFill", pkg: "", typ: $funcType([], [$Bool], false)}, {prop: "GetParameterPolygonOffsetUnits", name: "GetParameterPolygonOffsetUnits", pkg: "", typ: $funcType([], [$Float32], false)}, {prop: "GetParameterRedBits", name: "GetParameterRedBits", pkg: "", typ: $funcType([], [$Int], false)}, {prop: "GetParameterRenderBufferBinding", name: "GetParameterRenderBufferBinding", pkg: "", typ: $funcType([], [ptrType$4], false)}, {prop: "GetParameterRenderer", name: "GetParameterRenderer", pkg: "", typ: $funcType([], [$String], false)}, {prop: "GetParameterSampleBuffers", name: "GetParameterSampleBuffers", pkg: "", typ: $funcType([], [$Int], false)}, {prop: "GetParameterSampleCoverageInvert", name: "GetParameterSampleCoverageInvert", pkg: "", typ: $funcType([], [$Bool], false)}, {prop: "GetParameterSampleCoverageValue", name: "GetParameterSampleCoverageValue", pkg: "", typ: $funcType([], [$Float32], false)}, {prop: "GetParameterSamples", name: "GetParameterSamples", pkg: "", typ: $funcType([], [$Int], false)}, {prop: "GetParameterScissorBox", name: "GetParameterScissorBox", pkg: "", typ: $funcType([], [arrayType$3], false)}, {prop: "GetParameterScissorTest", name: "GetParameterScissorTest", pkg: "", typ: $funcType([], [$Bool], false)}, {prop: "GetParameterShadingLanguageVersion", name: "GetParameterShadingLanguageVersion", pkg: "", typ: $funcType([], [$String], false)}, {prop: "GetParameterStencilBackFail", name: "GetParameterStencilBackFail", pkg: "", typ: $funcType([], [types.GLEnum], false)}, {prop: "GetParameterStencilBackFunc", name: "GetParameterStencilBackFunc", pkg: "", typ: $funcType([], [types.GLEnum], false)}, {prop: "GetParameterStencilBackPassDepthFail", name: "GetParameterStencilBackPassDepthFail", pkg: "", typ: $funcType([], [types.GLEnum], false)}, {prop: "GetParameterStencilBackPassDepthPass", name: "GetParameterStencilBackPassDepthPass", pkg: "", typ: $funcType([], [types.GLEnum], false)}, {prop: "GetParameterStencilBackRef", name: "GetParameterStencilBackRef", pkg: "", typ: $funcType([], [$Int], false)}, {prop: "GetParameterStencilBackValueMask", name: "GetParameterStencilBackValueMask", pkg: "", typ: $funcType([], [$Uint], false)}, {prop: "GetParameterStencilBackWritemask", name: "GetParameterStencilBackWritemask", pkg: "", typ: $funcType([], [$Uint], false)}, {prop: "GetParameterStencilBits", name: "GetParameterStencilBits", pkg: "", typ: $funcType([], [$Int], false)}, {prop: "GetParameterStencilClearValue", name: "GetParameterStencilClearValue", pkg: "", typ: $funcType([], [$Int], false)}, {prop: "GetParameterStencilFail", name: "GetParameterStencilFail", pkg: "", typ: $funcType([], [types.GLEnum], false)}, {prop: "GetParameterStencilFunc", name: "GetParameterStencilFunc", pkg: "", typ: $funcType([], [types.GLEnum], false)}, {prop: "GetParameterStencilPassDepthFail", name: "GetParameterStencilPassDepthFail", pkg: "", typ: $funcType([], [types.GLEnum], false)}, {prop: "GetParameterStencilPassDepthPass", name: "GetParameterStencilPassDepthPass", pkg: "", typ: $funcType([], [types.GLEnum], false)}, {prop: "GetParameterStencilRef", name: "GetParameterStencilRef", pkg: "", typ: $funcType([], [$Int], false)}, {prop: "GetParameterStencilTest", name: "GetParameterStencilTest", pkg: "", typ: $funcType([], [$Bool], false)}, {prop: "GetParameterStencilValueMask", name: "GetParameterStencilValueMask", pkg: "", typ: $funcType([], [$Uint], false)}, {prop: "GetParameterStencilWritemask", name: "GetParameterStencilWritemask", pkg: "", typ: $funcType([], [$Uint], false)}, {prop: "GetParameterSubpixelBits", name: "GetParameterSubpixelBits", pkg: "", typ: $funcType([], [$Int], false)}, {prop: "GetParameterTextureBinding2D", name: "GetParameterTextureBinding2D", pkg: "", typ: $funcType([], [ptrType$5], false)}, {prop: "GetParameterTextureBindingCubeMap", name: "GetParameterTextureBindingCubeMap", pkg: "", typ: $funcType([], [ptrType$5], false)}, {prop: "GetParameterUnpackAlignment", name: "GetParameterUnpackAlignment", pkg: "", typ: $funcType([], [$Int], false)}, {prop: "GetParameterUnpackColorspaceConversionWebGL", name: "GetParameterUnpackColorspaceConversionWebGL", pkg: "", typ: $funcType([], [types.GLEnum], false)}, {prop: "GetParameterUnpackFlipYWebGL", name: "GetParameterUnpackFlipYWebGL", pkg: "", typ: $funcType([], [$Bool], false)}, {prop: "GetParameterUnpackPremultiplyAlphaWebGL", name: "GetParameterUnpackPremultiplyAlphaWebGL", pkg: "", typ: $funcType([], [$Bool], false)}, {prop: "GetParameterVendor", name: "GetParameterVendor", pkg: "", typ: $funcType([], [$String], false)}, {prop: "GetParameterVersion", name: "GetParameterVersion", pkg: "", typ: $funcType([], [$String], false)}, {prop: "GetParameterViewport", name: "GetParameterViewport", pkg: "", typ: $funcType([], [arrayType$3], false)}, {prop: "GetProgramInfoLog", name: "GetProgramInfoLog", pkg: "", typ: $funcType([ptrType$1], [$String], false)}, {prop: "GetProgramParameter", name: "GetProgramParameter", pkg: "", typ: $funcType([ptrType$1, types.GLEnum], [js.Value], false)}, {prop: "GetProgramParameterDeleteStatus", name: "GetProgramParameterDeleteStatus", pkg: "", typ: $funcType([ptrType$1], [$Bool], false)}, {prop: "GetProgramParameterLinkStatus", name: "GetProgramParameterLinkStatus", pkg: "", typ: $funcType([ptrType$1], [$Bool], false)}, {prop: "GetProgramParameterValidateStatus", name: "GetProgramParameterValidateStatus", pkg: "", typ: $funcType([ptrType$1], [$Bool], false)}, {prop: "GetProgramParameterAttachedShaders", name: "GetProgramParameterAttachedShaders", pkg: "", typ: $funcType([ptrType$1], [$Int], false)}, {prop: "GetProgramParameterActiveAttributes", name: "GetProgramParameterActiveAttributes", pkg: "", typ: $funcType([ptrType$1], [$Int], false)}, {prop: "GetProgramParameterActiveUniforms", name: "GetProgramParameterActiveUniforms", pkg: "", typ: $funcType([ptrType$1], [$Int], false)}, {prop: "GetProgramParameterTransformFeedbackBufferMode", name: "GetProgramParameterTransformFeedbackBufferMode", pkg: "", typ: $funcType([ptrType$1], [types.GLEnum], false)}, {prop: "GetProgramParameterTransformFeedbackVaryings", name: "GetProgramParameterTransformFeedbackVaryings", pkg: "", typ: $funcType([ptrType$1], [$Int], false)}, {prop: "GetProgramParameterActiveUniformBlocks", name: "GetProgramParameterActiveUniformBlocks", pkg: "", typ: $funcType([ptrType$1], [$Int], false)}, {prop: "GetRenderbufferParameter", name: "GetRenderbufferParameter", pkg: "", typ: $funcType([types.GLEnum, types.GLEnum], [js.Value], false)}, {prop: "GetRenderbufferParameterRenderBufferWidth", name: "GetRenderbufferParameterRenderBufferWidth", pkg: "", typ: $funcType([types.GLEnum], [$Int], false)}, {prop: "GetRenderbufferParameterRenderBufferHeight", name: "GetRenderbufferParameterRenderBufferHeight", pkg: "", typ: $funcType([types.GLEnum], [$Int], false)}, {prop: "GetRenderbufferParameterRenderBufferInternalFormat", name: "GetRenderbufferParameterRenderBufferInternalFormat", pkg: "", typ: $funcType([types.GLEnum], [types.GLEnum], false)}, {prop: "GetRenderbufferParameterRenderBufferGreenSize", name: "GetRenderbufferParameterRenderBufferGreenSize", pkg: "", typ: $funcType([types.GLEnum], [$Int], false)}, {prop: "GetRenderbufferParameterRenderBufferBlueSize", name: "GetRenderbufferParameterRenderBufferBlueSize", pkg: "", typ: $funcType([types.GLEnum], [$Int], false)}, {prop: "GetRenderbufferParameterRenderBufferRedSize", name: "GetRenderbufferParameterRenderBufferRedSize", pkg: "", typ: $funcType([types.GLEnum], [$Int], false)}, {prop: "GetRenderbufferParameterRenderBufferAlphaSize", name: "GetRenderbufferParameterRenderBufferAlphaSize", pkg: "", typ: $funcType([types.GLEnum], [$Int], false)}, {prop: "GetRenderbufferParameterRenderBufferDepthSize", name: "GetRenderbufferParameterRenderBufferDepthSize", pkg: "", typ: $funcType([types.GLEnum], [$Int], false)}, {prop: "GetRenderbufferParameterRenderBufferStencilSize", name: "GetRenderbufferParameterRenderBufferStencilSize", pkg: "", typ: $funcType([types.GLEnum], [$Int], false)}, {prop: "GetRenderbufferParameterRenderBufferSamples", name: "GetRenderbufferParameterRenderBufferSamples", pkg: "", typ: $funcType([types.GLEnum], [$Int], false)}, {prop: "GetShaderInfoLog", name: "GetShaderInfoLog", pkg: "", typ: $funcType([ptrType$6], [$String], false)}, {prop: "GetShaderParameter", name: "GetShaderParameter", pkg: "", typ: $funcType([ptrType$6, types.GLEnum], [js.Value], false)}, {prop: "GetShaderParameterDeleteStatus", name: "GetShaderParameterDeleteStatus", pkg: "", typ: $funcType([ptrType$6], [$Bool], false)}, {prop: "GetShaderParameterCompileStatus", name: "GetShaderParameterCompileStatus", pkg: "", typ: $funcType([ptrType$6], [$Bool], false)}, {prop: "GetShaderParameterShaderType", name: "GetShaderParameterShaderType", pkg: "", typ: $funcType([ptrType$6], [types.GLEnum], false)}, {prop: "GetShaderPrecisionFormat", name: "GetShaderPrecisionFormat", pkg: "", typ: $funcType([types.GLEnum, types.GLEnum], [ptrType$12], false)}, {prop: "GetShaderSource", name: "GetShaderSource", pkg: "", typ: $funcType([ptrType$6], [$String], false)}, {prop: "GetSupportedExtensions", name: "GetSupportedExtensions", pkg: "", typ: $funcType([], [sliceType$3], false)}, {prop: "GetTexParameter", name: "GetTexParameter", pkg: "", typ: $funcType([types.GLEnum, types.GLEnum], [js.Value], false)}, {prop: "GetTexParameterMagFilter", name: "GetTexParameterMagFilter", pkg: "", typ: $funcType([types.GLEnum], [types.GLEnum], false)}, {prop: "GetTexParameterMinFilter", name: "GetTexParameterMinFilter", pkg: "", typ: $funcType([types.GLEnum], [types.GLEnum], false)}, {prop: "GetTexParameterWrapS", name: "GetTexParameterWrapS", pkg: "", typ: $funcType([types.GLEnum], [types.GLEnum], false)}, {prop: "GetTexParameterWrapT", name: "GetTexParameterWrapT", pkg: "", typ: $funcType([types.GLEnum], [types.GLEnum], false)}, {prop: "GetTexParameterMaxAnisotropyExt", name: "GetTexParameterMaxAnisotropyExt", pkg: "", typ: $funcType([types.GLEnum], [$Float32], false)}, {prop: "GetTexParameterBaseLevel", name: "GetTexParameterBaseLevel", pkg: "", typ: $funcType([types.GLEnum], [$Int], false)}, {prop: "GetTexParameterCompareFunc", name: "GetTexParameterCompareFunc", pkg: "", typ: $funcType([types.GLEnum], [types.GLEnum], false)}, {prop: "GetTexParameterCompareMode", name: "GetTexParameterCompareMode", pkg: "", typ: $funcType([types.GLEnum], [types.GLEnum], false)}, {prop: "GetTexParameterImmutableFormat", name: "GetTexParameterImmutableFormat", pkg: "", typ: $funcType([types.GLEnum], [$Bool], false)}, {prop: "GetTexParameterImmutableLevels", name: "GetTexParameterImmutableLevels", pkg: "", typ: $funcType([types.GLEnum], [$Uint], false)}, {prop: "GetTexParameterMaxLever", name: "GetTexParameterMaxLever", pkg: "", typ: $funcType([types.GLEnum], [$Int], false)}, {prop: "GetTexParameterMaxLOD", name: "GetTexParameterMaxLOD", pkg: "", typ: $funcType([types.GLEnum], [$Float32], false)}, {prop: "GetTexParameterMinLOD", name: "GetTexParameterMinLOD", pkg: "", typ: $funcType([types.GLEnum], [$Float32], false)}, {prop: "GetTexParameterWrapR", name: "GetTexParameterWrapR", pkg: "", typ: $funcType([types.GLEnum], [types.GLEnum], false)}, {prop: "GetUniform", name: "GetUniform", pkg: "", typ: $funcType([ptrType$1, ptrType$13], [js.Value], false)}, {prop: "GetUniformLocation", name: "GetUniformLocation", pkg: "", typ: $funcType([ptrType$1, $String], [ptrType$13], false)}, {prop: "GetVertexAttrib", name: "GetVertexAttrib", pkg: "", typ: $funcType([$Int, types.GLEnum], [js.Value], false)}, {prop: "GetVertexAttribArrayBufferBinding", name: "GetVertexAttribArrayBufferBinding", pkg: "", typ: $funcType([$Int], [ptrType$2], false)}, {prop: "GetVertexAttribArrayBufferEnabled", name: "GetVertexAttribArrayBufferEnabled", pkg: "", typ: $funcType([$Int], [$Bool], false)}, {prop: "GetVertexAttribArraySize", name: "GetVertexAttribArraySize", pkg: "", typ: $funcType([$Int], [$Int], false)}, {prop: "GetVertexAttribArrayStride", name: "GetVertexAttribArrayStride", pkg: "", typ: $funcType([$Int], [$Int], false)}, {prop: "GetVertexAttribArrayType", name: "GetVertexAttribArrayType", pkg: "", typ: $funcType([$Int], [types.GLEnum], false)}, {prop: "GetVertexAttribArrayNormalized", name: "GetVertexAttribArrayNormalized", pkg: "", typ: $funcType([$Int], [$Bool], false)}, {prop: "GetVertexAttribCurrentVertexAttrib", name: "GetVertexAttribCurrentVertexAttrib", pkg: "", typ: $funcType([$Int], [arrayType$2], false)}, {prop: "GetVertexAttribArrayInteger", name: "GetVertexAttribArrayInteger", pkg: "", typ: $funcType([$Int], [$Bool], false)}, {prop: "GetVertexAttribArrayDivisor", name: "GetVertexAttribArrayDivisor", pkg: "", typ: $funcType([$Int], [$Int], false)}, {prop: "GetVertexAttribArrayDivisorAngle", name: "GetVertexAttribArrayDivisorAngle", pkg: "", typ: $funcType([$Int], [$Int], false)}, {prop: "GetVertexAttribOffset", name: "GetVertexAttribOffset", pkg: "", typ: $funcType([$Int, types.GLEnum], [$Int], false)}, {prop: "Hint", name: "Hint", pkg: "", typ: $funcType([types.GLEnum, types.GLEnum], [], false)}, {prop: "IsBuffer", name: "IsBuffer", pkg: "", typ: $funcType([js.Value], [$Bool], false)}, {prop: "IsContextLost", name: "IsContextLost", pkg: "", typ: $funcType([], [$Bool], false)}, {prop: "IsEnabled", name: "IsEnabled", pkg: "", typ: $funcType([types.GLEnum], [$Bool], false)}, {prop: "IsFrameBuffer", name: "IsFrameBuffer", pkg: "", typ: $funcType([js.Value], [$Bool], false)}, {prop: "IsProgram", name: "IsProgram", pkg: "", typ: $funcType([js.Value], [$Bool], false)}, {prop: "IsRenderbuffer", name: "IsRenderbuffer", pkg: "", typ: $funcType([js.Value], [$Bool], false)}, {prop: "IsShader", name: "IsShader", pkg: "", typ: $funcType([js.Value], [$Bool], false)}, {prop: "IsTexture", name: "IsTexture", pkg: "", typ: $funcType([js.Value], [$Bool], false)}, {prop: "LineWidth", name: "LineWidth", pkg: "", typ: $funcType([$Float32], [], false)}, {prop: "LinkProgram", name: "LinkProgram", pkg: "", typ: $funcType([ptrType$1], [], false)}, {prop: "PixelStorei", name: "PixelStorei", pkg: "", typ: $funcType([types.GLEnum, $Int], [], false)}, {prop: "PolygonOffset", name: "PolygonOffset", pkg: "", typ: $funcType([$Float32, $Float32], [], false)}, {prop: "ReadPixels", name: "ReadPixels", pkg: "", typ: $funcType([$Int, $Int, $Int, $Int, types.GLEnum, js.Value], [], false)}, {prop: "ReadPixelsOffset", name: "ReadPixelsOffset", pkg: "", typ: $funcType([$Int, $Int, $Int, $Int, types.GLEnum, js.Value, $Uint], [], false)}, {prop: "ReadPixelsOffsetPointer", name: "ReadPixelsOffsetPointer", pkg: "", typ: $funcType([$Int, $Int, $Int, $Int, types.GLEnum, $Int], [], false)}, {prop: "RenderbufferStorage", name: "RenderbufferStorage", pkg: "", typ: $funcType([types.GLEnum, types.GLEnum, $Int, $Int], [], false)}, {prop: "SampleCoverage", name: "SampleCoverage", pkg: "", typ: $funcType([$Float32, $Bool], [], false)}, {prop: "Scissor", name: "Scissor", pkg: "", typ: $funcType([$Int, $Int, $Int, $Int], [], false)}, {prop: "ShaderSource", name: "ShaderSource", pkg: "", typ: $funcType([ptrType$6, $String], [], false)}, {prop: "StencilFunc", name: "StencilFunc", pkg: "", typ: $funcType([types.GLEnum, $Int, $Uint32], [], false)}, {prop: "StencilFuncSeparate", name: "StencilFuncSeparate", pkg: "", typ: $funcType([types.GLEnum, types.GLEnum, $Int, $Uint32], [], false)}, {prop: "StencilMask", name: "StencilMask", pkg: "", typ: $funcType([$Uint32], [], false)}, {prop: "StencilMaskSeparate", name: "StencilMaskSeparate", pkg: "", typ: $funcType([types.GLEnum, $Uint32], [], false)}, {prop: "StencilOp", name: "StencilOp", pkg: "", typ: $funcType([types.GLEnum, types.GLEnum, types.GLEnum], [], false)}, {prop: "StencilOpSeparate", name: "StencilOpSeparate", pkg: "", typ: $funcType([types.GLEnum, types.GLEnum, types.GLEnum, types.GLEnum], [], false)}, {prop: "TexImage2Db", name: "TexImage2Db", pkg: "", typ: $funcType([types.GLEnum, $Int, types.GLEnum, $Int, $Int, $Int, types.GLEnum, sliceType$4], [], false)}, {prop: "TexImage2Dui16", name: "TexImage2Dui16", pkg: "", typ: $funcType([types.GLEnum, $Int, types.GLEnum, $Int, $Int, $Int, types.GLEnum, types.GLEnum, sliceType$5], [], false)}, {prop: "TexImage2Dui32", name: "TexImage2Dui32", pkg: "", typ: $funcType([types.GLEnum, $Int, types.GLEnum, $Int, $Int, $Int, types.GLEnum, types.GLEnum, sliceType$6], [], false)}, {prop: "TexImage2Df", name: "TexImage2Df", pkg: "", typ: $funcType([types.GLEnum, $Int, types.GLEnum, $Int, $Int, $Int, types.GLEnum, sliceType$7], [], false)}, {prop: "TexImage2DHtmlElement", name: "TexImage2DHtmlElement", pkg: "", typ: $funcType([types.GLEnum, $Int, types.GLEnum, types.GLEnum, types.GLEnum, js.Value], [], false)}, {prop: "TexImage2DOffset", name: "TexImage2DOffset", pkg: "", typ: $funcType([types.GLEnum, $Int, types.GLEnum, $Int, $Int, $Int, types.GLEnum, types.GLEnum, $Int], [], false)}, {prop: "TexImage2DHtmlElement2", name: "TexImage2DHtmlElement2", pkg: "", typ: $funcType([types.GLEnum, $Int, types.GLEnum, $Int, $Int, $Int, types.GLEnum, types.GLEnum, js.Value], [], false)}, {prop: "TexImage2D2", name: "TexImage2D2", pkg: "", typ: $funcType([types.GLEnum, $Int, types.GLEnum, $Int, $Int, $Int, types.GLEnum, types.GLEnum, sliceType$7, $Int], [], false)}, {prop: "TexParameterf", name: "TexParameterf", pkg: "", typ: $funcType([types.GLEnum, types.GLEnum, $Float32], [], false)}, {prop: "TexParameteri", name: "TexParameteri", pkg: "", typ: $funcType([types.GLEnum, types.GLEnum, $Int], [], false)}, {prop: "texParameterEnum", name: "texParameterEnum", pkg: "github.com/nuberu/webgl", typ: $funcType([types.GLEnum, types.GLEnum, types.GLEnum], [], false)}, {prop: "TexParameterMagFilter", name: "TexParameterMagFilter", pkg: "", typ: $funcType([types.GLEnum, types.GLEnum], [], false)}, {prop: "TexParameterMinFilter", name: "TexParameterMinFilter", pkg: "", typ: $funcType([types.GLEnum, types.GLEnum], [], false)}, {prop: "TexParameterWrapS", name: "TexParameterWrapS", pkg: "", typ: $funcType([types.GLEnum, types.GLEnum], [], false)}, {prop: "TexParameterWrapT", name: "TexParameterWrapT", pkg: "", typ: $funcType([types.GLEnum, types.GLEnum], [], false)}, {prop: "TexParameterMaxAnisotropyExt", name: "TexParameterMaxAnisotropyExt", pkg: "", typ: $funcType([types.GLEnum, $Float32], [], false)}, {prop: "TexParameterBaseLevel", name: "TexParameterBaseLevel", pkg: "", typ: $funcType([types.GLEnum, $Int], [], false)}, {prop: "TexParameterCompareFunc", name: "TexParameterCompareFunc", pkg: "", typ: $funcType([types.GLEnum, types.GLEnum], [], false)}, {prop: "TexParameterCompareMode", name: "TexParameterCompareMode", pkg: "", typ: $funcType([types.GLEnum, types.GLEnum], [], false)}, {prop: "TexParameterMaxLevel", name: "TexParameterMaxLevel", pkg: "", typ: $funcType([types.GLEnum, $Int], [], false)}, {prop: "TexParameterMaxLOD", name: "TexParameterMaxLOD", pkg: "", typ: $funcType([types.GLEnum, $Int], [], false)}, {prop: "TexParameterMinLOD", name: "TexParameterMinLOD", pkg: "", typ: $funcType([types.GLEnum, $Int], [], false)}, {prop: "TexParameterWrapR", name: "TexParameterWrapR", pkg: "", typ: $funcType([types.GLEnum, types.GLEnum], [], false)}, {prop: "TexSubImage2D", name: "TexSubImage2D", pkg: "", typ: $funcType([types.GLEnum, $Int, $Int, $Int, $Int, $Int, types.GLEnum, types.GLEnum, js.Value], [], false)}, {prop: "TexSubImage2DHtmlElement", name: "TexSubImage2DHtmlElement", pkg: "", typ: $funcType([types.GLEnum, $Int, $Int, $Int, types.GLEnum, types.GLEnum, js.Value], [], false)}, {prop: "TexSubImage2DOffset", name: "TexSubImage2DOffset", pkg: "", typ: $funcType([types.GLEnum, $Int, $Int, $Int, types.GLEnum, types.GLEnum, $Int], [], false)}, {prop: "TexSubImage2DOffset2", name: "TexSubImage2DOffset2", pkg: "", typ: $funcType([types.GLEnum, $Int, $Int, $Int, $Int, $Int, types.GLEnum, types.GLEnum, $Int], [], false)}, {prop: "TexSubImage2DHtmlElement2", name: "TexSubImage2DHtmlElement2", pkg: "", typ: $funcType([types.GLEnum, $Int, $Int, $Int, $Int, $Int, types.GLEnum, types.GLEnum, js.Value], [], false)}, {prop: "Uniform1f", name: "Uniform1f", pkg: "", typ: $funcType([ptrType$13, $Float32], [], false)}, {prop: "Uniform1fv", name: "Uniform1fv", pkg: "", typ: $funcType([ptrType$13, sliceType$7], [], false)}, {prop: "Uniform1i", name: "Uniform1i", pkg: "", typ: $funcType([ptrType$13, $Int], [], false)}, {prop: "Uniform1iv", name: "Uniform1iv", pkg: "", typ: $funcType([ptrType$13, sliceType$12], [], false)}, {prop: "Uniform2f", name: "Uniform2f", pkg: "", typ: $funcType([ptrType$13, $Float32, $Float32], [], false)}, {prop: "Uniform2fv", name: "Uniform2fv", pkg: "", typ: $funcType([ptrType$13, sliceType$7], [], false)}, {prop: "Uniform2i", name: "Uniform2i", pkg: "", typ: $funcType([ptrType$13, $Int, $Int], [], false)}, {prop: "Uniform2iv", name: "Uniform2iv", pkg: "", typ: $funcType([ptrType$13, sliceType$12], [], false)}, {prop: "Uniform3f", name: "Uniform3f", pkg: "", typ: $funcType([ptrType$13, $Float32, $Float32, $Float32], [], false)}, {prop: "Uniform3fv", name: "Uniform3fv", pkg: "", typ: $funcType([ptrType$13, sliceType$7], [], false)}, {prop: "Uniform3i", name: "Uniform3i", pkg: "", typ: $funcType([ptrType$13, $Int, $Int, $Int], [], false)}, {prop: "Uniform3iv", name: "Uniform3iv", pkg: "", typ: $funcType([ptrType$13, sliceType$12], [], false)}, {prop: "Uniform4f", name: "Uniform4f", pkg: "", typ: $funcType([ptrType$13, $Float32, $Float32, $Float32, $Float32], [], false)}, {prop: "Uniform4fv", name: "Uniform4fv", pkg: "", typ: $funcType([ptrType$13, sliceType$7], [], false)}, {prop: "Uniform4i", name: "Uniform4i", pkg: "", typ: $funcType([ptrType$13, $Int, $Int, $Int, $Int], [], false)}, {prop: "Uniform4iv", name: "Uniform4iv", pkg: "", typ: $funcType([ptrType$13, sliceType$12], [], false)}, {prop: "UniformMatrix2fv", name: "UniformMatrix2fv", pkg: "", typ: $funcType([ptrType$13, $Bool, sliceType$7], [], false)}, {prop: "UniformMatrix3fv", name: "UniformMatrix3fv", pkg: "", typ: $funcType([ptrType$13, $Bool, sliceType$7], [], false)}, {prop: "UniformMatrix4fv", name: "UniformMatrix4fv", pkg: "", typ: $funcType([ptrType$13, $Bool, sliceType$7], [], false)}, {prop: "UseProgram", name: "UseProgram", pkg: "", typ: $funcType([ptrType$1], [], false)}, {prop: "ValidateProgram", name: "ValidateProgram", pkg: "", typ: $funcType([ptrType$1], [], false)}, {prop: "VertexAttrib1f", name: "VertexAttrib1f", pkg: "", typ: $funcType([$Int, $Float32], [], false)}, {prop: "VertexAttrib2f", name: "VertexAttrib2f", pkg: "", typ: $funcType([$Int, $Float32, $Float32], [], false)}, {prop: "VertexAttrib3f", name: "VertexAttrib3f", pkg: "", typ: $funcType([$Int, $Float32, $Float32, $Float32], [], false)}, {prop: "VertexAttrib4f", name: "VertexAttrib4f", pkg: "", typ: $funcType([$Int, $Float32, $Float32, $Float32, $Float32], [], false)}, {prop: "VertexAttrib1fv", name: "VertexAttrib1fv", pkg: "", typ: $funcType([$Int, sliceType$7], [], false)}, {prop: "VertexAttrib2fv", name: "VertexAttrib2fv", pkg: "", typ: $funcType([$Int, sliceType$7], [], false)}, {prop: "VertexAttrib3fv", name: "VertexAttrib3fv", pkg: "", typ: $funcType([$Int, sliceType$7], [], false)}, {prop: "VertexAttrib4fv", name: "VertexAttrib4fv", pkg: "", typ: $funcType([$Int, sliceType$7], [], false)}, {prop: "VertexAttribPointer", name: "VertexAttribPointer", pkg: "", typ: $funcType([$Int, $Int, types.GLEnum, $Bool, $Int, $Int], [], false)}, {prop: "Viewport", name: "Viewport", pkg: "", typ: $funcType([$Int, $Int, $Int, $Int], [], false)}];
186808
+ ptrType.methods = [{prop: "GetJs", name: "GetJs", pkg: "", typ: $funcType([], [js.Value], false)}, {prop: "GetDrawingBufferWidth", name: "GetDrawingBufferWidth", pkg: "", typ: $funcType([], [$Int], false)}, {prop: "GetDrawingBufferHeight", name: "GetDrawingBufferHeight", pkg: "", typ: $funcType([], [$Int], false)}, {prop: "GetCanvas", name: "GetCanvas", pkg: "", typ: $funcType([], [js.Value], false)}, {prop: "ActiveTexture", name: "ActiveTexture", pkg: "", typ: $funcType([$Uint32], [], false)}, {prop: "AttachShader", name: "AttachShader", pkg: "", typ: $funcType([ptrType$1, ptrType$6], [], false)}, {prop: "BindAttribLocation", name: "BindAttribLocation", pkg: "", typ: $funcType([ptrType$1, $Int, $String], [], false)}, {prop: "BindBuffer", name: "BindBuffer", pkg: "", typ: $funcType([types.GLEnum, ptrType$2], [], false)}, {prop: "BindFrameBuffer", name: "BindFrameBuffer", pkg: "", typ: $funcType([types.GLEnum, ptrType$3], [], false)}, {prop: "BindRenderBuffer", name: "BindRenderBuffer", pkg: "", typ: $funcType([types.GLEnum, ptrType$4], [], false)}, {prop: "BindTexture", name: "BindTexture", pkg: "", typ: $funcType([types.GLEnum, ptrType$5], [], false)}, {prop: "BlendColor", name: "BlendColor", pkg: "", typ: $funcType([$Float32, $Float32, $Float32, $Float32], [], false)}, {prop: "BlendEquation", name: "BlendEquation", pkg: "", typ: $funcType([types.GLEnum], [], false)}, {prop: "BlendEquationSeparate", name: "BlendEquationSeparate", pkg: "", typ: $funcType([types.GLEnum, types.GLEnum], [], false)}, {prop: "BlendFunc", name: "BlendFunc", pkg: "", typ: $funcType([types.GLEnum, types.GLEnum], [], false)}, {prop: "BlendFuncSeparate", name: "BlendFuncSeparate", pkg: "", typ: $funcType([types.GLEnum, types.GLEnum, types.GLEnum, types.GLEnum], [], false)}, {prop: "BufferDataBySize", name: "BufferDataBySize", pkg: "", typ: $funcType([types.GLEnum, $Int, types.GLEnum], [], false)}, {prop: "BufferData", name: "BufferData", pkg: "", typ: $funcType([types.GLEnum, sliceType$7, types.GLEnum], [], false)}, {prop: "BufferDataI", name: "BufferDataI", pkg: "", typ: $funcType([types.GLEnum, sliceType$14, types.GLEnum], [], false)}, {prop: "BufferDataUI", name: "BufferDataUI", pkg: "", typ: $funcType([types.GLEnum, sliceType$6, types.GLEnum], [], false)}, {prop: "BufferDataUI16", name: "BufferDataUI16", pkg: "", typ: $funcType([types.GLEnum, sliceType$5, types.GLEnum], [], false)}, {prop: "BufferDataWithOffset", name: "BufferDataWithOffset", pkg: "", typ: $funcType([types.GLEnum, sliceType$7, types.GLEnum, $Uint, $Uint], [], false)}, {prop: "BufferDataIWithOffset", name: "BufferDataIWithOffset", pkg: "", typ: $funcType([types.GLEnum, sliceType$14, types.GLEnum, $Uint, $Uint], [], false)}, {prop: "BufferDataUIWithOffset", name: "BufferDataUIWithOffset", pkg: "", typ: $funcType([types.GLEnum, sliceType$15, types.GLEnum, $Uint, $Uint], [], false)}, {prop: "BufferSubData", name: "BufferSubData", pkg: "", typ: $funcType([types.GLEnum, $Int, sliceType$7], [], false)}, {prop: "BufferSubDataI", name: "BufferSubDataI", pkg: "", typ: $funcType([types.GLEnum, $Int, sliceType$14], [], false)}, {prop: "BufferSubDataUI", name: "BufferSubDataUI", pkg: "", typ: $funcType([types.GLEnum, $Int, sliceType$15], [], false)}, {prop: "BufferSubDataWithOffset", name: "BufferSubDataWithOffset", pkg: "", typ: $funcType([types.GLEnum, $Int, sliceType$7, $Uint, $Uint], [], false)}, {prop: "BufferSubDataIWithOffset", name: "BufferSubDataIWithOffset", pkg: "", typ: $funcType([types.GLEnum, $Int, sliceType$14, $Uint, $Uint], [], false)}, {prop: "BufferSubDataUIWithOffset", name: "BufferSubDataUIWithOffset", pkg: "", typ: $funcType([types.GLEnum, $Int, sliceType$15, $Uint, $Uint], [], false)}, {prop: "CheckFrameBufferStatus", name: "CheckFrameBufferStatus", pkg: "", typ: $funcType([types.GLEnum], [types.GLEnum], false)}, {prop: "Clear", name: "Clear", pkg: "", typ: $funcType([$Uint32], [], false)}, {prop: "ClearColor", name: "ClearColor", pkg: "", typ: $funcType([$Float32, $Float32, $Float32, $Float32], [], false)}, {prop: "ClearDepth", name: "ClearDepth", pkg: "", typ: $funcType([$Float32], [], false)}, {prop: "ClearStencil", name: "ClearStencil", pkg: "", typ: $funcType([$Int], [], false)}, {prop: "ColorMask", name: "ColorMask", pkg: "", typ: $funcType([$Float32, $Float32, $Float32, $Float32], [], false)}, {prop: "Commit", name: "Commit", pkg: "", typ: $funcType([], [], false)}, {prop: "CompileShader", name: "CompileShader", pkg: "", typ: $funcType([ptrType$6], [], false)}, {prop: "CompressedTexImage2D", name: "CompressedTexImage2D", pkg: "", typ: $funcType([types.GLEnum, $Int, types.GLEnum, $Int, $Int, $Int], [], false)}, {prop: "CompressedTexImage2DIn", name: "CompressedTexImage2DIn", pkg: "", typ: $funcType([types.GLEnum, $Int, types.GLEnum, $Int, $Int, $Int, sliceType$7], [], false)}, {prop: "CompressedTexImage2DOffset", name: "CompressedTexImage2DOffset", pkg: "", typ: $funcType([types.GLEnum, $Int, types.GLEnum, $Int, $Int, $Int, $Int, $Int], [], false)}, {prop: "CompressedTexImage2DFromOffset", name: "CompressedTexImage2DFromOffset", pkg: "", typ: $funcType([types.GLEnum, $Int, types.GLEnum, $Int, $Int, $Int, sliceType$7, $Int, $Int], [], false)}, {prop: "CompressedTexImage3DOffset", name: "CompressedTexImage3DOffset", pkg: "", typ: $funcType([types.GLEnum, $Int, types.GLEnum, $Int, $Int, $Int, $Int, $Int, $Int], [], false)}, {prop: "CompressedTexImage3DFromOffset", name: "CompressedTexImage3DFromOffset", pkg: "", typ: $funcType([types.GLEnum, $Int, types.GLEnum, $Int, $Int, $Int, $Int, sliceType$7, $Int, $Int], [], false)}, {prop: "CompressedTexSubImage2D", name: "CompressedTexSubImage2D", pkg: "", typ: $funcType([types.GLEnum, $Int, $Int, $Int, $Int, $Int, types.GLEnum], [], false)}, {prop: "CompressedTexSubImage2DIn", name: "CompressedTexSubImage2DIn", pkg: "", typ: $funcType([types.GLEnum, $Int, $Int, $Int, $Int, $Int, types.GLEnum, sliceType$7], [], false)}, {prop: "CompressedTexSubImage2DFrom", name: "CompressedTexSubImage2DFrom", pkg: "", typ: $funcType([types.GLEnum, $Int, $Int, $Int, $Int, $Int, types.GLEnum, $Int, $Int], [], false)}, {prop: "CompressedTexSubImage2DFromOffset", name: "CompressedTexSubImage2DFromOffset", pkg: "", typ: $funcType([types.GLEnum, $Int, $Int, $Int, $Int, $Int, types.GLEnum, sliceType$7, $Int, $Int], [], false)}, {prop: "CopyTexImage2D", name: "CopyTexImage2D", pkg: "", typ: $funcType([types.GLEnum, $Int, types.GLEnum, $Int, $Int, $Int, $Int, $Int], [], false)}, {prop: "CopyTexSubImage2D", name: "CopyTexSubImage2D", pkg: "", typ: $funcType([types.GLEnum, $Int, $Int, $Int, $Int, $Int, $Int, $Int], [], false)}, {prop: "CreateVertexArray", name: "CreateVertexArray", pkg: "", typ: $funcType([], [ptrType$18], false)}, {prop: "BindVertexArray", name: "BindVertexArray", pkg: "", typ: $funcType([ptrType$18], [], false)}, {prop: "CreateBuffer", name: "CreateBuffer", pkg: "", typ: $funcType([], [ptrType$2], false)}, {prop: "CreateFrameBuffer", name: "CreateFrameBuffer", pkg: "", typ: $funcType([], [ptrType$3], false)}, {prop: "CreateProgram", name: "CreateProgram", pkg: "", typ: $funcType([], [ptrType$1], false)}, {prop: "CreateRenderBuffer", name: "CreateRenderBuffer", pkg: "", typ: $funcType([], [ptrType$4], false)}, {prop: "CreateShader", name: "CreateShader", pkg: "", typ: $funcType([types.GLEnum], [ptrType$6], false)}, {prop: "CreateFragmentShader", name: "CreateFragmentShader", pkg: "", typ: $funcType([], [ptrType$6], false)}, {prop: "CreateVertexShader", name: "CreateVertexShader", pkg: "", typ: $funcType([], [ptrType$6], false)}, {prop: "CreateTexture", name: "CreateTexture", pkg: "", typ: $funcType([], [ptrType$5], false)}, {prop: "CullFace", name: "CullFace", pkg: "", typ: $funcType([types.GLEnum], [], false)}, {prop: "DeleteBuffer", name: "DeleteBuffer", pkg: "", typ: $funcType([ptrType$2], [], false)}, {prop: "DeleteFrameBuffer", name: "DeleteFrameBuffer", pkg: "", typ: $funcType([ptrType$3], [], false)}, {prop: "DeleteProgram", name: "DeleteProgram", pkg: "", typ: $funcType([ptrType$1], [], false)}, {prop: "DeleteRenderBuffer", name: "DeleteRenderBuffer", pkg: "", typ: $funcType([ptrType$4], [], false)}, {prop: "DeleteShader", name: "DeleteShader", pkg: "", typ: $funcType([ptrType$6], [], false)}, {prop: "DeleteTexture", name: "DeleteTexture", pkg: "", typ: $funcType([ptrType$5], [], false)}, {prop: "DepthFunc", name: "DepthFunc", pkg: "", typ: $funcType([types.GLEnum], [], false)}, {prop: "DepthMask", name: "DepthMask", pkg: "", typ: $funcType([$Bool], [], false)}, {prop: "DepthRange", name: "DepthRange", pkg: "", typ: $funcType([$Float32, $Float32], [], false)}, {prop: "DetachShader", name: "DetachShader", pkg: "", typ: $funcType([ptrType$1, ptrType$6], [], false)}, {prop: "Disable", name: "Disable", pkg: "", typ: $funcType([types.GLEnum], [], false)}, {prop: "DisableVertexAttribArray", name: "DisableVertexAttribArray", pkg: "", typ: $funcType([$Int], [], false)}, {prop: "DrawArrays", name: "DrawArrays", pkg: "", typ: $funcType([types.GLEnum, $Int, $Int], [], false)}, {prop: "DrawElements", name: "DrawElements", pkg: "", typ: $funcType([types.GLEnum, $Int, types.GLEnum, $Int64], [], false)}, {prop: "Enable", name: "Enable", pkg: "", typ: $funcType([types.GLEnum], [], false)}, {prop: "EnableVertexAttribArray", name: "EnableVertexAttribArray", pkg: "", typ: $funcType([$Int], [], false)}, {prop: "Finnish", name: "Finnish", pkg: "", typ: $funcType([], [], false)}, {prop: "Flush", name: "Flush", pkg: "", typ: $funcType([], [], false)}, {prop: "FrameBufferRenderbuffer", name: "FrameBufferRenderbuffer", pkg: "", typ: $funcType([types.GLEnum, types.GLEnum, types.GLEnum, ptrType$4], [], false)}, {prop: "FrameBufferTexture2D", name: "FrameBufferTexture2D", pkg: "", typ: $funcType([types.GLEnum, types.GLEnum, types.GLEnum, ptrType$5, $Int], [], false)}, {prop: "FrontFace", name: "FrontFace", pkg: "", typ: $funcType([types.GLEnum], [], false)}, {prop: "GenerateMipmap", name: "GenerateMipmap", pkg: "", typ: $funcType([types.GLEnum], [], false)}, {prop: "GetActiveAttrib", name: "GetActiveAttrib", pkg: "", typ: $funcType([ptrType$1, $Uint], [ptrType$19], false)}, {prop: "GetActiveUniform", name: "GetActiveUniform", pkg: "", typ: $funcType([ptrType$1, $Uint], [ptrType$19], false)}, {prop: "GetAttachedShaders", name: "GetAttachedShaders", pkg: "", typ: $funcType([ptrType$1], [sliceType$1], false)}, {prop: "GetAttribLocation", name: "GetAttribLocation", pkg: "", typ: $funcType([ptrType$1, $String], [$Int], false)}, {prop: "GetBufferParameter", name: "GetBufferParameter", pkg: "", typ: $funcType([types.GLEnum, types.GLEnum], [$Int], false)}, {prop: "GetContextAttributes", name: "GetContextAttributes", pkg: "", typ: $funcType([], [ptrType$7], false)}, {prop: "GetError", name: "GetError", pkg: "", typ: $funcType([], [$error], false)}, {prop: "GetExtension", name: "GetExtension", pkg: "", typ: $funcType([$String], [ptrType$20], false)}, {prop: "GetExtensionLoseContext", name: "GetExtensionLoseContext", pkg: "", typ: $funcType([], [ptrType$21], false)}, {prop: "GetFrameBufferAttachmentParameterInt", name: "GetFrameBufferAttachmentParameterInt", pkg: "", typ: $funcType([types.GLEnum, types.GLEnum, types.GLEnum], [$Int], false)}, {prop: "GetFrameBufferAttachmentParameterEnum", name: "GetFrameBufferAttachmentParameterEnum", pkg: "", typ: $funcType([types.GLEnum, types.GLEnum, types.GLEnum], [types.GLEnum], false)}, {prop: "GetFrameBufferAttachmentParameterRenderBuffer", name: "GetFrameBufferAttachmentParameterRenderBuffer", pkg: "", typ: $funcType([types.GLEnum, types.GLEnum, types.GLEnum], [ptrType$4], false)}, {prop: "GetFrameBufferAttachmentParameterTexture", name: "GetFrameBufferAttachmentParameterTexture", pkg: "", typ: $funcType([types.GLEnum, types.GLEnum, types.GLEnum], [ptrType$5], false)}, {prop: "GetParameter", name: "GetParameter", pkg: "", typ: $funcType([types.GLEnum], [js.Value], false)}, {prop: "GetParameterActiveTexture", name: "GetParameterActiveTexture", pkg: "", typ: $funcType([], [types.GLEnum], false)}, {prop: "GetParameterAliasedLineWidthRange", name: "GetParameterAliasedLineWidthRange", pkg: "", typ: $funcType([], [arrayType$1], false)}, {prop: "GetParameterAliasedPointSizeRange", name: "GetParameterAliasedPointSizeRange", pkg: "", typ: $funcType([], [arrayType$1], false)}, {prop: "GetParameterAlphaBits", name: "GetParameterAlphaBits", pkg: "", typ: $funcType([], [$Int], false)}, {prop: "GetParameterArrayBufferBinding", name: "GetParameterArrayBufferBinding", pkg: "", typ: $funcType([], [ptrType$2], false)}, {prop: "GetParameterBlend", name: "GetParameterBlend", pkg: "", typ: $funcType([], [$Bool], false)}, {prop: "GetParameterBlendColor", name: "GetParameterBlendColor", pkg: "", typ: $funcType([], [arrayType$2], false)}, {prop: "GetParameterBlendDstAlpha", name: "GetParameterBlendDstAlpha", pkg: "", typ: $funcType([], [types.GLEnum], false)}, {prop: "GetParameterBlendDstRgb", name: "GetParameterBlendDstRgb", pkg: "", typ: $funcType([], [types.GLEnum], false)}, {prop: "GetParameterBlendEquation", name: "GetParameterBlendEquation", pkg: "", typ: $funcType([], [types.GLEnum], false)}, {prop: "GetParameterBlendEquationAlpha", name: "GetParameterBlendEquationAlpha", pkg: "", typ: $funcType([], [types.GLEnum], false)}, {prop: "GetParameterBlendEquationRgb", name: "GetParameterBlendEquationRgb", pkg: "", typ: $funcType([], [types.GLEnum], false)}, {prop: "GetParameterBlendSrcAlpha", name: "GetParameterBlendSrcAlpha", pkg: "", typ: $funcType([], [types.GLEnum], false)}, {prop: "GetParameterBlendSrcRgb", name: "GetParameterBlendSrcRgb", pkg: "", typ: $funcType([], [types.GLEnum], false)}, {prop: "GetParameterBlueBits", name: "GetParameterBlueBits", pkg: "", typ: $funcType([], [$Int], false)}, {prop: "GetParameterColorClearValue", name: "GetParameterColorClearValue", pkg: "", typ: $funcType([], [arrayType$2], false)}, {prop: "GetParameterColorWritemask", name: "GetParameterColorWritemask", pkg: "", typ: $funcType([], [arrayType$3], false)}, {prop: "GetParameterCompressedTextureFormats", name: "GetParameterCompressedTextureFormats", pkg: "", typ: $funcType([], [sliceType$2], false)}, {prop: "GetParameterCullFace", name: "GetParameterCullFace", pkg: "", typ: $funcType([], [$Bool], false)}, {prop: "GetParameterCullFaceMode", name: "GetParameterCullFaceMode", pkg: "", typ: $funcType([], [types.GLEnum], false)}, {prop: "GetParameterCurrentProgram", name: "GetParameterCurrentProgram", pkg: "", typ: $funcType([], [ptrType$1], false)}, {prop: "GetParameterDepthBits", name: "GetParameterDepthBits", pkg: "", typ: $funcType([], [$Float32], false)}, {prop: "GetParameterDepthFunc", name: "GetParameterDepthFunc", pkg: "", typ: $funcType([], [types.GLEnum], false)}, {prop: "GetParameterElementArrayBufferBinding", name: "GetParameterElementArrayBufferBinding", pkg: "", typ: $funcType([], [ptrType$2], false)}, {prop: "GetParameterFrameBufferBinding", name: "GetParameterFrameBufferBinding", pkg: "", typ: $funcType([], [ptrType$3], false)}, {prop: "GetParameterFrontFace", name: "GetParameterFrontFace", pkg: "", typ: $funcType([], [types.GLEnum], false)}, {prop: "GetParameterGenerateMipmapHint", name: "GetParameterGenerateMipmapHint", pkg: "", typ: $funcType([], [types.GLEnum], false)}, {prop: "GetParameterGreenBits", name: "GetParameterGreenBits", pkg: "", typ: $funcType([], [$Int], false)}, {prop: "GetParameterImplementationColorReadFormat", name: "GetParameterImplementationColorReadFormat", pkg: "", typ: $funcType([], [types.GLEnum], false)}, {prop: "GetParameterImplementationColorReadType", name: "GetParameterImplementationColorReadType", pkg: "", typ: $funcType([], [types.GLEnum], false)}, {prop: "GetParameterLineWidth", name: "GetParameterLineWidth", pkg: "", typ: $funcType([], [$Float32], false)}, {prop: "GetParameterCombinedTextureImageUnits", name: "GetParameterCombinedTextureImageUnits", pkg: "", typ: $funcType([], [$Int], false)}, {prop: "GetParameterMaxCubeMapTextureSize", name: "GetParameterMaxCubeMapTextureSize", pkg: "", typ: $funcType([], [$Int], false)}, {prop: "GetParameterMaxFragmentUniformVectors", name: "GetParameterMaxFragmentUniformVectors", pkg: "", typ: $funcType([], [$Int], false)}, {prop: "GetParameterMaxRenderBufferSize", name: "GetParameterMaxRenderBufferSize", pkg: "", typ: $funcType([], [$Int], false)}, {prop: "GetParameterMaxTextureImageUnits", name: "GetParameterMaxTextureImageUnits", pkg: "", typ: $funcType([], [$Int], false)}, {prop: "GetParameterMaxTextureSize", name: "GetParameterMaxTextureSize", pkg: "", typ: $funcType([], [$Int], false)}, {prop: "GetParameterMaxVaryingVectors", name: "GetParameterMaxVaryingVectors", pkg: "", typ: $funcType([], [$Int], false)}, {prop: "GetParameterMaxVertexAttribs", name: "GetParameterMaxVertexAttribs", pkg: "", typ: $funcType([], [$Int], false)}, {prop: "GetParameterMaxVertexTextureImageUnits", name: "GetParameterMaxVertexTextureImageUnits", pkg: "", typ: $funcType([], [$Int], false)}, {prop: "GetParameterMaxVertexUniformVectors", name: "GetParameterMaxVertexUniformVectors", pkg: "", typ: $funcType([], [$Int], false)}, {prop: "GetParameterMaxViewportDims", name: "GetParameterMaxViewportDims", pkg: "", typ: $funcType([], [arrayType$1], false)}, {prop: "GetParameterPackAlignment", name: "GetParameterPackAlignment", pkg: "", typ: $funcType([], [$Int], false)}, {prop: "GetParameterPolygonOffsetFactor", name: "GetParameterPolygonOffsetFactor", pkg: "", typ: $funcType([], [$Float32], false)}, {prop: "GetParameterPolygonOffsetFill", name: "GetParameterPolygonOffsetFill", pkg: "", typ: $funcType([], [$Bool], false)}, {prop: "GetParameterPolygonOffsetUnits", name: "GetParameterPolygonOffsetUnits", pkg: "", typ: $funcType([], [$Float32], false)}, {prop: "GetParameterRedBits", name: "GetParameterRedBits", pkg: "", typ: $funcType([], [$Int], false)}, {prop: "GetParameterRenderBufferBinding", name: "GetParameterRenderBufferBinding", pkg: "", typ: $funcType([], [ptrType$4], false)}, {prop: "GetParameterRenderer", name: "GetParameterRenderer", pkg: "", typ: $funcType([], [$String], false)}, {prop: "GetParameterSampleBuffers", name: "GetParameterSampleBuffers", pkg: "", typ: $funcType([], [$Int], false)}, {prop: "GetParameterSampleCoverageInvert", name: "GetParameterSampleCoverageInvert", pkg: "", typ: $funcType([], [$Bool], false)}, {prop: "GetParameterSampleCoverageValue", name: "GetParameterSampleCoverageValue", pkg: "", typ: $funcType([], [$Float32], false)}, {prop: "GetParameterSamples", name: "GetParameterSamples", pkg: "", typ: $funcType([], [$Int], false)}, {prop: "GetParameterScissorBox", name: "GetParameterScissorBox", pkg: "", typ: $funcType([], [arrayType$3], false)}, {prop: "GetParameterScissorTest", name: "GetParameterScissorTest", pkg: "", typ: $funcType([], [$Bool], false)}, {prop: "GetParameterShadingLanguageVersion", name: "GetParameterShadingLanguageVersion", pkg: "", typ: $funcType([], [$String], false)}, {prop: "GetParameterStencilBackFail", name: "GetParameterStencilBackFail", pkg: "", typ: $funcType([], [types.GLEnum], false)}, {prop: "GetParameterStencilBackFunc", name: "GetParameterStencilBackFunc", pkg: "", typ: $funcType([], [types.GLEnum], false)}, {prop: "GetParameterStencilBackPassDepthFail", name: "GetParameterStencilBackPassDepthFail", pkg: "", typ: $funcType([], [types.GLEnum], false)}, {prop: "GetParameterStencilBackPassDepthPass", name: "GetParameterStencilBackPassDepthPass", pkg: "", typ: $funcType([], [types.GLEnum], false)}, {prop: "GetParameterStencilBackRef", name: "GetParameterStencilBackRef", pkg: "", typ: $funcType([], [$Int], false)}, {prop: "GetParameterStencilBackValueMask", name: "GetParameterStencilBackValueMask", pkg: "", typ: $funcType([], [$Uint], false)}, {prop: "GetParameterStencilBackWritemask", name: "GetParameterStencilBackWritemask", pkg: "", typ: $funcType([], [$Uint], false)}, {prop: "GetParameterStencilBits", name: "GetParameterStencilBits", pkg: "", typ: $funcType([], [$Int], false)}, {prop: "GetParameterStencilClearValue", name: "GetParameterStencilClearValue", pkg: "", typ: $funcType([], [$Int], false)}, {prop: "GetParameterStencilFail", name: "GetParameterStencilFail", pkg: "", typ: $funcType([], [types.GLEnum], false)}, {prop: "GetParameterStencilFunc", name: "GetParameterStencilFunc", pkg: "", typ: $funcType([], [types.GLEnum], false)}, {prop: "GetParameterStencilPassDepthFail", name: "GetParameterStencilPassDepthFail", pkg: "", typ: $funcType([], [types.GLEnum], false)}, {prop: "GetParameterStencilPassDepthPass", name: "GetParameterStencilPassDepthPass", pkg: "", typ: $funcType([], [types.GLEnum], false)}, {prop: "GetParameterStencilRef", name: "GetParameterStencilRef", pkg: "", typ: $funcType([], [$Int], false)}, {prop: "GetParameterStencilTest", name: "GetParameterStencilTest", pkg: "", typ: $funcType([], [$Bool], false)}, {prop: "GetParameterStencilValueMask", name: "GetParameterStencilValueMask", pkg: "", typ: $funcType([], [$Uint], false)}, {prop: "GetParameterStencilWritemask", name: "GetParameterStencilWritemask", pkg: "", typ: $funcType([], [$Uint], false)}, {prop: "GetParameterSubpixelBits", name: "GetParameterSubpixelBits", pkg: "", typ: $funcType([], [$Int], false)}, {prop: "GetParameterTextureBinding2D", name: "GetParameterTextureBinding2D", pkg: "", typ: $funcType([], [ptrType$5], false)}, {prop: "GetParameterTextureBindingCubeMap", name: "GetParameterTextureBindingCubeMap", pkg: "", typ: $funcType([], [ptrType$5], false)}, {prop: "GetParameterUnpackAlignment", name: "GetParameterUnpackAlignment", pkg: "", typ: $funcType([], [$Int], false)}, {prop: "GetParameterUnpackColorspaceConversionWebGL", name: "GetParameterUnpackColorspaceConversionWebGL", pkg: "", typ: $funcType([], [types.GLEnum], false)}, {prop: "GetParameterUnpackFlipYWebGL", name: "GetParameterUnpackFlipYWebGL", pkg: "", typ: $funcType([], [$Bool], false)}, {prop: "GetParameterUnpackPremultiplyAlphaWebGL", name: "GetParameterUnpackPremultiplyAlphaWebGL", pkg: "", typ: $funcType([], [$Bool], false)}, {prop: "GetParameterVendor", name: "GetParameterVendor", pkg: "", typ: $funcType([], [$String], false)}, {prop: "GetParameterVersion", name: "GetParameterVersion", pkg: "", typ: $funcType([], [$String], false)}, {prop: "GetParameterViewport", name: "GetParameterViewport", pkg: "", typ: $funcType([], [arrayType$3], false)}, {prop: "GetProgramInfoLog", name: "GetProgramInfoLog", pkg: "", typ: $funcType([ptrType$1], [$String], false)}, {prop: "GetProgramParameter", name: "GetProgramParameter", pkg: "", typ: $funcType([ptrType$1, types.GLEnum], [js.Value], false)}, {prop: "GetProgramParameterDeleteStatus", name: "GetProgramParameterDeleteStatus", pkg: "", typ: $funcType([ptrType$1], [$Bool], false)}, {prop: "GetProgramParameterLinkStatus", name: "GetProgramParameterLinkStatus", pkg: "", typ: $funcType([ptrType$1], [$Bool], false)}, {prop: "GetProgramParameterValidateStatus", name: "GetProgramParameterValidateStatus", pkg: "", typ: $funcType([ptrType$1], [$Bool], false)}, {prop: "GetProgramParameterAttachedShaders", name: "GetProgramParameterAttachedShaders", pkg: "", typ: $funcType([ptrType$1], [$Int], false)}, {prop: "GetProgramParameterActiveAttributes", name: "GetProgramParameterActiveAttributes", pkg: "", typ: $funcType([ptrType$1], [$Int], false)}, {prop: "GetProgramParameterActiveUniforms", name: "GetProgramParameterActiveUniforms", pkg: "", typ: $funcType([ptrType$1], [$Int], false)}, {prop: "GetProgramParameterTransformFeedbackBufferMode", name: "GetProgramParameterTransformFeedbackBufferMode", pkg: "", typ: $funcType([ptrType$1], [types.GLEnum], false)}, {prop: "GetProgramParameterTransformFeedbackVaryings", name: "GetProgramParameterTransformFeedbackVaryings", pkg: "", typ: $funcType([ptrType$1], [$Int], false)}, {prop: "GetProgramParameterActiveUniformBlocks", name: "GetProgramParameterActiveUniformBlocks", pkg: "", typ: $funcType([ptrType$1], [$Int], false)}, {prop: "GetRenderbufferParameter", name: "GetRenderbufferParameter", pkg: "", typ: $funcType([types.GLEnum, types.GLEnum], [js.Value], false)}, {prop: "GetRenderbufferParameterRenderBufferWidth", name: "GetRenderbufferParameterRenderBufferWidth", pkg: "", typ: $funcType([types.GLEnum], [$Int], false)}, {prop: "GetRenderbufferParameterRenderBufferHeight", name: "GetRenderbufferParameterRenderBufferHeight", pkg: "", typ: $funcType([types.GLEnum], [$Int], false)}, {prop: "GetRenderbufferParameterRenderBufferInternalFormat", name: "GetRenderbufferParameterRenderBufferInternalFormat", pkg: "", typ: $funcType([types.GLEnum], [types.GLEnum], false)}, {prop: "GetRenderbufferParameterRenderBufferGreenSize", name: "GetRenderbufferParameterRenderBufferGreenSize", pkg: "", typ: $funcType([types.GLEnum], [$Int], false)}, {prop: "GetRenderbufferParameterRenderBufferBlueSize", name: "GetRenderbufferParameterRenderBufferBlueSize", pkg: "", typ: $funcType([types.GLEnum], [$Int], false)}, {prop: "GetRenderbufferParameterRenderBufferRedSize", name: "GetRenderbufferParameterRenderBufferRedSize", pkg: "", typ: $funcType([types.GLEnum], [$Int], false)}, {prop: "GetRenderbufferParameterRenderBufferAlphaSize", name: "GetRenderbufferParameterRenderBufferAlphaSize", pkg: "", typ: $funcType([types.GLEnum], [$Int], false)}, {prop: "GetRenderbufferParameterRenderBufferDepthSize", name: "GetRenderbufferParameterRenderBufferDepthSize", pkg: "", typ: $funcType([types.GLEnum], [$Int], false)}, {prop: "GetRenderbufferParameterRenderBufferStencilSize", name: "GetRenderbufferParameterRenderBufferStencilSize", pkg: "", typ: $funcType([types.GLEnum], [$Int], false)}, {prop: "GetRenderbufferParameterRenderBufferSamples", name: "GetRenderbufferParameterRenderBufferSamples", pkg: "", typ: $funcType([types.GLEnum], [$Int], false)}, {prop: "GetShaderInfoLog", name: "GetShaderInfoLog", pkg: "", typ: $funcType([ptrType$6], [$String], false)}, {prop: "GetShaderParameter", name: "GetShaderParameter", pkg: "", typ: $funcType([ptrType$6, types.GLEnum], [js.Value], false)}, {prop: "GetShaderParameterDeleteStatus", name: "GetShaderParameterDeleteStatus", pkg: "", typ: $funcType([ptrType$6], [$Bool], false)}, {prop: "GetShaderParameterCompileStatus", name: "GetShaderParameterCompileStatus", pkg: "", typ: $funcType([ptrType$6], [$Bool], false)}, {prop: "GetShaderParameterShaderType", name: "GetShaderParameterShaderType", pkg: "", typ: $funcType([ptrType$6], [types.GLEnum], false)}, {prop: "GetShaderPrecisionFormat", name: "GetShaderPrecisionFormat", pkg: "", typ: $funcType([types.GLEnum, types.GLEnum], [ptrType$22], false)}, {prop: "GetShaderSource", name: "GetShaderSource", pkg: "", typ: $funcType([ptrType$6], [$String], false)}, {prop: "GetSupportedExtensions", name: "GetSupportedExtensions", pkg: "", typ: $funcType([], [sliceType$3], false)}, {prop: "GetTexParameter", name: "GetTexParameter", pkg: "", typ: $funcType([types.GLEnum, types.GLEnum], [js.Value], false)}, {prop: "GetTexParameterMagFilter", name: "GetTexParameterMagFilter", pkg: "", typ: $funcType([types.GLEnum], [types.GLEnum], false)}, {prop: "GetTexParameterMinFilter", name: "GetTexParameterMinFilter", pkg: "", typ: $funcType([types.GLEnum], [types.GLEnum], false)}, {prop: "GetTexParameterWrapS", name: "GetTexParameterWrapS", pkg: "", typ: $funcType([types.GLEnum], [types.GLEnum], false)}, {prop: "GetTexParameterWrapT", name: "GetTexParameterWrapT", pkg: "", typ: $funcType([types.GLEnum], [types.GLEnum], false)}, {prop: "GetTexParameterMaxAnisotropyExt", name: "GetTexParameterMaxAnisotropyExt", pkg: "", typ: $funcType([types.GLEnum], [$Float32], false)}, {prop: "GetTexParameterBaseLevel", name: "GetTexParameterBaseLevel", pkg: "", typ: $funcType([types.GLEnum], [$Int], false)}, {prop: "GetTexParameterCompareFunc", name: "GetTexParameterCompareFunc", pkg: "", typ: $funcType([types.GLEnum], [types.GLEnum], false)}, {prop: "GetTexParameterCompareMode", name: "GetTexParameterCompareMode", pkg: "", typ: $funcType([types.GLEnum], [types.GLEnum], false)}, {prop: "GetTexParameterImmutableFormat", name: "GetTexParameterImmutableFormat", pkg: "", typ: $funcType([types.GLEnum], [$Bool], false)}, {prop: "GetTexParameterImmutableLevels", name: "GetTexParameterImmutableLevels", pkg: "", typ: $funcType([types.GLEnum], [$Uint], false)}, {prop: "GetTexParameterMaxLever", name: "GetTexParameterMaxLever", pkg: "", typ: $funcType([types.GLEnum], [$Int], false)}, {prop: "GetTexParameterMaxLOD", name: "GetTexParameterMaxLOD", pkg: "", typ: $funcType([types.GLEnum], [$Float32], false)}, {prop: "GetTexParameterMinLOD", name: "GetTexParameterMinLOD", pkg: "", typ: $funcType([types.GLEnum], [$Float32], false)}, {prop: "GetTexParameterWrapR", name: "GetTexParameterWrapR", pkg: "", typ: $funcType([types.GLEnum], [types.GLEnum], false)}, {prop: "GetUniform", name: "GetUniform", pkg: "", typ: $funcType([ptrType$1, ptrType$23], [js.Value], false)}, {prop: "GetUniformLocation", name: "GetUniformLocation", pkg: "", typ: $funcType([ptrType$1, $String], [ptrType$23], false)}, {prop: "GetVertexAttrib", name: "GetVertexAttrib", pkg: "", typ: $funcType([$Int, types.GLEnum], [js.Value], false)}, {prop: "GetVertexAttribArrayBufferBinding", name: "GetVertexAttribArrayBufferBinding", pkg: "", typ: $funcType([$Int], [ptrType$2], false)}, {prop: "GetVertexAttribArrayBufferEnabled", name: "GetVertexAttribArrayBufferEnabled", pkg: "", typ: $funcType([$Int], [$Bool], false)}, {prop: "GetVertexAttribArraySize", name: "GetVertexAttribArraySize", pkg: "", typ: $funcType([$Int], [$Int], false)}, {prop: "GetVertexAttribArrayStride", name: "GetVertexAttribArrayStride", pkg: "", typ: $funcType([$Int], [$Int], false)}, {prop: "GetVertexAttribArrayType", name: "GetVertexAttribArrayType", pkg: "", typ: $funcType([$Int], [types.GLEnum], false)}, {prop: "GetVertexAttribArrayNormalized", name: "GetVertexAttribArrayNormalized", pkg: "", typ: $funcType([$Int], [$Bool], false)}, {prop: "GetVertexAttribCurrentVertexAttrib", name: "GetVertexAttribCurrentVertexAttrib", pkg: "", typ: $funcType([$Int], [arrayType$2], false)}, {prop: "GetVertexAttribArrayInteger", name: "GetVertexAttribArrayInteger", pkg: "", typ: $funcType([$Int], [$Bool], false)}, {prop: "GetVertexAttribArrayDivisor", name: "GetVertexAttribArrayDivisor", pkg: "", typ: $funcType([$Int], [$Int], false)}, {prop: "GetVertexAttribArrayDivisorAngle", name: "GetVertexAttribArrayDivisorAngle", pkg: "", typ: $funcType([$Int], [$Int], false)}, {prop: "GetVertexAttribOffset", name: "GetVertexAttribOffset", pkg: "", typ: $funcType([$Int, types.GLEnum], [$Int], false)}, {prop: "Hint", name: "Hint", pkg: "", typ: $funcType([types.GLEnum, types.GLEnum], [], false)}, {prop: "IsBuffer", name: "IsBuffer", pkg: "", typ: $funcType([js.Value], [$Bool], false)}, {prop: "IsContextLost", name: "IsContextLost", pkg: "", typ: $funcType([], [$Bool], false)}, {prop: "IsEnabled", name: "IsEnabled", pkg: "", typ: $funcType([types.GLEnum], [$Bool], false)}, {prop: "IsFrameBuffer", name: "IsFrameBuffer", pkg: "", typ: $funcType([js.Value], [$Bool], false)}, {prop: "IsProgram", name: "IsProgram", pkg: "", typ: $funcType([js.Value], [$Bool], false)}, {prop: "IsRenderbuffer", name: "IsRenderbuffer", pkg: "", typ: $funcType([js.Value], [$Bool], false)}, {prop: "IsShader", name: "IsShader", pkg: "", typ: $funcType([js.Value], [$Bool], false)}, {prop: "IsTexture", name: "IsTexture", pkg: "", typ: $funcType([js.Value], [$Bool], false)}, {prop: "LineWidth", name: "LineWidth", pkg: "", typ: $funcType([$Float32], [], false)}, {prop: "LinkProgram", name: "LinkProgram", pkg: "", typ: $funcType([ptrType$1], [], false)}, {prop: "PixelStorei", name: "PixelStorei", pkg: "", typ: $funcType([types.GLEnum, $Int], [], false)}, {prop: "PolygonOffset", name: "PolygonOffset", pkg: "", typ: $funcType([$Float32, $Float32], [], false)}, {prop: "ReadPixels", name: "ReadPixels", pkg: "", typ: $funcType([$Int, $Int, $Int, $Int, types.GLEnum, js.Value], [], false)}, {prop: "ReadPixelsOffset", name: "ReadPixelsOffset", pkg: "", typ: $funcType([$Int, $Int, $Int, $Int, types.GLEnum, js.Value, $Uint], [], false)}, {prop: "ReadPixelsOffsetPointer", name: "ReadPixelsOffsetPointer", pkg: "", typ: $funcType([$Int, $Int, $Int, $Int, types.GLEnum, $Int], [], false)}, {prop: "RenderbufferStorage", name: "RenderbufferStorage", pkg: "", typ: $funcType([types.GLEnum, types.GLEnum, $Int, $Int], [], false)}, {prop: "SampleCoverage", name: "SampleCoverage", pkg: "", typ: $funcType([$Float32, $Bool], [], false)}, {prop: "Scissor", name: "Scissor", pkg: "", typ: $funcType([$Int, $Int, $Int, $Int], [], false)}, {prop: "ShaderSource", name: "ShaderSource", pkg: "", typ: $funcType([ptrType$6, $String], [], false)}, {prop: "StencilFunc", name: "StencilFunc", pkg: "", typ: $funcType([types.GLEnum, $Int, $Uint32], [], false)}, {prop: "StencilFuncSeparate", name: "StencilFuncSeparate", pkg: "", typ: $funcType([types.GLEnum, types.GLEnum, $Int, $Uint32], [], false)}, {prop: "StencilMask", name: "StencilMask", pkg: "", typ: $funcType([$Uint32], [], false)}, {prop: "StencilMaskSeparate", name: "StencilMaskSeparate", pkg: "", typ: $funcType([types.GLEnum, $Uint32], [], false)}, {prop: "StencilOp", name: "StencilOp", pkg: "", typ: $funcType([types.GLEnum, types.GLEnum, types.GLEnum], [], false)}, {prop: "StencilOpSeparate", name: "StencilOpSeparate", pkg: "", typ: $funcType([types.GLEnum, types.GLEnum, types.GLEnum, types.GLEnum], [], false)}, {prop: "TexImage2Db", name: "TexImage2Db", pkg: "", typ: $funcType([types.GLEnum, $Int, types.GLEnum, $Int, $Int, $Int, types.GLEnum, sliceType$4], [], false)}, {prop: "TexImage2Dui16", name: "TexImage2Dui16", pkg: "", typ: $funcType([types.GLEnum, $Int, types.GLEnum, $Int, $Int, $Int, types.GLEnum, types.GLEnum, sliceType$5], [], false)}, {prop: "TexImage2Dui32", name: "TexImage2Dui32", pkg: "", typ: $funcType([types.GLEnum, $Int, types.GLEnum, $Int, $Int, $Int, types.GLEnum, types.GLEnum, sliceType$6], [], false)}, {prop: "TexImage2Df", name: "TexImage2Df", pkg: "", typ: $funcType([types.GLEnum, $Int, types.GLEnum, $Int, $Int, $Int, types.GLEnum, sliceType$7], [], false)}, {prop: "TexImage2DHtmlElement", name: "TexImage2DHtmlElement", pkg: "", typ: $funcType([types.GLEnum, $Int, types.GLEnum, types.GLEnum, types.GLEnum, js.Value], [], false)}, {prop: "TexImage2DOffset", name: "TexImage2DOffset", pkg: "", typ: $funcType([types.GLEnum, $Int, types.GLEnum, $Int, $Int, $Int, types.GLEnum, types.GLEnum, $Int], [], false)}, {prop: "TexImage2DHtmlElement2", name: "TexImage2DHtmlElement2", pkg: "", typ: $funcType([types.GLEnum, $Int, types.GLEnum, $Int, $Int, $Int, types.GLEnum, types.GLEnum, js.Value], [], false)}, {prop: "TexImage2D2", name: "TexImage2D2", pkg: "", typ: $funcType([types.GLEnum, $Int, types.GLEnum, $Int, $Int, $Int, types.GLEnum, types.GLEnum, sliceType$7, $Int], [], false)}, {prop: "TexParameterf", name: "TexParameterf", pkg: "", typ: $funcType([types.GLEnum, types.GLEnum, $Float32], [], false)}, {prop: "TexParameteri", name: "TexParameteri", pkg: "", typ: $funcType([types.GLEnum, types.GLEnum, $Int], [], false)}, {prop: "texParameterEnum", name: "texParameterEnum", pkg: "github.com/nuberu/webgl", typ: $funcType([types.GLEnum, types.GLEnum, types.GLEnum], [], false)}, {prop: "TexParameterMagFilter", name: "TexParameterMagFilter", pkg: "", typ: $funcType([types.GLEnum, types.GLEnum], [], false)}, {prop: "TexParameterMinFilter", name: "TexParameterMinFilter", pkg: "", typ: $funcType([types.GLEnum, types.GLEnum], [], false)}, {prop: "TexParameterWrapS", name: "TexParameterWrapS", pkg: "", typ: $funcType([types.GLEnum, types.GLEnum], [], false)}, {prop: "TexParameterWrapT", name: "TexParameterWrapT", pkg: "", typ: $funcType([types.GLEnum, types.GLEnum], [], false)}, {prop: "TexParameterMaxAnisotropyExt", name: "TexParameterMaxAnisotropyExt", pkg: "", typ: $funcType([types.GLEnum, $Float32], [], false)}, {prop: "TexParameterBaseLevel", name: "TexParameterBaseLevel", pkg: "", typ: $funcType([types.GLEnum, $Int], [], false)}, {prop: "TexParameterCompareFunc", name: "TexParameterCompareFunc", pkg: "", typ: $funcType([types.GLEnum, types.GLEnum], [], false)}, {prop: "TexParameterCompareMode", name: "TexParameterCompareMode", pkg: "", typ: $funcType([types.GLEnum, types.GLEnum], [], false)}, {prop: "TexParameterMaxLevel", name: "TexParameterMaxLevel", pkg: "", typ: $funcType([types.GLEnum, $Int], [], false)}, {prop: "TexParameterMaxLOD", name: "TexParameterMaxLOD", pkg: "", typ: $funcType([types.GLEnum, $Int], [], false)}, {prop: "TexParameterMinLOD", name: "TexParameterMinLOD", pkg: "", typ: $funcType([types.GLEnum, $Int], [], false)}, {prop: "TexParameterWrapR", name: "TexParameterWrapR", pkg: "", typ: $funcType([types.GLEnum, types.GLEnum], [], false)}, {prop: "TexSubImage2D", name: "TexSubImage2D", pkg: "", typ: $funcType([types.GLEnum, $Int, $Int, $Int, $Int, $Int, types.GLEnum, types.GLEnum, js.Value], [], false)}, {prop: "TexSubImage2DHtmlElement", name: "TexSubImage2DHtmlElement", pkg: "", typ: $funcType([types.GLEnum, $Int, $Int, $Int, types.GLEnum, types.GLEnum, js.Value], [], false)}, {prop: "TexSubImage2DOffset", name: "TexSubImage2DOffset", pkg: "", typ: $funcType([types.GLEnum, $Int, $Int, $Int, types.GLEnum, types.GLEnum, $Int], [], false)}, {prop: "TexSubImage2DOffset2", name: "TexSubImage2DOffset2", pkg: "", typ: $funcType([types.GLEnum, $Int, $Int, $Int, $Int, $Int, types.GLEnum, types.GLEnum, $Int], [], false)}, {prop: "TexSubImage2DHtmlElement2", name: "TexSubImage2DHtmlElement2", pkg: "", typ: $funcType([types.GLEnum, $Int, $Int, $Int, $Int, $Int, types.GLEnum, types.GLEnum, js.Value], [], false)}, {prop: "Uniform1f", name: "Uniform1f", pkg: "", typ: $funcType([ptrType$23, $Float32], [], false)}, {prop: "Uniform1fv", name: "Uniform1fv", pkg: "", typ: $funcType([ptrType$23, sliceType$7], [], false)}, {prop: "Uniform1i", name: "Uniform1i", pkg: "", typ: $funcType([ptrType$23, $Int], [], false)}, {prop: "Uniform1iv", name: "Uniform1iv", pkg: "", typ: $funcType([ptrType$23, sliceType$14], [], false)}, {prop: "Uniform2f", name: "Uniform2f", pkg: "", typ: $funcType([ptrType$23, $Float32, $Float32], [], false)}, {prop: "Uniform2fv", name: "Uniform2fv", pkg: "", typ: $funcType([ptrType$23, sliceType$7], [], false)}, {prop: "Uniform2i", name: "Uniform2i", pkg: "", typ: $funcType([ptrType$23, $Int, $Int], [], false)}, {prop: "Uniform2iv", name: "Uniform2iv", pkg: "", typ: $funcType([ptrType$23, sliceType$14], [], false)}, {prop: "Uniform3f", name: "Uniform3f", pkg: "", typ: $funcType([ptrType$23, $Float32, $Float32, $Float32], [], false)}, {prop: "Uniform3fv", name: "Uniform3fv", pkg: "", typ: $funcType([ptrType$23, sliceType$7], [], false)}, {prop: "Uniform3i", name: "Uniform3i", pkg: "", typ: $funcType([ptrType$23, $Int, $Int, $Int], [], false)}, {prop: "Uniform3iv", name: "Uniform3iv", pkg: "", typ: $funcType([ptrType$23, sliceType$14], [], false)}, {prop: "Uniform4f", name: "Uniform4f", pkg: "", typ: $funcType([ptrType$23, $Float32, $Float32, $Float32, $Float32], [], false)}, {prop: "Uniform4fv", name: "Uniform4fv", pkg: "", typ: $funcType([ptrType$23, sliceType$7], [], false)}, {prop: "Uniform4i", name: "Uniform4i", pkg: "", typ: $funcType([ptrType$23, $Int, $Int, $Int, $Int], [], false)}, {prop: "Uniform4iv", name: "Uniform4iv", pkg: "", typ: $funcType([ptrType$23, sliceType$14], [], false)}, {prop: "UniformMatrix2fv", name: "UniformMatrix2fv", pkg: "", typ: $funcType([ptrType$23, $Bool, sliceType$7], [], false)}, {prop: "UniformMatrix3fv", name: "UniformMatrix3fv", pkg: "", typ: $funcType([ptrType$23, $Bool, sliceType$7], [], false)}, {prop: "UniformMatrix4fv", name: "UniformMatrix4fv", pkg: "", typ: $funcType([ptrType$23, $Bool, sliceType$7], [], false)}, {prop: "UseProgram", name: "UseProgram", pkg: "", typ: $funcType([ptrType$1], [], false)}, {prop: "ValidateProgram", name: "ValidateProgram", pkg: "", typ: $funcType([ptrType$1], [], false)}, {prop: "VertexAttrib1f", name: "VertexAttrib1f", pkg: "", typ: $funcType([$Int, $Float32], [], false)}, {prop: "VertexAttrib2f", name: "VertexAttrib2f", pkg: "", typ: $funcType([$Int, $Float32, $Float32], [], false)}, {prop: "VertexAttrib3f", name: "VertexAttrib3f", pkg: "", typ: $funcType([$Int, $Float32, $Float32, $Float32], [], false)}, {prop: "VertexAttrib4f", name: "VertexAttrib4f", pkg: "", typ: $funcType([$Int, $Float32, $Float32, $Float32, $Float32], [], false)}, {prop: "VertexAttrib1fv", name: "VertexAttrib1fv", pkg: "", typ: $funcType([$Int, sliceType$7], [], false)}, {prop: "VertexAttrib2fv", name: "VertexAttrib2fv", pkg: "", typ: $funcType([$Int, sliceType$7], [], false)}, {prop: "VertexAttrib3fv", name: "VertexAttrib3fv", pkg: "", typ: $funcType([$Int, sliceType$7], [], false)}, {prop: "VertexAttrib4fv", name: "VertexAttrib4fv", pkg: "", typ: $funcType([$Int, sliceType$7], [], false)}, {prop: "VertexAttribPointer", name: "VertexAttribPointer", pkg: "", typ: $funcType([$Int, $Int, types.GLEnum, $Bool, $Int, $Int], [], false)}, {prop: "Viewport", name: "Viewport", pkg: "", typ: $funcType([$Int, $Int, $Int, $Int], [], false)}];
186715
186809
  RenderingContext.init("github.com/nuberu/webgl", [{prop: "loaded", name: "loaded", embedded: false, exported: false, typ: $Bool, tag: ""}, {prop: "js", name: "js", embedded: false, exported: false, typ: js.Value, tag: ""}, {prop: "version", name: "version", embedded: false, exported: false, typ: $Uint, tag: ""}]);
186716
186810
  $init = function() {
186717
186811
  $pkg.$init = function() {};
@@ -186720,8 +186814,469 @@ $packages["github.com/nuberu/webgl"] = (function() {
186720
186814
  $r = fmt.$init(); /* */ $s = 2; case 2: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
186721
186815
  $r = extensions.$init(); /* */ $s = 3; case 3: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
186722
186816
  $r = types.$init(); /* */ $s = 4; case 4: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
186723
- $r = runtime.$init(); /* */ $s = 5; case 5: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
186724
- $r = js.$init(); /* */ $s = 6; case 6: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
186817
+ $r = reflect.$init(); /* */ $s = 5; case 5: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
186818
+ $r = runtime.$init(); /* */ $s = 6; case 6: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
186819
+ $r = js.$init(); /* */ $s = 7; case 7: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
186820
+ /* */ } return; } if ($f === undefined) { $f = { $blk: $init }; } $f.$s = $s; $f.$r = $r; return $f;
186821
+ };
186822
+ $pkg.$init = $init;
186823
+ return $pkg;
186824
+ })();
186825
+ $packages["golang.org/x/exp/shiny/driver/internal/dom"] = (function() {
186826
+ var $pkg = {}, $init, focus, key, mouse, size, geom, math, strings, js, DomEvents, sliceType, funcType, sliceType$1, sliceType$2, chanType, ptrType, keyCodesMap, keyCodesByKeyMap, GetDocWidth, GetDocHeight, GetScreenWidth, GetScreenHeight, GetBrowserZoomRatio, SetWindowWidth, SetWindowHeight, GetOrientation, NewDomEvents, getMouseDirection, getWheelButton, getMouseButton, getEventModifiers, isFocusIn, getKeyRune, getKeyDirection, getKeyCode;
186827
+ focus = $packages["golang.org/x/mobile/event/focus"];
186828
+ key = $packages["golang.org/x/mobile/event/key"];
186829
+ mouse = $packages["golang.org/x/mobile/event/mouse"];
186830
+ size = $packages["golang.org/x/mobile/event/size"];
186831
+ geom = $packages["golang.org/x/mobile/geom"];
186832
+ math = $packages["math"];
186833
+ strings = $packages["strings"];
186834
+ js = $packages["syscall/js"];
186835
+ DomEvents = $pkg.DomEvents = $newType(0, $kindStruct, "dom.DomEvents", true, "golang.org/x/exp/shiny/driver/internal/dom", true, function(eventChan_, releases_) {
186836
+ this.$val = this;
186837
+ if (arguments.length === 0) {
186838
+ this.eventChan = $chanNil;
186839
+ this.releases = sliceType$1.nil;
186840
+ return;
186841
+ }
186842
+ this.eventChan = eventChan_;
186843
+ this.releases = releases_;
186844
+ });
186845
+ sliceType = $sliceType($emptyInterface);
186846
+ funcType = $funcType([], [], false);
186847
+ sliceType$1 = $sliceType(funcType);
186848
+ sliceType$2 = $sliceType($Int32);
186849
+ chanType = $chanType($emptyInterface, false, false);
186850
+ ptrType = $ptrType(DomEvents);
186851
+ GetDocWidth = function() {
186852
+ return $clone($clone(js.Global(), js.Value).Get("innerWidth"), js.Value).Int();
186853
+ };
186854
+ $pkg.GetDocWidth = GetDocWidth;
186855
+ GetDocHeight = function() {
186856
+ return $clone($clone(js.Global(), js.Value).Get("innerHeight"), js.Value).Int();
186857
+ };
186858
+ $pkg.GetDocHeight = GetDocHeight;
186859
+ GetScreenWidth = function() {
186860
+ return $clone($clone($clone(js.Global(), js.Value).Get("screen"), js.Value).Get("width"), js.Value).Int();
186861
+ };
186862
+ $pkg.GetScreenWidth = GetScreenWidth;
186863
+ GetScreenHeight = function() {
186864
+ return $clone($clone($clone(js.Global(), js.Value).Get("screen"), js.Value).Get("height"), js.Value).Int();
186865
+ };
186866
+ $pkg.GetScreenHeight = GetScreenHeight;
186867
+ GetBrowserZoomRatio = function() {
186868
+ var chromeZoom1, chromeZoom2, chromeZoom3, docElClientWidth, scrollerWidthInNoZoom, scrollerWidthInZoom1, scrollerWidthInZoom2, windowInnerWidth, windowOuterWidth;
186869
+ windowInnerWidth = $clone($clone(js.Global(), js.Value).Get("innerWidth"), js.Value).Float();
186870
+ windowOuterWidth = $clone($clone(js.Global(), js.Value).Get("outerWidth"), js.Value).Float();
186871
+ docElClientWidth = $clone($clone($clone($clone(js.Global(), js.Value).Get("document"), js.Value).Get("documentElement"), js.Value).Get("clientWidth"), js.Value).Float();
186872
+ scrollerWidthInNoZoom = windowInnerWidth - docElClientWidth;
186873
+ chromeZoom1 = (windowOuterWidth - scrollerWidthInNoZoom) / windowInnerWidth;
186874
+ scrollerWidthInZoom1 = math.Round(scrollerWidthInNoZoom * chromeZoom1);
186875
+ chromeZoom2 = (windowOuterWidth - scrollerWidthInZoom1) / windowInnerWidth;
186876
+ scrollerWidthInZoom2 = math.Round(scrollerWidthInNoZoom * chromeZoom2);
186877
+ chromeZoom3 = (windowOuterWidth - scrollerWidthInZoom2) / windowInnerWidth;
186878
+ return chromeZoom3;
186879
+ };
186880
+ $pkg.GetBrowserZoomRatio = GetBrowserZoomRatio;
186881
+ SetWindowWidth = function(newInnerWidth) {
186882
+ var {_r, innerWidth, newInnerWidth, newOuterWidth, outerHeight, outerWidth, screenWidth, $s, $r, $c} = $restore(this, {newInnerWidth});
186883
+ /* */ $s = $s || 0; s: while (true) { switch ($s) { case 0:
186884
+ innerWidth = $clone($clone(js.Global(), js.Value).Get("innerWidth"), js.Value).Int();
186885
+ outerWidth = $clone($clone(js.Global(), js.Value).Get("outerWidth"), js.Value).Int();
186886
+ outerHeight = $clone($clone(js.Global(), js.Value).Get("outerHeight"), js.Value).Int();
186887
+ newOuterWidth = newInnerWidth + ((outerWidth - innerWidth >> 0)) >> 0;
186888
+ screenWidth = GetScreenWidth();
186889
+ if (newOuterWidth > screenWidth) {
186890
+ newOuterWidth = screenWidth;
186891
+ }
186892
+ _r = $clone(js.Global(), js.Value).Call("resizeTo", new sliceType([new $Int(newOuterWidth), new $Int(outerHeight)])); /* */ $s = 1; case 1: if($c) { $c = false; _r = _r.$blk(); } if (_r && _r.$blk !== undefined) { break s; }
186893
+ _r;
186894
+ $s = -1; return;
186895
+ /* */ } return; } var $f = {$blk: SetWindowWidth, $c: true, $r, _r, innerWidth, newInnerWidth, newOuterWidth, outerHeight, outerWidth, screenWidth, $s};return $f;
186896
+ };
186897
+ $pkg.SetWindowWidth = SetWindowWidth;
186898
+ SetWindowHeight = function(newInnerHeight) {
186899
+ var {_r, innerHeight, newInnerHeight, newOuterHeight, outerHeight, outerWidth, screenHeight, $s, $r, $c} = $restore(this, {newInnerHeight});
186900
+ /* */ $s = $s || 0; s: while (true) { switch ($s) { case 0:
186901
+ innerHeight = $clone($clone(js.Global(), js.Value).Get("innerHeight"), js.Value).Int();
186902
+ outerHeight = $clone($clone(js.Global(), js.Value).Get("outerHeight"), js.Value).Int();
186903
+ outerWidth = $clone($clone(js.Global(), js.Value).Get("outerWidth"), js.Value).Int();
186904
+ newOuterHeight = newInnerHeight + ((outerHeight - innerHeight >> 0)) >> 0;
186905
+ screenHeight = GetScreenHeight();
186906
+ if (newOuterHeight > screenHeight) {
186907
+ newOuterHeight = screenHeight;
186908
+ }
186909
+ _r = $clone(js.Global(), js.Value).Call("resizeTo", new sliceType([new $Int(outerWidth), new $Int(newOuterHeight)])); /* */ $s = 1; case 1: if($c) { $c = false; _r = _r.$blk(); } if (_r && _r.$blk !== undefined) { break s; }
186910
+ _r;
186911
+ $s = -1; return;
186912
+ /* */ } return; } var $f = {$blk: SetWindowHeight, $c: true, $r, _r, innerHeight, newInnerHeight, newOuterHeight, outerHeight, outerWidth, screenHeight, $s};return $f;
186913
+ };
186914
+ $pkg.SetWindowHeight = SetWindowHeight;
186915
+ GetOrientation = function() {
186916
+ var {$24r, $24r$1, $24r$2, orientation, orientationType, $s, $deferred, $r, $c} = $restore(this, {});
186917
+ /* */ $s = $s || 0; var $err = null; try { s: while (true) { switch ($s) { case 0: $deferred = []; $curGoroutine.deferStack.push($deferred);
186918
+ orientation = [orientation];
186919
+ orientation[0] = 0;
186920
+ $deferred.push([(function(orientation) { return function() {
186921
+ if (!($interfaceIsEqual($recover(), $ifaceNil))) {
186922
+ orientation[0] = 0;
186923
+ }
186924
+ }; })(orientation), []]);
186925
+ orientationType = $clone($clone($clone($clone(js.Global(), js.Value).Get("screen"), js.Value).Get("orientation"), js.Value).Get("type"), js.Value).String();
186926
+ /* */ if (strings.HasPrefix(orientationType, "landscape")) { $s = 1; continue; }
186927
+ /* */ $s = 2; continue;
186928
+ /* if (strings.HasPrefix(orientationType, "landscape")) { */ case 1:
186929
+ orientation[0] = 2;
186930
+ $24r = orientation[0];
186931
+ $s = 3; case 3: return $24r;
186932
+ /* } */ case 2:
186933
+ /* */ if (strings.HasPrefix(orientationType, "portrait")) { $s = 4; continue; }
186934
+ /* */ $s = 5; continue;
186935
+ /* if (strings.HasPrefix(orientationType, "portrait")) { */ case 4:
186936
+ orientation[0] = 2;
186937
+ $24r$1 = orientation[0];
186938
+ $s = 6; case 6: return $24r$1;
186939
+ /* } */ case 5:
186940
+ orientation[0] = 0;
186941
+ $24r$2 = orientation[0];
186942
+ $s = 7; case 7: return $24r$2;
186943
+ /* */ } return; } } catch(err) { $err = err; $s = -1; } finally { $callDeferred($deferred, $err); if (!$curGoroutine.asleep) { return orientation[0]; } if($curGoroutine.asleep) { var $f = {$blk: GetOrientation, $c: true, $r, $24r, $24r$1, $24r$2, orientation, orientationType, $s, $deferred};return $f; } }
186944
+ };
186945
+ $pkg.GetOrientation = GetOrientation;
186946
+ NewDomEvents = function() {
186947
+ return new DomEvents.ptr(new $Chan($emptyInterface, 0), $makeSlice(sliceType$1, 0));
186948
+ };
186949
+ $pkg.NewDomEvents = NewDomEvents;
186950
+ DomEvents.ptr.prototype.GetEventChan = function() {
186951
+ var d;
186952
+ d = this;
186953
+ return d.eventChan;
186954
+ };
186955
+ DomEvents.prototype.GetEventChan = function() { return this.$val.GetEventChan(); };
186956
+ DomEvents.ptr.prototype.Release = function() {
186957
+ var {_i, _ref, d, release, $s, $r, $c} = $restore(this, {});
186958
+ /* */ $s = $s || 0; s: while (true) { switch ($s) { case 0:
186959
+ d = this;
186960
+ _ref = d.releases;
186961
+ _i = 0;
186962
+ /* while (true) { */ case 1:
186963
+ /* if (!(_i < _ref.$length)) { break; } */ if(!(_i < _ref.$length)) { $s = 2; continue; }
186964
+ release = ((_i < 0 || _i >= _ref.$length) ? ($throwRuntimeError("index out of range"), undefined) : _ref.$array[_ref.$offset + _i]);
186965
+ $r = release(); /* */ $s = 3; case 3: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
186966
+ _i++;
186967
+ $s = 1; continue;
186968
+ case 2:
186969
+ $s = -1; return;
186970
+ /* */ } return; } var $f = {$blk: DomEvents.ptr.prototype.Release, $c: true, $r, _i, _ref, d, release, $s};return $f;
186971
+ };
186972
+ DomEvents.prototype.Release = function() { return this.$val.Release(); };
186973
+ DomEvents.ptr.prototype.BindEvents = function() {
186974
+ var {d, $s, $r, $c} = $restore(this, {});
186975
+ /* */ $s = $s || 0; s: while (true) { switch ($s) { case 0:
186976
+ d = this;
186977
+ $r = d.bindSizeEvents(); /* */ $s = 1; case 1: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
186978
+ $go($methodVal(d, "emitSizeEvent"), []);
186979
+ $r = d.bindMouseEvents(); /* */ $s = 2; case 2: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
186980
+ $r = d.bindKeyEvents(); /* */ $s = 3; case 3: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
186981
+ $r = d.bindFocusEvents(); /* */ $s = 4; case 4: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
186982
+ $s = -1; return;
186983
+ /* */ } return; } var $f = {$blk: DomEvents.ptr.prototype.BindEvents, $c: true, $r, d, $s};return $f;
186984
+ };
186985
+ DomEvents.prototype.BindEvents = function() { return this.$val.BindEvents(); };
186986
+ DomEvents.ptr.prototype.bindSizeEvents = function() {
186987
+ var {_r, d, onResize, $s, $r, $c} = $restore(this, {});
186988
+ /* */ $s = $s || 0; s: while (true) { switch ($s) { case 0:
186989
+ d = [d];
186990
+ onResize = [onResize];
186991
+ d[0] = this;
186992
+ onResize[0] = $clone(js.FuncOf((function(d, onResize) { return function $b(this$1, args) {
186993
+ var {args, this$1, $s, $r, $c} = $restore(this, {this$1, args});
186994
+ /* */ $s = $s || 0; s: while (true) { switch ($s) { case 0:
186995
+ $r = d[0].emitSizeEvent(); /* */ $s = 1; case 1: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
186996
+ $s = -1; return $ifaceNil;
186997
+ /* */ } return; } var $f = {$blk: $b, $c: true, $r, args, this$1, $s};return $f;
186998
+ }; })(d, onResize)), js.Func);
186999
+ _r = $clone(js.Global(), js.Value).Call("addEventListener", new sliceType([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; }
187000
+ _r;
187001
+ d[0].releases = $append(d[0].releases, (function(d, onResize) { return function $b() {
187002
+ var {_r$1, $s, $r, $c} = $restore(this, {});
187003
+ /* */ $s = $s || 0; s: while (true) { switch ($s) { case 0:
187004
+ _r$1 = $clone(js.Global(), js.Value).Call("removeEventListener", new sliceType([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; }
187005
+ _r$1;
187006
+ $clone(onResize[0], js.Func).Release();
187007
+ $s = -1; return;
187008
+ /* */ } return; } var $f = {$blk: $b, $c: true, $r, _r$1, $s};return $f;
187009
+ }; })(d, onResize));
187010
+ $s = -1; return;
187011
+ /* */ } return; } var $f = {$blk: DomEvents.ptr.prototype.bindSizeEvents, $c: true, $r, _r, d, onResize, $s};return $f;
187012
+ };
187013
+ DomEvents.prototype.bindSizeEvents = function() { return this.$val.bindSizeEvents(); };
187014
+ DomEvents.ptr.prototype.emitSizeEvent = function() {
187015
+ var {_q, _q$1, _r, d, height, orientation, pixelsPerPt, width, x, $s, $r, $c} = $restore(this, {});
187016
+ /* */ $s = $s || 0; s: while (true) { switch ($s) { case 0:
187017
+ d = this;
187018
+ _r = GetOrientation(); /* */ $s = 1; case 1: if($c) { $c = false; _r = _r.$blk(); } if (_r && _r.$blk !== undefined) { break s; }
187019
+ orientation = _r;
187020
+ pixelsPerPt = 1;
187021
+ width = GetDocWidth();
187022
+ height = GetDocHeight();
187023
+ $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 = 2; case 2: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
187024
+ $s = -1; return;
187025
+ /* */ } return; } var $f = {$blk: DomEvents.ptr.prototype.emitSizeEvent, $c: true, $r, _q, _q$1, _r, d, height, orientation, pixelsPerPt, width, x, $s};return $f;
187026
+ };
187027
+ DomEvents.prototype.emitSizeEvent = function() { return this.$val.emitSizeEvent(); };
187028
+ DomEvents.ptr.prototype.bindMouseEvents = function() {
187029
+ var {_r, _r$1, _r$2, _r$3, d, onClick, onMove, onWheel, $s, $r, $c} = $restore(this, {});
187030
+ /* */ $s = $s || 0; s: while (true) { switch ($s) { case 0:
187031
+ d = [d];
187032
+ onClick = [onClick];
187033
+ onMove = [onMove];
187034
+ onWheel = [onWheel];
187035
+ d[0] = this;
187036
+ onMove[0] = $clone(js.FuncOf((function(d, onClick, onMove, onWheel) { return function $b(this$1, args) {
187037
+ var {_r, args, this$1, x, $s, $r, $c} = $restore(this, {this$1, args});
187038
+ /* */ $s = $s || 0; s: while (true) { switch ($s) { case 0:
187039
+ _r = $clone((0 >= args.$length ? ($throwRuntimeError("index out of range"), undefined) : args.$array[args.$offset + 0]), js.Value).Call("preventDefault", sliceType.nil); /* */ $s = 1; case 1: if($c) { $c = false; _r = _r.$blk(); } if (_r && _r.$blk !== undefined) { break s; }
187040
+ _r;
187041
+ $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; }
187042
+ $s = -1; return $ifaceNil;
187043
+ /* */ } return; } var $f = {$blk: $b, $c: true, $r, _r, args, this$1, x, $s};return $f;
187044
+ }; })(d, onClick, onMove, onWheel)), js.Func);
187045
+ _r = $clone(js.Global(), js.Value).Call("addEventListener", new sliceType([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; }
187046
+ _r;
187047
+ onClick[0] = $clone(js.FuncOf((function(d, onClick, onMove, onWheel) { return function $b(this$1, args) {
187048
+ var {_r$1, args, this$1, x, $s, $r, $c} = $restore(this, {this$1, args});
187049
+ /* */ $s = $s || 0; s: while (true) { switch ($s) { case 0:
187050
+ _r$1 = $clone((0 >= args.$length ? ($throwRuntimeError("index out of range"), undefined) : args.$array[args.$offset + 0]), js.Value).Call("preventDefault", sliceType.nil); /* */ $s = 1; case 1: if($c) { $c = false; _r$1 = _r$1.$blk(); } if (_r$1 && _r$1.$blk !== undefined) { break s; }
187051
+ _r$1;
187052
+ $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; }
187053
+ $s = -1; return $ifaceNil;
187054
+ /* */ } return; } var $f = {$blk: $b, $c: true, $r, _r$1, args, this$1, x, $s};return $f;
187055
+ }; })(d, onClick, onMove, onWheel)), js.Func);
187056
+ _r$1 = $clone(js.Global(), js.Value).Call("addEventListener", new sliceType([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; }
187057
+ _r$1;
187058
+ _r$2 = $clone(js.Global(), js.Value).Call("addEventListener", new sliceType([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; }
187059
+ _r$2;
187060
+ onWheel[0] = $clone(js.FuncOf((function(d, onClick, onMove, onWheel) { return function $b(this$1, args) {
187061
+ var {args, this$1, x, $s, $r, $c} = $restore(this, {this$1, args});
187062
+ /* */ $s = $s || 0; s: while (true) { switch ($s) { case 0:
187063
+ $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; }
187064
+ $s = -1; return $ifaceNil;
187065
+ /* */ } return; } var $f = {$blk: $b, $c: true, $r, args, this$1, x, $s};return $f;
187066
+ }; })(d, onClick, onMove, onWheel)), js.Func);
187067
+ _r$3 = $clone(js.Global(), js.Value).Call("addEventListener", new sliceType([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; }
187068
+ _r$3;
187069
+ d[0].releases = $append(d[0].releases, (function(d, onClick, onMove, onWheel) { return function $b() {
187070
+ var {_r$4, _r$5, _r$6, _r$7, $s, $r, $c} = $restore(this, {});
187071
+ /* */ $s = $s || 0; s: while (true) { switch ($s) { case 0:
187072
+ _r$4 = $clone(js.Global(), js.Value).Call("removeEventListener", new sliceType([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; }
187073
+ _r$4;
187074
+ _r$5 = $clone(js.Global(), js.Value).Call("removeEventListener", new sliceType([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; }
187075
+ _r$5;
187076
+ _r$6 = $clone(js.Global(), js.Value).Call("removeEventListener", new sliceType([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; }
187077
+ _r$6;
187078
+ _r$7 = $clone(js.Global(), js.Value).Call("removeEventListener", new sliceType([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; }
187079
+ _r$7;
187080
+ $clone(onMove[0], js.Func).Release();
187081
+ $clone(onClick[0], js.Func).Release();
187082
+ $clone(onWheel[0], js.Func).Release();
187083
+ $s = -1; return;
187084
+ /* */ } return; } var $f = {$blk: $b, $c: true, $r, _r$4, _r$5, _r$6, _r$7, $s};return $f;
187085
+ }; })(d, onClick, onMove, onWheel));
187086
+ $s = -1; return;
187087
+ /* */ } return; } var $f = {$blk: DomEvents.ptr.prototype.bindMouseEvents, $c: true, $r, _r, _r$1, _r$2, _r$3, d, onClick, onMove, onWheel, $s};return $f;
187088
+ };
187089
+ DomEvents.prototype.bindMouseEvents = function() { return this.$val.bindMouseEvents(); };
187090
+ getMouseDirection = function(ev) {
187091
+ var dir, ev;
187092
+ dir = 0;
187093
+ dir = 0;
187094
+ if ($clone($clone(ev, js.Value).Get("type"), js.Value).String() === "mousedown") {
187095
+ dir = 1;
187096
+ }
187097
+ if ($clone($clone(ev, js.Value).Get("type"), js.Value).String() === "mouseup") {
187098
+ dir = 2;
187099
+ }
187100
+ return dir;
187101
+ };
187102
+ getWheelButton = function(ev) {
187103
+ var deltaX, deltaY, ev;
187104
+ deltaY = $clone($clone(ev, js.Value).Get("deltaY"), js.Value).Int();
187105
+ deltaX = $clone($clone(ev, js.Value).Get("deltaX"), js.Value).Int();
187106
+ if (deltaY > 0) {
187107
+ return -2;
187108
+ }
187109
+ if (deltaY < 0) {
187110
+ return -1;
187111
+ }
187112
+ if (deltaX > 0) {
187113
+ return -4;
187114
+ }
187115
+ if (deltaX < 0) {
187116
+ return -3;
187117
+ }
187118
+ return 0;
187119
+ };
187120
+ getMouseButton = function(ev) {
187121
+ var _1, ev;
187122
+ _1 = $clone($clone(ev, js.Value).Get("button"), js.Value).Int();
187123
+ if (_1 === (0)) {
187124
+ return 1;
187125
+ } else if (_1 === (1)) {
187126
+ return 2;
187127
+ } else if (_1 === (2)) {
187128
+ return 3;
187129
+ } else if (_1 === (3)) {
187130
+ return 8;
187131
+ } else if (_1 === (4)) {
187132
+ return 9;
187133
+ } else {
187134
+ return 0;
187135
+ }
187136
+ };
187137
+ getEventModifiers = function(ev) {
187138
+ var ev, mod;
187139
+ mod = 0;
187140
+ if ($clone($clone(ev, js.Value).Get("altKey"), js.Value).Bool()) {
187141
+ mod = (mod | (4)) >>> 0;
187142
+ }
187143
+ if ($clone($clone(ev, js.Value).Get("ctrlKey"), js.Value).Bool()) {
187144
+ mod = (mod | (2)) >>> 0;
187145
+ }
187146
+ if ($clone($clone(ev, js.Value).Get("shiftKey"), js.Value).Bool()) {
187147
+ mod = (mod | (1)) >>> 0;
187148
+ }
187149
+ if ($clone($clone(ev, js.Value).Get("metaKey"), js.Value).Bool()) {
187150
+ mod = (mod | (8)) >>> 0;
187151
+ }
187152
+ return mod;
187153
+ };
187154
+ DomEvents.ptr.prototype.bindFocusEvents = function() {
187155
+ var {_r, _r$1, d, onFocus, $s, $r, $c} = $restore(this, {});
187156
+ /* */ $s = $s || 0; s: while (true) { switch ($s) { case 0:
187157
+ d = [d];
187158
+ onFocus = [onFocus];
187159
+ d[0] = this;
187160
+ onFocus[0] = $clone(js.FuncOf((function(d, onFocus) { return function $b(this$1, args) {
187161
+ var {args, this$1, x, $s, $r, $c} = $restore(this, {this$1, args});
187162
+ /* */ $s = $s || 0; s: while (true) { switch ($s) { case 0:
187163
+ $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; }
187164
+ $s = -1; return $ifaceNil;
187165
+ /* */ } return; } var $f = {$blk: $b, $c: true, $r, args, this$1, x, $s};return $f;
187166
+ }; })(d, onFocus)), js.Func);
187167
+ _r = $clone(js.Global(), js.Value).Call("addEventListener", new sliceType([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; }
187168
+ _r;
187169
+ _r$1 = $clone(js.Global(), js.Value).Call("addEventListener", new sliceType([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; }
187170
+ _r$1;
187171
+ d[0].releases = $append(d[0].releases, (function(d, onFocus) { return function $b() {
187172
+ var {_r$2, _r$3, $s, $r, $c} = $restore(this, {});
187173
+ /* */ $s = $s || 0; s: while (true) { switch ($s) { case 0:
187174
+ _r$2 = $clone(js.Global(), js.Value).Call("removeEventListener", new sliceType([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; }
187175
+ _r$2;
187176
+ _r$3 = $clone(js.Global(), js.Value).Call("removeEventListener", new sliceType([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; }
187177
+ _r$3;
187178
+ $clone(onFocus[0], js.Func).Release();
187179
+ $s = -1; return;
187180
+ /* */ } return; } var $f = {$blk: $b, $c: true, $r, _r$2, _r$3, $s};return $f;
187181
+ }; })(d, onFocus));
187182
+ $s = -1; return;
187183
+ /* */ } return; } var $f = {$blk: DomEvents.ptr.prototype.bindFocusEvents, $c: true, $r, _r, _r$1, d, onFocus, $s};return $f;
187184
+ };
187185
+ DomEvents.prototype.bindFocusEvents = function() { return this.$val.bindFocusEvents(); };
187186
+ isFocusIn = function(ev) {
187187
+ var ev;
187188
+ if ($clone($clone(ev, js.Value).Get("type"), js.Value).String() === "focus") {
187189
+ return true;
187190
+ }
187191
+ return false;
187192
+ };
187193
+ DomEvents.ptr.prototype.bindKeyEvents = function() {
187194
+ var {_r, _r$1, d, onKey, $s, $r, $c} = $restore(this, {});
187195
+ /* */ $s = $s || 0; s: while (true) { switch ($s) { case 0:
187196
+ d = [d];
187197
+ onKey = [onKey];
187198
+ d[0] = this;
187199
+ onKey[0] = $clone(js.FuncOf((function(d, onKey) { return function $b(this$1, args) {
187200
+ var {_r, args, this$1, x, $s, $r, $c} = $restore(this, {this$1, args});
187201
+ /* */ $s = $s || 0; s: while (true) { switch ($s) { case 0:
187202
+ _r = $clone((0 >= args.$length ? ($throwRuntimeError("index out of range"), undefined) : args.$array[args.$offset + 0]), js.Value).Call("preventDefault", sliceType.nil); /* */ $s = 1; case 1: if($c) { $c = false; _r = _r.$blk(); } if (_r && _r.$blk !== undefined) { break s; }
187203
+ _r;
187204
+ $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; }
187205
+ $s = -1; return $ifaceNil;
187206
+ /* */ } return; } var $f = {$blk: $b, $c: true, $r, _r, args, this$1, x, $s};return $f;
187207
+ }; })(d, onKey)), js.Func);
187208
+ _r = $clone(js.Global(), js.Value).Call("addEventListener", new sliceType([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; }
187209
+ _r;
187210
+ _r$1 = $clone(js.Global(), js.Value).Call("addEventListener", new sliceType([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; }
187211
+ _r$1;
187212
+ d[0].releases = $append(d[0].releases, (function(d, onKey) { return function $b() {
187213
+ var {_r$2, _r$3, $s, $r, $c} = $restore(this, {});
187214
+ /* */ $s = $s || 0; s: while (true) { switch ($s) { case 0:
187215
+ _r$2 = $clone(js.Global(), js.Value).Call("removeEventListener", new sliceType([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; }
187216
+ _r$2;
187217
+ _r$3 = $clone(js.Global(), js.Value).Call("removeEventListener", new sliceType([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; }
187218
+ _r$3;
187219
+ $clone(onKey[0], js.Func).Release();
187220
+ $s = -1; return;
187221
+ /* */ } return; } var $f = {$blk: $b, $c: true, $r, _r$2, _r$3, $s};return $f;
187222
+ }; })(d, onKey));
187223
+ $s = -1; return;
187224
+ /* */ } return; } var $f = {$blk: DomEvents.ptr.prototype.bindKeyEvents, $c: true, $r, _r, _r$1, d, onKey, $s};return $f;
187225
+ };
187226
+ DomEvents.prototype.bindKeyEvents = function() { return this.$val.bindKeyEvents(); };
187227
+ getKeyRune = function(ev) {
187228
+ var ev, key$1;
187229
+ key$1 = (new sliceType$2($stringToRunes($clone($clone(ev, js.Value).Get("key"), js.Value).String())));
187230
+ if (key$1.$length === 1) {
187231
+ return (0 >= key$1.$length ? ($throwRuntimeError("index out of range"), undefined) : key$1.$array[key$1.$offset + 0]);
187232
+ }
187233
+ return -1;
187234
+ };
187235
+ getKeyDirection = function(ev) {
187236
+ var dir, ev;
187237
+ dir = 0;
187238
+ dir = 0;
187239
+ if ($clone($clone(ev, js.Value).Get("type"), js.Value).String() === "keydown") {
187240
+ dir = 1;
187241
+ }
187242
+ if ($clone($clone(ev, js.Value).Get("type"), js.Value).String() === "keyup") {
187243
+ dir = 2;
187244
+ }
187245
+ return dir;
187246
+ };
187247
+ getKeyCode = function(ev) {
187248
+ var _entry, _entry$1, _tuple, _tuple$1, code, code$1, domCode, domKey, ev, exists, exists$1;
187249
+ domCode = $clone($clone(ev, js.Value).Get("code"), js.Value).String();
187250
+ _tuple = (_entry = $mapIndex(keyCodesMap,$String.keyFor(domCode)), _entry !== undefined ? [_entry.v, true] : [0, false]);
187251
+ code = _tuple[0];
187252
+ exists = _tuple[1];
187253
+ if (exists) {
187254
+ return code;
187255
+ }
187256
+ domKey = $clone($clone(ev, js.Value).Get("key"), js.Value).String();
187257
+ _tuple$1 = (_entry$1 = $mapIndex(keyCodesByKeyMap,$String.keyFor(domKey)), _entry$1 !== undefined ? [_entry$1.v, true] : [0, false]);
187258
+ code$1 = _tuple$1[0];
187259
+ exists$1 = _tuple$1[1];
187260
+ if (exists$1) {
187261
+ return code$1;
187262
+ }
187263
+ return 0;
187264
+ };
187265
+ 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)}];
187266
+ 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$1, tag: ""}]);
187267
+ $init = function() {
187268
+ $pkg.$init = function() {};
187269
+ /* */ 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:
187270
+ $r = focus.$init(); /* */ $s = 1; case 1: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
187271
+ $r = key.$init(); /* */ $s = 2; case 2: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
187272
+ $r = mouse.$init(); /* */ $s = 3; case 3: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
187273
+ $r = size.$init(); /* */ $s = 4; case 4: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
187274
+ $r = geom.$init(); /* */ $s = 5; case 5: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
187275
+ $r = math.$init(); /* */ $s = 6; case 6: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
187276
+ $r = strings.$init(); /* */ $s = 7; case 7: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
187277
+ $r = js.$init(); /* */ $s = 8; case 8: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
187278
+ 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 }]);
187279
+ keyCodesByKeyMap = $makeMap($String.keyFor, [{ k: "AudioVolumeMute", v: 127 }, { k: "AudioVolumeUp", v: 128 }, { k: "AudioVolumeDown", v: 129 }]);
186725
187280
  /* */ } return; } if ($f === undefined) { $f = { $blk: $init }; } $f.$s = $s; $f.$r = $r; return $f;
186726
187281
  };
186727
187282
  $pkg.$init = $init;
@@ -188808,466 +189363,6 @@ $packages["golang.org/x/exp/shiny/driver/internal/errscreen"] = (function() {
188808
189363
  $pkg.$init = $init;
188809
189364
  return $pkg;
188810
189365
  })();
188811
- $packages["golang.org/x/exp/shiny/driver/util/dom"] = (function() {
188812
- var $pkg = {}, $init, focus, key, mouse, size, geom, math, strings, js, DomEvents, sliceType, funcType, sliceType$1, sliceType$2, chanType, ptrType, keyCodesMap, keyCodesByKeyMap, GetDocWidth, GetDocHeight, GetScreenWidth, GetScreenHeight, GetBrowserZoomRatio, SetWindowWidth, SetWindowHeight, GetOrientation, NewDomEvents, getMouseDirection, getWheelButton, getMouseButton, getEventModifiers, isFocusIn, getKeyRune, getKeyDirection, getKeyCode;
188813
- focus = $packages["golang.org/x/mobile/event/focus"];
188814
- key = $packages["golang.org/x/mobile/event/key"];
188815
- mouse = $packages["golang.org/x/mobile/event/mouse"];
188816
- size = $packages["golang.org/x/mobile/event/size"];
188817
- geom = $packages["golang.org/x/mobile/geom"];
188818
- math = $packages["math"];
188819
- strings = $packages["strings"];
188820
- js = $packages["syscall/js"];
188821
- DomEvents = $pkg.DomEvents = $newType(0, $kindStruct, "dom.DomEvents", true, "golang.org/x/exp/shiny/driver/util/dom", true, function(eventChan_, releases_) {
188822
- this.$val = this;
188823
- if (arguments.length === 0) {
188824
- this.eventChan = $chanNil;
188825
- this.releases = sliceType$1.nil;
188826
- return;
188827
- }
188828
- this.eventChan = eventChan_;
188829
- this.releases = releases_;
188830
- });
188831
- sliceType = $sliceType($emptyInterface);
188832
- funcType = $funcType([], [], false);
188833
- sliceType$1 = $sliceType(funcType);
188834
- sliceType$2 = $sliceType($Int32);
188835
- chanType = $chanType($emptyInterface, false, false);
188836
- ptrType = $ptrType(DomEvents);
188837
- GetDocWidth = function() {
188838
- return $clone($clone(js.Global(), js.Value).Get("innerWidth"), js.Value).Int();
188839
- };
188840
- $pkg.GetDocWidth = GetDocWidth;
188841
- GetDocHeight = function() {
188842
- return $clone($clone(js.Global(), js.Value).Get("innerHeight"), js.Value).Int();
188843
- };
188844
- $pkg.GetDocHeight = GetDocHeight;
188845
- GetScreenWidth = function() {
188846
- return $clone($clone($clone(js.Global(), js.Value).Get("screen"), js.Value).Get("width"), js.Value).Int();
188847
- };
188848
- $pkg.GetScreenWidth = GetScreenWidth;
188849
- GetScreenHeight = function() {
188850
- return $clone($clone($clone(js.Global(), js.Value).Get("screen"), js.Value).Get("height"), js.Value).Int();
188851
- };
188852
- $pkg.GetScreenHeight = GetScreenHeight;
188853
- GetBrowserZoomRatio = function() {
188854
- var chromeZoom1, chromeZoom2, chromeZoom3, docElClientWidth, scrollerWidthInNoZoom, scrollerWidthInZoom1, scrollerWidthInZoom2, windowInnerWidth, windowOuterWidth;
188855
- windowInnerWidth = $clone($clone(js.Global(), js.Value).Get("innerWidth"), js.Value).Float();
188856
- windowOuterWidth = $clone($clone(js.Global(), js.Value).Get("outerWidth"), js.Value).Float();
188857
- docElClientWidth = $clone($clone($clone($clone(js.Global(), js.Value).Get("document"), js.Value).Get("documentElement"), js.Value).Get("clientWidth"), js.Value).Float();
188858
- scrollerWidthInNoZoom = windowInnerWidth - docElClientWidth;
188859
- chromeZoom1 = (windowOuterWidth - scrollerWidthInNoZoom) / windowInnerWidth;
188860
- scrollerWidthInZoom1 = math.Round(scrollerWidthInNoZoom * chromeZoom1);
188861
- chromeZoom2 = (windowOuterWidth - scrollerWidthInZoom1) / windowInnerWidth;
188862
- scrollerWidthInZoom2 = math.Round(scrollerWidthInNoZoom * chromeZoom2);
188863
- chromeZoom3 = (windowOuterWidth - scrollerWidthInZoom2) / windowInnerWidth;
188864
- return chromeZoom3;
188865
- };
188866
- $pkg.GetBrowserZoomRatio = GetBrowserZoomRatio;
188867
- SetWindowWidth = function(newInnerWidth) {
188868
- var {_r, innerWidth, newInnerWidth, newOuterWidth, outerHeight, outerWidth, screenWidth, $s, $r, $c} = $restore(this, {newInnerWidth});
188869
- /* */ $s = $s || 0; s: while (true) { switch ($s) { case 0:
188870
- innerWidth = $clone($clone(js.Global(), js.Value).Get("innerWidth"), js.Value).Int();
188871
- outerWidth = $clone($clone(js.Global(), js.Value).Get("outerWidth"), js.Value).Int();
188872
- outerHeight = $clone($clone(js.Global(), js.Value).Get("outerHeight"), js.Value).Int();
188873
- newOuterWidth = newInnerWidth + ((outerWidth - innerWidth >> 0)) >> 0;
188874
- screenWidth = GetScreenWidth();
188875
- if (newOuterWidth > screenWidth) {
188876
- newOuterWidth = screenWidth;
188877
- }
188878
- _r = $clone(js.Global(), js.Value).Call("resizeTo", new sliceType([new $Int(newOuterWidth), new $Int(outerHeight)])); /* */ $s = 1; case 1: if($c) { $c = false; _r = _r.$blk(); } if (_r && _r.$blk !== undefined) { break s; }
188879
- _r;
188880
- $s = -1; return;
188881
- /* */ } return; } var $f = {$blk: SetWindowWidth, $c: true, $r, _r, innerWidth, newInnerWidth, newOuterWidth, outerHeight, outerWidth, screenWidth, $s};return $f;
188882
- };
188883
- $pkg.SetWindowWidth = SetWindowWidth;
188884
- SetWindowHeight = function(newInnerHeight) {
188885
- var {_r, innerHeight, newInnerHeight, newOuterHeight, outerHeight, outerWidth, screenHeight, $s, $r, $c} = $restore(this, {newInnerHeight});
188886
- /* */ $s = $s || 0; s: while (true) { switch ($s) { case 0:
188887
- innerHeight = $clone($clone(js.Global(), js.Value).Get("innerHeight"), js.Value).Int();
188888
- outerHeight = $clone($clone(js.Global(), js.Value).Get("outerHeight"), js.Value).Int();
188889
- outerWidth = $clone($clone(js.Global(), js.Value).Get("outerWidth"), js.Value).Int();
188890
- newOuterHeight = newInnerHeight + ((outerHeight - innerHeight >> 0)) >> 0;
188891
- screenHeight = GetScreenHeight();
188892
- if (newOuterHeight > screenHeight) {
188893
- newOuterHeight = screenHeight;
188894
- }
188895
- _r = $clone(js.Global(), js.Value).Call("resizeTo", new sliceType([new $Int(outerWidth), new $Int(newOuterHeight)])); /* */ $s = 1; case 1: if($c) { $c = false; _r = _r.$blk(); } if (_r && _r.$blk !== undefined) { break s; }
188896
- _r;
188897
- $s = -1; return;
188898
- /* */ } return; } var $f = {$blk: SetWindowHeight, $c: true, $r, _r, innerHeight, newInnerHeight, newOuterHeight, outerHeight, outerWidth, screenHeight, $s};return $f;
188899
- };
188900
- $pkg.SetWindowHeight = SetWindowHeight;
188901
- GetOrientation = function() {
188902
- var {$24r, $24r$1, $24r$2, orientation, orientationType, $s, $deferred, $r, $c} = $restore(this, {});
188903
- /* */ $s = $s || 0; var $err = null; try { s: while (true) { switch ($s) { case 0: $deferred = []; $curGoroutine.deferStack.push($deferred);
188904
- orientation = [orientation];
188905
- orientation[0] = 0;
188906
- $deferred.push([(function(orientation) { return function() {
188907
- if (!($interfaceIsEqual($recover(), $ifaceNil))) {
188908
- orientation[0] = 0;
188909
- }
188910
- }; })(orientation), []]);
188911
- orientationType = $clone($clone($clone($clone(js.Global(), js.Value).Get("screen"), js.Value).Get("orientation"), js.Value).Get("type"), js.Value).String();
188912
- /* */ if (strings.HasPrefix(orientationType, "landscape")) { $s = 1; continue; }
188913
- /* */ $s = 2; continue;
188914
- /* if (strings.HasPrefix(orientationType, "landscape")) { */ case 1:
188915
- orientation[0] = 2;
188916
- $24r = orientation[0];
188917
- $s = 3; case 3: return $24r;
188918
- /* } */ case 2:
188919
- /* */ if (strings.HasPrefix(orientationType, "portrait")) { $s = 4; continue; }
188920
- /* */ $s = 5; continue;
188921
- /* if (strings.HasPrefix(orientationType, "portrait")) { */ case 4:
188922
- orientation[0] = 2;
188923
- $24r$1 = orientation[0];
188924
- $s = 6; case 6: return $24r$1;
188925
- /* } */ case 5:
188926
- orientation[0] = 0;
188927
- $24r$2 = orientation[0];
188928
- $s = 7; case 7: return $24r$2;
188929
- /* */ } return; } } catch(err) { $err = err; $s = -1; } finally { $callDeferred($deferred, $err); if (!$curGoroutine.asleep) { return orientation[0]; } if($curGoroutine.asleep) { var $f = {$blk: GetOrientation, $c: true, $r, $24r, $24r$1, $24r$2, orientation, orientationType, $s, $deferred};return $f; } }
188930
- };
188931
- $pkg.GetOrientation = GetOrientation;
188932
- NewDomEvents = function() {
188933
- return new DomEvents.ptr(new $Chan($emptyInterface, 0), $makeSlice(sliceType$1, 0));
188934
- };
188935
- $pkg.NewDomEvents = NewDomEvents;
188936
- DomEvents.ptr.prototype.GetEventChan = function() {
188937
- var d;
188938
- d = this;
188939
- return d.eventChan;
188940
- };
188941
- DomEvents.prototype.GetEventChan = function() { return this.$val.GetEventChan(); };
188942
- DomEvents.ptr.prototype.Release = function() {
188943
- var {_i, _ref, d, release, $s, $r, $c} = $restore(this, {});
188944
- /* */ $s = $s || 0; s: while (true) { switch ($s) { case 0:
188945
- d = this;
188946
- _ref = d.releases;
188947
- _i = 0;
188948
- /* while (true) { */ case 1:
188949
- /* if (!(_i < _ref.$length)) { break; } */ if(!(_i < _ref.$length)) { $s = 2; continue; }
188950
- release = ((_i < 0 || _i >= _ref.$length) ? ($throwRuntimeError("index out of range"), undefined) : _ref.$array[_ref.$offset + _i]);
188951
- $r = release(); /* */ $s = 3; case 3: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
188952
- _i++;
188953
- $s = 1; continue;
188954
- case 2:
188955
- $s = -1; return;
188956
- /* */ } return; } var $f = {$blk: DomEvents.ptr.prototype.Release, $c: true, $r, _i, _ref, d, release, $s};return $f;
188957
- };
188958
- DomEvents.prototype.Release = function() { return this.$val.Release(); };
188959
- DomEvents.ptr.prototype.BindEvents = function() {
188960
- var {d, $s, $r, $c} = $restore(this, {});
188961
- /* */ $s = $s || 0; s: while (true) { switch ($s) { case 0:
188962
- d = this;
188963
- $r = d.bindSizeEvents(); /* */ $s = 1; case 1: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
188964
- $go($methodVal(d, "emitSizeEvent"), []);
188965
- $r = d.bindMouseEvents(); /* */ $s = 2; case 2: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
188966
- $r = d.bindKeyEvents(); /* */ $s = 3; case 3: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
188967
- $r = d.bindFocusEvents(); /* */ $s = 4; case 4: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
188968
- $s = -1; return;
188969
- /* */ } return; } var $f = {$blk: DomEvents.ptr.prototype.BindEvents, $c: true, $r, d, $s};return $f;
188970
- };
188971
- DomEvents.prototype.BindEvents = function() { return this.$val.BindEvents(); };
188972
- DomEvents.ptr.prototype.bindSizeEvents = function() {
188973
- var {_r, d, onResize, $s, $r, $c} = $restore(this, {});
188974
- /* */ $s = $s || 0; s: while (true) { switch ($s) { case 0:
188975
- d = [d];
188976
- onResize = [onResize];
188977
- d[0] = this;
188978
- onResize[0] = $clone(js.FuncOf((function(d, onResize) { return function $b(this$1, args) {
188979
- var {args, this$1, $s, $r, $c} = $restore(this, {this$1, args});
188980
- /* */ $s = $s || 0; s: while (true) { switch ($s) { case 0:
188981
- $r = d[0].emitSizeEvent(); /* */ $s = 1; case 1: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
188982
- $s = -1; return $ifaceNil;
188983
- /* */ } return; } var $f = {$blk: $b, $c: true, $r, args, this$1, $s};return $f;
188984
- }; })(d, onResize)), js.Func);
188985
- _r = $clone(js.Global(), js.Value).Call("addEventListener", new sliceType([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; }
188986
- _r;
188987
- d[0].releases = $append(d[0].releases, (function(d, onResize) { return function $b() {
188988
- var {_r$1, $s, $r, $c} = $restore(this, {});
188989
- /* */ $s = $s || 0; s: while (true) { switch ($s) { case 0:
188990
- _r$1 = $clone(js.Global(), js.Value).Call("removeEventListener", new sliceType([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; }
188991
- _r$1;
188992
- $clone(onResize[0], js.Func).Release();
188993
- $s = -1; return;
188994
- /* */ } return; } var $f = {$blk: $b, $c: true, $r, _r$1, $s};return $f;
188995
- }; })(d, onResize));
188996
- $s = -1; return;
188997
- /* */ } return; } var $f = {$blk: DomEvents.ptr.prototype.bindSizeEvents, $c: true, $r, _r, d, onResize, $s};return $f;
188998
- };
188999
- DomEvents.prototype.bindSizeEvents = function() { return this.$val.bindSizeEvents(); };
189000
- DomEvents.ptr.prototype.emitSizeEvent = function() {
189001
- var {_q, _q$1, _r, d, height, orientation, pixelsPerPt, width, x, $s, $r, $c} = $restore(this, {});
189002
- /* */ $s = $s || 0; s: while (true) { switch ($s) { case 0:
189003
- d = this;
189004
- _r = GetOrientation(); /* */ $s = 1; case 1: if($c) { $c = false; _r = _r.$blk(); } if (_r && _r.$blk !== undefined) { break s; }
189005
- orientation = _r;
189006
- pixelsPerPt = 1;
189007
- width = GetDocWidth();
189008
- height = GetDocHeight();
189009
- $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 = 2; case 2: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
189010
- $s = -1; return;
189011
- /* */ } return; } var $f = {$blk: DomEvents.ptr.prototype.emitSizeEvent, $c: true, $r, _q, _q$1, _r, d, height, orientation, pixelsPerPt, width, x, $s};return $f;
189012
- };
189013
- DomEvents.prototype.emitSizeEvent = function() { return this.$val.emitSizeEvent(); };
189014
- DomEvents.ptr.prototype.bindMouseEvents = function() {
189015
- var {_r, _r$1, _r$2, _r$3, d, onClick, onMove, onWheel, $s, $r, $c} = $restore(this, {});
189016
- /* */ $s = $s || 0; s: while (true) { switch ($s) { case 0:
189017
- d = [d];
189018
- onClick = [onClick];
189019
- onMove = [onMove];
189020
- onWheel = [onWheel];
189021
- d[0] = this;
189022
- onMove[0] = $clone(js.FuncOf((function(d, onClick, onMove, onWheel) { return function $b(this$1, args) {
189023
- var {_r, args, this$1, x, $s, $r, $c} = $restore(this, {this$1, args});
189024
- /* */ $s = $s || 0; s: while (true) { switch ($s) { case 0:
189025
- _r = $clone((0 >= args.$length ? ($throwRuntimeError("index out of range"), undefined) : args.$array[args.$offset + 0]), js.Value).Call("preventDefault", sliceType.nil); /* */ $s = 1; case 1: if($c) { $c = false; _r = _r.$blk(); } if (_r && _r.$blk !== undefined) { break s; }
189026
- _r;
189027
- $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; }
189028
- $s = -1; return $ifaceNil;
189029
- /* */ } return; } var $f = {$blk: $b, $c: true, $r, _r, args, this$1, x, $s};return $f;
189030
- }; })(d, onClick, onMove, onWheel)), js.Func);
189031
- _r = $clone(js.Global(), js.Value).Call("addEventListener", new sliceType([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; }
189032
- _r;
189033
- onClick[0] = $clone(js.FuncOf((function(d, onClick, onMove, onWheel) { return function $b(this$1, args) {
189034
- var {_r$1, args, this$1, x, $s, $r, $c} = $restore(this, {this$1, args});
189035
- /* */ $s = $s || 0; s: while (true) { switch ($s) { case 0:
189036
- _r$1 = $clone((0 >= args.$length ? ($throwRuntimeError("index out of range"), undefined) : args.$array[args.$offset + 0]), js.Value).Call("preventDefault", sliceType.nil); /* */ $s = 1; case 1: if($c) { $c = false; _r$1 = _r$1.$blk(); } if (_r$1 && _r$1.$blk !== undefined) { break s; }
189037
- _r$1;
189038
- $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; }
189039
- $s = -1; return $ifaceNil;
189040
- /* */ } return; } var $f = {$blk: $b, $c: true, $r, _r$1, args, this$1, x, $s};return $f;
189041
- }; })(d, onClick, onMove, onWheel)), js.Func);
189042
- _r$1 = $clone(js.Global(), js.Value).Call("addEventListener", new sliceType([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; }
189043
- _r$1;
189044
- _r$2 = $clone(js.Global(), js.Value).Call("addEventListener", new sliceType([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; }
189045
- _r$2;
189046
- onWheel[0] = $clone(js.FuncOf((function(d, onClick, onMove, onWheel) { return function $b(this$1, args) {
189047
- var {args, this$1, x, $s, $r, $c} = $restore(this, {this$1, args});
189048
- /* */ $s = $s || 0; s: while (true) { switch ($s) { case 0:
189049
- $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; }
189050
- $s = -1; return $ifaceNil;
189051
- /* */ } return; } var $f = {$blk: $b, $c: true, $r, args, this$1, x, $s};return $f;
189052
- }; })(d, onClick, onMove, onWheel)), js.Func);
189053
- _r$3 = $clone(js.Global(), js.Value).Call("addEventListener", new sliceType([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; }
189054
- _r$3;
189055
- d[0].releases = $append(d[0].releases, (function(d, onClick, onMove, onWheel) { return function $b() {
189056
- var {_r$4, _r$5, _r$6, _r$7, $s, $r, $c} = $restore(this, {});
189057
- /* */ $s = $s || 0; s: while (true) { switch ($s) { case 0:
189058
- _r$4 = $clone(js.Global(), js.Value).Call("removeEventListener", new sliceType([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; }
189059
- _r$4;
189060
- _r$5 = $clone(js.Global(), js.Value).Call("removeEventListener", new sliceType([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; }
189061
- _r$5;
189062
- _r$6 = $clone(js.Global(), js.Value).Call("removeEventListener", new sliceType([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; }
189063
- _r$6;
189064
- _r$7 = $clone(js.Global(), js.Value).Call("removeEventListener", new sliceType([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; }
189065
- _r$7;
189066
- $clone(onMove[0], js.Func).Release();
189067
- $clone(onClick[0], js.Func).Release();
189068
- $clone(onWheel[0], js.Func).Release();
189069
- $s = -1; return;
189070
- /* */ } return; } var $f = {$blk: $b, $c: true, $r, _r$4, _r$5, _r$6, _r$7, $s};return $f;
189071
- }; })(d, onClick, onMove, onWheel));
189072
- $s = -1; return;
189073
- /* */ } return; } var $f = {$blk: DomEvents.ptr.prototype.bindMouseEvents, $c: true, $r, _r, _r$1, _r$2, _r$3, d, onClick, onMove, onWheel, $s};return $f;
189074
- };
189075
- DomEvents.prototype.bindMouseEvents = function() { return this.$val.bindMouseEvents(); };
189076
- getMouseDirection = function(ev) {
189077
- var dir, ev;
189078
- dir = 0;
189079
- dir = 0;
189080
- if ($clone($clone(ev, js.Value).Get("type"), js.Value).String() === "mousedown") {
189081
- dir = 1;
189082
- }
189083
- if ($clone($clone(ev, js.Value).Get("type"), js.Value).String() === "mouseup") {
189084
- dir = 2;
189085
- }
189086
- return dir;
189087
- };
189088
- getWheelButton = function(ev) {
189089
- var deltaX, deltaY, ev;
189090
- deltaY = $clone($clone(ev, js.Value).Get("deltaY"), js.Value).Int();
189091
- deltaX = $clone($clone(ev, js.Value).Get("deltaX"), js.Value).Int();
189092
- if (deltaY > 0) {
189093
- return -2;
189094
- }
189095
- if (deltaY < 0) {
189096
- return -1;
189097
- }
189098
- if (deltaX > 0) {
189099
- return -4;
189100
- }
189101
- if (deltaX < 0) {
189102
- return -3;
189103
- }
189104
- return 0;
189105
- };
189106
- getMouseButton = function(ev) {
189107
- var _1, ev;
189108
- _1 = $clone($clone(ev, js.Value).Get("button"), js.Value).Int();
189109
- if (_1 === (0)) {
189110
- return 1;
189111
- } else if (_1 === (1)) {
189112
- return 2;
189113
- } else if (_1 === (2)) {
189114
- return 3;
189115
- } else if (_1 === (3)) {
189116
- return 8;
189117
- } else if (_1 === (4)) {
189118
- return 9;
189119
- } else {
189120
- return 0;
189121
- }
189122
- };
189123
- getEventModifiers = function(ev) {
189124
- var ev, mod;
189125
- mod = 0;
189126
- if ($clone($clone(ev, js.Value).Get("altKey"), js.Value).Bool()) {
189127
- mod = (mod | (4)) >>> 0;
189128
- }
189129
- if ($clone($clone(ev, js.Value).Get("ctrlKey"), js.Value).Bool()) {
189130
- mod = (mod | (2)) >>> 0;
189131
- }
189132
- if ($clone($clone(ev, js.Value).Get("shiftKey"), js.Value).Bool()) {
189133
- mod = (mod | (1)) >>> 0;
189134
- }
189135
- if ($clone($clone(ev, js.Value).Get("metaKey"), js.Value).Bool()) {
189136
- mod = (mod | (8)) >>> 0;
189137
- }
189138
- return mod;
189139
- };
189140
- DomEvents.ptr.prototype.bindFocusEvents = function() {
189141
- var {_r, _r$1, d, onFocus, $s, $r, $c} = $restore(this, {});
189142
- /* */ $s = $s || 0; s: while (true) { switch ($s) { case 0:
189143
- d = [d];
189144
- onFocus = [onFocus];
189145
- d[0] = this;
189146
- onFocus[0] = $clone(js.FuncOf((function(d, onFocus) { return function $b(this$1, args) {
189147
- var {args, this$1, x, $s, $r, $c} = $restore(this, {this$1, args});
189148
- /* */ $s = $s || 0; s: while (true) { switch ($s) { case 0:
189149
- $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; }
189150
- $s = -1; return $ifaceNil;
189151
- /* */ } return; } var $f = {$blk: $b, $c: true, $r, args, this$1, x, $s};return $f;
189152
- }; })(d, onFocus)), js.Func);
189153
- _r = $clone(js.Global(), js.Value).Call("addEventListener", new sliceType([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; }
189154
- _r;
189155
- _r$1 = $clone(js.Global(), js.Value).Call("addEventListener", new sliceType([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; }
189156
- _r$1;
189157
- d[0].releases = $append(d[0].releases, (function(d, onFocus) { return function $b() {
189158
- var {_r$2, _r$3, $s, $r, $c} = $restore(this, {});
189159
- /* */ $s = $s || 0; s: while (true) { switch ($s) { case 0:
189160
- _r$2 = $clone(js.Global(), js.Value).Call("removeEventListener", new sliceType([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; }
189161
- _r$2;
189162
- _r$3 = $clone(js.Global(), js.Value).Call("removeEventListener", new sliceType([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; }
189163
- _r$3;
189164
- $clone(onFocus[0], js.Func).Release();
189165
- $s = -1; return;
189166
- /* */ } return; } var $f = {$blk: $b, $c: true, $r, _r$2, _r$3, $s};return $f;
189167
- }; })(d, onFocus));
189168
- $s = -1; return;
189169
- /* */ } return; } var $f = {$blk: DomEvents.ptr.prototype.bindFocusEvents, $c: true, $r, _r, _r$1, d, onFocus, $s};return $f;
189170
- };
189171
- DomEvents.prototype.bindFocusEvents = function() { return this.$val.bindFocusEvents(); };
189172
- isFocusIn = function(ev) {
189173
- var ev;
189174
- if ($clone($clone(ev, js.Value).Get("type"), js.Value).String() === "focus") {
189175
- return true;
189176
- }
189177
- return false;
189178
- };
189179
- DomEvents.ptr.prototype.bindKeyEvents = function() {
189180
- var {_r, _r$1, d, onKey, $s, $r, $c} = $restore(this, {});
189181
- /* */ $s = $s || 0; s: while (true) { switch ($s) { case 0:
189182
- d = [d];
189183
- onKey = [onKey];
189184
- d[0] = this;
189185
- onKey[0] = $clone(js.FuncOf((function(d, onKey) { return function $b(this$1, args) {
189186
- var {_r, args, this$1, x, $s, $r, $c} = $restore(this, {this$1, args});
189187
- /* */ $s = $s || 0; s: while (true) { switch ($s) { case 0:
189188
- _r = $clone((0 >= args.$length ? ($throwRuntimeError("index out of range"), undefined) : args.$array[args.$offset + 0]), js.Value).Call("preventDefault", sliceType.nil); /* */ $s = 1; case 1: if($c) { $c = false; _r = _r.$blk(); } if (_r && _r.$blk !== undefined) { break s; }
189189
- _r;
189190
- $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; }
189191
- $s = -1; return $ifaceNil;
189192
- /* */ } return; } var $f = {$blk: $b, $c: true, $r, _r, args, this$1, x, $s};return $f;
189193
- }; })(d, onKey)), js.Func);
189194
- _r = $clone(js.Global(), js.Value).Call("addEventListener", new sliceType([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; }
189195
- _r;
189196
- _r$1 = $clone(js.Global(), js.Value).Call("addEventListener", new sliceType([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; }
189197
- _r$1;
189198
- d[0].releases = $append(d[0].releases, (function(d, onKey) { return function $b() {
189199
- var {_r$2, _r$3, $s, $r, $c} = $restore(this, {});
189200
- /* */ $s = $s || 0; s: while (true) { switch ($s) { case 0:
189201
- _r$2 = $clone(js.Global(), js.Value).Call("removeEventListener", new sliceType([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; }
189202
- _r$2;
189203
- _r$3 = $clone(js.Global(), js.Value).Call("removeEventListener", new sliceType([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; }
189204
- _r$3;
189205
- $clone(onKey[0], js.Func).Release();
189206
- $s = -1; return;
189207
- /* */ } return; } var $f = {$blk: $b, $c: true, $r, _r$2, _r$3, $s};return $f;
189208
- }; })(d, onKey));
189209
- $s = -1; return;
189210
- /* */ } return; } var $f = {$blk: DomEvents.ptr.prototype.bindKeyEvents, $c: true, $r, _r, _r$1, d, onKey, $s};return $f;
189211
- };
189212
- DomEvents.prototype.bindKeyEvents = function() { return this.$val.bindKeyEvents(); };
189213
- getKeyRune = function(ev) {
189214
- var ev, key$1;
189215
- key$1 = (new sliceType$2($stringToRunes($clone($clone(ev, js.Value).Get("key"), js.Value).String())));
189216
- if (key$1.$length === 1) {
189217
- return (0 >= key$1.$length ? ($throwRuntimeError("index out of range"), undefined) : key$1.$array[key$1.$offset + 0]);
189218
- }
189219
- return -1;
189220
- };
189221
- getKeyDirection = function(ev) {
189222
- var dir, ev;
189223
- dir = 0;
189224
- dir = 0;
189225
- if ($clone($clone(ev, js.Value).Get("type"), js.Value).String() === "keydown") {
189226
- dir = 1;
189227
- }
189228
- if ($clone($clone(ev, js.Value).Get("type"), js.Value).String() === "keyup") {
189229
- dir = 2;
189230
- }
189231
- return dir;
189232
- };
189233
- getKeyCode = function(ev) {
189234
- var _entry, _entry$1, _tuple, _tuple$1, code, code$1, domCode, domKey, ev, exists, exists$1;
189235
- domCode = $clone($clone(ev, js.Value).Get("code"), js.Value).String();
189236
- _tuple = (_entry = $mapIndex(keyCodesMap,$String.keyFor(domCode)), _entry !== undefined ? [_entry.v, true] : [0, false]);
189237
- code = _tuple[0];
189238
- exists = _tuple[1];
189239
- if (exists) {
189240
- return code;
189241
- }
189242
- domKey = $clone($clone(ev, js.Value).Get("key"), js.Value).String();
189243
- _tuple$1 = (_entry$1 = $mapIndex(keyCodesByKeyMap,$String.keyFor(domKey)), _entry$1 !== undefined ? [_entry$1.v, true] : [0, false]);
189244
- code$1 = _tuple$1[0];
189245
- exists$1 = _tuple$1[1];
189246
- if (exists$1) {
189247
- return code$1;
189248
- }
189249
- return 0;
189250
- };
189251
- 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/util/dom", typ: $funcType([], [], false)}, {prop: "emitSizeEvent", name: "emitSizeEvent", pkg: "golang.org/x/exp/shiny/driver/util/dom", typ: $funcType([], [], false)}, {prop: "bindMouseEvents", name: "bindMouseEvents", pkg: "golang.org/x/exp/shiny/driver/util/dom", typ: $funcType([], [], false)}, {prop: "bindFocusEvents", name: "bindFocusEvents", pkg: "golang.org/x/exp/shiny/driver/util/dom", typ: $funcType([], [], false)}, {prop: "bindKeyEvents", name: "bindKeyEvents", pkg: "golang.org/x/exp/shiny/driver/util/dom", typ: $funcType([], [], false)}];
189252
- DomEvents.init("golang.org/x/exp/shiny/driver/util/dom", [{prop: "eventChan", name: "eventChan", embedded: false, exported: false, typ: chanType, tag: ""}, {prop: "releases", name: "releases", embedded: false, exported: false, typ: sliceType$1, tag: ""}]);
189253
- $init = function() {
189254
- $pkg.$init = function() {};
189255
- /* */ 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:
189256
- $r = focus.$init(); /* */ $s = 1; case 1: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
189257
- $r = key.$init(); /* */ $s = 2; case 2: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
189258
- $r = mouse.$init(); /* */ $s = 3; case 3: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
189259
- $r = size.$init(); /* */ $s = 4; case 4: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
189260
- $r = geom.$init(); /* */ $s = 5; case 5: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
189261
- $r = math.$init(); /* */ $s = 6; case 6: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
189262
- $r = strings.$init(); /* */ $s = 7; case 7: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
189263
- $r = js.$init(); /* */ $s = 8; case 8: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
189264
- 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 }]);
189265
- keyCodesByKeyMap = $makeMap($String.keyFor, [{ k: "AudioVolumeMute", v: 127 }, { k: "AudioVolumeUp", v: 128 }, { k: "AudioVolumeDown", v: 129 }]);
189266
- /* */ } return; } if ($f === undefined) { $f = { $blk: $init }; } $f.$s = $s; $f.$r = $r; return $f;
189267
- };
189268
- $pkg.$init = $init;
189269
- return $pkg;
189270
- })();
189271
189366
  $packages["golang.org/x/exp/shiny/imageutil"] = (function() {
189272
189367
  var $pkg = {}, $init, screen, image, draw, ConvertYCbCrToRGBA;
189273
189368
  screen = $packages["golang.org/x/exp/shiny/screen"];
@@ -189302,12 +189397,12 @@ $packages["golang.org/x/exp/shiny/imageutil"] = (function() {
189302
189397
  return $pkg;
189303
189398
  })();
189304
189399
  $packages["golang.org/x/exp/shiny/driver/webgldriver"] = (function() {
189305
- var $pkg = {}, $init, fmt, webgl, types, errscreen, dom, imageutil, screen, f64, image, color, draw, sync, js, windowImpl, screenImpl, ArrayBufferSlice, YCbCrJS, BufferImpl, sliceType, sliceType$1, sliceType$2, ptrType, ptrType$1, funcType, arrayType, ptrType$2, ptrType$3, ptrType$4, ptrType$5, ptrType$6, ptrType$7, sliceType$3, ptrType$8, ptrType$9, ptrType$10, ptrType$11, ptrType$12, ptrType$13, ptrType$14, texCoordsVertices, elementsIndices, newWindow, main, newScreenImpl, newBuffer;
189400
+ var $pkg = {}, $init, fmt, webgl, types, dom, errscreen, imageutil, screen, f64, image, color, draw, sync, js, windowImpl, screenImpl, ArrayBufferSlice, YCbCrJS, BufferImpl, sliceType, sliceType$1, sliceType$2, ptrType, ptrType$1, funcType, arrayType, ptrType$2, ptrType$3, ptrType$4, ptrType$5, ptrType$6, ptrType$7, sliceType$3, ptrType$8, ptrType$9, ptrType$10, ptrType$11, ptrType$12, ptrType$13, ptrType$14, texCoordsVertices, elementsIndices, newWindow, main, newScreenImpl, newBuffer;
189306
189401
  fmt = $packages["fmt"];
189307
189402
  webgl = $packages["github.com/nuberu/webgl"];
189308
189403
  types = $packages["github.com/nuberu/webgl/types"];
189404
+ dom = $packages["golang.org/x/exp/shiny/driver/internal/dom"];
189309
189405
  errscreen = $packages["golang.org/x/exp/shiny/driver/internal/errscreen"];
189310
- dom = $packages["golang.org/x/exp/shiny/driver/util/dom"];
189311
189406
  imageutil = $packages["golang.org/x/exp/shiny/imageutil"];
189312
189407
  screen = $packages["golang.org/x/exp/shiny/screen"];
189313
189408
  f64 = $packages["golang.org/x/image/math/f64"];
@@ -190091,8 +190186,8 @@ $packages["golang.org/x/exp/shiny/driver/webgldriver"] = (function() {
190091
190186
  $r = fmt.$init(); /* */ $s = 1; case 1: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
190092
190187
  $r = webgl.$init(); /* */ $s = 2; case 2: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
190093
190188
  $r = types.$init(); /* */ $s = 3; case 3: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
190094
- $r = errscreen.$init(); /* */ $s = 4; case 4: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
190095
- $r = dom.$init(); /* */ $s = 5; case 5: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
190189
+ $r = dom.$init(); /* */ $s = 4; case 4: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
190190
+ $r = errscreen.$init(); /* */ $s = 5; case 5: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
190096
190191
  $r = imageutil.$init(); /* */ $s = 6; case 6: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
190097
190192
  $r = screen.$init(); /* */ $s = 7; case 7: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
190098
190193
  $r = f64.$init(); /* */ $s = 8; case 8: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
@@ -190128,39 +190223,776 @@ $packages["github.com/supraio/client-daemon/pkg/x264/h264decoder"] = (function()
190128
190223
  $pkg.$init = $init;
190129
190224
  return $pkg;
190130
190225
  })();
190131
- $packages["github.com/supraio/client-daemon/pkg/x264/nacldecoder/jsdecoder"] = (function() {
190132
- var $pkg = {}, $init, js, ptrType, initiateReset, jsNaClDecoder, ResetBeforeNextDecode, ShouldResetOnNextDecode, GetJsNaClDecoder;
190226
+ $packages["github.com/supraio/client-daemon/pkg/x264/nacldecoder/nacldriver/dom"] = (function() {
190227
+ var $pkg = {}, $init, focus, key, mouse, size, geom, math, strings, js, DomEvents, sliceType, funcType, sliceType$1, sliceType$2, chanType, ptrType, keyCodesMap, keyCodesByKeyMap, GetDocWidth, GetDocHeight, GetOrientation, NewDomEvents, getMouseDirection, getWheelButton, getMouseButton, getEventModifiers, isFocusIn, getKeyRune, getKeyDirection, getKeyCode;
190228
+ focus = $packages["golang.org/x/mobile/event/focus"];
190229
+ key = $packages["golang.org/x/mobile/event/key"];
190230
+ mouse = $packages["golang.org/x/mobile/event/mouse"];
190231
+ size = $packages["golang.org/x/mobile/event/size"];
190232
+ geom = $packages["golang.org/x/mobile/geom"];
190233
+ math = $packages["math"];
190234
+ strings = $packages["strings"];
190133
190235
  js = $packages["syscall/js"];
190134
- ptrType = $ptrType(js.Value);
190135
- ResetBeforeNextDecode = function() {
190136
- initiateReset = true;
190236
+ DomEvents = $pkg.DomEvents = $newType(0, $kindStruct, "dom.DomEvents", true, "github.com/supraio/client-daemon/pkg/x264/nacldecoder/nacldriver/dom", true, function(eventChan_, releases_) {
190237
+ this.$val = this;
190238
+ if (arguments.length === 0) {
190239
+ this.eventChan = $chanNil;
190240
+ this.releases = sliceType$1.nil;
190241
+ return;
190242
+ }
190243
+ this.eventChan = eventChan_;
190244
+ this.releases = releases_;
190245
+ });
190246
+ sliceType = $sliceType($emptyInterface);
190247
+ funcType = $funcType([], [], false);
190248
+ sliceType$1 = $sliceType(funcType);
190249
+ sliceType$2 = $sliceType($Int32);
190250
+ chanType = $chanType($emptyInterface, false, false);
190251
+ ptrType = $ptrType(DomEvents);
190252
+ GetDocWidth = function() {
190253
+ return $clone($clone(js.Global(), js.Value).Get("innerWidth"), js.Value).Int();
190254
+ };
190255
+ $pkg.GetDocWidth = GetDocWidth;
190256
+ GetDocHeight = function() {
190257
+ return $clone($clone(js.Global(), js.Value).Get("innerHeight"), js.Value).Int();
190258
+ };
190259
+ $pkg.GetDocHeight = GetDocHeight;
190260
+ GetOrientation = function() {
190261
+ var {$24r, $24r$1, $24r$2, orientation, orientationType, $s, $deferred, $r, $c} = $restore(this, {});
190262
+ /* */ $s = $s || 0; var $err = null; try { s: while (true) { switch ($s) { case 0: $deferred = []; $curGoroutine.deferStack.push($deferred);
190263
+ orientation = [orientation];
190264
+ orientation[0] = 0;
190265
+ $deferred.push([(function(orientation) { return function() {
190266
+ if (!($interfaceIsEqual($recover(), $ifaceNil))) {
190267
+ orientation[0] = 0;
190268
+ }
190269
+ }; })(orientation), []]);
190270
+ orientationType = $clone($clone($clone($clone(js.Global(), js.Value).Get("screen"), js.Value).Get("orientation"), js.Value).Get("type"), js.Value).String();
190271
+ /* */ if (strings.HasPrefix(orientationType, "landscape")) { $s = 1; continue; }
190272
+ /* */ $s = 2; continue;
190273
+ /* if (strings.HasPrefix(orientationType, "landscape")) { */ case 1:
190274
+ orientation[0] = 2;
190275
+ $24r = orientation[0];
190276
+ $s = 3; case 3: return $24r;
190277
+ /* } */ case 2:
190278
+ /* */ if (strings.HasPrefix(orientationType, "portrait")) { $s = 4; continue; }
190279
+ /* */ $s = 5; continue;
190280
+ /* if (strings.HasPrefix(orientationType, "portrait")) { */ case 4:
190281
+ orientation[0] = 2;
190282
+ $24r$1 = orientation[0];
190283
+ $s = 6; case 6: return $24r$1;
190284
+ /* } */ case 5:
190285
+ orientation[0] = 0;
190286
+ $24r$2 = orientation[0];
190287
+ $s = 7; case 7: return $24r$2;
190288
+ /* */ } return; } } catch(err) { $err = err; $s = -1; } finally { $callDeferred($deferred, $err); if (!$curGoroutine.asleep) { return orientation[0]; } if($curGoroutine.asleep) { var $f = {$blk: GetOrientation, $c: true, $r, $24r, $24r$1, $24r$2, orientation, orientationType, $s, $deferred};return $f; } }
190289
+ };
190290
+ $pkg.GetOrientation = GetOrientation;
190291
+ NewDomEvents = function() {
190292
+ return new DomEvents.ptr(new $Chan($emptyInterface, 0), $makeSlice(sliceType$1, 0));
190293
+ };
190294
+ $pkg.NewDomEvents = NewDomEvents;
190295
+ DomEvents.ptr.prototype.GetEventChan = function() {
190296
+ var d;
190297
+ d = this;
190298
+ return d.eventChan;
190299
+ };
190300
+ DomEvents.prototype.GetEventChan = function() { return this.$val.GetEventChan(); };
190301
+ DomEvents.ptr.prototype.Release = function() {
190302
+ var {_i, _ref, d, release, $s, $r, $c} = $restore(this, {});
190303
+ /* */ $s = $s || 0; s: while (true) { switch ($s) { case 0:
190304
+ d = this;
190305
+ _ref = d.releases;
190306
+ _i = 0;
190307
+ /* while (true) { */ case 1:
190308
+ /* if (!(_i < _ref.$length)) { break; } */ if(!(_i < _ref.$length)) { $s = 2; continue; }
190309
+ release = ((_i < 0 || _i >= _ref.$length) ? ($throwRuntimeError("index out of range"), undefined) : _ref.$array[_ref.$offset + _i]);
190310
+ $r = release(); /* */ $s = 3; case 3: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
190311
+ _i++;
190312
+ $s = 1; continue;
190313
+ case 2:
190314
+ $s = -1; return;
190315
+ /* */ } return; } var $f = {$blk: DomEvents.ptr.prototype.Release, $c: true, $r, _i, _ref, d, release, $s};return $f;
190316
+ };
190317
+ DomEvents.prototype.Release = function() { return this.$val.Release(); };
190318
+ DomEvents.ptr.prototype.BindEvents = function() {
190319
+ var {d, $s, $r, $c} = $restore(this, {});
190320
+ /* */ $s = $s || 0; s: while (true) { switch ($s) { case 0:
190321
+ d = this;
190322
+ $r = d.bindSizeEvents(); /* */ $s = 1; case 1: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
190323
+ $go($methodVal(d, "emitSizeEvent"), []);
190324
+ $r = d.bindMouseEvents(); /* */ $s = 2; case 2: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
190325
+ $r = d.bindKeyEvents(); /* */ $s = 3; case 3: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
190326
+ $r = d.bindFocusEvents(); /* */ $s = 4; case 4: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
190327
+ $s = -1; return;
190328
+ /* */ } return; } var $f = {$blk: DomEvents.ptr.prototype.BindEvents, $c: true, $r, d, $s};return $f;
190329
+ };
190330
+ DomEvents.prototype.BindEvents = function() { return this.$val.BindEvents(); };
190331
+ DomEvents.ptr.prototype.bindSizeEvents = function() {
190332
+ var {_r, d, onResize, $s, $r, $c} = $restore(this, {});
190333
+ /* */ $s = $s || 0; s: while (true) { switch ($s) { case 0:
190334
+ d = [d];
190335
+ onResize = [onResize];
190336
+ d[0] = this;
190337
+ onResize[0] = $clone(js.FuncOf((function(d, onResize) { return function $b(this$1, args) {
190338
+ var {args, this$1, $s, $r, $c} = $restore(this, {this$1, args});
190339
+ /* */ $s = $s || 0; s: while (true) { switch ($s) { case 0:
190340
+ $r = d[0].emitSizeEvent(); /* */ $s = 1; case 1: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
190341
+ $s = -1; return $ifaceNil;
190342
+ /* */ } return; } var $f = {$blk: $b, $c: true, $r, args, this$1, $s};return $f;
190343
+ }; })(d, onResize)), js.Func);
190344
+ _r = $clone(js.Global(), js.Value).Call("addEventListener", new sliceType([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; }
190345
+ _r;
190346
+ d[0].releases = $append(d[0].releases, (function(d, onResize) { return function $b() {
190347
+ var {_r$1, $s, $r, $c} = $restore(this, {});
190348
+ /* */ $s = $s || 0; s: while (true) { switch ($s) { case 0:
190349
+ _r$1 = $clone(js.Global(), js.Value).Call("removeEventListener", new sliceType([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; }
190350
+ _r$1;
190351
+ $clone(onResize[0], js.Func).Release();
190352
+ $s = -1; return;
190353
+ /* */ } return; } var $f = {$blk: $b, $c: true, $r, _r$1, $s};return $f;
190354
+ }; })(d, onResize));
190355
+ $s = -1; return;
190356
+ /* */ } return; } var $f = {$blk: DomEvents.ptr.prototype.bindSizeEvents, $c: true, $r, _r, d, onResize, $s};return $f;
190357
+ };
190358
+ DomEvents.prototype.bindSizeEvents = function() { return this.$val.bindSizeEvents(); };
190359
+ DomEvents.ptr.prototype.emitSizeEvent = function() {
190360
+ var {_q, _q$1, _r, d, height, orientation, pixelsPerPt, width, x, $s, $r, $c} = $restore(this, {});
190361
+ /* */ $s = $s || 0; s: while (true) { switch ($s) { case 0:
190362
+ d = this;
190363
+ _r = GetOrientation(); /* */ $s = 1; case 1: if($c) { $c = false; _r = _r.$blk(); } if (_r && _r.$blk !== undefined) { break s; }
190364
+ orientation = _r;
190365
+ pixelsPerPt = 1;
190366
+ width = GetDocWidth();
190367
+ height = GetDocHeight();
190368
+ $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 = 2; case 2: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
190369
+ $s = -1; return;
190370
+ /* */ } return; } var $f = {$blk: DomEvents.ptr.prototype.emitSizeEvent, $c: true, $r, _q, _q$1, _r, d, height, orientation, pixelsPerPt, width, x, $s};return $f;
190371
+ };
190372
+ DomEvents.prototype.emitSizeEvent = function() { return this.$val.emitSizeEvent(); };
190373
+ DomEvents.ptr.prototype.bindMouseEvents = function() {
190374
+ var {_r, _r$1, _r$2, _r$3, d, onClick, onMove, onWheel, $s, $r, $c} = $restore(this, {});
190375
+ /* */ $s = $s || 0; s: while (true) { switch ($s) { case 0:
190376
+ d = [d];
190377
+ onClick = [onClick];
190378
+ onMove = [onMove];
190379
+ onWheel = [onWheel];
190380
+ d[0] = this;
190381
+ onMove[0] = $clone(js.FuncOf((function(d, onClick, onMove, onWheel) { return function $b(this$1, args) {
190382
+ var {_r, args, this$1, x, $s, $r, $c} = $restore(this, {this$1, args});
190383
+ /* */ $s = $s || 0; s: while (true) { switch ($s) { case 0:
190384
+ _r = $clone((0 >= args.$length ? ($throwRuntimeError("index out of range"), undefined) : args.$array[args.$offset + 0]), js.Value).Call("preventDefault", sliceType.nil); /* */ $s = 1; case 1: if($c) { $c = false; _r = _r.$blk(); } if (_r && _r.$blk !== undefined) { break s; }
190385
+ _r;
190386
+ $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; }
190387
+ $s = -1; return $ifaceNil;
190388
+ /* */ } return; } var $f = {$blk: $b, $c: true, $r, _r, args, this$1, x, $s};return $f;
190389
+ }; })(d, onClick, onMove, onWheel)), js.Func);
190390
+ _r = $clone(js.Global(), js.Value).Call("addEventListener", new sliceType([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; }
190391
+ _r;
190392
+ onClick[0] = $clone(js.FuncOf((function(d, onClick, onMove, onWheel) { return function $b(this$1, args) {
190393
+ var {_r$1, args, this$1, x, $s, $r, $c} = $restore(this, {this$1, args});
190394
+ /* */ $s = $s || 0; s: while (true) { switch ($s) { case 0:
190395
+ _r$1 = $clone((0 >= args.$length ? ($throwRuntimeError("index out of range"), undefined) : args.$array[args.$offset + 0]), js.Value).Call("preventDefault", sliceType.nil); /* */ $s = 1; case 1: if($c) { $c = false; _r$1 = _r$1.$blk(); } if (_r$1 && _r$1.$blk !== undefined) { break s; }
190396
+ _r$1;
190397
+ $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; }
190398
+ $s = -1; return $ifaceNil;
190399
+ /* */ } return; } var $f = {$blk: $b, $c: true, $r, _r$1, args, this$1, x, $s};return $f;
190400
+ }; })(d, onClick, onMove, onWheel)), js.Func);
190401
+ _r$1 = $clone(js.Global(), js.Value).Call("addEventListener", new sliceType([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; }
190402
+ _r$1;
190403
+ _r$2 = $clone(js.Global(), js.Value).Call("addEventListener", new sliceType([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; }
190404
+ _r$2;
190405
+ onWheel[0] = $clone(js.FuncOf((function(d, onClick, onMove, onWheel) { return function $b(this$1, args) {
190406
+ var {args, this$1, x, $s, $r, $c} = $restore(this, {this$1, args});
190407
+ /* */ $s = $s || 0; s: while (true) { switch ($s) { case 0:
190408
+ $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; }
190409
+ $s = -1; return $ifaceNil;
190410
+ /* */ } return; } var $f = {$blk: $b, $c: true, $r, args, this$1, x, $s};return $f;
190411
+ }; })(d, onClick, onMove, onWheel)), js.Func);
190412
+ _r$3 = $clone(js.Global(), js.Value).Call("addEventListener", new sliceType([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; }
190413
+ _r$3;
190414
+ d[0].releases = $append(d[0].releases, (function(d, onClick, onMove, onWheel) { return function $b() {
190415
+ var {_r$4, _r$5, _r$6, _r$7, $s, $r, $c} = $restore(this, {});
190416
+ /* */ $s = $s || 0; s: while (true) { switch ($s) { case 0:
190417
+ _r$4 = $clone(js.Global(), js.Value).Call("removeEventListener", new sliceType([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; }
190418
+ _r$4;
190419
+ _r$5 = $clone(js.Global(), js.Value).Call("removeEventListener", new sliceType([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; }
190420
+ _r$5;
190421
+ _r$6 = $clone(js.Global(), js.Value).Call("removeEventListener", new sliceType([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; }
190422
+ _r$6;
190423
+ _r$7 = $clone(js.Global(), js.Value).Call("removeEventListener", new sliceType([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; }
190424
+ _r$7;
190425
+ $clone(onMove[0], js.Func).Release();
190426
+ $clone(onClick[0], js.Func).Release();
190427
+ $clone(onWheel[0], js.Func).Release();
190428
+ $s = -1; return;
190429
+ /* */ } return; } var $f = {$blk: $b, $c: true, $r, _r$4, _r$5, _r$6, _r$7, $s};return $f;
190430
+ }; })(d, onClick, onMove, onWheel));
190431
+ $s = -1; return;
190432
+ /* */ } return; } var $f = {$blk: DomEvents.ptr.prototype.bindMouseEvents, $c: true, $r, _r, _r$1, _r$2, _r$3, d, onClick, onMove, onWheel, $s};return $f;
190433
+ };
190434
+ DomEvents.prototype.bindMouseEvents = function() { return this.$val.bindMouseEvents(); };
190435
+ getMouseDirection = function(ev) {
190436
+ var dir, ev;
190437
+ dir = 0;
190438
+ dir = 0;
190439
+ if ($clone($clone(ev, js.Value).Get("type"), js.Value).String() === "mousedown") {
190440
+ dir = 1;
190441
+ }
190442
+ if ($clone($clone(ev, js.Value).Get("type"), js.Value).String() === "mouseup") {
190443
+ dir = 2;
190444
+ }
190445
+ return dir;
190446
+ };
190447
+ getWheelButton = function(ev) {
190448
+ var deltaX, deltaY, ev;
190449
+ deltaY = $clone($clone(ev, js.Value).Get("deltaY"), js.Value).Int();
190450
+ deltaX = $clone($clone(ev, js.Value).Get("deltaX"), js.Value).Int();
190451
+ if (deltaY > 0) {
190452
+ return -2;
190453
+ }
190454
+ if (deltaY < 0) {
190455
+ return -1;
190456
+ }
190457
+ if (deltaX > 0) {
190458
+ return -4;
190459
+ }
190460
+ if (deltaX < 0) {
190461
+ return -3;
190462
+ }
190463
+ return 0;
190464
+ };
190465
+ getMouseButton = function(ev) {
190466
+ var _1, ev;
190467
+ _1 = $clone($clone(ev, js.Value).Get("button"), js.Value).Int();
190468
+ if (_1 === (0)) {
190469
+ return 1;
190470
+ } else if (_1 === (1)) {
190471
+ return 2;
190472
+ } else if (_1 === (2)) {
190473
+ return 3;
190474
+ } else if (_1 === (3)) {
190475
+ return 8;
190476
+ } else if (_1 === (4)) {
190477
+ return 9;
190478
+ } else {
190479
+ return 0;
190480
+ }
190481
+ };
190482
+ getEventModifiers = function(ev) {
190483
+ var ev, mod;
190484
+ mod = 0;
190485
+ if ($clone($clone(ev, js.Value).Get("altKey"), js.Value).Bool()) {
190486
+ mod = (mod | (4)) >>> 0;
190487
+ }
190488
+ if ($clone($clone(ev, js.Value).Get("ctrlKey"), js.Value).Bool()) {
190489
+ mod = (mod | (2)) >>> 0;
190490
+ }
190491
+ if ($clone($clone(ev, js.Value).Get("shiftKey"), js.Value).Bool()) {
190492
+ mod = (mod | (1)) >>> 0;
190493
+ }
190494
+ if ($clone($clone(ev, js.Value).Get("metaKey"), js.Value).Bool()) {
190495
+ mod = (mod | (8)) >>> 0;
190496
+ }
190497
+ return mod;
190137
190498
  };
190138
- $pkg.ResetBeforeNextDecode = ResetBeforeNextDecode;
190139
- ShouldResetOnNextDecode = function() {
190140
- return initiateReset;
190499
+ DomEvents.ptr.prototype.bindFocusEvents = function() {
190500
+ var {_r, _r$1, d, onFocus, $s, $r, $c} = $restore(this, {});
190501
+ /* */ $s = $s || 0; s: while (true) { switch ($s) { case 0:
190502
+ d = [d];
190503
+ onFocus = [onFocus];
190504
+ d[0] = this;
190505
+ onFocus[0] = $clone(js.FuncOf((function(d, onFocus) { return function $b(this$1, args) {
190506
+ var {args, this$1, x, $s, $r, $c} = $restore(this, {this$1, args});
190507
+ /* */ $s = $s || 0; s: while (true) { switch ($s) { case 0:
190508
+ $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; }
190509
+ $s = -1; return $ifaceNil;
190510
+ /* */ } return; } var $f = {$blk: $b, $c: true, $r, args, this$1, x, $s};return $f;
190511
+ }; })(d, onFocus)), js.Func);
190512
+ _r = $clone(js.Global(), js.Value).Call("addEventListener", new sliceType([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; }
190513
+ _r;
190514
+ _r$1 = $clone(js.Global(), js.Value).Call("addEventListener", new sliceType([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; }
190515
+ _r$1;
190516
+ d[0].releases = $append(d[0].releases, (function(d, onFocus) { return function $b() {
190517
+ var {_r$2, _r$3, $s, $r, $c} = $restore(this, {});
190518
+ /* */ $s = $s || 0; s: while (true) { switch ($s) { case 0:
190519
+ _r$2 = $clone(js.Global(), js.Value).Call("removeEventListener", new sliceType([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; }
190520
+ _r$2;
190521
+ _r$3 = $clone(js.Global(), js.Value).Call("removeEventListener", new sliceType([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; }
190522
+ _r$3;
190523
+ $clone(onFocus[0], js.Func).Release();
190524
+ $s = -1; return;
190525
+ /* */ } return; } var $f = {$blk: $b, $c: true, $r, _r$2, _r$3, $s};return $f;
190526
+ }; })(d, onFocus));
190527
+ $s = -1; return;
190528
+ /* */ } return; } var $f = {$blk: DomEvents.ptr.prototype.bindFocusEvents, $c: true, $r, _r, _r$1, d, onFocus, $s};return $f;
190141
190529
  };
190142
- $pkg.ShouldResetOnNextDecode = ShouldResetOnNextDecode;
190143
- GetJsNaClDecoder = function() {
190144
- return jsNaClDecoder;
190530
+ DomEvents.prototype.bindFocusEvents = function() { return this.$val.bindFocusEvents(); };
190531
+ isFocusIn = function(ev) {
190532
+ var ev;
190533
+ if ($clone($clone(ev, js.Value).Get("type"), js.Value).String() === "focus") {
190534
+ return true;
190535
+ }
190536
+ return false;
190537
+ };
190538
+ DomEvents.ptr.prototype.bindKeyEvents = function() {
190539
+ var {_r, _r$1, d, onKey, $s, $r, $c} = $restore(this, {});
190540
+ /* */ $s = $s || 0; s: while (true) { switch ($s) { case 0:
190541
+ d = [d];
190542
+ onKey = [onKey];
190543
+ d[0] = this;
190544
+ onKey[0] = $clone(js.FuncOf((function(d, onKey) { return function $b(this$1, args) {
190545
+ var {_r, args, this$1, x, $s, $r, $c} = $restore(this, {this$1, args});
190546
+ /* */ $s = $s || 0; s: while (true) { switch ($s) { case 0:
190547
+ _r = $clone((0 >= args.$length ? ($throwRuntimeError("index out of range"), undefined) : args.$array[args.$offset + 0]), js.Value).Call("preventDefault", sliceType.nil); /* */ $s = 1; case 1: if($c) { $c = false; _r = _r.$blk(); } if (_r && _r.$blk !== undefined) { break s; }
190548
+ _r;
190549
+ $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; }
190550
+ $s = -1; return $ifaceNil;
190551
+ /* */ } return; } var $f = {$blk: $b, $c: true, $r, _r, args, this$1, x, $s};return $f;
190552
+ }; })(d, onKey)), js.Func);
190553
+ _r = $clone(js.Global(), js.Value).Call("addEventListener", new sliceType([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; }
190554
+ _r;
190555
+ _r$1 = $clone(js.Global(), js.Value).Call("addEventListener", new sliceType([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; }
190556
+ _r$1;
190557
+ d[0].releases = $append(d[0].releases, (function(d, onKey) { return function $b() {
190558
+ var {_r$2, _r$3, $s, $r, $c} = $restore(this, {});
190559
+ /* */ $s = $s || 0; s: while (true) { switch ($s) { case 0:
190560
+ _r$2 = $clone(js.Global(), js.Value).Call("removeEventListener", new sliceType([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; }
190561
+ _r$2;
190562
+ _r$3 = $clone(js.Global(), js.Value).Call("removeEventListener", new sliceType([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; }
190563
+ _r$3;
190564
+ $clone(onKey[0], js.Func).Release();
190565
+ $s = -1; return;
190566
+ /* */ } return; } var $f = {$blk: $b, $c: true, $r, _r$2, _r$3, $s};return $f;
190567
+ }; })(d, onKey));
190568
+ $s = -1; return;
190569
+ /* */ } return; } var $f = {$blk: DomEvents.ptr.prototype.bindKeyEvents, $c: true, $r, _r, _r$1, d, onKey, $s};return $f;
190145
190570
  };
190146
- $pkg.GetJsNaClDecoder = GetJsNaClDecoder;
190571
+ DomEvents.prototype.bindKeyEvents = function() { return this.$val.bindKeyEvents(); };
190572
+ getKeyRune = function(ev) {
190573
+ var ev, key$1;
190574
+ key$1 = (new sliceType$2($stringToRunes($clone($clone(ev, js.Value).Get("key"), js.Value).String())));
190575
+ if (key$1.$length === 1) {
190576
+ return (0 >= key$1.$length ? ($throwRuntimeError("index out of range"), undefined) : key$1.$array[key$1.$offset + 0]);
190577
+ }
190578
+ return -1;
190579
+ };
190580
+ getKeyDirection = function(ev) {
190581
+ var dir, ev;
190582
+ dir = 0;
190583
+ dir = 0;
190584
+ if ($clone($clone(ev, js.Value).Get("type"), js.Value).String() === "keydown") {
190585
+ dir = 1;
190586
+ }
190587
+ if ($clone($clone(ev, js.Value).Get("type"), js.Value).String() === "keyup") {
190588
+ dir = 2;
190589
+ }
190590
+ return dir;
190591
+ };
190592
+ getKeyCode = function(ev) {
190593
+ var _entry, _entry$1, _tuple, _tuple$1, code, code$1, domCode, domKey, ev, exists, exists$1;
190594
+ domCode = $clone($clone(ev, js.Value).Get("code"), js.Value).String();
190595
+ _tuple = (_entry = $mapIndex(keyCodesMap,$String.keyFor(domCode)), _entry !== undefined ? [_entry.v, true] : [0, false]);
190596
+ code = _tuple[0];
190597
+ exists = _tuple[1];
190598
+ if (exists) {
190599
+ return code;
190600
+ }
190601
+ domKey = $clone($clone(ev, js.Value).Get("key"), js.Value).String();
190602
+ _tuple$1 = (_entry$1 = $mapIndex(keyCodesByKeyMap,$String.keyFor(domKey)), _entry$1 !== undefined ? [_entry$1.v, true] : [0, false]);
190603
+ code$1 = _tuple$1[0];
190604
+ exists$1 = _tuple$1[1];
190605
+ if (exists$1) {
190606
+ return code$1;
190607
+ }
190608
+ return 0;
190609
+ };
190610
+ 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: "github.com/supraio/client-daemon/pkg/x264/nacldecoder/nacldriver/dom", typ: $funcType([], [], false)}, {prop: "emitSizeEvent", name: "emitSizeEvent", pkg: "github.com/supraio/client-daemon/pkg/x264/nacldecoder/nacldriver/dom", typ: $funcType([], [], false)}, {prop: "bindMouseEvents", name: "bindMouseEvents", pkg: "github.com/supraio/client-daemon/pkg/x264/nacldecoder/nacldriver/dom", typ: $funcType([], [], false)}, {prop: "bindFocusEvents", name: "bindFocusEvents", pkg: "github.com/supraio/client-daemon/pkg/x264/nacldecoder/nacldriver/dom", typ: $funcType([], [], false)}, {prop: "bindKeyEvents", name: "bindKeyEvents", pkg: "github.com/supraio/client-daemon/pkg/x264/nacldecoder/nacldriver/dom", typ: $funcType([], [], false)}];
190611
+ DomEvents.init("github.com/supraio/client-daemon/pkg/x264/nacldecoder/nacldriver/dom", [{prop: "eventChan", name: "eventChan", embedded: false, exported: false, typ: chanType, tag: ""}, {prop: "releases", name: "releases", embedded: false, exported: false, typ: sliceType$1, tag: ""}]);
190147
190612
  $init = function() {
190148
190613
  $pkg.$init = function() {};
190149
190614
  /* */ 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:
190150
- $r = js.$init(); /* */ $s = 1; case 1: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
190151
- jsNaClDecoder = ptrType.nil;
190152
- initiateReset = false;
190615
+ $r = focus.$init(); /* */ $s = 1; case 1: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
190616
+ $r = key.$init(); /* */ $s = 2; case 2: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
190617
+ $r = mouse.$init(); /* */ $s = 3; case 3: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
190618
+ $r = size.$init(); /* */ $s = 4; case 4: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
190619
+ $r = geom.$init(); /* */ $s = 5; case 5: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
190620
+ $r = math.$init(); /* */ $s = 6; case 6: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
190621
+ $r = strings.$init(); /* */ $s = 7; case 7: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
190622
+ $r = js.$init(); /* */ $s = 8; case 8: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
190623
+ 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 }]);
190624
+ keyCodesByKeyMap = $makeMap($String.keyFor, [{ k: "AudioVolumeMute", v: 127 }, { k: "AudioVolumeUp", v: 128 }, { k: "AudioVolumeDown", v: 129 }]);
190625
+ /* */ } return; } if ($f === undefined) { $f = { $blk: $init }; } $f.$s = $s; $f.$r = $r; return $f;
190626
+ };
190627
+ $pkg.$init = $init;
190628
+ return $pkg;
190629
+ })();
190630
+ $packages["github.com/supraio/client-daemon/pkg/x264/nacldecoder/nacldriver"] = (function() {
190631
+ var $pkg = {}, $init, fmt, errs, jshelper, dom, screen, f64, image, color, draw, sync, js, windowImpl, screenImpl, BufferImpl, sliceType, ptrType, ptrType$1, funcType, arrayType, ptrType$2, ptrType$3, ptrType$4, ptrType$5, sliceType$1, ptrType$6, ptrType$7, ptrType$8, ptrType$9, newWindow, newScreenImpl, main, newBuffer;
190632
+ fmt = $packages["fmt"];
190633
+ errs = $packages["github.com/supraio/client-daemon/pkg/errs"];
190634
+ jshelper = $packages["github.com/supraio/client-daemon/pkg/jshelper"];
190635
+ dom = $packages["github.com/supraio/client-daemon/pkg/x264/nacldecoder/nacldriver/dom"];
190636
+ screen = $packages["golang.org/x/exp/shiny/screen"];
190637
+ f64 = $packages["golang.org/x/image/math/f64"];
190638
+ image = $packages["image"];
190639
+ color = $packages["image/color"];
190640
+ draw = $packages["image/draw"];
190641
+ sync = $packages["sync"];
190642
+ js = $packages["syscall/js"];
190643
+ windowImpl = $pkg.windowImpl = $newType(0, $kindStruct, "nacldriver.windowImpl", true, "github.com/supraio/client-daemon/pkg/x264/nacldecoder/nacldriver", false, function(screen_, mutex_, jsNaClDecoder_, domEvents_, released_) {
190644
+ this.$val = this;
190645
+ if (arguments.length === 0) {
190646
+ this.screen = ptrType.nil;
190647
+ this.mutex = ptrType$1.nil;
190648
+ this.jsNaClDecoder = new js.Value.ptr(null, false, arrayType.zero());
190649
+ this.domEvents = ptrType$2.nil;
190650
+ this.released = false;
190651
+ return;
190652
+ }
190653
+ this.screen = screen_;
190654
+ this.mutex = mutex_;
190655
+ this.jsNaClDecoder = jsNaClDecoder_;
190656
+ this.domEvents = domEvents_;
190657
+ this.released = released_;
190658
+ });
190659
+ screenImpl = $pkg.screenImpl = $newType(0, $kindStruct, "nacldriver.screenImpl", true, "github.com/supraio/client-daemon/pkg/x264/nacldecoder/nacldriver", false, function(doc_) {
190660
+ this.$val = this;
190661
+ if (arguments.length === 0) {
190662
+ this.doc = new js.Value.ptr(null, false, arrayType.zero());
190663
+ return;
190664
+ }
190665
+ this.doc = doc_;
190666
+ });
190667
+ BufferImpl = $pkg.BufferImpl = $newType(0, $kindStruct, "nacldriver.BufferImpl", true, "github.com/supraio/client-daemon/pkg/x264/nacldecoder/nacldriver", true, function(pictureResult_, screen_, size_) {
190668
+ this.$val = this;
190669
+ if (arguments.length === 0) {
190670
+ this.pictureResult = ptrType$4.nil;
190671
+ this.screen = ptrType.nil;
190672
+ this.size = new image.Point.ptr(0, 0);
190673
+ return;
190674
+ }
190675
+ this.pictureResult = pictureResult_;
190676
+ this.screen = screen_;
190677
+ this.size = size_;
190678
+ });
190679
+ sliceType = $sliceType($emptyInterface);
190680
+ ptrType = $ptrType(screenImpl);
190681
+ ptrType$1 = $ptrType(sync.Mutex);
190682
+ funcType = $funcType([], [], false);
190683
+ arrayType = $arrayType(funcType, 0);
190684
+ ptrType$2 = $ptrType(dom.DomEvents);
190685
+ ptrType$3 = $ptrType(BufferImpl);
190686
+ ptrType$4 = $ptrType(js.Value);
190687
+ ptrType$5 = $ptrType(image.RGBA);
190688
+ sliceType$1 = $sliceType($Uint8);
190689
+ ptrType$6 = $ptrType(screen.DrawOptions);
190690
+ ptrType$7 = $ptrType(windowImpl);
190691
+ ptrType$8 = $ptrType(screen.NewWindowOptions);
190692
+ ptrType$9 = $ptrType(image.YCbCr);
190693
+ newWindow = function(screen$1, opts) {
190694
+ var {_r, _r$1, _r$2, domEvents, jsNaClDecoder, opts, screen$1, w, $s, $r, $c} = $restore(this, {screen$1, opts});
190695
+ /* */ $s = $s || 0; s: while (true) { switch ($s) { case 0:
190696
+ /* */ if (!(opts.Title === "")) { $s = 1; continue; }
190697
+ /* */ $s = 2; continue;
190698
+ /* if (!(opts.Title === "")) { */ case 1:
190699
+ _r = $clone($clone(screen$1.doc, js.Value).Get("head"), js.Value).Call("getElementsByTagName", new sliceType([new $String("title")])); /* */ $s = 3; case 3: if($c) { $c = false; _r = _r.$blk(); } if (_r && _r.$blk !== undefined) { break s; }
190700
+ _r$1 = $clone(_r, js.Value).Call("item", new sliceType([new $Int(0)])); /* */ $s = 4; case 4: if($c) { $c = false; _r$1 = _r$1.$blk(); } if (_r$1 && _r$1.$blk !== undefined) { break s; }
190701
+ $r = $clone(_r$1, js.Value).Set("innerHTML", new $String(opts.Title)); /* */ $s = 5; case 5: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
190702
+ /* } */ case 2:
190703
+ jsNaClDecoder = $clone($clone(js.Global(), js.Value).Get("naclDecoder"), js.Value);
190704
+ /* */ if ($clone(jsNaClDecoder, js.Value).IsUndefined()) { $s = 6; continue; }
190705
+ /* */ $s = 7; continue;
190706
+ /* if ($clone(jsNaClDecoder, js.Value).IsUndefined()) { */ case 6:
190707
+ _r$2 = fmt.Errorf("Cannot get naclDecoder object from global scope", sliceType.nil); /* */ $s = 8; case 8: if($c) { $c = false; _r$2 = _r$2.$blk(); } if (_r$2 && _r$2.$blk !== undefined) { break s; }
190708
+ $panic(_r$2);
190709
+ /* } */ case 7:
190710
+ domEvents = dom.NewDomEvents();
190711
+ w = new windowImpl.ptr(screen$1, new sync.Mutex.ptr(0, 0), $clone(jsNaClDecoder, js.Value), domEvents, false);
190712
+ $s = -1; return w;
190713
+ /* */ } return; } var $f = {$blk: newWindow, $c: true, $r, _r, _r$1, _r$2, domEvents, jsNaClDecoder, opts, screen$1, w, $s};return $f;
190714
+ };
190715
+ windowImpl.ptr.prototype.Release = function() {
190716
+ var {w, $s, $deferred, $r, $c} = $restore(this, {});
190717
+ /* */ $s = $s || 0; var $err = null; try { s: while (true) { switch ($s) { case 0: $deferred = []; $curGoroutine.deferStack.push($deferred);
190718
+ w = this;
190719
+ $r = w.mutex.Lock(); /* */ $s = 1; case 1: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
190720
+ $deferred.push([$methodVal(w.mutex, "Unlock"), []]);
190721
+ /* */ if (w.released) { $s = 2; continue; }
190722
+ /* */ $s = 3; continue;
190723
+ /* if (w.released) { */ case 2:
190724
+ $s = 4; case 4: return;
190725
+ /* } */ case 3:
190726
+ $r = w.domEvents.Release(); /* */ $s = 5; case 5: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
190727
+ w.released = true;
190728
+ $s = -1; return;
190729
+ /* */ } return; } } catch(err) { $err = err; $s = -1; } finally { $callDeferred($deferred, $err); if($curGoroutine.asleep) { var $f = {$blk: windowImpl.ptr.prototype.Release, $c: true, $r, w, $s, $deferred};return $f; } }
190730
+ };
190731
+ windowImpl.prototype.Release = function() { return this.$val.Release(); };
190732
+ windowImpl.ptr.prototype.Publish = function() {
190733
+ var w;
190734
+ w = this;
190735
+ if (w.released) {
190736
+ return new screen.PublishResult.ptr(false);
190737
+ }
190738
+ return new screen.PublishResult.ptr(false);
190739
+ };
190740
+ windowImpl.prototype.Publish = function() { return this.$val.Publish(); };
190741
+ windowImpl.ptr.prototype.Send = function(event) {
190742
+ var event, w;
190743
+ w = this;
190744
+ if (w.released) {
190745
+ return;
190746
+ }
190747
+ $panic(new $String("Not implemented"));
190748
+ };
190749
+ windowImpl.prototype.Send = function(event) { return this.$val.Send(event); };
190750
+ windowImpl.ptr.prototype.SendFirst = function(event) {
190751
+ var event, w;
190752
+ w = this;
190753
+ if (w.released) {
190754
+ return;
190755
+ }
190756
+ $panic(new $String("Not implemented"));
190757
+ };
190758
+ windowImpl.prototype.SendFirst = function(event) { return this.$val.SendFirst(event); };
190759
+ windowImpl.ptr.prototype.NextEvent = function() {
190760
+ var {_r, ev, w, $s, $r, $c} = $restore(this, {});
190761
+ /* */ $s = $s || 0; s: while (true) { switch ($s) { case 0:
190762
+ w = this;
190763
+ _r = $recv(w.domEvents.GetEventChan()); /* */ $s = 1; case 1: if($c) { $c = false; _r = _r.$blk(); } if (_r && _r.$blk !== undefined) { break s; }
190764
+ ev = _r[0];
190765
+ $s = -1; return ev;
190766
+ /* */ } return; } var $f = {$blk: windowImpl.ptr.prototype.NextEvent, $c: true, $r, _r, ev, w, $s};return $f;
190767
+ };
190768
+ windowImpl.prototype.NextEvent = function() { return this.$val.NextEvent(); };
190769
+ windowImpl.ptr.prototype.Upload = function(dp, src, sr) {
190770
+ var {_r, dp, sr, src, w, $s, $r, $c} = $restore(this, {dp, src, sr});
190771
+ /* */ $s = $s || 0; s: while (true) { switch ($s) { case 0:
190772
+ w = this;
190773
+ if (w.released) {
190774
+ $s = -1; return;
190775
+ }
190776
+ _r = fmt.Errorf("Not implemented, use UploadYCbCr instead", sliceType.nil); /* */ $s = 1; case 1: if($c) { $c = false; _r = _r.$blk(); } if (_r && _r.$blk !== undefined) { break s; }
190777
+ $panic(_r);
190778
+ $s = -1; return;
190779
+ /* */ } return; } var $f = {$blk: windowImpl.ptr.prototype.Upload, $c: true, $r, _r, dp, sr, src, w, $s};return $f;
190780
+ };
190781
+ windowImpl.prototype.Upload = function(dp, src, sr) { return this.$val.Upload(dp, src, sr); };
190782
+ windowImpl.ptr.prototype.UploadYCbCr = function(dp, src, sr) {
190783
+ var {_arg, _r, _r$1, _r$2, _r$3, _r$4, _ref, _tuple, dp, err, jsSrc, jsSrc$1, renderPromise, sr, src, w, x, x$1, $s, $deferred, $r, $c} = $restore(this, {dp, src, sr});
190784
+ /* */ $s = $s || 0; var $err = null; try { s: while (true) { switch ($s) { case 0: $deferred = []; $curGoroutine.deferStack.push($deferred);
190785
+ w = this;
190786
+ $r = w.mutex.Lock(); /* */ $s = 1; case 1: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
190787
+ $deferred.push([$methodVal(w.mutex, "Unlock"), []]);
190788
+ /* */ if (w.released) { $s = 2; continue; }
190789
+ /* */ $s = 3; continue;
190790
+ /* if (w.released) { */ case 2:
190791
+ $s = 4; case 4: return;
190792
+ /* } */ case 3:
190793
+ _ref = src;
190794
+ /* */ if ($assertType(_ref, ptrType$3, true)[1]) { $s = 5; continue; }
190795
+ /* */ $s = 6; continue;
190796
+ /* if ($assertType(_ref, ptrType$3, true)[1]) { */ case 5:
190797
+ jsSrc = _ref.$val;
190798
+ _r = $clone(w.jsNaClDecoder, js.Value).Call("render", new sliceType([(x = jsSrc.pictureResult, new x.constructor.elem(x))])); /* */ $s = 8; case 8: if($c) { $c = false; _r = _r.$blk(); } if (_r && _r.$blk !== undefined) { break s; }
190799
+ renderPromise = $clone(_r, js.Value);
190800
+ _r$1 = jshelper.Await($clone(renderPromise, js.Value)); /* */ $s = 9; case 9: if($c) { $c = false; _r$1 = _r$1.$blk(); } if (_r$1 && _r$1.$blk !== undefined) { break s; }
190801
+ _tuple = _r$1;
190802
+ err = _tuple[1];
190803
+ /* */ if (!(err === ptrType$4.nil)) { $s = 10; continue; }
190804
+ /* */ $s = 11; continue;
190805
+ /* if (!(err === ptrType$4.nil)) { */ case 10:
190806
+ _r$2 = errs.Errorf("%v", new sliceType([err])); /* */ $s = 12; case 12: if($c) { $c = false; _r$2 = _r$2.$blk(); } if (_r$2 && _r$2.$blk !== undefined) { break s; }
190807
+ _arg = _r$2;
190808
+ $r = errs.Print("Failed to render picture", _arg); /* */ $s = 13; case 13: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
190809
+ /* } */ case 11:
190810
+ _r$3 = $clone(w.jsNaClDecoder, js.Value).Call("recyclePicture", new sliceType([(x$1 = jsSrc.pictureResult, new x$1.constructor.elem(x$1))])); /* */ $s = 14; case 14: if($c) { $c = false; _r$3 = _r$3.$blk(); } if (_r$3 && _r$3.$blk !== undefined) { break s; }
190811
+ _r$3;
190812
+ $s = 7; continue;
190813
+ /* } else { */ case 6:
190814
+ jsSrc$1 = _ref;
190815
+ _r$4 = fmt.Errorf("Not implemented, use nacldriver.BufferImpl instead", sliceType.nil); /* */ $s = 15; case 15: if($c) { $c = false; _r$4 = _r$4.$blk(); } if (_r$4 && _r$4.$blk !== undefined) { break s; }
190816
+ $panic(_r$4);
190817
+ /* } */ case 7:
190818
+ $s = -1; return;
190819
+ /* */ } return; } } catch(err) { $err = err; $s = -1; } finally { $callDeferred($deferred, $err); if($curGoroutine.asleep) { var $f = {$blk: windowImpl.ptr.prototype.UploadYCbCr, $c: true, $r, _arg, _r, _r$1, _r$2, _r$3, _r$4, _ref, _tuple, dp, err, jsSrc, jsSrc$1, renderPromise, sr, src, w, x, x$1, $s, $deferred};return $f; } }
190820
+ };
190821
+ windowImpl.prototype.UploadYCbCr = function(dp, src, sr) { return this.$val.UploadYCbCr(dp, src, sr); };
190822
+ windowImpl.ptr.prototype.Fill = function(dr, src, op) {
190823
+ var dr, op, src, w;
190824
+ w = this;
190825
+ if (w.released) {
190826
+ return;
190827
+ }
190828
+ $panic(new $String("Not implemented"));
190829
+ };
190830
+ windowImpl.prototype.Fill = function(dr, src, op) { return this.$val.Fill(dr, src, op); };
190831
+ windowImpl.ptr.prototype.Draw = function(src2dst, src, sr, op, opts) {
190832
+ var op, opts, sr, src, src2dst, w;
190833
+ w = this;
190834
+ if (w.released) {
190835
+ return;
190836
+ }
190837
+ $panic(new $String("Not implemented"));
190838
+ };
190839
+ windowImpl.prototype.Draw = function(src2dst, src, sr, op, opts) { return this.$val.Draw(src2dst, src, sr, op, opts); };
190840
+ windowImpl.ptr.prototype.DrawUniform = function(src2dst, src, sr, op, opts) {
190841
+ var op, opts, sr, src, src2dst, w;
190842
+ w = this;
190843
+ if (w.released) {
190844
+ return;
190845
+ }
190846
+ $panic(new $String("Not implemented"));
190847
+ };
190848
+ windowImpl.prototype.DrawUniform = function(src2dst, src, sr, op, opts) { return this.$val.DrawUniform(src2dst, src, sr, op, opts); };
190849
+ windowImpl.ptr.prototype.Copy = function(dp, src, sr, op, opts) {
190850
+ var dp, op, opts, sr, src, w;
190851
+ w = this;
190852
+ if (w.released) {
190853
+ return;
190854
+ }
190855
+ $panic(new $String("Not implemented"));
190856
+ };
190857
+ windowImpl.prototype.Copy = function(dp, src, sr, op, opts) { return this.$val.Copy(dp, src, sr, op, opts); };
190858
+ windowImpl.ptr.prototype.Scale = function(dr, src, sr, op, opts) {
190859
+ var dr, op, opts, sr, src, w;
190860
+ w = this;
190861
+ if (w.released) {
190862
+ return;
190863
+ }
190864
+ $panic(new $String("Not implemented"));
190865
+ };
190866
+ windowImpl.prototype.Scale = function(dr, src, sr, op, opts) { return this.$val.Scale(dr, src, sr, op, opts); };
190867
+ newScreenImpl = function() {
190868
+ var s;
190869
+ s = new screenImpl.ptr($clone($clone(js.Global(), js.Value).Get("document"), js.Value));
190870
+ return [s, $ifaceNil];
190871
+ };
190872
+ screenImpl.ptr.prototype.NewBuffer = function(size) {
190873
+ var buffer, s, size;
190874
+ s = this;
190875
+ buffer = newBuffer(s, $clone(size, image.Point));
190876
+ return [buffer, $ifaceNil];
190877
+ };
190878
+ screenImpl.prototype.NewBuffer = function(size) { return this.$val.NewBuffer(size); };
190879
+ screenImpl.ptr.prototype.NewTexture = function(size) {
190880
+ var {$24r, _r, s, size, $s, $r, $c} = $restore(this, {size});
190881
+ /* */ $s = $s || 0; s: while (true) { switch ($s) { case 0:
190882
+ s = this;
190883
+ _r = fmt.Errorf("Texture not implemented", sliceType.nil); /* */ $s = 1; case 1: if($c) { $c = false; _r = _r.$blk(); } if (_r && _r.$blk !== undefined) { break s; }
190884
+ $24r = [$ifaceNil, _r];
190885
+ $s = 2; case 2: return $24r;
190886
+ /* */ } return; } var $f = {$blk: screenImpl.ptr.prototype.NewTexture, $c: true, $r, $24r, _r, s, size, $s};return $f;
190887
+ };
190888
+ screenImpl.prototype.NewTexture = function(size) { return this.$val.NewTexture(size); };
190889
+ screenImpl.ptr.prototype.NewWindow = function(opts) {
190890
+ var {_r, opts, s, window, $s, $r, $c} = $restore(this, {opts});
190891
+ /* */ $s = $s || 0; s: while (true) { switch ($s) { case 0:
190892
+ s = this;
190893
+ _r = newWindow(s, opts); /* */ $s = 1; case 1: if($c) { $c = false; _r = _r.$blk(); } if (_r && _r.$blk !== undefined) { break s; }
190894
+ window = _r;
190895
+ $s = -1; return [window, $ifaceNil];
190896
+ /* */ } return; } var $f = {$blk: screenImpl.ptr.prototype.NewWindow, $c: true, $r, _r, opts, s, window, $s};return $f;
190897
+ };
190898
+ screenImpl.prototype.NewWindow = function(opts) { return this.$val.NewWindow(opts); };
190899
+ main = function(f) {
190900
+ var {_tuple, err, f, retErr, s, $s, $r, $c} = $restore(this, {f});
190901
+ /* */ $s = $s || 0; s: while (true) { switch ($s) { case 0:
190902
+ retErr = $ifaceNil;
190903
+ _tuple = newScreenImpl();
190904
+ s = _tuple[0];
190905
+ err = _tuple[1];
190906
+ if (!($interfaceIsEqual(err, $ifaceNil))) {
190907
+ retErr = err;
190908
+ $s = -1; return retErr;
190909
+ }
190910
+ $r = f(s); /* */ $s = 1; case 1: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
190911
+ retErr = $ifaceNil;
190912
+ $s = -1; return retErr;
190913
+ /* */ } return; } var $f = {$blk: main, $c: true, $r, _tuple, err, f, retErr, s, $s};return $f;
190914
+ };
190915
+ newBuffer = function(screen$1, size) {
190916
+ var b, screen$1, size;
190917
+ b = new BufferImpl.ptr(ptrType$4.nil, screen$1, $clone(size, image.Point));
190918
+ return b;
190919
+ };
190920
+ BufferImpl.ptr.prototype.Size = function() {
190921
+ var b;
190922
+ b = this;
190923
+ return b.size;
190924
+ };
190925
+ BufferImpl.prototype.Size = function() { return this.$val.Size(); };
190926
+ BufferImpl.ptr.prototype.Bounds = function() {
190927
+ var b;
190928
+ b = this;
190929
+ return new image.Rectangle.ptr(new image.Point.ptr(0, 0), $clone(b.size, image.Point));
190930
+ };
190931
+ BufferImpl.prototype.Bounds = function() { return this.$val.Bounds(); };
190932
+ BufferImpl.ptr.prototype.RGBA = function() {
190933
+ var {_r, b, $s, $r, $c} = $restore(this, {});
190934
+ /* */ $s = $s || 0; s: while (true) { switch ($s) { case 0:
190935
+ b = this;
190936
+ _r = fmt.Errorf("Not implemented RGBA(), use PictureResult() instead", sliceType.nil); /* */ $s = 1; case 1: if($c) { $c = false; _r = _r.$blk(); } if (_r && _r.$blk !== undefined) { break s; }
190937
+ $panic(_r);
190938
+ $s = -1; return ptrType$5.nil;
190939
+ /* */ } return; } var $f = {$blk: BufferImpl.ptr.prototype.RGBA, $c: true, $r, _r, b, $s};return $f;
190940
+ };
190941
+ BufferImpl.prototype.RGBA = function() { return this.$val.RGBA(); };
190942
+ BufferImpl.ptr.prototype.YCbCr = function() {
190943
+ var b;
190944
+ b = this;
190945
+ return new image.YCbCr.ptr(sliceType$1.nil, sliceType$1.nil, sliceType$1.nil, 0, 0, 0, $clone(b.Bounds(), image.Rectangle));
190946
+ };
190947
+ BufferImpl.prototype.YCbCr = function() { return this.$val.YCbCr(); };
190948
+ BufferImpl.ptr.prototype.GetPictureResult = function() {
190949
+ var b;
190950
+ b = this;
190951
+ return b.pictureResult;
190952
+ };
190953
+ BufferImpl.prototype.GetPictureResult = function() { return this.$val.GetPictureResult(); };
190954
+ BufferImpl.ptr.prototype.SetPictureResult = function(pictureResult) {
190955
+ var b, pictureResult;
190956
+ b = this;
190957
+ b.pictureResult = pictureResult;
190958
+ };
190959
+ BufferImpl.prototype.SetPictureResult = function(pictureResult) { return this.$val.SetPictureResult(pictureResult); };
190960
+ BufferImpl.ptr.prototype.Release = function() {
190961
+ var b;
190962
+ b = this;
190963
+ };
190964
+ BufferImpl.prototype.Release = function() { return this.$val.Release(); };
190965
+ ptrType$7.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$6], [], false)}, {prop: "DrawUniform", name: "DrawUniform", pkg: "", typ: $funcType([f64.Aff3, color.Color, image.Rectangle, draw.Op, ptrType$6], [], false)}, {prop: "Copy", name: "Copy", pkg: "", typ: $funcType([image.Point, screen.Texture, image.Rectangle, draw.Op, ptrType$6], [], false)}, {prop: "Scale", name: "Scale", pkg: "", typ: $funcType([image.Rectangle, screen.Texture, image.Rectangle, draw.Op, ptrType$6], [], false)}];
190966
+ 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)}];
190967
+ ptrType$3.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$5], false)}, {prop: "YCbCr", name: "YCbCr", pkg: "", typ: $funcType([], [ptrType$9], false)}, {prop: "GetPictureResult", name: "GetPictureResult", pkg: "", typ: $funcType([], [ptrType$4], false)}, {prop: "SetPictureResult", name: "SetPictureResult", pkg: "", typ: $funcType([ptrType$4], [], false)}, {prop: "Release", name: "Release", pkg: "", typ: $funcType([], [], false)}];
190968
+ windowImpl.init("github.com/supraio/client-daemon/pkg/x264/nacldecoder/nacldriver", [{prop: "screen", name: "screen", embedded: false, exported: false, typ: ptrType, tag: ""}, {prop: "mutex", name: "mutex", embedded: false, exported: false, typ: ptrType$1, tag: ""}, {prop: "jsNaClDecoder", name: "jsNaClDecoder", embedded: false, exported: false, typ: js.Value, tag: ""}, {prop: "domEvents", name: "domEvents", embedded: false, exported: false, typ: ptrType$2, tag: ""}, {prop: "released", name: "released", embedded: false, exported: false, typ: $Bool, tag: ""}]);
190969
+ screenImpl.init("github.com/supraio/client-daemon/pkg/x264/nacldecoder/nacldriver", [{prop: "doc", name: "doc", embedded: false, exported: false, typ: js.Value, tag: ""}]);
190970
+ BufferImpl.init("github.com/supraio/client-daemon/pkg/x264/nacldecoder/nacldriver", [{prop: "pictureResult", name: "pictureResult", embedded: false, exported: false, typ: ptrType$4, tag: ""}, {prop: "screen", name: "screen", embedded: false, exported: false, typ: ptrType, tag: ""}, {prop: "size", name: "size", embedded: false, exported: false, typ: image.Point, tag: ""}]);
190971
+ $init = function() {
190972
+ $pkg.$init = function() {};
190973
+ /* */ 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:
190974
+ $r = fmt.$init(); /* */ $s = 1; case 1: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
190975
+ $r = errs.$init(); /* */ $s = 2; case 2: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
190976
+ $r = jshelper.$init(); /* */ $s = 3; case 3: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
190977
+ $r = dom.$init(); /* */ $s = 4; case 4: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
190978
+ $r = screen.$init(); /* */ $s = 5; case 5: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
190979
+ $r = f64.$init(); /* */ $s = 6; case 6: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
190980
+ $r = image.$init(); /* */ $s = 7; case 7: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
190981
+ $r = color.$init(); /* */ $s = 8; case 8: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
190982
+ $r = draw.$init(); /* */ $s = 9; case 9: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
190983
+ $r = sync.$init(); /* */ $s = 10; case 10: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
190984
+ $r = js.$init(); /* */ $s = 11; case 11: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
190153
190985
  /* */ } return; } if ($f === undefined) { $f = { $blk: $init }; } $f.$s = $s; $f.$r = $r; return $f;
190154
190986
  };
190155
190987
  $pkg.$init = $init;
190156
190988
  return $pkg;
190157
190989
  })();
190158
190990
  $packages["github.com/supraio/client-daemon/pkg/x264/nacldecoder"] = (function() {
190159
- var $pkg = {}, $init, errs, jshelper, general, jsdecoder, js;
190991
+ var $pkg = {}, $init, errs, jshelper, general, nacldriver, js;
190160
190992
  errs = $packages["github.com/supraio/client-daemon/pkg/errs"];
190161
190993
  jshelper = $packages["github.com/supraio/client-daemon/pkg/jshelper"];
190162
190994
  general = $packages["github.com/supraio/client-daemon/pkg/x264/general"];
190163
- jsdecoder = $packages["github.com/supraio/client-daemon/pkg/x264/nacldecoder/jsdecoder"];
190995
+ nacldriver = $packages["github.com/supraio/client-daemon/pkg/x264/nacldecoder/nacldriver"];
190164
190996
  js = $packages["syscall/js"];
190165
190997
  $init = function() {
190166
190998
  $pkg.$init = function() {};
@@ -190168,7 +191000,7 @@ $packages["github.com/supraio/client-daemon/pkg/x264/nacldecoder"] = (function()
190168
191000
  $r = errs.$init(); /* */ $s = 1; case 1: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
190169
191001
  $r = jshelper.$init(); /* */ $s = 2; case 2: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
190170
191002
  $r = general.$init(); /* */ $s = 3; case 3: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
190171
- $r = jsdecoder.$init(); /* */ $s = 4; case 4: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
191003
+ $r = nacldriver.$init(); /* */ $s = 4; case 4: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
190172
191004
  $r = js.$init(); /* */ $s = 5; case 5: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
190173
191005
  /* */ } return; } if ($f === undefined) { $f = { $blk: $init }; } $f.$s = $s; $f.$r = $r; return $f;
190174
191006
  };
@@ -190176,10 +191008,10 @@ $packages["github.com/supraio/client-daemon/pkg/x264/nacldecoder"] = (function()
190176
191008
  return $pkg;
190177
191009
  })();
190178
191010
  $packages["golang.org/x/exp/shiny/driver/canvasdriver"] = (function() {
190179
- var $pkg = {}, $init, fmt, errscreen, dom, screen, f64, image, color, draw, sync, js, windowImpl, screenImpl, YCbCrJS, BufferImpl, sliceType, ptrType, ptrType$1, funcType, arrayType, ptrType$2, ptrType$3, sliceType$1, ptrType$4, ptrType$5, ptrType$6, ptrType$7, ptrType$8, ptrType$9, ptrType$10, newWindow, main, newScreenImpl, newBuffer;
191011
+ var $pkg = {}, $init, fmt, dom, errscreen, screen, f64, image, color, draw, sync, js, windowImpl, screenImpl, YCbCrJS, BufferImpl, sliceType, ptrType, ptrType$1, funcType, arrayType, ptrType$2, ptrType$3, sliceType$1, ptrType$4, ptrType$5, ptrType$6, ptrType$7, ptrType$8, ptrType$9, ptrType$10, newWindow, main, newScreenImpl, newBuffer;
190180
191012
  fmt = $packages["fmt"];
191013
+ dom = $packages["golang.org/x/exp/shiny/driver/internal/dom"];
190181
191014
  errscreen = $packages["golang.org/x/exp/shiny/driver/internal/errscreen"];
190182
- dom = $packages["golang.org/x/exp/shiny/driver/util/dom"];
190183
191015
  screen = $packages["golang.org/x/exp/shiny/screen"];
190184
191016
  f64 = $packages["golang.org/x/image/math/f64"];
190185
191017
  image = $packages["image"];
@@ -190573,8 +191405,8 @@ $packages["golang.org/x/exp/shiny/driver/canvasdriver"] = (function() {
190573
191405
  $pkg.$init = function() {};
190574
191406
  /* */ 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:
190575
191407
  $r = fmt.$init(); /* */ $s = 1; case 1: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
190576
- $r = errscreen.$init(); /* */ $s = 2; case 2: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
190577
- $r = dom.$init(); /* */ $s = 3; case 3: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
191408
+ $r = dom.$init(); /* */ $s = 2; case 2: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
191409
+ $r = errscreen.$init(); /* */ $s = 3; case 3: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
190578
191410
  $r = screen.$init(); /* */ $s = 4; case 4: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
190579
191411
  $r = f64.$init(); /* */ $s = 5; case 5: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
190580
191412
  $r = image.$init(); /* */ $s = 6; case 6: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
@@ -190614,12 +191446,13 @@ $packages["github.com/supraio/client-daemon/pkg/x264/webcodecs"] = (function() {
190614
191446
  return $pkg;
190615
191447
  })();
190616
191448
  $packages["github.com/supraio/client-daemon/pkg/x264"] = (function() {
190617
- var $pkg = {}, $init, errs, general, h264_decoder, nacldecoder, webcodecs;
191449
+ var $pkg = {}, $init, errs, general, h264_decoder, nacldecoder, webcodecs, js;
190618
191450
  errs = $packages["github.com/supraio/client-daemon/pkg/errs"];
190619
191451
  general = $packages["github.com/supraio/client-daemon/pkg/x264/general"];
190620
191452
  h264_decoder = $packages["github.com/supraio/client-daemon/pkg/x264/h264decoder"];
190621
191453
  nacldecoder = $packages["github.com/supraio/client-daemon/pkg/x264/nacldecoder"];
190622
191454
  webcodecs = $packages["github.com/supraio/client-daemon/pkg/x264/webcodecs"];
191455
+ js = $packages["syscall/js"];
190623
191456
  $init = function() {
190624
191457
  $pkg.$init = function() {};
190625
191458
  /* */ 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:
@@ -190628,377 +191461,7 @@ $packages["github.com/supraio/client-daemon/pkg/x264"] = (function() {
190628
191461
  $r = h264_decoder.$init(); /* */ $s = 3; case 3: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
190629
191462
  $r = nacldecoder.$init(); /* */ $s = 4; case 4: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
190630
191463
  $r = webcodecs.$init(); /* */ $s = 5; case 5: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
190631
- /* */ } return; } if ($f === undefined) { $f = { $blk: $init }; } $f.$s = $s; $f.$r = $r; return $f;
190632
- };
190633
- $pkg.$init = $init;
190634
- return $pkg;
190635
- })();
190636
- $packages["github.com/supraio/client-daemon/pkg/x264/nacldecoder/nacldriver"] = (function() {
190637
- var $pkg = {}, $init, errs, jshelper, jsdecoder, dom, screen, f64, image, color, draw, log, sync, js, windowImpl, screenImpl, BufferImpl, sliceType, ptrType, ptrType$1, ptrType$2, ptrType$3, funcType, arrayType, ptrType$4, sliceType$1, ptrType$5, ptrType$6, ptrType$7, ptrType$8, ptrType$9, newWindow, newScreenImpl, main, newBuffer;
190638
- errs = $packages["github.com/supraio/client-daemon/pkg/errs"];
190639
- jshelper = $packages["github.com/supraio/client-daemon/pkg/jshelper"];
190640
- jsdecoder = $packages["github.com/supraio/client-daemon/pkg/x264/nacldecoder/jsdecoder"];
190641
- dom = $packages["golang.org/x/exp/shiny/driver/util/dom"];
190642
- screen = $packages["golang.org/x/exp/shiny/screen"];
190643
- f64 = $packages["golang.org/x/image/math/f64"];
190644
- image = $packages["image"];
190645
- color = $packages["image/color"];
190646
- draw = $packages["image/draw"];
190647
- log = $packages["log"];
190648
- sync = $packages["sync"];
190649
- js = $packages["syscall/js"];
190650
- windowImpl = $pkg.windowImpl = $newType(0, $kindStruct, "nacldriver.windowImpl", true, "github.com/supraio/client-daemon/pkg/x264/nacldecoder/nacldriver", false, function(screen_, mutex_, renderingInProgress_, domEvents_, released_) {
190651
- this.$val = this;
190652
- if (arguments.length === 0) {
190653
- this.screen = ptrType.nil;
190654
- this.mutex = ptrType$1.nil;
190655
- this.renderingInProgress = false;
190656
- this.domEvents = ptrType$2.nil;
190657
- this.released = false;
190658
- return;
190659
- }
190660
- this.screen = screen_;
190661
- this.mutex = mutex_;
190662
- this.renderingInProgress = renderingInProgress_;
190663
- this.domEvents = domEvents_;
190664
- this.released = released_;
190665
- });
190666
- screenImpl = $pkg.screenImpl = $newType(0, $kindStruct, "nacldriver.screenImpl", true, "github.com/supraio/client-daemon/pkg/x264/nacldecoder/nacldriver", false, function(doc_) {
190667
- this.$val = this;
190668
- if (arguments.length === 0) {
190669
- this.doc = new js.Value.ptr(null, false, arrayType.zero());
190670
- return;
190671
- }
190672
- this.doc = doc_;
190673
- });
190674
- BufferImpl = $pkg.BufferImpl = $newType(0, $kindStruct, "nacldriver.BufferImpl", true, "github.com/supraio/client-daemon/pkg/x264/nacldecoder/nacldriver", true, function(screen_, size_) {
190675
- this.$val = this;
190676
- if (arguments.length === 0) {
190677
- this.screen = ptrType.nil;
190678
- this.size = new image.Point.ptr(0, 0);
190679
- return;
190680
- }
190681
- this.screen = screen_;
190682
- this.size = size_;
190683
- });
190684
- sliceType = $sliceType($emptyInterface);
190685
- ptrType = $ptrType(screenImpl);
190686
- ptrType$1 = $ptrType(sync.Mutex);
190687
- ptrType$2 = $ptrType(dom.DomEvents);
190688
- ptrType$3 = $ptrType(js.Value);
190689
- funcType = $funcType([], [], false);
190690
- arrayType = $arrayType(funcType, 0);
190691
- ptrType$4 = $ptrType(image.RGBA);
190692
- sliceType$1 = $sliceType($Uint8);
190693
- ptrType$5 = $ptrType(screen.DrawOptions);
190694
- ptrType$6 = $ptrType(windowImpl);
190695
- ptrType$7 = $ptrType(screen.NewWindowOptions);
190696
- ptrType$8 = $ptrType(image.YCbCr);
190697
- ptrType$9 = $ptrType(BufferImpl);
190698
- newWindow = function(screen$1, opts) {
190699
- var {_r, _r$1, domEvents, opts, screen$1, w, $s, $r, $c} = $restore(this, {screen$1, opts});
190700
- /* */ $s = $s || 0; s: while (true) { switch ($s) { case 0:
190701
- /* */ if (!(opts.Title === "")) { $s = 1; continue; }
190702
- /* */ $s = 2; continue;
190703
- /* if (!(opts.Title === "")) { */ case 1:
190704
- _r = $clone($clone(screen$1.doc, js.Value).Get("head"), js.Value).Call("getElementsByTagName", new sliceType([new $String("title")])); /* */ $s = 3; case 3: if($c) { $c = false; _r = _r.$blk(); } if (_r && _r.$blk !== undefined) { break s; }
190705
- _r$1 = $clone(_r, js.Value).Call("item", new sliceType([new $Int(0)])); /* */ $s = 4; case 4: if($c) { $c = false; _r$1 = _r$1.$blk(); } if (_r$1 && _r$1.$blk !== undefined) { break s; }
190706
- $r = $clone(_r$1, js.Value).Set("innerHTML", new $String(opts.Title)); /* */ $s = 5; case 5: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
190707
- /* } */ case 2:
190708
- domEvents = dom.NewDomEvents();
190709
- w = new windowImpl.ptr(screen$1, new sync.Mutex.ptr(0, 0), false, domEvents, false);
190710
- $r = domEvents.BindEvents(); /* */ $s = 6; case 6: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
190711
- $s = -1; return w;
190712
- /* */ } return; } var $f = {$blk: newWindow, $c: true, $r, _r, _r$1, domEvents, opts, screen$1, w, $s};return $f;
190713
- };
190714
- windowImpl.ptr.prototype.Release = function() {
190715
- var {w, $s, $deferred, $r, $c} = $restore(this, {});
190716
- /* */ $s = $s || 0; var $err = null; try { s: while (true) { switch ($s) { case 0: $deferred = []; $curGoroutine.deferStack.push($deferred);
190717
- w = this;
190718
- $r = w.mutex.Lock(); /* */ $s = 1; case 1: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
190719
- $deferred.push([$methodVal(w.mutex, "Unlock"), []]);
190720
- /* */ if (w.released) { $s = 2; continue; }
190721
- /* */ $s = 3; continue;
190722
- /* if (w.released) { */ case 2:
190723
- $s = 4; case 4: return;
190724
- /* } */ case 3:
190725
- $r = w.domEvents.Release(); /* */ $s = 5; case 5: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
190726
- w.released = true;
190727
- $s = -1; return;
190728
- /* */ } return; } } catch(err) { $err = err; $s = -1; } finally { $callDeferred($deferred, $err); if($curGoroutine.asleep) { var $f = {$blk: windowImpl.ptr.prototype.Release, $c: true, $r, w, $s, $deferred};return $f; } }
190729
- };
190730
- windowImpl.prototype.Release = function() { return this.$val.Release(); };
190731
- windowImpl.ptr.prototype.Publish = function() {
190732
- var w;
190733
- w = this;
190734
- if (w.released) {
190735
- return new screen.PublishResult.ptr(false);
190736
- }
190737
- return new screen.PublishResult.ptr(false);
190738
- };
190739
- windowImpl.prototype.Publish = function() { return this.$val.Publish(); };
190740
- windowImpl.ptr.prototype.Send = function(event) {
190741
- var event, w;
190742
- w = this;
190743
- if (w.released) {
190744
- return;
190745
- }
190746
- $panic(new $String("Not implemented"));
190747
- };
190748
- windowImpl.prototype.Send = function(event) { return this.$val.Send(event); };
190749
- windowImpl.ptr.prototype.SendFirst = function(event) {
190750
- var event, w;
190751
- w = this;
190752
- if (w.released) {
190753
- return;
190754
- }
190755
- $panic(new $String("Not implemented"));
190756
- };
190757
- windowImpl.prototype.SendFirst = function(event) { return this.$val.SendFirst(event); };
190758
- windowImpl.ptr.prototype.NextEvent = function() {
190759
- var {_r, ev, w, $s, $r, $c} = $restore(this, {});
190760
- /* */ $s = $s || 0; s: while (true) { switch ($s) { case 0:
190761
- w = this;
190762
- _r = $recv(w.domEvents.GetEventChan()); /* */ $s = 1; case 1: if($c) { $c = false; _r = _r.$blk(); } if (_r && _r.$blk !== undefined) { break s; }
190763
- ev = _r[0];
190764
- $s = -1; return ev;
190765
- /* */ } return; } var $f = {$blk: windowImpl.ptr.prototype.NextEvent, $c: true, $r, _r, ev, w, $s};return $f;
190766
- };
190767
- windowImpl.prototype.NextEvent = function() { return this.$val.NextEvent(); };
190768
- windowImpl.ptr.prototype.Upload = function(dp, src, sr) {
190769
- var {_r, dp, sr, src, w, $s, $r, $c} = $restore(this, {dp, src, sr});
190770
- /* */ $s = $s || 0; s: while (true) { switch ($s) { case 0:
190771
- w = this;
190772
- if (w.released) {
190773
- $s = -1; return;
190774
- }
190775
- _r = errs.Errorf("Not implemented, use UploadYCbCr instead", sliceType.nil); /* */ $s = 1; case 1: if($c) { $c = false; _r = _r.$blk(); } if (_r && _r.$blk !== undefined) { break s; }
190776
- $panic(_r);
190777
- $s = -1; return;
190778
- /* */ } return; } var $f = {$blk: windowImpl.ptr.prototype.Upload, $c: true, $r, _r, dp, sr, src, w, $s};return $f;
190779
- };
190780
- windowImpl.prototype.Upload = function(dp, src, sr) { return this.$val.Upload(dp, src, sr); };
190781
- windowImpl.ptr.prototype.UploadYCbCr = function(dp, src, sr) {
190782
- var {_arg, _arg$1, _r, _r$1, _r$2, _r$3, _r$4, _r$5, _r$6, _tuple, _tuple$1, dp, err, err$1, jsNaClDecoder, picture, picturePromise, renderPromise, renderResult, sr, src, w, x, x$1, $s, $r, $c} = $restore(this, {dp, src, sr});
190783
- /* */ $s = $s || 0; s: while (true) { switch ($s) { case 0:
190784
- w = this;
190785
- if (w.released) {
190786
- $s = -1; return;
190787
- }
190788
- /* */ if (jsdecoder.ShouldResetOnNextDecode()) { $s = 1; continue; }
190789
- /* */ $s = 2; continue;
190790
- /* if (jsdecoder.ShouldResetOnNextDecode()) { */ case 1:
190791
- $r = log.Println(new sliceType([new $String("NaClDecoder is resetting, skipping frame rendering")])); /* */ $s = 3; case 3: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
190792
- $s = -1; return;
190793
- /* } */ case 2:
190794
- jsNaClDecoder = jsdecoder.GetJsNaClDecoder();
190795
- /* */ if (jsNaClDecoder === ptrType$3.nil) { $s = 4; continue; }
190796
- /* */ $s = 5; continue;
190797
- /* if (jsNaClDecoder === ptrType$3.nil) { */ case 4:
190798
- $r = log.Println(new sliceType([new $String("JsNaClDecoder is not created, skipping frame rendering")])); /* */ $s = 6; case 6: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
190799
- $s = -1; return;
190800
- /* } */ case 5:
190801
- $r = w.mutex.Lock(); /* */ $s = 7; case 7: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
190802
- _r = $clone(jsNaClDecoder, js.Value).Call("getPicture", sliceType.nil); /* */ $s = 8; case 8: if($c) { $c = false; _r = _r.$blk(); } if (_r && _r.$blk !== undefined) { break s; }
190803
- picturePromise = $clone(_r, js.Value);
190804
- _r$1 = jshelper.Await($clone(picturePromise, js.Value)); /* */ $s = 9; case 9: if($c) { $c = false; _r$1 = _r$1.$blk(); } if (_r$1 && _r$1.$blk !== undefined) { break s; }
190805
- _tuple = _r$1;
190806
- picture = _tuple[0];
190807
- err = _tuple[1];
190808
- $r = w.mutex.Unlock(); /* */ $s = 10; case 10: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
190809
- /* */ if (!(err === ptrType$3.nil)) { $s = 11; continue; }
190810
- /* */ $s = 12; continue;
190811
- /* if (!(err === ptrType$3.nil)) { */ case 11:
190812
- jsdecoder.ResetBeforeNextDecode();
190813
- _r$2 = jshelper.GetError(err); /* */ $s = 13; case 13: if($c) { $c = false; _r$2 = _r$2.$blk(); } if (_r$2 && _r$2.$blk !== undefined) { break s; }
190814
- _arg = _r$2;
190815
- $r = errs.Print("Failed to get picture: %s", _arg); /* */ $s = 14; case 14: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
190816
- $s = -1; return;
190817
- /* } */ case 12:
190818
- /* */ if (!jsdecoder.ShouldResetOnNextDecode() && !w.renderingInProgress) { $s = 15; continue; }
190819
- /* */ $s = 16; continue;
190820
- /* if (!jsdecoder.ShouldResetOnNextDecode() && !w.renderingInProgress) { */ case 15:
190821
- w.renderingInProgress = true;
190822
- _r$3 = $clone(jsNaClDecoder, js.Value).Call("render", new sliceType([(x = picture, new x.constructor.elem(x))])); /* */ $s = 17; case 17: if($c) { $c = false; _r$3 = _r$3.$blk(); } if (_r$3 && _r$3.$blk !== undefined) { break s; }
190823
- renderPromise = $clone(_r$3, js.Value);
190824
- _r$4 = jshelper.Await($clone(renderPromise, js.Value)); /* */ $s = 18; case 18: if($c) { $c = false; _r$4 = _r$4.$blk(); } if (_r$4 && _r$4.$blk !== undefined) { break s; }
190825
- _tuple$1 = _r$4;
190826
- renderResult = _tuple$1[0];
190827
- err$1 = _tuple$1[1];
190828
- w.renderingInProgress = false;
190829
- /* */ if (!(err$1 === ptrType$3.nil)) { $s = 19; continue; }
190830
- /* */ $s = 20; continue;
190831
- /* if (!(err$1 === ptrType$3.nil)) { */ case 19:
190832
- _r$5 = jshelper.GetError(err$1); /* */ $s = 21; case 21: if($c) { $c = false; _r$5 = _r$5.$blk(); } if (_r$5 && _r$5.$blk !== undefined) { break s; }
190833
- _arg$1 = _r$5;
190834
- $r = errs.Print("Failed to render frame: %s", _arg$1); /* */ $s = 22; case 22: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
190835
- $s = -1; return;
190836
- /* } */ case 20:
190837
- /* */ if (!(($clone(renderResult, js.Value).Float() === 0))) { $s = 23; continue; }
190838
- /* */ $s = 24; continue;
190839
- /* if (!(($clone(renderResult, js.Value).Float() === 0))) { */ case 23:
190840
- $r = log.Printf("Failed to render frame with code: %f\n", new sliceType([new $Float64($clone(renderResult, js.Value).Float())])); /* */ $s = 25; case 25: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
190841
- $s = -1; return;
190842
- /* } */ case 24:
190843
- /* } */ case 16:
190844
- _r$6 = $clone(jsNaClDecoder, js.Value).Call("recyclePicture", new sliceType([(x$1 = picture, new x$1.constructor.elem(x$1))])); /* */ $s = 26; case 26: if($c) { $c = false; _r$6 = _r$6.$blk(); } if (_r$6 && _r$6.$blk !== undefined) { break s; }
190845
- _r$6;
190846
- $s = -1; return;
190847
- /* */ } return; } var $f = {$blk: windowImpl.ptr.prototype.UploadYCbCr, $c: true, $r, _arg, _arg$1, _r, _r$1, _r$2, _r$3, _r$4, _r$5, _r$6, _tuple, _tuple$1, dp, err, err$1, jsNaClDecoder, picture, picturePromise, renderPromise, renderResult, sr, src, w, x, x$1, $s};return $f;
190848
- };
190849
- windowImpl.prototype.UploadYCbCr = function(dp, src, sr) { return this.$val.UploadYCbCr(dp, src, sr); };
190850
- windowImpl.ptr.prototype.Fill = function(dr, src, op) {
190851
- var dr, op, src, w;
190852
- w = this;
190853
- if (w.released) {
190854
- return;
190855
- }
190856
- $panic(new $String("Not implemented"));
190857
- };
190858
- windowImpl.prototype.Fill = function(dr, src, op) { return this.$val.Fill(dr, src, op); };
190859
- windowImpl.ptr.prototype.Draw = function(src2dst, src, sr, op, opts) {
190860
- var op, opts, sr, src, src2dst, w;
190861
- w = this;
190862
- if (w.released) {
190863
- return;
190864
- }
190865
- $panic(new $String("Not implemented"));
190866
- };
190867
- windowImpl.prototype.Draw = function(src2dst, src, sr, op, opts) { return this.$val.Draw(src2dst, src, sr, op, opts); };
190868
- windowImpl.ptr.prototype.DrawUniform = function(src2dst, src, sr, op, opts) {
190869
- var op, opts, sr, src, src2dst, w;
190870
- w = this;
190871
- if (w.released) {
190872
- return;
190873
- }
190874
- $panic(new $String("Not implemented"));
190875
- };
190876
- windowImpl.prototype.DrawUniform = function(src2dst, src, sr, op, opts) { return this.$val.DrawUniform(src2dst, src, sr, op, opts); };
190877
- windowImpl.ptr.prototype.Copy = function(dp, src, sr, op, opts) {
190878
- var dp, op, opts, sr, src, w;
190879
- w = this;
190880
- if (w.released) {
190881
- return;
190882
- }
190883
- $panic(new $String("Not implemented"));
190884
- };
190885
- windowImpl.prototype.Copy = function(dp, src, sr, op, opts) { return this.$val.Copy(dp, src, sr, op, opts); };
190886
- windowImpl.ptr.prototype.Scale = function(dr, src, sr, op, opts) {
190887
- var dr, op, opts, sr, src, w;
190888
- w = this;
190889
- if (w.released) {
190890
- return;
190891
- }
190892
- $panic(new $String("Not implemented"));
190893
- };
190894
- windowImpl.prototype.Scale = function(dr, src, sr, op, opts) { return this.$val.Scale(dr, src, sr, op, opts); };
190895
- newScreenImpl = function() {
190896
- var s;
190897
- s = new screenImpl.ptr($clone($clone(js.Global(), js.Value).Get("document"), js.Value));
190898
- return [s, $ifaceNil];
190899
- };
190900
- screenImpl.ptr.prototype.NewBuffer = function(size) {
190901
- var buffer, s, size;
190902
- s = this;
190903
- buffer = newBuffer(s, $clone(size, image.Point));
190904
- return [buffer, $ifaceNil];
190905
- };
190906
- screenImpl.prototype.NewBuffer = function(size) { return this.$val.NewBuffer(size); };
190907
- screenImpl.ptr.prototype.NewTexture = function(size) {
190908
- var {$24r, _r, s, size, $s, $r, $c} = $restore(this, {size});
190909
- /* */ $s = $s || 0; s: while (true) { switch ($s) { case 0:
190910
- s = this;
190911
- _r = errs.Errorf("Texture not implemented", sliceType.nil); /* */ $s = 1; case 1: if($c) { $c = false; _r = _r.$blk(); } if (_r && _r.$blk !== undefined) { break s; }
190912
- $24r = [$ifaceNil, _r];
190913
- $s = 2; case 2: return $24r;
190914
- /* */ } return; } var $f = {$blk: screenImpl.ptr.prototype.NewTexture, $c: true, $r, $24r, _r, s, size, $s};return $f;
190915
- };
190916
- screenImpl.prototype.NewTexture = function(size) { return this.$val.NewTexture(size); };
190917
- screenImpl.ptr.prototype.NewWindow = function(opts) {
190918
- var {_r, opts, s, window, $s, $r, $c} = $restore(this, {opts});
190919
- /* */ $s = $s || 0; s: while (true) { switch ($s) { case 0:
190920
- s = this;
190921
- _r = newWindow(s, opts); /* */ $s = 1; case 1: if($c) { $c = false; _r = _r.$blk(); } if (_r && _r.$blk !== undefined) { break s; }
190922
- window = _r;
190923
- $s = -1; return [window, $ifaceNil];
190924
- /* */ } return; } var $f = {$blk: screenImpl.ptr.prototype.NewWindow, $c: true, $r, _r, opts, s, window, $s};return $f;
190925
- };
190926
- screenImpl.prototype.NewWindow = function(opts) { return this.$val.NewWindow(opts); };
190927
- main = function(f) {
190928
- var {_tuple, err, f, retErr, s, $s, $r, $c} = $restore(this, {f});
190929
- /* */ $s = $s || 0; s: while (true) { switch ($s) { case 0:
190930
- retErr = $ifaceNil;
190931
- _tuple = newScreenImpl();
190932
- s = _tuple[0];
190933
- err = _tuple[1];
190934
- if (!($interfaceIsEqual(err, $ifaceNil))) {
190935
- retErr = err;
190936
- $s = -1; return retErr;
190937
- }
190938
- $r = f(s); /* */ $s = 1; case 1: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
190939
- retErr = $ifaceNil;
190940
- $s = -1; return retErr;
190941
- /* */ } return; } var $f = {$blk: main, $c: true, $r, _tuple, err, f, retErr, s, $s};return $f;
190942
- };
190943
- newBuffer = function(screen$1, size) {
190944
- var b, screen$1, size;
190945
- b = new BufferImpl.ptr(screen$1, $clone(size, image.Point));
190946
- return b;
190947
- };
190948
- BufferImpl.ptr.prototype.Size = function() {
190949
- var b;
190950
- b = this;
190951
- return b.size;
190952
- };
190953
- BufferImpl.prototype.Size = function() { return this.$val.Size(); };
190954
- BufferImpl.ptr.prototype.Bounds = function() {
190955
- var b;
190956
- b = this;
190957
- return new image.Rectangle.ptr(new image.Point.ptr(0, 0), $clone(b.size, image.Point));
190958
- };
190959
- BufferImpl.prototype.Bounds = function() { return this.$val.Bounds(); };
190960
- BufferImpl.ptr.prototype.RGBA = function() {
190961
- var {_r, b, $s, $r, $c} = $restore(this, {});
190962
- /* */ $s = $s || 0; s: while (true) { switch ($s) { case 0:
190963
- b = this;
190964
- _r = errs.Errorf("Not implemented RGBA(), use PictureResult() instead", sliceType.nil); /* */ $s = 1; case 1: if($c) { $c = false; _r = _r.$blk(); } if (_r && _r.$blk !== undefined) { break s; }
190965
- $panic(_r);
190966
- $s = -1; return ptrType$4.nil;
190967
- /* */ } return; } var $f = {$blk: BufferImpl.ptr.prototype.RGBA, $c: true, $r, _r, b, $s};return $f;
190968
- };
190969
- BufferImpl.prototype.RGBA = function() { return this.$val.RGBA(); };
190970
- BufferImpl.ptr.prototype.YCbCr = function() {
190971
- var b;
190972
- b = this;
190973
- return new image.YCbCr.ptr(sliceType$1.nil, sliceType$1.nil, sliceType$1.nil, 0, 0, 0, $clone(b.Bounds(), image.Rectangle));
190974
- };
190975
- BufferImpl.prototype.YCbCr = function() { return this.$val.YCbCr(); };
190976
- BufferImpl.ptr.prototype.Release = function() {
190977
- var b;
190978
- b = this;
190979
- };
190980
- BufferImpl.prototype.Release = function() { return this.$val.Release(); };
190981
- ptrType$6.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$5], [], false)}, {prop: "DrawUniform", name: "DrawUniform", pkg: "", typ: $funcType([f64.Aff3, color.Color, image.Rectangle, draw.Op, ptrType$5], [], false)}, {prop: "Copy", name: "Copy", pkg: "", typ: $funcType([image.Point, screen.Texture, image.Rectangle, draw.Op, ptrType$5], [], false)}, {prop: "Scale", name: "Scale", pkg: "", typ: $funcType([image.Rectangle, screen.Texture, image.Rectangle, draw.Op, ptrType$5], [], false)}];
190982
- 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$7], [screen.Window, $error], false)}];
190983
- ptrType$9.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$4], false)}, {prop: "YCbCr", name: "YCbCr", pkg: "", typ: $funcType([], [ptrType$8], false)}, {prop: "Release", name: "Release", pkg: "", typ: $funcType([], [], false)}];
190984
- windowImpl.init("github.com/supraio/client-daemon/pkg/x264/nacldecoder/nacldriver", [{prop: "screen", name: "screen", embedded: false, exported: false, typ: ptrType, tag: ""}, {prop: "mutex", name: "mutex", embedded: false, exported: false, typ: ptrType$1, tag: ""}, {prop: "renderingInProgress", name: "renderingInProgress", embedded: false, exported: false, typ: $Bool, tag: ""}, {prop: "domEvents", name: "domEvents", embedded: false, exported: false, typ: ptrType$2, tag: ""}, {prop: "released", name: "released", embedded: false, exported: false, typ: $Bool, tag: ""}]);
190985
- screenImpl.init("github.com/supraio/client-daemon/pkg/x264/nacldecoder/nacldriver", [{prop: "doc", name: "doc", embedded: false, exported: false, typ: js.Value, tag: ""}]);
190986
- BufferImpl.init("github.com/supraio/client-daemon/pkg/x264/nacldecoder/nacldriver", [{prop: "screen", name: "screen", embedded: false, exported: false, typ: ptrType, tag: ""}, {prop: "size", name: "size", embedded: false, exported: false, typ: image.Point, tag: ""}]);
190987
- $init = function() {
190988
- $pkg.$init = function() {};
190989
- /* */ 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:
190990
- $r = errs.$init(); /* */ $s = 1; case 1: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
190991
- $r = jshelper.$init(); /* */ $s = 2; case 2: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
190992
- $r = jsdecoder.$init(); /* */ $s = 3; case 3: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
190993
- $r = dom.$init(); /* */ $s = 4; case 4: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
190994
- $r = screen.$init(); /* */ $s = 5; case 5: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
190995
- $r = f64.$init(); /* */ $s = 6; case 6: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
190996
- $r = image.$init(); /* */ $s = 7; case 7: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
190997
- $r = color.$init(); /* */ $s = 8; case 8: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
190998
- $r = draw.$init(); /* */ $s = 9; case 9: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
190999
- $r = log.$init(); /* */ $s = 10; case 10: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
191000
- $r = sync.$init(); /* */ $s = 11; case 11: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
191001
- $r = js.$init(); /* */ $s = 12; case 12: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
191464
+ $r = js.$init(); /* */ $s = 6; case 6: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
191002
191465
  /* */ } return; } if ($f === undefined) { $f = { $blk: $init }; } $f.$s = $s; $f.$r = $r; return $f;
191003
191466
  };
191004
191467
  $pkg.$init = $init;
@@ -191017,14 +191480,13 @@ $packages["golang.org/x/mobile/event/lifecycle"] = (function() {
191017
191480
  return $pkg;
191018
191481
  })();
191019
191482
  $packages["github.com/supraio/client-daemon/pkg/render"] = (function() {
191020
- var $pkg = {}, $init, binary, json, query, clientscreen, clipboard, errs, helper, input, message, netclient, netpacket, netstream, stats, window, x264, nacldecoder, nacldriver, webcodecs, canvasdriver, webgldriver, screen, focus, key, lifecycle, mouse, size, image, io, ioutil, log, os, path, strings, sync, js, time, screenParams, ScreenManager, ProcessInfo, ProcessInfoManager, ptrType$2, funcType, sliceType$1, sliceType$3, arrayType, ptrType$14, openScreenWindows, mutex, NewScreenManager, NewProcessInfoManager;
191483
+ var $pkg = {}, $init, binary, json, query, clientscreen, clipboard, errs, input, message, netclient, netpacket, netstream, stats, window, x264, nacldriver, canvasdriver, webgldriver, screen, focus, key, lifecycle, mouse, size, image, io, ioutil, log, os, path, strings, sync, js, time, screenParams, ScreenManager, ProcessInfo, ProcessInfoManager, ptrType$2, funcType, sliceType$1, sliceType$3, arrayType, ptrType$14, openScreenWindows, mutex, NewScreenManager, NewProcessInfoManager;
191021
191484
  binary = $packages["encoding/binary"];
191022
191485
  json = $packages["encoding/json"];
191023
191486
  query = $packages["github.com/google/go-querystring/query"];
191024
191487
  clientscreen = $packages["github.com/supraio/client-daemon/pkg/clientscreen"];
191025
191488
  clipboard = $packages["github.com/supraio/client-daemon/pkg/clipboard"];
191026
191489
  errs = $packages["github.com/supraio/client-daemon/pkg/errs"];
191027
- helper = $packages["github.com/supraio/client-daemon/pkg/helper"];
191028
191490
  input = $packages["github.com/supraio/client-daemon/pkg/input"];
191029
191491
  message = $packages["github.com/supraio/client-daemon/pkg/message"];
191030
191492
  netclient = $packages["github.com/supraio/client-daemon/pkg/netclient"];
@@ -191033,9 +191495,7 @@ $packages["github.com/supraio/client-daemon/pkg/render"] = (function() {
191033
191495
  stats = $packages["github.com/supraio/client-daemon/pkg/stats"];
191034
191496
  window = $packages["github.com/supraio/client-daemon/pkg/window"];
191035
191497
  x264 = $packages["github.com/supraio/client-daemon/pkg/x264"];
191036
- nacldecoder = $packages["github.com/supraio/client-daemon/pkg/x264/nacldecoder"];
191037
191498
  nacldriver = $packages["github.com/supraio/client-daemon/pkg/x264/nacldecoder/nacldriver"];
191038
- webcodecs = $packages["github.com/supraio/client-daemon/pkg/x264/webcodecs"];
191039
191499
  canvasdriver = $packages["golang.org/x/exp/shiny/driver/canvasdriver"];
191040
191500
  webgldriver = $packages["golang.org/x/exp/shiny/driver/webgldriver"];
191041
191501
  screen = $packages["golang.org/x/exp/shiny/screen"];
@@ -191474,36 +191934,33 @@ $packages["github.com/supraio/client-daemon/pkg/render"] = (function() {
191474
191934
  $r = clientscreen.$init(); /* */ $s = 4; case 4: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
191475
191935
  $r = clipboard.$init(); /* */ $s = 5; case 5: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
191476
191936
  $r = errs.$init(); /* */ $s = 6; case 6: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
191477
- $r = helper.$init(); /* */ $s = 7; case 7: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
191478
- $r = input.$init(); /* */ $s = 8; case 8: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
191479
- $r = message.$init(); /* */ $s = 9; case 9: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
191480
- $r = netclient.$init(); /* */ $s = 10; case 10: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
191481
- $r = netpacket.$init(); /* */ $s = 11; case 11: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
191482
- $r = netstream.$init(); /* */ $s = 12; case 12: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
191483
- $r = stats.$init(); /* */ $s = 13; case 13: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
191484
- $r = window.$init(); /* */ $s = 14; case 14: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
191485
- $r = x264.$init(); /* */ $s = 15; case 15: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
191486
- $r = nacldecoder.$init(); /* */ $s = 16; case 16: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
191487
- $r = nacldriver.$init(); /* */ $s = 17; case 17: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
191488
- $r = webcodecs.$init(); /* */ $s = 18; case 18: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
191489
- $r = canvasdriver.$init(); /* */ $s = 19; case 19: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
191490
- $r = webgldriver.$init(); /* */ $s = 20; case 20: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
191491
- $r = screen.$init(); /* */ $s = 21; case 21: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
191492
- $r = focus.$init(); /* */ $s = 22; case 22: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
191493
- $r = key.$init(); /* */ $s = 23; case 23: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
191494
- $r = lifecycle.$init(); /* */ $s = 24; case 24: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
191495
- $r = mouse.$init(); /* */ $s = 25; case 25: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
191496
- $r = size.$init(); /* */ $s = 26; case 26: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
191497
- $r = image.$init(); /* */ $s = 27; case 27: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
191498
- $r = io.$init(); /* */ $s = 28; case 28: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
191499
- $r = ioutil.$init(); /* */ $s = 29; case 29: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
191500
- $r = log.$init(); /* */ $s = 30; case 30: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
191501
- $r = os.$init(); /* */ $s = 31; case 31: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
191502
- $r = path.$init(); /* */ $s = 32; case 32: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
191503
- $r = strings.$init(); /* */ $s = 33; case 33: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
191504
- $r = sync.$init(); /* */ $s = 34; case 34: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
191505
- $r = js.$init(); /* */ $s = 35; case 35: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
191506
- $r = time.$init(); /* */ $s = 36; case 36: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
191937
+ $r = input.$init(); /* */ $s = 7; case 7: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
191938
+ $r = message.$init(); /* */ $s = 8; case 8: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
191939
+ $r = netclient.$init(); /* */ $s = 9; case 9: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
191940
+ $r = netpacket.$init(); /* */ $s = 10; case 10: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
191941
+ $r = netstream.$init(); /* */ $s = 11; case 11: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
191942
+ $r = stats.$init(); /* */ $s = 12; case 12: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
191943
+ $r = window.$init(); /* */ $s = 13; case 13: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
191944
+ $r = x264.$init(); /* */ $s = 14; case 14: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
191945
+ $r = nacldriver.$init(); /* */ $s = 15; case 15: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
191946
+ $r = canvasdriver.$init(); /* */ $s = 16; case 16: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
191947
+ $r = webgldriver.$init(); /* */ $s = 17; case 17: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
191948
+ $r = screen.$init(); /* */ $s = 18; case 18: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
191949
+ $r = focus.$init(); /* */ $s = 19; case 19: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
191950
+ $r = key.$init(); /* */ $s = 20; case 20: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
191951
+ $r = lifecycle.$init(); /* */ $s = 21; case 21: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
191952
+ $r = mouse.$init(); /* */ $s = 22; case 22: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
191953
+ $r = size.$init(); /* */ $s = 23; case 23: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
191954
+ $r = image.$init(); /* */ $s = 24; case 24: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
191955
+ $r = io.$init(); /* */ $s = 25; case 25: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
191956
+ $r = ioutil.$init(); /* */ $s = 26; case 26: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
191957
+ $r = log.$init(); /* */ $s = 27; case 27: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
191958
+ $r = os.$init(); /* */ $s = 28; case 28: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
191959
+ $r = path.$init(); /* */ $s = 29; case 29: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
191960
+ $r = strings.$init(); /* */ $s = 30; case 30: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
191961
+ $r = sync.$init(); /* */ $s = 31; case 31: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
191962
+ $r = js.$init(); /* */ $s = 32; case 32: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
191963
+ $r = time.$init(); /* */ $s = 33; case 33: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
191507
191964
  openScreenWindows = $makeMap($String.keyFor, []);
191508
191965
  mutex = new sync.Mutex.ptr(0, 0);
191509
191966
  /* */ } return; } if ($f === undefined) { $f = { $blk: $init }; } $f.$s = $s; $f.$r = $r; return $f;