@supraio/client-daemon-js 0.0.0-mznacl.258 → 0.0.0-mznacl.262

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.
@@ -181852,75 +181852,9 @@ $packages["github.com/supraio/client-daemon/pkg/clientscreen"] = (function() {
181852
181852
  return $pkg;
181853
181853
  })();
181854
181854
  $packages["github.com/supraio/client-daemon/pkg/jshelper"] = (function() {
181855
- var $pkg = {}, $init, log, js, ptrType, sliceType, Await;
181855
+ var $pkg = {}, $init, log, js;
181856
181856
  log = $packages["log"];
181857
181857
  js = $packages["syscall/js"];
181858
- ptrType = $ptrType(js.Value);
181859
- sliceType = $sliceType($emptyInterface);
181860
- Await = function(awaitable) {
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});
181862
- /* */ $s = $s || 0; var $err = null; try { s: while (true) { switch ($s) { case 0: $deferred = []; $curGoroutine.deferStack.push($deferred);
181863
- catch$1 = [catch$1];
181864
- then = [then];
181865
- then[0] = new $Chan(ptrType, 0);
181866
- $deferred.push([(function(catch$1, then) { return function() {
181867
- $close(then[0]);
181868
- then[0] = $chanNil;
181869
- }; })(catch$1, then), []]);
181870
- thenFunc = $clone(js.FuncOf((function(catch$1, then) { return function $b(this$1, args) {
181871
- var {args, this$1, $s, $r, $c} = $restore(this, {this$1, args});
181872
- /* */ $s = $s || 0; s: while (true) { switch ($s) { case 0:
181873
- /* */ if (then[0] === $chanNil) { $s = 1; continue; }
181874
- /* */ $s = 2; continue;
181875
- /* if (then[0] === $chanNil) { */ case 1:
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; }
181877
- $s = -1; return $ifaceNil;
181878
- /* } */ case 2:
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; }
181880
- $s = -1; return $ifaceNil;
181881
- /* */ } return; } var $f = {$blk: $b, $c: true, $r, args, this$1, $s};return $f;
181882
- }; })(catch$1, then)), js.Func);
181883
- $deferred.push([$methodVal($clone(thenFunc, js.Func), "Release"), []]);
181884
- catch$1[0] = new $Chan(ptrType, 0);
181885
- $deferred.push([(function(catch$1, then) { return function() {
181886
- $close(catch$1[0]);
181887
- catch$1[0] = $chanNil;
181888
- }; })(catch$1, then), []]);
181889
- catchFunc = $clone(js.FuncOf((function(catch$1, then) { return function $b(this$1, args) {
181890
- var {args, this$1, $s, $r, $c} = $restore(this, {this$1, args});
181891
- /* */ $s = $s || 0; s: while (true) { switch ($s) { case 0:
181892
- /* */ if (catch$1[0] === $chanNil) { $s = 1; continue; }
181893
- /* */ $s = 2; continue;
181894
- /* if (catch$1[0] === $chanNil) { */ case 1:
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; }
181896
- $s = -1; return $ifaceNil;
181897
- /* } */ case 2:
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; }
181899
- $s = -1; return $ifaceNil;
181900
- /* */ } return; } var $f = {$blk: $b, $c: true, $r, args, this$1, $s};return $f;
181901
- }; })(catch$1, then)), js.Func);
181902
- $deferred.push([$methodVal($clone(catchFunc, js.Func), "Release"), []]);
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; }
181904
- _r$1 = $clone(_r, js.Value).Call("catch", new sliceType([new catchFunc.constructor.elem(catchFunc)])); /* */ $s = 2; case 2: if($c) { $c = false; _r$1 = _r$1.$blk(); } if (_r$1 && _r$1.$blk !== undefined) { break s; }
181905
- _r$1;
181906
- _r$2 = $select([[then[0]], [catch$1[0]]]); /* */ $s = 3; case 3: if($c) { $c = false; _r$2 = _r$2.$blk(); } if (_r$2 && _r$2.$blk !== undefined) { break s; }
181907
- _selection = _r$2;
181908
- /* */ if (_selection[0] === 0) { $s = 4; continue; }
181909
- /* */ if (_selection[0] === 1) { $s = 5; continue; }
181910
- /* */ $s = 6; continue;
181911
- /* if (_selection[0] === 0) { */ case 4:
181912
- result = _selection[1][0];
181913
- $24r = [result, ptrType.nil];
181914
- $s = 7; case 7: return $24r;
181915
- /* } else if (_selection[0] === 1) { */ case 5:
181916
- err = _selection[1][0];
181917
- $24r$1 = [ptrType.nil, err];
181918
- $s = 8; case 8: return $24r$1;
181919
- /* } */ case 6:
181920
- $s = -1; return [ptrType.nil, ptrType.nil];
181921
- /* */ } return; } } catch(err) { $err = err; $s = -1; return [ptrType.nil, ptrType.nil]; } finally { $callDeferred($deferred, $err); if($curGoroutine.asleep) { var $f = {$blk: Await, $c: true, $r, $24r, $24r$1, _r, _r$1, _r$2, _selection, awaitable, catch$1, catchFunc, err, result, then, thenFunc, $s, $deferred};return $f; } }
181922
- };
181923
- $pkg.Await = Await;
181924
181858
  $init = function() {
181925
181859
  $pkg.$init = function() {};
181926
181860
  /* */ 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:
@@ -190223,136 +190157,614 @@ $packages["github.com/supraio/client-daemon/pkg/x264/h264decoder"] = (function()
190223
190157
  $pkg.$init = $init;
190224
190158
  return $pkg;
190225
190159
  })();
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"];
190160
+ $packages["github.com/supraio/client-daemon/pkg/x264/nacldecoder"] = (function() {
190161
+ var $pkg = {}, $init, errs, jshelper, general, js;
190162
+ errs = $packages["github.com/supraio/client-daemon/pkg/errs"];
190163
+ jshelper = $packages["github.com/supraio/client-daemon/pkg/jshelper"];
190164
+ general = $packages["github.com/supraio/client-daemon/pkg/x264/general"];
190235
190165
  js = $packages["syscall/js"];
190236
- DomEvents = $pkg.DomEvents = $newType(0, $kindStruct, "dom.DomEvents", true, "github.com/supraio/client-daemon/pkg/x264/nacldecoder/nacldriver/dom", true, function(eventChan_, releases_) {
190166
+ $init = function() {
190167
+ $pkg.$init = function() {};
190168
+ /* */ 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:
190169
+ $r = errs.$init(); /* */ $s = 1; case 1: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
190170
+ $r = jshelper.$init(); /* */ $s = 2; case 2: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
190171
+ $r = general.$init(); /* */ $s = 3; case 3: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
190172
+ $r = js.$init(); /* */ $s = 4; case 4: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
190173
+ /* */ } return; } if ($f === undefined) { $f = { $blk: $init }; } $f.$s = $s; $f.$r = $r; return $f;
190174
+ };
190175
+ $pkg.$init = $init;
190176
+ return $pkg;
190177
+ })();
190178
+ $packages["golang.org/x/exp/shiny/driver/canvasdriver"] = (function() {
190179
+ 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
+ fmt = $packages["fmt"];
190181
+ dom = $packages["golang.org/x/exp/shiny/driver/internal/dom"];
190182
+ errscreen = $packages["golang.org/x/exp/shiny/driver/internal/errscreen"];
190183
+ screen = $packages["golang.org/x/exp/shiny/screen"];
190184
+ f64 = $packages["golang.org/x/image/math/f64"];
190185
+ image = $packages["image"];
190186
+ color = $packages["image/color"];
190187
+ draw = $packages["image/draw"];
190188
+ sync = $packages["sync"];
190189
+ js = $packages["syscall/js"];
190190
+ windowImpl = $pkg.windowImpl = $newType(0, $kindStruct, "canvasdriver.windowImpl", true, "golang.org/x/exp/shiny/driver/canvasdriver", false, function(screen_, mutex_, canvasEl_, ctx2d_, released_, domEvents_, resizeCallback_) {
190237
190191
  this.$val = this;
190238
190192
  if (arguments.length === 0) {
190239
- this.eventChan = $chanNil;
190240
- this.releases = sliceType$1.nil;
190193
+ this.screen = ptrType.nil;
190194
+ this.mutex = ptrType$1.nil;
190195
+ this.canvasEl = new js.Value.ptr(null, false, arrayType.zero());
190196
+ this.ctx2d = new js.Value.ptr(null, false, arrayType.zero());
190197
+ this.released = false;
190198
+ this.domEvents = ptrType$2.nil;
190199
+ this.resizeCallback = new js.Func.ptr(new js.Value.ptr(null, false, arrayType.zero()));
190241
190200
  return;
190242
190201
  }
190243
- this.eventChan = eventChan_;
190244
- this.releases = releases_;
190202
+ this.screen = screen_;
190203
+ this.mutex = mutex_;
190204
+ this.canvasEl = canvasEl_;
190205
+ this.ctx2d = ctx2d_;
190206
+ this.released = released_;
190207
+ this.domEvents = domEvents_;
190208
+ this.resizeCallback = resizeCallback_;
190209
+ });
190210
+ screenImpl = $pkg.screenImpl = $newType(0, $kindStruct, "canvasdriver.screenImpl", true, "golang.org/x/exp/shiny/driver/canvasdriver", false, function(doc_) {
190211
+ this.$val = this;
190212
+ if (arguments.length === 0) {
190213
+ this.doc = new js.Value.ptr(null, false, arrayType.zero());
190214
+ return;
190215
+ }
190216
+ this.doc = doc_;
190217
+ });
190218
+ YCbCrJS = $pkg.YCbCrJS = $newType(0, $kindStruct, "canvasdriver.YCbCrJS", true, "golang.org/x/exp/shiny/driver/canvasdriver", true, function(CanvasImageSource_) {
190219
+ this.$val = this;
190220
+ if (arguments.length === 0) {
190221
+ this.CanvasImageSource = ptrType$5.nil;
190222
+ return;
190223
+ }
190224
+ this.CanvasImageSource = CanvasImageSource_;
190225
+ });
190226
+ BufferImpl = $pkg.BufferImpl = $newType(0, $kindStruct, "canvasdriver.BufferImpl", true, "golang.org/x/exp/shiny/driver/canvasdriver", true, function(screen_, size_, mutex_, released_, rgba_, ycbcr_, ycbcrJS_) {
190227
+ this.$val = this;
190228
+ if (arguments.length === 0) {
190229
+ this.screen = ptrType.nil;
190230
+ this.size = new image.Point.ptr(0, 0);
190231
+ this.mutex = ptrType$1.nil;
190232
+ this.released = false;
190233
+ this.rgba = new image.RGBA.ptr(sliceType$1.nil, 0, new image.Rectangle.ptr(new image.Point.ptr(0, 0), new image.Point.ptr(0, 0)));
190234
+ this.ycbcr = new image.YCbCr.ptr(sliceType$1.nil, sliceType$1.nil, sliceType$1.nil, 0, 0, 0, new image.Rectangle.ptr(new image.Point.ptr(0, 0), new image.Point.ptr(0, 0)));
190235
+ this.ycbcrJS = ptrType$4.nil;
190236
+ return;
190237
+ }
190238
+ this.screen = screen_;
190239
+ this.size = size_;
190240
+ this.mutex = mutex_;
190241
+ this.released = released_;
190242
+ this.rgba = rgba_;
190243
+ this.ycbcr = ycbcr_;
190244
+ this.ycbcrJS = ycbcrJS_;
190245
190245
  });
190246
190246
  sliceType = $sliceType($emptyInterface);
190247
+ ptrType = $ptrType(screenImpl);
190248
+ ptrType$1 = $ptrType(sync.Mutex);
190247
190249
  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, {});
190250
+ arrayType = $arrayType(funcType, 0);
190251
+ ptrType$2 = $ptrType(dom.DomEvents);
190252
+ ptrType$3 = $ptrType(BufferImpl);
190253
+ sliceType$1 = $sliceType($Uint8);
190254
+ ptrType$4 = $ptrType(YCbCrJS);
190255
+ ptrType$5 = $ptrType(js.Value);
190256
+ ptrType$6 = $ptrType(screen.DrawOptions);
190257
+ ptrType$7 = $ptrType(windowImpl);
190258
+ ptrType$8 = $ptrType(screen.NewWindowOptions);
190259
+ ptrType$9 = $ptrType(image.RGBA);
190260
+ ptrType$10 = $ptrType(image.YCbCr);
190261
+ newWindow = function(screen$1, opts) {
190262
+ var {_r, _r$1, _r$2, _r$3, _r$4, _r$5, _r$6, adaptCanvas, canvasEl, ctx2d, domEvents, opts, resizeCallback, screen$1, w, $s, $r, $c} = $restore(this, {screen$1, opts});
190333
190263
  /* */ $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) {
190264
+ adaptCanvas = [adaptCanvas];
190265
+ canvasEl = [canvasEl];
190266
+ _r = $clone(screen$1.doc, js.Value).Call("createElement", new sliceType([new $String("canvas")])); /* */ $s = 1; case 1: if($c) { $c = false; _r = _r.$blk(); } if (_r && _r.$blk !== undefined) { break s; }
190267
+ canvasEl[0] = $clone(_r, js.Value);
190268
+ _r$1 = $clone($clone(screen$1.doc, js.Value).Get("body"), js.Value).Call("appendChild", new sliceType([new canvasEl[0].constructor.elem(canvasEl[0])])); /* */ $s = 2; case 2: if($c) { $c = false; _r$1 = _r$1.$blk(); } if (_r$1 && _r$1.$blk !== undefined) { break s; }
190269
+ _r$1;
190270
+ adaptCanvas[0] = (function(adaptCanvas, canvasEl) { return function() {
190271
+ var height, scale, width;
190272
+ scale = dom.GetBrowserZoomRatio();
190273
+ width = (((dom.GetScreenWidth()) / scale >> 0));
190274
+ if (!(($clone($clone(canvasEl[0], js.Value).Get("width"), js.Value).Int() === width))) {
190275
+ $clone(canvasEl[0], js.Value).Set("width", new $Int(width));
190276
+ }
190277
+ height = (((dom.GetScreenHeight()) / scale >> 0));
190278
+ if (!(($clone($clone(canvasEl[0], js.Value).Get("height"), js.Value).Int() === height))) {
190279
+ $clone(canvasEl[0], js.Value).Set("height", new $Int(height));
190280
+ }
190281
+ }; })(adaptCanvas, canvasEl);
190282
+ $r = adaptCanvas[0](); /* */ $s = 3; case 3: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
190283
+ resizeCallback = $clone(js.FuncOf((function(adaptCanvas, canvasEl) { return function $b(this$1, args) {
190338
190284
  var {args, this$1, $s, $r, $c} = $restore(this, {this$1, args});
190339
190285
  /* */ $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; }
190286
+ $r = adaptCanvas[0](); /* */ $s = 1; case 1: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
190341
190287
  $s = -1; return $ifaceNil;
190342
190288
  /* */ } 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;
190289
+ }; })(adaptCanvas, canvasEl)), js.Func);
190290
+ _r$2 = $clone(js.Global(), js.Value).Call("addEventListener", new sliceType([new $String("resize"), new resizeCallback.constructor.elem(resizeCallback)])); /* */ $s = 4; case 4: if($c) { $c = false; _r$2 = _r$2.$blk(); } if (_r$2 && _r$2.$blk !== undefined) { break s; }
190291
+ _r$2;
190292
+ /* */ if (!((opts.Width === 0))) { $s = 5; continue; }
190293
+ /* */ $s = 6; continue;
190294
+ /* if (!((opts.Width === 0))) { */ case 5:
190295
+ $r = dom.SetWindowWidth(opts.Width); /* */ $s = 7; case 7: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
190296
+ /* } */ case 6:
190297
+ /* */ if (!((opts.Height === 0))) { $s = 8; continue; }
190298
+ /* */ $s = 9; continue;
190299
+ /* if (!((opts.Height === 0))) { */ case 8:
190300
+ $r = dom.SetWindowHeight(opts.Height); /* */ $s = 10; case 10: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
190301
+ /* } */ case 9:
190302
+ /* */ if (!(opts.Title === "")) { $s = 11; continue; }
190303
+ /* */ $s = 12; continue;
190304
+ /* if (!(opts.Title === "")) { */ case 11:
190305
+ _r$3 = $clone($clone(screen$1.doc, js.Value).Get("head"), js.Value).Call("getElementsByTagName", new sliceType([new $String("title")])); /* */ $s = 13; case 13: if($c) { $c = false; _r$3 = _r$3.$blk(); } if (_r$3 && _r$3.$blk !== undefined) { break s; }
190306
+ _r$4 = $clone(_r$3, js.Value).Call("item", new sliceType([new $Int(0)])); /* */ $s = 14; case 14: if($c) { $c = false; _r$4 = _r$4.$blk(); } if (_r$4 && _r$4.$blk !== undefined) { break s; }
190307
+ $r = $clone(_r$4, js.Value).Set("innerHTML", new $String(opts.Title)); /* */ $s = 15; case 15: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
190308
+ /* } */ case 12:
190309
+ _r$5 = $clone(canvasEl[0], js.Value).Call("getContext", new sliceType([new $String("2d")])); /* */ $s = 16; case 16: if($c) { $c = false; _r$5 = _r$5.$blk(); } if (_r$5 && _r$5.$blk !== undefined) { break s; }
190310
+ ctx2d = $clone(_r$5, js.Value);
190311
+ /* */ if ($clone(ctx2d, js.Value).IsUndefined() || $clone(ctx2d, js.Value).IsNull()) { $s = 17; continue; }
190312
+ /* */ $s = 18; continue;
190313
+ /* if ($clone(ctx2d, js.Value).IsUndefined() || $clone(ctx2d, js.Value).IsNull()) { */ case 17:
190314
+ _r$6 = fmt.Errorf("Cannot get 2d context of canvas", sliceType.nil); /* */ $s = 19; case 19: if($c) { $c = false; _r$6 = _r$6.$blk(); } if (_r$6 && _r$6.$blk !== undefined) { break s; }
190315
+ $panic(_r$6);
190316
+ /* } */ case 18:
190317
+ domEvents = dom.NewDomEvents();
190318
+ w = new windowImpl.ptr(screen$1, ptrType$1.nil, $clone(canvasEl[0], js.Value), $clone(ctx2d, js.Value), false, domEvents, $clone(resizeCallback, js.Func));
190319
+ $r = domEvents.BindEvents(); /* */ $s = 20; case 20: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
190320
+ $s = -1; return w;
190321
+ /* */ } return; } var $f = {$blk: newWindow, $c: true, $r, _r, _r$1, _r$2, _r$3, _r$4, _r$5, _r$6, adaptCanvas, canvasEl, ctx2d, domEvents, opts, resizeCallback, screen$1, w, $s};return $f;
190322
+ };
190323
+ windowImpl.ptr.prototype.Release = function() {
190324
+ var {_r, _r$1, w, x, $s, $deferred, $r, $c} = $restore(this, {});
190325
+ /* */ $s = $s || 0; var $err = null; try { s: while (true) { switch ($s) { case 0: $deferred = []; $curGoroutine.deferStack.push($deferred);
190326
+ w = this;
190327
+ $r = w.mutex.Lock(); /* */ $s = 1; case 1: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
190328
+ $deferred.push([$methodVal(w.mutex, "Unlock"), []]);
190329
+ /* */ if (w.released) { $s = 2; continue; }
190330
+ /* */ $s = 3; continue;
190331
+ /* if (w.released) { */ case 2:
190332
+ $s = 4; case 4: return;
190333
+ /* } */ case 3:
190334
+ _r = $clone(js.Global(), js.Value).Call("removeEventListener", new sliceType([new $String("resize"), (x = w.resizeCallback, new x.constructor.elem(x))])); /* */ $s = 5; case 5: if($c) { $c = false; _r = _r.$blk(); } if (_r && _r.$blk !== undefined) { break s; }
190335
+ _r;
190336
+ $clone(w.resizeCallback, js.Func).Release();
190337
+ _r$1 = $clone(w.canvasEl, js.Value).Call("remove", sliceType.nil); /* */ $s = 6; case 6: if($c) { $c = false; _r$1 = _r$1.$blk(); } if (_r$1 && _r$1.$blk !== undefined) { break s; }
190338
+ _r$1;
190339
+ $r = w.domEvents.Release(); /* */ $s = 7; case 7: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
190340
+ w.released = true;
190341
+ $s = -1; return;
190342
+ /* */ } return; } } catch(err) { $err = err; $s = -1; } finally { $callDeferred($deferred, $err); if($curGoroutine.asleep) { var $f = {$blk: windowImpl.ptr.prototype.Release, $c: true, $r, _r, _r$1, w, x, $s, $deferred};return $f; } }
190343
+ };
190344
+ windowImpl.prototype.Release = function() { return this.$val.Release(); };
190345
+ windowImpl.ptr.prototype.Publish = function() {
190346
+ var w;
190347
+ w = this;
190348
+ if (w.released) {
190349
+ return new screen.PublishResult.ptr(false);
190350
+ }
190351
+ return new screen.PublishResult.ptr(false);
190352
+ };
190353
+ windowImpl.prototype.Publish = function() { return this.$val.Publish(); };
190354
+ windowImpl.ptr.prototype.Send = function(event) {
190355
+ var event, w;
190356
+ w = this;
190357
+ if (w.released) {
190358
+ return;
190359
+ }
190360
+ $panic(new $String("Not implemented"));
190361
+ };
190362
+ windowImpl.prototype.Send = function(event) { return this.$val.Send(event); };
190363
+ windowImpl.ptr.prototype.SendFirst = function(event) {
190364
+ var event, w;
190365
+ w = this;
190366
+ if (w.released) {
190367
+ return;
190368
+ }
190369
+ $panic(new $String("Not implemented"));
190370
+ };
190371
+ windowImpl.prototype.SendFirst = function(event) { return this.$val.SendFirst(event); };
190372
+ windowImpl.ptr.prototype.NextEvent = function() {
190373
+ var {_r, ev, w, $s, $r, $c} = $restore(this, {});
190374
+ /* */ $s = $s || 0; s: while (true) { switch ($s) { case 0:
190375
+ w = this;
190376
+ _r = $recv(w.domEvents.GetEventChan()); /* */ $s = 1; case 1: if($c) { $c = false; _r = _r.$blk(); } if (_r && _r.$blk !== undefined) { break s; }
190377
+ ev = _r[0];
190378
+ $s = -1; return ev;
190379
+ /* */ } return; } var $f = {$blk: windowImpl.ptr.prototype.NextEvent, $c: true, $r, _r, ev, w, $s};return $f;
190380
+ };
190381
+ windowImpl.prototype.NextEvent = function() { return this.$val.NextEvent(); };
190382
+ windowImpl.ptr.prototype.Upload = function(dp, src, sr) {
190383
+ var {_r, dp, sr, src, w, $s, $r, $c} = $restore(this, {dp, src, sr});
190384
+ /* */ $s = $s || 0; s: while (true) { switch ($s) { case 0:
190385
+ w = this;
190386
+ if (w.released) {
190387
+ $s = -1; return;
190388
+ }
190389
+ _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; }
190390
+ $panic(_r);
190391
+ $s = -1; return;
190392
+ /* */ } return; } var $f = {$blk: windowImpl.ptr.prototype.Upload, $c: true, $r, _r, dp, sr, src, w, $s};return $f;
190393
+ };
190394
+ windowImpl.prototype.Upload = function(dp, src, sr) { return this.$val.Upload(dp, src, sr); };
190395
+ windowImpl.ptr.prototype.UploadYCbCr = function(dp, src, sr) {
190396
+ var {_r, _r$1, _ref, dp, jsSrc, sr, src, w, x, $s, $r, $c} = $restore(this, {dp, src, sr});
190397
+ /* */ $s = $s || 0; s: while (true) { switch ($s) { case 0:
190398
+ w = this;
190399
+ if (w.released) {
190400
+ $s = -1; return;
190401
+ }
190402
+ _ref = src;
190403
+ /* */ if ($assertType(_ref, ptrType$3, true)[1]) { $s = 1; continue; }
190404
+ /* */ $s = 2; continue;
190405
+ /* if ($assertType(_ref, ptrType$3, true)[1]) { */ case 1:
190406
+ jsSrc = _ref.$val;
190407
+ _r = $clone(w.ctx2d, js.Value).Call("drawImage", new sliceType([(x = jsSrc.YCbCrJS().CanvasImageSource, new x.constructor.elem(x)), new $Int(0), new $Int(0)])); /* */ $s = 3; case 3: if($c) { $c = false; _r = _r.$blk(); } if (_r && _r.$blk !== undefined) { break s; }
190408
+ _r;
190409
+ $s = -1; return;
190410
+ /* } */ case 2:
190411
+ _r$1 = fmt.Errorf("Not implemented, use canvasdriver.BufferImpl instead", sliceType.nil); /* */ $s = 4; case 4: if($c) { $c = false; _r$1 = _r$1.$blk(); } if (_r$1 && _r$1.$blk !== undefined) { break s; }
190412
+ $panic(_r$1);
190413
+ $s = -1; return;
190414
+ /* */ } return; } var $f = {$blk: windowImpl.ptr.prototype.UploadYCbCr, $c: true, $r, _r, _r$1, _ref, dp, jsSrc, sr, src, w, x, $s};return $f;
190415
+ };
190416
+ windowImpl.prototype.UploadYCbCr = function(dp, src, sr) { return this.$val.UploadYCbCr(dp, src, sr); };
190417
+ windowImpl.ptr.prototype.Fill = function(dr, src, op) {
190418
+ var dr, op, src, w;
190419
+ w = this;
190420
+ if (w.released) {
190421
+ return;
190422
+ }
190423
+ $panic(new $String("Not implemented"));
190424
+ };
190425
+ windowImpl.prototype.Fill = function(dr, src, op) { return this.$val.Fill(dr, src, op); };
190426
+ windowImpl.ptr.prototype.Draw = function(src2dst, src, sr, op, opts) {
190427
+ var op, opts, sr, src, src2dst, w;
190428
+ w = this;
190429
+ if (w.released) {
190430
+ return;
190431
+ }
190432
+ $panic(new $String("Not implemented"));
190433
+ };
190434
+ windowImpl.prototype.Draw = function(src2dst, src, sr, op, opts) { return this.$val.Draw(src2dst, src, sr, op, opts); };
190435
+ windowImpl.ptr.prototype.DrawUniform = function(src2dst, src, sr, op, opts) {
190436
+ var op, opts, sr, src, src2dst, w;
190437
+ w = this;
190438
+ if (w.released) {
190439
+ return;
190440
+ }
190441
+ $panic(new $String("Not implemented"));
190442
+ };
190443
+ windowImpl.prototype.DrawUniform = function(src2dst, src, sr, op, opts) { return this.$val.DrawUniform(src2dst, src, sr, op, opts); };
190444
+ windowImpl.ptr.prototype.Copy = function(dp, src, sr, op, opts) {
190445
+ var dp, op, opts, sr, src, w;
190446
+ w = this;
190447
+ if (w.released) {
190448
+ return;
190449
+ }
190450
+ $panic(new $String("Not implemented"));
190451
+ };
190452
+ windowImpl.prototype.Copy = function(dp, src, sr, op, opts) { return this.$val.Copy(dp, src, sr, op, opts); };
190453
+ windowImpl.ptr.prototype.Scale = function(dr, src, sr, op, opts) {
190454
+ var dr, op, opts, sr, src, w;
190455
+ w = this;
190456
+ if (w.released) {
190457
+ return;
190458
+ }
190459
+ $panic(new $String("Not implemented"));
190460
+ };
190461
+ windowImpl.prototype.Scale = function(dr, src, sr, op, opts) { return this.$val.Scale(dr, src, sr, op, opts); };
190462
+ main = function(f) {
190463
+ var {_tuple, err, f, retErr, s, $s, $r, $c} = $restore(this, {f});
190464
+ /* */ $s = $s || 0; s: while (true) { switch ($s) { case 0:
190465
+ retErr = $ifaceNil;
190466
+ _tuple = newScreenImpl();
190467
+ s = _tuple[0];
190468
+ err = _tuple[1];
190469
+ if (!($interfaceIsEqual(err, $ifaceNil))) {
190470
+ retErr = err;
190471
+ $s = -1; return retErr;
190472
+ }
190473
+ $r = f(s); /* */ $s = 1; case 1: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
190474
+ retErr = $ifaceNil;
190475
+ $s = -1; return retErr;
190476
+ /* */ } return; } var $f = {$blk: main, $c: true, $r, _tuple, err, f, retErr, s, $s};return $f;
190477
+ };
190478
+ newScreenImpl = function() {
190479
+ var s;
190480
+ s = new screenImpl.ptr($clone($clone(js.Global(), js.Value).Get("document"), js.Value));
190481
+ return [s, $ifaceNil];
190482
+ };
190483
+ screenImpl.ptr.prototype.NewBuffer = function(size) {
190484
+ var buffer, s, size;
190485
+ s = this;
190486
+ buffer = newBuffer(s, $clone(size, image.Point));
190487
+ return [buffer, $ifaceNil];
190488
+ };
190489
+ screenImpl.prototype.NewBuffer = function(size) { return this.$val.NewBuffer(size); };
190490
+ screenImpl.ptr.prototype.NewTexture = function(size) {
190491
+ var {$24r, _r, s, size, $s, $r, $c} = $restore(this, {size});
190492
+ /* */ $s = $s || 0; s: while (true) { switch ($s) { case 0:
190493
+ s = this;
190494
+ _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; }
190495
+ $24r = [$ifaceNil, _r];
190496
+ $s = 2; case 2: return $24r;
190497
+ /* */ } return; } var $f = {$blk: screenImpl.ptr.prototype.NewTexture, $c: true, $r, $24r, _r, s, size, $s};return $f;
190498
+ };
190499
+ screenImpl.prototype.NewTexture = function(size) { return this.$val.NewTexture(size); };
190500
+ screenImpl.ptr.prototype.NewWindow = function(opts) {
190501
+ var {_r, opts, s, window, $s, $r, $c} = $restore(this, {opts});
190502
+ /* */ $s = $s || 0; s: while (true) { switch ($s) { case 0:
190503
+ s = this;
190504
+ _r = newWindow(s, opts); /* */ $s = 1; case 1: if($c) { $c = false; _r = _r.$blk(); } if (_r && _r.$blk !== undefined) { break s; }
190505
+ window = _r;
190506
+ $s = -1; return [window, $ifaceNil];
190507
+ /* */ } return; } var $f = {$blk: screenImpl.ptr.prototype.NewWindow, $c: true, $r, _r, opts, s, window, $s};return $f;
190508
+ };
190509
+ screenImpl.prototype.NewWindow = function(opts) { return this.$val.NewWindow(opts); };
190510
+ newBuffer = function(screen$1, size) {
190511
+ var _q, _q$1, _q$2, b, rect, screen$1, size;
190512
+ rect = new image.Rectangle.ptr(new image.Point.ptr(0, 0), $clone(size, image.Point));
190513
+ b = new BufferImpl.ptr(screen$1, $clone(size, image.Point), new sync.Mutex.ptr(0, 0), false, $clone(new image.RGBA.ptr($makeSlice(sliceType$1, ($imul(($imul(4, size.X)), size.Y))), $imul(4, size.X), $clone(rect, image.Rectangle)), image.RGBA), $clone(new image.YCbCr.ptr($makeSlice(sliceType$1, ($imul(size.X, size.Y))), $makeSlice(sliceType$1, (_q$1 = ($imul(size.X, size.Y)) / 4, (_q$1 === _q$1 && _q$1 !== 1/0 && _q$1 !== -1/0) ? _q$1 >> 0 : $throwRuntimeError("integer divide by zero"))), $makeSlice(sliceType$1, (_q$2 = ($imul(size.X, size.Y)) / 4, (_q$2 === _q$2 && _q$2 !== 1/0 && _q$2 !== -1/0) ? _q$2 >> 0 : $throwRuntimeError("integer divide by zero"))), size.X, (_q = size.X / 2, (_q === _q && _q !== 1/0 && _q !== -1/0) ? _q >> 0 : $throwRuntimeError("integer divide by zero")), 2, $clone(rect, image.Rectangle)), image.YCbCr), ptrType$4.nil);
190514
+ return b;
190515
+ };
190516
+ BufferImpl.ptr.prototype.Size = function() {
190517
+ var b;
190518
+ b = this;
190519
+ return b.size;
190520
+ };
190521
+ BufferImpl.prototype.Size = function() { return this.$val.Size(); };
190522
+ BufferImpl.ptr.prototype.Bounds = function() {
190523
+ var b;
190524
+ b = this;
190525
+ return new image.Rectangle.ptr(new image.Point.ptr(0, 0), $clone(b.size, image.Point));
190526
+ };
190527
+ BufferImpl.prototype.Bounds = function() { return this.$val.Bounds(); };
190528
+ BufferImpl.ptr.prototype.RGBA = function() {
190529
+ var b;
190530
+ b = this;
190531
+ return b.rgba;
190532
+ };
190533
+ BufferImpl.prototype.RGBA = function() { return this.$val.RGBA(); };
190534
+ BufferImpl.ptr.prototype.YCbCr = function() {
190535
+ var b;
190536
+ b = this;
190537
+ return b.ycbcr;
190538
+ };
190539
+ BufferImpl.prototype.YCbCr = function() { return this.$val.YCbCr(); };
190540
+ BufferImpl.ptr.prototype.YCbCrJS = function() {
190541
+ var b;
190542
+ b = this;
190543
+ if (b.ycbcrJS === ptrType$4.nil) {
190544
+ b.ycbcrJS = new YCbCrJS.ptr(ptrType$5.nil);
190545
+ }
190546
+ return b.ycbcrJS;
190547
+ };
190548
+ BufferImpl.prototype.YCbCrJS = function() { return this.$val.YCbCrJS(); };
190549
+ BufferImpl.ptr.prototype.Release = function() {
190550
+ var {b, $s, $deferred, $r, $c} = $restore(this, {});
190551
+ /* */ $s = $s || 0; var $err = null; try { s: while (true) { switch ($s) { case 0: $deferred = []; $curGoroutine.deferStack.push($deferred);
190552
+ b = this;
190553
+ $r = b.mutex.Lock(); /* */ $s = 1; case 1: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
190554
+ $deferred.push([$methodVal(b.mutex, "Unlock"), []]);
190555
+ /* */ if (b.released) { $s = 2; continue; }
190556
+ /* */ $s = 3; continue;
190557
+ /* if (b.released) { */ case 2:
190558
+ $s = 4; case 4: return;
190559
+ /* } */ case 3:
190560
+ b.released = true;
190561
+ $s = -1; return;
190562
+ /* */ } return; } } catch(err) { $err = err; $s = -1; } finally { $callDeferred($deferred, $err); if($curGoroutine.asleep) { var $f = {$blk: BufferImpl.ptr.prototype.Release, $c: true, $r, b, $s, $deferred};return $f; } }
190563
+ };
190564
+ BufferImpl.prototype.Release = function() { return this.$val.Release(); };
190565
+ 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)}];
190566
+ 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)}];
190567
+ 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$9], false)}, {prop: "YCbCr", name: "YCbCr", pkg: "", typ: $funcType([], [ptrType$10], false)}, {prop: "YCbCrJS", name: "YCbCrJS", pkg: "", typ: $funcType([], [ptrType$4], false)}, {prop: "Release", name: "Release", pkg: "", typ: $funcType([], [], false)}];
190568
+ windowImpl.init("golang.org/x/exp/shiny/driver/canvasdriver", [{prop: "screen", name: "screen", embedded: false, exported: false, typ: ptrType, tag: ""}, {prop: "mutex", name: "mutex", embedded: false, exported: false, typ: ptrType$1, tag: ""}, {prop: "canvasEl", name: "canvasEl", embedded: false, exported: false, typ: js.Value, tag: ""}, {prop: "ctx2d", name: "ctx2d", embedded: false, exported: false, typ: js.Value, tag: ""}, {prop: "released", name: "released", embedded: false, exported: false, typ: $Bool, tag: ""}, {prop: "domEvents", name: "domEvents", embedded: false, exported: false, typ: ptrType$2, tag: ""}, {prop: "resizeCallback", name: "resizeCallback", embedded: false, exported: false, typ: js.Func, tag: ""}]);
190569
+ screenImpl.init("golang.org/x/exp/shiny/driver/canvasdriver", [{prop: "doc", name: "doc", embedded: false, exported: false, typ: js.Value, tag: ""}]);
190570
+ YCbCrJS.init("", [{prop: "CanvasImageSource", name: "CanvasImageSource", embedded: false, exported: true, typ: ptrType$5, tag: ""}]);
190571
+ BufferImpl.init("golang.org/x/exp/shiny/driver/canvasdriver", [{prop: "screen", name: "screen", embedded: false, exported: false, typ: ptrType, tag: ""}, {prop: "size", name: "size", embedded: false, exported: false, typ: image.Point, tag: ""}, {prop: "mutex", name: "mutex", embedded: false, exported: false, typ: ptrType$1, tag: ""}, {prop: "released", name: "released", embedded: false, exported: false, typ: $Bool, tag: ""}, {prop: "rgba", name: "rgba", embedded: false, exported: false, typ: image.RGBA, tag: ""}, {prop: "ycbcr", name: "ycbcr", embedded: false, exported: false, typ: image.YCbCr, tag: ""}, {prop: "ycbcrJS", name: "ycbcrJS", embedded: false, exported: false, typ: ptrType$4, tag: ""}]);
190572
+ $init = function() {
190573
+ $pkg.$init = function() {};
190574
+ /* */ 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
+ $r = fmt.$init(); /* */ $s = 1; case 1: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
190576
+ $r = dom.$init(); /* */ $s = 2; case 2: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
190577
+ $r = errscreen.$init(); /* */ $s = 3; case 3: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
190578
+ $r = screen.$init(); /* */ $s = 4; case 4: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
190579
+ $r = f64.$init(); /* */ $s = 5; case 5: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
190580
+ $r = image.$init(); /* */ $s = 6; case 6: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
190581
+ $r = color.$init(); /* */ $s = 7; case 7: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
190582
+ $r = draw.$init(); /* */ $s = 8; case 8: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
190583
+ $r = sync.$init(); /* */ $s = 9; case 9: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
190584
+ $r = js.$init(); /* */ $s = 10; case 10: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
190585
+ /* */ } return; } if ($f === undefined) { $f = { $blk: $init }; } $f.$s = $s; $f.$r = $r; return $f;
190586
+ };
190587
+ $pkg.$init = $init;
190588
+ return $pkg;
190589
+ })();
190590
+ $packages["github.com/supraio/client-daemon/pkg/x264/webcodecs"] = (function() {
190591
+ var $pkg = {}, $init, hex, webgl, errs, jshelper, general, canvasdriver, image, js;
190592
+ hex = $packages["encoding/hex"];
190593
+ webgl = $packages["github.com/nuberu/webgl"];
190594
+ errs = $packages["github.com/supraio/client-daemon/pkg/errs"];
190595
+ jshelper = $packages["github.com/supraio/client-daemon/pkg/jshelper"];
190596
+ general = $packages["github.com/supraio/client-daemon/pkg/x264/general"];
190597
+ canvasdriver = $packages["golang.org/x/exp/shiny/driver/canvasdriver"];
190598
+ image = $packages["image"];
190599
+ js = $packages["syscall/js"];
190600
+ $init = function() {
190601
+ $pkg.$init = function() {};
190602
+ /* */ 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:
190603
+ $r = hex.$init(); /* */ $s = 1; case 1: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
190604
+ $r = webgl.$init(); /* */ $s = 2; case 2: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
190605
+ $r = errs.$init(); /* */ $s = 3; case 3: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
190606
+ $r = jshelper.$init(); /* */ $s = 4; case 4: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
190607
+ $r = general.$init(); /* */ $s = 5; case 5: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
190608
+ $r = canvasdriver.$init(); /* */ $s = 6; case 6: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
190609
+ $r = image.$init(); /* */ $s = 7; case 7: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
190610
+ $r = js.$init(); /* */ $s = 8; case 8: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
190611
+ /* */ } return; } if ($f === undefined) { $f = { $blk: $init }; } $f.$s = $s; $f.$r = $r; return $f;
190612
+ };
190613
+ $pkg.$init = $init;
190614
+ return $pkg;
190615
+ })();
190616
+ $packages["github.com/supraio/client-daemon/pkg/x264"] = (function() {
190617
+ var $pkg = {}, $init, errs, general, h264_decoder, nacldecoder, webcodecs, js;
190618
+ errs = $packages["github.com/supraio/client-daemon/pkg/errs"];
190619
+ general = $packages["github.com/supraio/client-daemon/pkg/x264/general"];
190620
+ h264_decoder = $packages["github.com/supraio/client-daemon/pkg/x264/h264decoder"];
190621
+ nacldecoder = $packages["github.com/supraio/client-daemon/pkg/x264/nacldecoder"];
190622
+ webcodecs = $packages["github.com/supraio/client-daemon/pkg/x264/webcodecs"];
190623
+ js = $packages["syscall/js"];
190624
+ $init = function() {
190625
+ $pkg.$init = function() {};
190626
+ /* */ 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:
190627
+ $r = errs.$init(); /* */ $s = 1; case 1: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
190628
+ $r = general.$init(); /* */ $s = 2; case 2: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
190629
+ $r = h264_decoder.$init(); /* */ $s = 3; case 3: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
190630
+ $r = nacldecoder.$init(); /* */ $s = 4; case 4: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
190631
+ $r = webcodecs.$init(); /* */ $s = 5; case 5: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
190632
+ $r = js.$init(); /* */ $s = 6; case 6: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
190633
+ /* */ } return; } if ($f === undefined) { $f = { $blk: $init }; } $f.$s = $s; $f.$r = $r; return $f;
190634
+ };
190635
+ $pkg.$init = $init;
190636
+ return $pkg;
190637
+ })();
190638
+ $packages["github.com/supraio/client-daemon/pkg/x264/nacldecoder/nacldriver/dom"] = (function() {
190639
+ 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;
190640
+ focus = $packages["golang.org/x/mobile/event/focus"];
190641
+ key = $packages["golang.org/x/mobile/event/key"];
190642
+ mouse = $packages["golang.org/x/mobile/event/mouse"];
190643
+ size = $packages["golang.org/x/mobile/event/size"];
190644
+ geom = $packages["golang.org/x/mobile/geom"];
190645
+ math = $packages["math"];
190646
+ strings = $packages["strings"];
190647
+ js = $packages["syscall/js"];
190648
+ DomEvents = $pkg.DomEvents = $newType(0, $kindStruct, "dom.DomEvents", true, "github.com/supraio/client-daemon/pkg/x264/nacldecoder/nacldriver/dom", true, function(eventChan_, releases_) {
190649
+ this.$val = this;
190650
+ if (arguments.length === 0) {
190651
+ this.eventChan = $chanNil;
190652
+ this.releases = sliceType$1.nil;
190653
+ return;
190654
+ }
190655
+ this.eventChan = eventChan_;
190656
+ this.releases = releases_;
190657
+ });
190658
+ sliceType = $sliceType($emptyInterface);
190659
+ funcType = $funcType([], [], false);
190660
+ sliceType$1 = $sliceType(funcType);
190661
+ sliceType$2 = $sliceType($Int32);
190662
+ chanType = $chanType($emptyInterface, false, false);
190663
+ ptrType = $ptrType(DomEvents);
190664
+ GetDocWidth = function() {
190665
+ return $clone($clone(js.Global(), js.Value).Get("innerWidth"), js.Value).Int();
190666
+ };
190667
+ $pkg.GetDocWidth = GetDocWidth;
190668
+ GetDocHeight = function() {
190669
+ return $clone($clone(js.Global(), js.Value).Get("innerHeight"), js.Value).Int();
190670
+ };
190671
+ $pkg.GetDocHeight = GetDocHeight;
190672
+ GetOrientation = function() {
190673
+ var {$24r, $24r$1, $24r$2, orientation, orientationType, $s, $deferred, $r, $c} = $restore(this, {});
190674
+ /* */ $s = $s || 0; var $err = null; try { s: while (true) { switch ($s) { case 0: $deferred = []; $curGoroutine.deferStack.push($deferred);
190675
+ orientation = [orientation];
190676
+ orientation[0] = 0;
190677
+ $deferred.push([(function(orientation) { return function() {
190678
+ if (!($interfaceIsEqual($recover(), $ifaceNil))) {
190679
+ orientation[0] = 0;
190680
+ }
190681
+ }; })(orientation), []]);
190682
+ orientationType = $clone($clone($clone($clone(js.Global(), js.Value).Get("screen"), js.Value).Get("orientation"), js.Value).Get("type"), js.Value).String();
190683
+ /* */ if (strings.HasPrefix(orientationType, "landscape")) { $s = 1; continue; }
190684
+ /* */ $s = 2; continue;
190685
+ /* if (strings.HasPrefix(orientationType, "landscape")) { */ case 1:
190686
+ orientation[0] = 2;
190687
+ $24r = orientation[0];
190688
+ $s = 3; case 3: return $24r;
190689
+ /* } */ case 2:
190690
+ /* */ if (strings.HasPrefix(orientationType, "portrait")) { $s = 4; continue; }
190691
+ /* */ $s = 5; continue;
190692
+ /* if (strings.HasPrefix(orientationType, "portrait")) { */ case 4:
190693
+ orientation[0] = 2;
190694
+ $24r$1 = orientation[0];
190695
+ $s = 6; case 6: return $24r$1;
190696
+ /* } */ case 5:
190697
+ orientation[0] = 0;
190698
+ $24r$2 = orientation[0];
190699
+ $s = 7; case 7: return $24r$2;
190700
+ /* */ } 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; } }
190701
+ };
190702
+ $pkg.GetOrientation = GetOrientation;
190703
+ NewDomEvents = function() {
190704
+ return new DomEvents.ptr(new $Chan($emptyInterface, 0), $makeSlice(sliceType$1, 0));
190705
+ };
190706
+ $pkg.NewDomEvents = NewDomEvents;
190707
+ DomEvents.ptr.prototype.GetEventChan = function() {
190708
+ var d;
190709
+ d = this;
190710
+ return d.eventChan;
190711
+ };
190712
+ DomEvents.prototype.GetEventChan = function() { return this.$val.GetEventChan(); };
190713
+ DomEvents.ptr.prototype.Release = function() {
190714
+ var {_i, _ref, d, release, $s, $r, $c} = $restore(this, {});
190715
+ /* */ $s = $s || 0; s: while (true) { switch ($s) { case 0:
190716
+ d = this;
190717
+ _ref = d.releases;
190718
+ _i = 0;
190719
+ /* while (true) { */ case 1:
190720
+ /* if (!(_i < _ref.$length)) { break; } */ if(!(_i < _ref.$length)) { $s = 2; continue; }
190721
+ release = ((_i < 0 || _i >= _ref.$length) ? ($throwRuntimeError("index out of range"), undefined) : _ref.$array[_ref.$offset + _i]);
190722
+ $r = release(); /* */ $s = 3; case 3: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
190723
+ _i++;
190724
+ $s = 1; continue;
190725
+ case 2:
190726
+ $s = -1; return;
190727
+ /* */ } return; } var $f = {$blk: DomEvents.ptr.prototype.Release, $c: true, $r, _i, _ref, d, release, $s};return $f;
190728
+ };
190729
+ DomEvents.prototype.Release = function() { return this.$val.Release(); };
190730
+ DomEvents.ptr.prototype.BindEvents = function() {
190731
+ var {d, $s, $r, $c} = $restore(this, {});
190732
+ /* */ $s = $s || 0; s: while (true) { switch ($s) { case 0:
190733
+ d = this;
190734
+ $r = d.bindSizeEvents(); /* */ $s = 1; case 1: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
190735
+ $go($methodVal(d, "emitSizeEvent"), []);
190736
+ $r = d.bindMouseEvents(); /* */ $s = 2; case 2: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
190737
+ $r = d.bindKeyEvents(); /* */ $s = 3; case 3: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
190738
+ $r = d.bindFocusEvents(); /* */ $s = 4; case 4: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
190739
+ $s = -1; return;
190740
+ /* */ } return; } var $f = {$blk: DomEvents.ptr.prototype.BindEvents, $c: true, $r, d, $s};return $f;
190741
+ };
190742
+ DomEvents.prototype.BindEvents = function() { return this.$val.BindEvents(); };
190743
+ DomEvents.ptr.prototype.bindSizeEvents = function() {
190744
+ var {_r, d, onResize, $s, $r, $c} = $restore(this, {});
190745
+ /* */ $s = $s || 0; s: while (true) { switch ($s) { case 0:
190746
+ d = [d];
190747
+ onResize = [onResize];
190748
+ d[0] = this;
190749
+ onResize[0] = $clone(js.FuncOf((function(d, onResize) { return function $b(this$1, args) {
190750
+ var {args, this$1, $s, $r, $c} = $restore(this, {this$1, args});
190751
+ /* */ $s = $s || 0; s: while (true) { switch ($s) { case 0:
190752
+ $r = d[0].emitSizeEvent(); /* */ $s = 1; case 1: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
190753
+ $s = -1; return $ifaceNil;
190754
+ /* */ } return; } var $f = {$blk: $b, $c: true, $r, args, this$1, $s};return $f;
190755
+ }; })(d, onResize)), js.Func);
190756
+ _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; }
190757
+ _r;
190758
+ d[0].releases = $append(d[0].releases, (function(d, onResize) { return function $b() {
190759
+ var {_r$1, $s, $r, $c} = $restore(this, {});
190760
+ /* */ $s = $s || 0; s: while (true) { switch ($s) { case 0:
190761
+ _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; }
190762
+ _r$1;
190763
+ $clone(onResize[0], js.Func).Release();
190764
+ $s = -1; return;
190765
+ /* */ } return; } var $f = {$blk: $b, $c: true, $r, _r$1, $s};return $f;
190766
+ }; })(d, onResize));
190767
+ $s = -1; return;
190356
190768
  /* */ } return; } var $f = {$blk: DomEvents.ptr.prototype.bindSizeEvents, $c: true, $r, _r, d, onResize, $s};return $f;
190357
190769
  };
190358
190770
  DomEvents.prototype.bindSizeEvents = function() { return this.$val.bindSizeEvents(); };
@@ -190561,452 +190973,76 @@ $packages["github.com/supraio/client-daemon/pkg/x264/nacldecoder/nacldriver/dom"
190561
190973
  _r$2;
190562
190974
  _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
190975
  _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;
190570
- };
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: ""}]);
190612
- $init = function() {
190613
- $pkg.$init = function() {};
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:
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, 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
- ptrType$6 = $ptrType(image.YCbCr);
190689
- ptrType$7 = $ptrType(screen.DrawOptions);
190690
- ptrType$8 = $ptrType(windowImpl);
190691
- ptrType$9 = $ptrType(screen.NewWindowOptions);
190692
- newWindow = function(screen$1, opts) {
190693
- var {_r, _r$1, _r$2, domEvents, jsNaClDecoder, opts, screen$1, w, $s, $r, $c} = $restore(this, {screen$1, opts});
190694
- /* */ $s = $s || 0; s: while (true) { switch ($s) { case 0:
190695
- /* */ if (!(opts.Title === "")) { $s = 1; continue; }
190696
- /* */ $s = 2; continue;
190697
- /* if (!(opts.Title === "")) { */ case 1:
190698
- _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; }
190699
- _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; }
190700
- $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; }
190701
- /* } */ case 2:
190702
- jsNaClDecoder = $clone($clone(js.Global(), js.Value).Get("naclDecoder"), js.Value);
190703
- /* */ if ($clone(jsNaClDecoder, js.Value).IsUndefined()) { $s = 6; continue; }
190704
- /* */ $s = 7; continue;
190705
- /* if ($clone(jsNaClDecoder, js.Value).IsUndefined()) { */ case 6:
190706
- _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; }
190707
- $panic(_r$2);
190708
- /* } */ case 7:
190709
- domEvents = dom.NewDomEvents();
190710
- w = new windowImpl.ptr(screen$1, ptrType$1.nil, $clone(jsNaClDecoder, js.Value), domEvents, false);
190711
- $s = -1; return w;
190712
- /* */ } return; } var $f = {$blk: newWindow, $c: true, $r, _r, _r$1, _r$2, domEvents, jsNaClDecoder, 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 = 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; }
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, _r, _r$1, _r$2, _r$3, _ref, _tuple, dp, err, jsSrc, renderPromise, sr, src, w, x, $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
- _ref = src;
190789
- /* */ if ($assertType(_ref, ptrType$3, true)[1]) { $s = 1; continue; }
190790
- /* */ $s = 2; continue;
190791
- /* if ($assertType(_ref, ptrType$3, true)[1]) { */ case 1:
190792
- jsSrc = _ref.$val;
190793
- _r = $clone(w.jsNaClDecoder, js.Value).Call("render", new sliceType([(x = jsSrc.pictureResult, new x.constructor.elem(x))])); /* */ $s = 3; case 3: if($c) { $c = false; _r = _r.$blk(); } if (_r && _r.$blk !== undefined) { break s; }
190794
- renderPromise = $clone(_r, js.Value);
190795
- _r$1 = jshelper.Await($clone(renderPromise, js.Value)); /* */ $s = 4; case 4: if($c) { $c = false; _r$1 = _r$1.$blk(); } if (_r$1 && _r$1.$blk !== undefined) { break s; }
190796
- _tuple = _r$1;
190797
- err = _tuple[1];
190798
- /* */ if (!(err === ptrType$4.nil)) { $s = 5; continue; }
190799
- /* */ $s = 6; continue;
190800
- /* if (!(err === ptrType$4.nil)) { */ case 5:
190801
- _r$2 = errs.Errorf("%v", new sliceType([err])); /* */ $s = 7; case 7: if($c) { $c = false; _r$2 = _r$2.$blk(); } if (_r$2 && _r$2.$blk !== undefined) { break s; }
190802
- _arg = _r$2;
190803
- $r = errs.Print("Failed to render picture", _arg); /* */ $s = 8; case 8: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
190804
- /* } */ case 6:
190976
+ $clone(onKey[0], js.Func).Release();
190805
190977
  $s = -1; return;
190806
- /* } */ case 2:
190807
- _r$3 = fmt.Errorf("Not implemented, use nacldriver.BufferImpl instead", sliceType.nil); /* */ $s = 9; case 9: if($c) { $c = false; _r$3 = _r$3.$blk(); } if (_r$3 && _r$3.$blk !== undefined) { break s; }
190808
- $panic(_r$3);
190978
+ /* */ } return; } var $f = {$blk: $b, $c: true, $r, _r$2, _r$3, $s};return $f;
190979
+ }; })(d, onKey));
190809
190980
  $s = -1; return;
190810
- /* */ } return; } var $f = {$blk: windowImpl.ptr.prototype.UploadYCbCr, $c: true, $r, _arg, _r, _r$1, _r$2, _r$3, _ref, _tuple, dp, err, jsSrc, renderPromise, sr, src, w, x, $s};return $f;
190811
- };
190812
- windowImpl.prototype.UploadYCbCr = function(dp, src, sr) { return this.$val.UploadYCbCr(dp, src, sr); };
190813
- windowImpl.ptr.prototype.Fill = function(dr, src, op) {
190814
- var dr, op, src, w;
190815
- w = this;
190816
- if (w.released) {
190817
- return;
190818
- }
190819
- $panic(new $String("Not implemented"));
190981
+ /* */ } return; } var $f = {$blk: DomEvents.ptr.prototype.bindKeyEvents, $c: true, $r, _r, _r$1, d, onKey, $s};return $f;
190820
190982
  };
190821
- windowImpl.prototype.Fill = function(dr, src, op) { return this.$val.Fill(dr, src, op); };
190822
- windowImpl.ptr.prototype.Draw = function(src2dst, src, sr, op, opts) {
190823
- var op, opts, sr, src, src2dst, w;
190824
- w = this;
190825
- if (w.released) {
190826
- return;
190983
+ DomEvents.prototype.bindKeyEvents = function() { return this.$val.bindKeyEvents(); };
190984
+ getKeyRune = function(ev) {
190985
+ var ev, key$1;
190986
+ key$1 = (new sliceType$2($stringToRunes($clone($clone(ev, js.Value).Get("key"), js.Value).String())));
190987
+ if (key$1.$length === 1) {
190988
+ return (0 >= key$1.$length ? ($throwRuntimeError("index out of range"), undefined) : key$1.$array[key$1.$offset + 0]);
190827
190989
  }
190828
- $panic(new $String("Not implemented"));
190990
+ return -1;
190829
190991
  };
190830
- windowImpl.prototype.Draw = function(src2dst, src, sr, op, opts) { return this.$val.Draw(src2dst, src, sr, op, opts); };
190831
- windowImpl.ptr.prototype.DrawUniform = function(src2dst, src, sr, op, opts) {
190832
- var op, opts, sr, src, src2dst, w;
190833
- w = this;
190834
- if (w.released) {
190835
- return;
190992
+ getKeyDirection = function(ev) {
190993
+ var dir, ev;
190994
+ dir = 0;
190995
+ dir = 0;
190996
+ if ($clone($clone(ev, js.Value).Get("type"), js.Value).String() === "keydown") {
190997
+ dir = 1;
190836
190998
  }
190837
- $panic(new $String("Not implemented"));
190838
- };
190839
- windowImpl.prototype.DrawUniform = function(src2dst, src, sr, op, opts) { return this.$val.DrawUniform(src2dst, src, sr, op, opts); };
190840
- windowImpl.ptr.prototype.Copy = function(dp, src, sr, op, opts) {
190841
- var dp, op, opts, sr, src, w;
190842
- w = this;
190843
- if (w.released) {
190844
- return;
190999
+ if ($clone($clone(ev, js.Value).Get("type"), js.Value).String() === "keyup") {
191000
+ dir = 2;
190845
191001
  }
190846
- $panic(new $String("Not implemented"));
191002
+ return dir;
190847
191003
  };
190848
- windowImpl.prototype.Copy = function(dp, src, sr, op, opts) { return this.$val.Copy(dp, src, sr, op, opts); };
190849
- windowImpl.ptr.prototype.Scale = function(dr, src, sr, op, opts) {
190850
- var dr, op, opts, sr, src, w;
190851
- w = this;
190852
- if (w.released) {
190853
- return;
191004
+ getKeyCode = function(ev) {
191005
+ var _entry, _entry$1, _tuple, _tuple$1, code, code$1, domCode, domKey, ev, exists, exists$1;
191006
+ domCode = $clone($clone(ev, js.Value).Get("code"), js.Value).String();
191007
+ _tuple = (_entry = $mapIndex(keyCodesMap,$String.keyFor(domCode)), _entry !== undefined ? [_entry.v, true] : [0, false]);
191008
+ code = _tuple[0];
191009
+ exists = _tuple[1];
191010
+ if (exists) {
191011
+ return code;
190854
191012
  }
190855
- $panic(new $String("Not implemented"));
190856
- };
190857
- windowImpl.prototype.Scale = function(dr, src, sr, op, opts) { return this.$val.Scale(dr, src, sr, op, opts); };
190858
- newScreenImpl = function() {
190859
- var s;
190860
- s = new screenImpl.ptr($clone($clone(js.Global(), js.Value).Get("document"), js.Value));
190861
- return [s, $ifaceNil];
190862
- };
190863
- screenImpl.ptr.prototype.NewBuffer = function(size) {
190864
- var buffer, s, size;
190865
- s = this;
190866
- buffer = newBuffer(s, $clone(size, image.Point));
190867
- return [buffer, $ifaceNil];
190868
- };
190869
- screenImpl.prototype.NewBuffer = function(size) { return this.$val.NewBuffer(size); };
190870
- screenImpl.ptr.prototype.NewTexture = function(size) {
190871
- var {$24r, _r, s, size, $s, $r, $c} = $restore(this, {size});
190872
- /* */ $s = $s || 0; s: while (true) { switch ($s) { case 0:
190873
- s = this;
190874
- _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; }
190875
- $24r = [$ifaceNil, _r];
190876
- $s = 2; case 2: return $24r;
190877
- /* */ } return; } var $f = {$blk: screenImpl.ptr.prototype.NewTexture, $c: true, $r, $24r, _r, s, size, $s};return $f;
190878
- };
190879
- screenImpl.prototype.NewTexture = function(size) { return this.$val.NewTexture(size); };
190880
- screenImpl.ptr.prototype.NewWindow = function(opts) {
190881
- var {_r, opts, s, window, $s, $r, $c} = $restore(this, {opts});
190882
- /* */ $s = $s || 0; s: while (true) { switch ($s) { case 0:
190883
- s = this;
190884
- _r = newWindow(s, opts); /* */ $s = 1; case 1: if($c) { $c = false; _r = _r.$blk(); } if (_r && _r.$blk !== undefined) { break s; }
190885
- window = _r;
190886
- $s = -1; return [window, $ifaceNil];
190887
- /* */ } return; } var $f = {$blk: screenImpl.ptr.prototype.NewWindow, $c: true, $r, _r, opts, s, window, $s};return $f;
190888
- };
190889
- screenImpl.prototype.NewWindow = function(opts) { return this.$val.NewWindow(opts); };
190890
- main = function(f) {
190891
- var {_tuple, err, f, retErr, s, $s, $r, $c} = $restore(this, {f});
190892
- /* */ $s = $s || 0; s: while (true) { switch ($s) { case 0:
190893
- retErr = $ifaceNil;
190894
- _tuple = newScreenImpl();
190895
- s = _tuple[0];
190896
- err = _tuple[1];
190897
- if (!($interfaceIsEqual(err, $ifaceNil))) {
190898
- retErr = err;
190899
- $s = -1; return retErr;
191013
+ domKey = $clone($clone(ev, js.Value).Get("key"), js.Value).String();
191014
+ _tuple$1 = (_entry$1 = $mapIndex(keyCodesByKeyMap,$String.keyFor(domKey)), _entry$1 !== undefined ? [_entry$1.v, true] : [0, false]);
191015
+ code$1 = _tuple$1[0];
191016
+ exists$1 = _tuple$1[1];
191017
+ if (exists$1) {
191018
+ return code$1;
190900
191019
  }
190901
- $r = f(s); /* */ $s = 1; case 1: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
190902
- retErr = $ifaceNil;
190903
- $s = -1; return retErr;
190904
- /* */ } return; } var $f = {$blk: main, $c: true, $r, _tuple, err, f, retErr, s, $s};return $f;
190905
- };
190906
- newBuffer = function(screen$1, size) {
190907
- var b, screen$1, size;
190908
- b = new BufferImpl.ptr(ptrType$4.nil, screen$1, $clone(size, image.Point));
190909
- return b;
190910
- };
190911
- BufferImpl.ptr.prototype.Size = function() {
190912
- var b;
190913
- b = this;
190914
- return b.size;
190915
- };
190916
- BufferImpl.prototype.Size = function() { return this.$val.Size(); };
190917
- BufferImpl.ptr.prototype.Bounds = function() {
190918
- var b;
190919
- b = this;
190920
- return new image.Rectangle.ptr(new image.Point.ptr(0, 0), $clone(b.size, image.Point));
190921
- };
190922
- BufferImpl.prototype.Bounds = function() { return this.$val.Bounds(); };
190923
- BufferImpl.ptr.prototype.RGBA = function() {
190924
- var {_r, b, $s, $r, $c} = $restore(this, {});
190925
- /* */ $s = $s || 0; s: while (true) { switch ($s) { case 0:
190926
- b = this;
190927
- _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; }
190928
- $panic(_r);
190929
- $s = -1; return ptrType$5.nil;
190930
- /* */ } return; } var $f = {$blk: BufferImpl.ptr.prototype.RGBA, $c: true, $r, _r, b, $s};return $f;
190931
- };
190932
- BufferImpl.prototype.RGBA = function() { return this.$val.RGBA(); };
190933
- BufferImpl.ptr.prototype.YCbCr = function() {
190934
- var {_r, b, $s, $r, $c} = $restore(this, {});
190935
- /* */ $s = $s || 0; s: while (true) { switch ($s) { case 0:
190936
- b = this;
190937
- _r = fmt.Errorf("Not implemented YCbCr(), use PictureResult() instead", sliceType.nil); /* */ $s = 1; case 1: if($c) { $c = false; _r = _r.$blk(); } if (_r && _r.$blk !== undefined) { break s; }
190938
- $panic(_r);
190939
- $s = -1; return ptrType$6.nil;
190940
- /* */ } return; } var $f = {$blk: BufferImpl.ptr.prototype.YCbCr, $c: true, $r, _r, b, $s};return $f;
190941
- };
190942
- BufferImpl.prototype.YCbCr = function() { return this.$val.YCbCr(); };
190943
- BufferImpl.ptr.prototype.GetPictureResult = function() {
190944
- var b;
190945
- b = this;
190946
- return b.pictureResult;
190947
- };
190948
- BufferImpl.prototype.GetPictureResult = function() { return this.$val.GetPictureResult(); };
190949
- BufferImpl.ptr.prototype.SetPictureResult = function(pictureResult) {
190950
- var b, pictureResult;
190951
- b = this;
190952
- b.pictureResult = pictureResult;
190953
- };
190954
- BufferImpl.prototype.SetPictureResult = function(pictureResult) { return this.$val.SetPictureResult(pictureResult); };
190955
- BufferImpl.ptr.prototype.Release = function() {
190956
- var b;
190957
- b = this;
190958
- };
190959
- BufferImpl.prototype.Release = function() { return this.$val.Release(); };
190960
- ptrType$8.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$7], [], false)}, {prop: "DrawUniform", name: "DrawUniform", pkg: "", typ: $funcType([f64.Aff3, color.Color, image.Rectangle, draw.Op, ptrType$7], [], false)}, {prop: "Copy", name: "Copy", pkg: "", typ: $funcType([image.Point, screen.Texture, image.Rectangle, draw.Op, ptrType$7], [], false)}, {prop: "Scale", name: "Scale", pkg: "", typ: $funcType([image.Rectangle, screen.Texture, image.Rectangle, draw.Op, ptrType$7], [], false)}];
190961
- 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$9], [screen.Window, $error], false)}];
190962
- 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$6], 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)}];
190963
- 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: ""}]);
190964
- screenImpl.init("github.com/supraio/client-daemon/pkg/x264/nacldecoder/nacldriver", [{prop: "doc", name: "doc", embedded: false, exported: false, typ: js.Value, tag: ""}]);
190965
- 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: ""}]);
190966
- $init = function() {
190967
- $pkg.$init = function() {};
190968
- /* */ 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:
190969
- $r = fmt.$init(); /* */ $s = 1; case 1: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
190970
- $r = errs.$init(); /* */ $s = 2; case 2: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
190971
- $r = jshelper.$init(); /* */ $s = 3; case 3: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
190972
- $r = dom.$init(); /* */ $s = 4; case 4: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
190973
- $r = screen.$init(); /* */ $s = 5; case 5: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
190974
- $r = f64.$init(); /* */ $s = 6; case 6: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
190975
- $r = image.$init(); /* */ $s = 7; case 7: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
190976
- $r = color.$init(); /* */ $s = 8; case 8: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
190977
- $r = draw.$init(); /* */ $s = 9; case 9: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
190978
- $r = sync.$init(); /* */ $s = 10; case 10: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
190979
- $r = js.$init(); /* */ $s = 11; case 11: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
190980
- /* */ } return; } if ($f === undefined) { $f = { $blk: $init }; } $f.$s = $s; $f.$r = $r; return $f;
191020
+ return 0;
190981
191021
  };
190982
- $pkg.$init = $init;
190983
- return $pkg;
190984
- })();
190985
- $packages["github.com/supraio/client-daemon/pkg/x264/nacldecoder"] = (function() {
190986
- var $pkg = {}, $init, errs, jshelper, general, nacldriver, js;
190987
- errs = $packages["github.com/supraio/client-daemon/pkg/errs"];
190988
- jshelper = $packages["github.com/supraio/client-daemon/pkg/jshelper"];
190989
- general = $packages["github.com/supraio/client-daemon/pkg/x264/general"];
190990
- nacldriver = $packages["github.com/supraio/client-daemon/pkg/x264/nacldecoder/nacldriver"];
190991
- js = $packages["syscall/js"];
191022
+ 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)}];
191023
+ 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: ""}]);
190992
191024
  $init = function() {
190993
191025
  $pkg.$init = function() {};
190994
191026
  /* */ 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:
190995
- $r = errs.$init(); /* */ $s = 1; case 1: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
190996
- $r = jshelper.$init(); /* */ $s = 2; case 2: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
190997
- $r = general.$init(); /* */ $s = 3; case 3: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
190998
- $r = nacldriver.$init(); /* */ $s = 4; case 4: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
190999
- $r = js.$init(); /* */ $s = 5; case 5: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
191027
+ $r = focus.$init(); /* */ $s = 1; case 1: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
191028
+ $r = key.$init(); /* */ $s = 2; case 2: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
191029
+ $r = mouse.$init(); /* */ $s = 3; case 3: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
191030
+ $r = size.$init(); /* */ $s = 4; case 4: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
191031
+ $r = geom.$init(); /* */ $s = 5; case 5: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
191032
+ $r = math.$init(); /* */ $s = 6; case 6: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
191033
+ $r = strings.$init(); /* */ $s = 7; case 7: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
191034
+ $r = js.$init(); /* */ $s = 8; case 8: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
191035
+ 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 }]);
191036
+ keyCodesByKeyMap = $makeMap($String.keyFor, [{ k: "AudioVolumeMute", v: 127 }, { k: "AudioVolumeUp", v: 128 }, { k: "AudioVolumeDown", v: 129 }]);
191000
191037
  /* */ } return; } if ($f === undefined) { $f = { $blk: $init }; } $f.$s = $s; $f.$r = $r; return $f;
191001
191038
  };
191002
191039
  $pkg.$init = $init;
191003
191040
  return $pkg;
191004
191041
  })();
191005
- $packages["golang.org/x/exp/shiny/driver/canvasdriver"] = (function() {
191006
- 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;
191042
+ $packages["github.com/supraio/client-daemon/pkg/x264/nacldecoder/nacldriver"] = (function() {
191043
+ var $pkg = {}, $init, fmt, 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, ptrType$6, ptrType$7, ptrType$8, ptrType$9, newWindow, newScreenImpl, main, newBuffer;
191007
191044
  fmt = $packages["fmt"];
191008
- dom = $packages["golang.org/x/exp/shiny/driver/internal/dom"];
191009
- errscreen = $packages["golang.org/x/exp/shiny/driver/internal/errscreen"];
191045
+ dom = $packages["github.com/supraio/client-daemon/pkg/x264/nacldecoder/nacldriver/dom"];
191010
191046
  screen = $packages["golang.org/x/exp/shiny/screen"];
191011
191047
  f64 = $packages["golang.org/x/image/math/f64"];
191012
191048
  image = $packages["image"];
@@ -191014,27 +191050,23 @@ $packages["golang.org/x/exp/shiny/driver/canvasdriver"] = (function() {
191014
191050
  draw = $packages["image/draw"];
191015
191051
  sync = $packages["sync"];
191016
191052
  js = $packages["syscall/js"];
191017
- windowImpl = $pkg.windowImpl = $newType(0, $kindStruct, "canvasdriver.windowImpl", true, "golang.org/x/exp/shiny/driver/canvasdriver", false, function(screen_, mutex_, canvasEl_, ctx2d_, released_, domEvents_, resizeCallback_) {
191053
+ 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_) {
191018
191054
  this.$val = this;
191019
191055
  if (arguments.length === 0) {
191020
191056
  this.screen = ptrType.nil;
191021
191057
  this.mutex = ptrType$1.nil;
191022
- this.canvasEl = new js.Value.ptr(null, false, arrayType.zero());
191023
- this.ctx2d = new js.Value.ptr(null, false, arrayType.zero());
191024
- this.released = false;
191058
+ this.jsNaClDecoder = new js.Value.ptr(null, false, arrayType.zero());
191025
191059
  this.domEvents = ptrType$2.nil;
191026
- this.resizeCallback = new js.Func.ptr(new js.Value.ptr(null, false, arrayType.zero()));
191060
+ this.released = false;
191027
191061
  return;
191028
191062
  }
191029
191063
  this.screen = screen_;
191030
191064
  this.mutex = mutex_;
191031
- this.canvasEl = canvasEl_;
191032
- this.ctx2d = ctx2d_;
191033
- this.released = released_;
191065
+ this.jsNaClDecoder = jsNaClDecoder_;
191034
191066
  this.domEvents = domEvents_;
191035
- this.resizeCallback = resizeCallback_;
191067
+ this.released = released_;
191036
191068
  });
191037
- screenImpl = $pkg.screenImpl = $newType(0, $kindStruct, "canvasdriver.screenImpl", true, "golang.org/x/exp/shiny/driver/canvasdriver", false, function(doc_) {
191069
+ screenImpl = $pkg.screenImpl = $newType(0, $kindStruct, "nacldriver.screenImpl", true, "github.com/supraio/client-daemon/pkg/x264/nacldecoder/nacldriver", false, function(doc_) {
191038
191070
  this.$val = this;
191039
191071
  if (arguments.length === 0) {
191040
191072
  this.doc = new js.Value.ptr(null, false, arrayType.zero());
@@ -191042,33 +191074,17 @@ $packages["golang.org/x/exp/shiny/driver/canvasdriver"] = (function() {
191042
191074
  }
191043
191075
  this.doc = doc_;
191044
191076
  });
191045
- YCbCrJS = $pkg.YCbCrJS = $newType(0, $kindStruct, "canvasdriver.YCbCrJS", true, "golang.org/x/exp/shiny/driver/canvasdriver", true, function(CanvasImageSource_) {
191046
- this.$val = this;
191047
- if (arguments.length === 0) {
191048
- this.CanvasImageSource = ptrType$5.nil;
191049
- return;
191050
- }
191051
- this.CanvasImageSource = CanvasImageSource_;
191052
- });
191053
- BufferImpl = $pkg.BufferImpl = $newType(0, $kindStruct, "canvasdriver.BufferImpl", true, "golang.org/x/exp/shiny/driver/canvasdriver", true, function(screen_, size_, mutex_, released_, rgba_, ycbcr_, ycbcrJS_) {
191077
+ BufferImpl = $pkg.BufferImpl = $newType(0, $kindStruct, "nacldriver.BufferImpl", true, "github.com/supraio/client-daemon/pkg/x264/nacldecoder/nacldriver", true, function(pictureResult_, screen_, size_) {
191054
191078
  this.$val = this;
191055
191079
  if (arguments.length === 0) {
191080
+ this.pictureResult = ptrType$3.nil;
191056
191081
  this.screen = ptrType.nil;
191057
191082
  this.size = new image.Point.ptr(0, 0);
191058
- this.mutex = ptrType$1.nil;
191059
- this.released = false;
191060
- this.rgba = new image.RGBA.ptr(sliceType$1.nil, 0, new image.Rectangle.ptr(new image.Point.ptr(0, 0), new image.Point.ptr(0, 0)));
191061
- this.ycbcr = new image.YCbCr.ptr(sliceType$1.nil, sliceType$1.nil, sliceType$1.nil, 0, 0, 0, new image.Rectangle.ptr(new image.Point.ptr(0, 0), new image.Point.ptr(0, 0)));
191062
- this.ycbcrJS = ptrType$4.nil;
191063
191083
  return;
191064
- }
191065
- this.screen = screen_;
191066
- this.size = size_;
191067
- this.mutex = mutex_;
191068
- this.released = released_;
191069
- this.rgba = rgba_;
191070
- this.ycbcr = ycbcr_;
191071
- this.ycbcrJS = ycbcrJS_;
191084
+ }
191085
+ this.pictureResult = pictureResult_;
191086
+ this.screen = screen_;
191087
+ this.size = size_;
191072
191088
  });
191073
191089
  sliceType = $sliceType($emptyInterface);
191074
191090
  ptrType = $ptrType(screenImpl);
@@ -191076,79 +191092,37 @@ $packages["golang.org/x/exp/shiny/driver/canvasdriver"] = (function() {
191076
191092
  funcType = $funcType([], [], false);
191077
191093
  arrayType = $arrayType(funcType, 0);
191078
191094
  ptrType$2 = $ptrType(dom.DomEvents);
191079
- ptrType$3 = $ptrType(BufferImpl);
191080
- sliceType$1 = $sliceType($Uint8);
191081
- ptrType$4 = $ptrType(YCbCrJS);
191082
- ptrType$5 = $ptrType(js.Value);
191095
+ ptrType$3 = $ptrType(js.Value);
191096
+ ptrType$4 = $ptrType(image.RGBA);
191097
+ ptrType$5 = $ptrType(image.YCbCr);
191083
191098
  ptrType$6 = $ptrType(screen.DrawOptions);
191084
191099
  ptrType$7 = $ptrType(windowImpl);
191085
191100
  ptrType$8 = $ptrType(screen.NewWindowOptions);
191086
- ptrType$9 = $ptrType(image.RGBA);
191087
- ptrType$10 = $ptrType(image.YCbCr);
191101
+ ptrType$9 = $ptrType(BufferImpl);
191088
191102
  newWindow = function(screen$1, opts) {
191089
- var {_r, _r$1, _r$2, _r$3, _r$4, _r$5, _r$6, adaptCanvas, canvasEl, ctx2d, domEvents, opts, resizeCallback, screen$1, w, $s, $r, $c} = $restore(this, {screen$1, opts});
191103
+ var {_r, _r$1, _r$2, domEvents, jsNaClDecoder, opts, screen$1, w, $s, $r, $c} = $restore(this, {screen$1, opts});
191090
191104
  /* */ $s = $s || 0; s: while (true) { switch ($s) { case 0:
191091
- adaptCanvas = [adaptCanvas];
191092
- canvasEl = [canvasEl];
191093
- _r = $clone(screen$1.doc, js.Value).Call("createElement", new sliceType([new $String("canvas")])); /* */ $s = 1; case 1: if($c) { $c = false; _r = _r.$blk(); } if (_r && _r.$blk !== undefined) { break s; }
191094
- canvasEl[0] = $clone(_r, js.Value);
191095
- _r$1 = $clone($clone(screen$1.doc, js.Value).Get("body"), js.Value).Call("appendChild", new sliceType([new canvasEl[0].constructor.elem(canvasEl[0])])); /* */ $s = 2; case 2: if($c) { $c = false; _r$1 = _r$1.$blk(); } if (_r$1 && _r$1.$blk !== undefined) { break s; }
191096
- _r$1;
191097
- adaptCanvas[0] = (function(adaptCanvas, canvasEl) { return function() {
191098
- var height, scale, width;
191099
- scale = dom.GetBrowserZoomRatio();
191100
- width = (((dom.GetScreenWidth()) / scale >> 0));
191101
- if (!(($clone($clone(canvasEl[0], js.Value).Get("width"), js.Value).Int() === width))) {
191102
- $clone(canvasEl[0], js.Value).Set("width", new $Int(width));
191103
- }
191104
- height = (((dom.GetScreenHeight()) / scale >> 0));
191105
- if (!(($clone($clone(canvasEl[0], js.Value).Get("height"), js.Value).Int() === height))) {
191106
- $clone(canvasEl[0], js.Value).Set("height", new $Int(height));
191107
- }
191108
- }; })(adaptCanvas, canvasEl);
191109
- $r = adaptCanvas[0](); /* */ $s = 3; case 3: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
191110
- resizeCallback = $clone(js.FuncOf((function(adaptCanvas, canvasEl) { return function $b(this$1, args) {
191111
- var {args, this$1, $s, $r, $c} = $restore(this, {this$1, args});
191112
- /* */ $s = $s || 0; s: while (true) { switch ($s) { case 0:
191113
- $r = adaptCanvas[0](); /* */ $s = 1; case 1: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
191114
- $s = -1; return $ifaceNil;
191115
- /* */ } return; } var $f = {$blk: $b, $c: true, $r, args, this$1, $s};return $f;
191116
- }; })(adaptCanvas, canvasEl)), js.Func);
191117
- _r$2 = $clone(js.Global(), js.Value).Call("addEventListener", new sliceType([new $String("resize"), new resizeCallback.constructor.elem(resizeCallback)])); /* */ $s = 4; case 4: if($c) { $c = false; _r$2 = _r$2.$blk(); } if (_r$2 && _r$2.$blk !== undefined) { break s; }
191118
- _r$2;
191119
- /* */ if (!((opts.Width === 0))) { $s = 5; continue; }
191120
- /* */ $s = 6; continue;
191121
- /* if (!((opts.Width === 0))) { */ case 5:
191122
- $r = dom.SetWindowWidth(opts.Width); /* */ $s = 7; case 7: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
191123
- /* } */ case 6:
191124
- /* */ if (!((opts.Height === 0))) { $s = 8; continue; }
191125
- /* */ $s = 9; continue;
191126
- /* if (!((opts.Height === 0))) { */ case 8:
191127
- $r = dom.SetWindowHeight(opts.Height); /* */ $s = 10; case 10: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
191128
- /* } */ case 9:
191129
- /* */ if (!(opts.Title === "")) { $s = 11; continue; }
191130
- /* */ $s = 12; continue;
191131
- /* if (!(opts.Title === "")) { */ case 11:
191132
- _r$3 = $clone($clone(screen$1.doc, js.Value).Get("head"), js.Value).Call("getElementsByTagName", new sliceType([new $String("title")])); /* */ $s = 13; case 13: if($c) { $c = false; _r$3 = _r$3.$blk(); } if (_r$3 && _r$3.$blk !== undefined) { break s; }
191133
- _r$4 = $clone(_r$3, js.Value).Call("item", new sliceType([new $Int(0)])); /* */ $s = 14; case 14: if($c) { $c = false; _r$4 = _r$4.$blk(); } if (_r$4 && _r$4.$blk !== undefined) { break s; }
191134
- $r = $clone(_r$4, js.Value).Set("innerHTML", new $String(opts.Title)); /* */ $s = 15; case 15: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
191135
- /* } */ case 12:
191136
- _r$5 = $clone(canvasEl[0], js.Value).Call("getContext", new sliceType([new $String("2d")])); /* */ $s = 16; case 16: if($c) { $c = false; _r$5 = _r$5.$blk(); } if (_r$5 && _r$5.$blk !== undefined) { break s; }
191137
- ctx2d = $clone(_r$5, js.Value);
191138
- /* */ if ($clone(ctx2d, js.Value).IsUndefined() || $clone(ctx2d, js.Value).IsNull()) { $s = 17; continue; }
191139
- /* */ $s = 18; continue;
191140
- /* if ($clone(ctx2d, js.Value).IsUndefined() || $clone(ctx2d, js.Value).IsNull()) { */ case 17:
191141
- _r$6 = fmt.Errorf("Cannot get 2d context of canvas", sliceType.nil); /* */ $s = 19; case 19: if($c) { $c = false; _r$6 = _r$6.$blk(); } if (_r$6 && _r$6.$blk !== undefined) { break s; }
191142
- $panic(_r$6);
191143
- /* } */ case 18:
191105
+ /* */ if (!(opts.Title === "")) { $s = 1; continue; }
191106
+ /* */ $s = 2; continue;
191107
+ /* if (!(opts.Title === "")) { */ case 1:
191108
+ _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; }
191109
+ _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; }
191110
+ $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; }
191111
+ /* } */ case 2:
191112
+ jsNaClDecoder = $clone($clone(js.Global(), js.Value).Get("naclDecoder"), js.Value);
191113
+ /* */ if ($clone(jsNaClDecoder, js.Value).IsUndefined()) { $s = 6; continue; }
191114
+ /* */ $s = 7; continue;
191115
+ /* if ($clone(jsNaClDecoder, js.Value).IsUndefined()) { */ case 6:
191116
+ _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; }
191117
+ $panic(_r$2);
191118
+ /* } */ case 7:
191144
191119
  domEvents = dom.NewDomEvents();
191145
- w = new windowImpl.ptr(screen$1, ptrType$1.nil, $clone(canvasEl[0], js.Value), $clone(ctx2d, js.Value), false, domEvents, $clone(resizeCallback, js.Func));
191146
- $r = domEvents.BindEvents(); /* */ $s = 20; case 20: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
191120
+ w = new windowImpl.ptr(screen$1, ptrType$1.nil, $clone(jsNaClDecoder, js.Value), domEvents, false);
191147
191121
  $s = -1; return w;
191148
- /* */ } return; } var $f = {$blk: newWindow, $c: true, $r, _r, _r$1, _r$2, _r$3, _r$4, _r$5, _r$6, adaptCanvas, canvasEl, ctx2d, domEvents, opts, resizeCallback, screen$1, w, $s};return $f;
191122
+ /* */ } return; } var $f = {$blk: newWindow, $c: true, $r, _r, _r$1, _r$2, domEvents, jsNaClDecoder, opts, screen$1, w, $s};return $f;
191149
191123
  };
191150
191124
  windowImpl.ptr.prototype.Release = function() {
191151
- var {_r, _r$1, w, x, $s, $deferred, $r, $c} = $restore(this, {});
191125
+ var {w, $s, $deferred, $r, $c} = $restore(this, {});
191152
191126
  /* */ $s = $s || 0; var $err = null; try { s: while (true) { switch ($s) { case 0: $deferred = []; $curGoroutine.deferStack.push($deferred);
191153
191127
  w = this;
191154
191128
  $r = w.mutex.Lock(); /* */ $s = 1; case 1: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
@@ -191158,15 +191132,10 @@ $packages["golang.org/x/exp/shiny/driver/canvasdriver"] = (function() {
191158
191132
  /* if (w.released) { */ case 2:
191159
191133
  $s = 4; case 4: return;
191160
191134
  /* } */ case 3:
191161
- _r = $clone(js.Global(), js.Value).Call("removeEventListener", new sliceType([new $String("resize"), (x = w.resizeCallback, new x.constructor.elem(x))])); /* */ $s = 5; case 5: if($c) { $c = false; _r = _r.$blk(); } if (_r && _r.$blk !== undefined) { break s; }
191162
- _r;
191163
- $clone(w.resizeCallback, js.Func).Release();
191164
- _r$1 = $clone(w.canvasEl, js.Value).Call("remove", sliceType.nil); /* */ $s = 6; case 6: if($c) { $c = false; _r$1 = _r$1.$blk(); } if (_r$1 && _r$1.$blk !== undefined) { break s; }
191165
- _r$1;
191166
- $r = w.domEvents.Release(); /* */ $s = 7; case 7: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
191135
+ $r = w.domEvents.Release(); /* */ $s = 5; case 5: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
191167
191136
  w.released = true;
191168
191137
  $s = -1; return;
191169
- /* */ } return; } } catch(err) { $err = err; $s = -1; } finally { $callDeferred($deferred, $err); if($curGoroutine.asleep) { var $f = {$blk: windowImpl.ptr.prototype.Release, $c: true, $r, _r, _r$1, w, x, $s, $deferred};return $f; } }
191138
+ /* */ } 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; } }
191170
191139
  };
191171
191140
  windowImpl.prototype.Release = function() { return this.$val.Release(); };
191172
191141
  windowImpl.ptr.prototype.Publish = function() {
@@ -191220,25 +191189,11 @@ $packages["golang.org/x/exp/shiny/driver/canvasdriver"] = (function() {
191220
191189
  };
191221
191190
  windowImpl.prototype.Upload = function(dp, src, sr) { return this.$val.Upload(dp, src, sr); };
191222
191191
  windowImpl.ptr.prototype.UploadYCbCr = function(dp, src, sr) {
191223
- var {_r, _r$1, _ref, dp, jsSrc, sr, src, w, x, $s, $r, $c} = $restore(this, {dp, src, sr});
191224
- /* */ $s = $s || 0; s: while (true) { switch ($s) { case 0:
191192
+ var dp, sr, src, w;
191225
191193
  w = this;
191226
191194
  if (w.released) {
191227
- $s = -1; return;
191195
+ return;
191228
191196
  }
191229
- _ref = src;
191230
- /* */ if ($assertType(_ref, ptrType$3, true)[1]) { $s = 1; continue; }
191231
- /* */ $s = 2; continue;
191232
- /* if ($assertType(_ref, ptrType$3, true)[1]) { */ case 1:
191233
- jsSrc = _ref.$val;
191234
- _r = $clone(w.ctx2d, js.Value).Call("drawImage", new sliceType([(x = jsSrc.YCbCrJS().CanvasImageSource, new x.constructor.elem(x)), new $Int(0), new $Int(0)])); /* */ $s = 3; case 3: if($c) { $c = false; _r = _r.$blk(); } if (_r && _r.$blk !== undefined) { break s; }
191235
- _r;
191236
- $s = -1; return;
191237
- /* } */ case 2:
191238
- _r$1 = fmt.Errorf("Not implemented, use canvasdriver.BufferImpl instead", sliceType.nil); /* */ $s = 4; case 4: if($c) { $c = false; _r$1 = _r$1.$blk(); } if (_r$1 && _r$1.$blk !== undefined) { break s; }
191239
- $panic(_r$1);
191240
- $s = -1; return;
191241
- /* */ } return; } var $f = {$blk: windowImpl.ptr.prototype.UploadYCbCr, $c: true, $r, _r, _r$1, _ref, dp, jsSrc, sr, src, w, x, $s};return $f;
191242
191197
  };
191243
191198
  windowImpl.prototype.UploadYCbCr = function(dp, src, sr) { return this.$val.UploadYCbCr(dp, src, sr); };
191244
191199
  windowImpl.ptr.prototype.Fill = function(dr, src, op) {
@@ -191286,22 +191241,6 @@ $packages["golang.org/x/exp/shiny/driver/canvasdriver"] = (function() {
191286
191241
  $panic(new $String("Not implemented"));
191287
191242
  };
191288
191243
  windowImpl.prototype.Scale = function(dr, src, sr, op, opts) { return this.$val.Scale(dr, src, sr, op, opts); };
191289
- main = function(f) {
191290
- var {_tuple, err, f, retErr, s, $s, $r, $c} = $restore(this, {f});
191291
- /* */ $s = $s || 0; s: while (true) { switch ($s) { case 0:
191292
- retErr = $ifaceNil;
191293
- _tuple = newScreenImpl();
191294
- s = _tuple[0];
191295
- err = _tuple[1];
191296
- if (!($interfaceIsEqual(err, $ifaceNil))) {
191297
- retErr = err;
191298
- $s = -1; return retErr;
191299
- }
191300
- $r = f(s); /* */ $s = 1; case 1: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
191301
- retErr = $ifaceNil;
191302
- $s = -1; return retErr;
191303
- /* */ } return; } var $f = {$blk: main, $c: true, $r, _tuple, err, f, retErr, s, $s};return $f;
191304
- };
191305
191244
  newScreenImpl = function() {
191306
191245
  var s;
191307
191246
  s = new screenImpl.ptr($clone($clone(js.Global(), js.Value).Get("document"), js.Value));
@@ -191334,10 +191273,25 @@ $packages["golang.org/x/exp/shiny/driver/canvasdriver"] = (function() {
191334
191273
  /* */ } return; } var $f = {$blk: screenImpl.ptr.prototype.NewWindow, $c: true, $r, _r, opts, s, window, $s};return $f;
191335
191274
  };
191336
191275
  screenImpl.prototype.NewWindow = function(opts) { return this.$val.NewWindow(opts); };
191276
+ main = function(f) {
191277
+ var {_tuple, err, f, retErr, s, $s, $r, $c} = $restore(this, {f});
191278
+ /* */ $s = $s || 0; s: while (true) { switch ($s) { case 0:
191279
+ retErr = $ifaceNil;
191280
+ _tuple = newScreenImpl();
191281
+ s = _tuple[0];
191282
+ err = _tuple[1];
191283
+ if (!($interfaceIsEqual(err, $ifaceNil))) {
191284
+ retErr = err;
191285
+ $s = -1; return retErr;
191286
+ }
191287
+ $r = f(s); /* */ $s = 1; case 1: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
191288
+ retErr = $ifaceNil;
191289
+ $s = -1; return retErr;
191290
+ /* */ } return; } var $f = {$blk: main, $c: true, $r, _tuple, err, f, retErr, s, $s};return $f;
191291
+ };
191337
191292
  newBuffer = function(screen$1, size) {
191338
- var _q, _q$1, _q$2, b, rect, screen$1, size;
191339
- rect = new image.Rectangle.ptr(new image.Point.ptr(0, 0), $clone(size, image.Point));
191340
- b = new BufferImpl.ptr(screen$1, $clone(size, image.Point), new sync.Mutex.ptr(0, 0), false, $clone(new image.RGBA.ptr($makeSlice(sliceType$1, ($imul(($imul(4, size.X)), size.Y))), $imul(4, size.X), $clone(rect, image.Rectangle)), image.RGBA), $clone(new image.YCbCr.ptr($makeSlice(sliceType$1, ($imul(size.X, size.Y))), $makeSlice(sliceType$1, (_q$1 = ($imul(size.X, size.Y)) / 4, (_q$1 === _q$1 && _q$1 !== 1/0 && _q$1 !== -1/0) ? _q$1 >> 0 : $throwRuntimeError("integer divide by zero"))), $makeSlice(sliceType$1, (_q$2 = ($imul(size.X, size.Y)) / 4, (_q$2 === _q$2 && _q$2 !== 1/0 && _q$2 !== -1/0) ? _q$2 >> 0 : $throwRuntimeError("integer divide by zero"))), size.X, (_q = size.X / 2, (_q === _q && _q !== 1/0 && _q !== -1/0) ? _q >> 0 : $throwRuntimeError("integer divide by zero")), 2, $clone(rect, image.Rectangle)), image.YCbCr), ptrType$4.nil);
191293
+ var b, screen$1, size;
191294
+ b = new BufferImpl.ptr(ptrType$3.nil, screen$1, $clone(size, image.Point));
191341
191295
  return b;
191342
191296
  };
191343
191297
  BufferImpl.ptr.prototype.Size = function() {
@@ -191353,110 +191307,60 @@ $packages["golang.org/x/exp/shiny/driver/canvasdriver"] = (function() {
191353
191307
  };
191354
191308
  BufferImpl.prototype.Bounds = function() { return this.$val.Bounds(); };
191355
191309
  BufferImpl.ptr.prototype.RGBA = function() {
191356
- var b;
191310
+ var {_r, b, $s, $r, $c} = $restore(this, {});
191311
+ /* */ $s = $s || 0; s: while (true) { switch ($s) { case 0:
191357
191312
  b = this;
191358
- return b.rgba;
191313
+ _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; }
191314
+ $panic(_r);
191315
+ $s = -1; return ptrType$4.nil;
191316
+ /* */ } return; } var $f = {$blk: BufferImpl.ptr.prototype.RGBA, $c: true, $r, _r, b, $s};return $f;
191359
191317
  };
191360
191318
  BufferImpl.prototype.RGBA = function() { return this.$val.RGBA(); };
191361
191319
  BufferImpl.ptr.prototype.YCbCr = function() {
191362
- var b;
191320
+ var {_r, b, $s, $r, $c} = $restore(this, {});
191321
+ /* */ $s = $s || 0; s: while (true) { switch ($s) { case 0:
191363
191322
  b = this;
191364
- return b.ycbcr;
191323
+ _r = fmt.Errorf("Not implemented YCbCr(), use PictureResult() instead", sliceType.nil); /* */ $s = 1; case 1: if($c) { $c = false; _r = _r.$blk(); } if (_r && _r.$blk !== undefined) { break s; }
191324
+ $panic(_r);
191325
+ $s = -1; return ptrType$5.nil;
191326
+ /* */ } return; } var $f = {$blk: BufferImpl.ptr.prototype.YCbCr, $c: true, $r, _r, b, $s};return $f;
191365
191327
  };
191366
191328
  BufferImpl.prototype.YCbCr = function() { return this.$val.YCbCr(); };
191367
- BufferImpl.ptr.prototype.YCbCrJS = function() {
191329
+ BufferImpl.ptr.prototype.GetPictureResult = function() {
191368
191330
  var b;
191369
191331
  b = this;
191370
- if (b.ycbcrJS === ptrType$4.nil) {
191371
- b.ycbcrJS = new YCbCrJS.ptr(ptrType$5.nil);
191372
- }
191373
- return b.ycbcrJS;
191332
+ return b.pictureResult;
191374
191333
  };
191375
- BufferImpl.prototype.YCbCrJS = function() { return this.$val.YCbCrJS(); };
191334
+ BufferImpl.prototype.GetPictureResult = function() { return this.$val.GetPictureResult(); };
191335
+ BufferImpl.ptr.prototype.SetPictureResult = function(pictureResult) {
191336
+ var b, pictureResult;
191337
+ b = this;
191338
+ b.pictureResult = pictureResult;
191339
+ };
191340
+ BufferImpl.prototype.SetPictureResult = function(pictureResult) { return this.$val.SetPictureResult(pictureResult); };
191376
191341
  BufferImpl.ptr.prototype.Release = function() {
191377
- var {b, $s, $deferred, $r, $c} = $restore(this, {});
191378
- /* */ $s = $s || 0; var $err = null; try { s: while (true) { switch ($s) { case 0: $deferred = []; $curGoroutine.deferStack.push($deferred);
191342
+ var b;
191379
191343
  b = this;
191380
- $r = b.mutex.Lock(); /* */ $s = 1; case 1: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
191381
- $deferred.push([$methodVal(b.mutex, "Unlock"), []]);
191382
- /* */ if (b.released) { $s = 2; continue; }
191383
- /* */ $s = 3; continue;
191384
- /* if (b.released) { */ case 2:
191385
- $s = 4; case 4: return;
191386
- /* } */ case 3:
191387
- b.released = true;
191388
- $s = -1; return;
191389
- /* */ } return; } } catch(err) { $err = err; $s = -1; } finally { $callDeferred($deferred, $err); if($curGoroutine.asleep) { var $f = {$blk: BufferImpl.ptr.prototype.Release, $c: true, $r, b, $s, $deferred};return $f; } }
191390
191344
  };
191391
191345
  BufferImpl.prototype.Release = function() { return this.$val.Release(); };
191392
191346
  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)}];
191393
191347
  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)}];
191394
- 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$9], false)}, {prop: "YCbCr", name: "YCbCr", pkg: "", typ: $funcType([], [ptrType$10], false)}, {prop: "YCbCrJS", name: "YCbCrJS", pkg: "", typ: $funcType([], [ptrType$4], false)}, {prop: "Release", name: "Release", pkg: "", typ: $funcType([], [], false)}];
191395
- windowImpl.init("golang.org/x/exp/shiny/driver/canvasdriver", [{prop: "screen", name: "screen", embedded: false, exported: false, typ: ptrType, tag: ""}, {prop: "mutex", name: "mutex", embedded: false, exported: false, typ: ptrType$1, tag: ""}, {prop: "canvasEl", name: "canvasEl", embedded: false, exported: false, typ: js.Value, tag: ""}, {prop: "ctx2d", name: "ctx2d", embedded: false, exported: false, typ: js.Value, tag: ""}, {prop: "released", name: "released", embedded: false, exported: false, typ: $Bool, tag: ""}, {prop: "domEvents", name: "domEvents", embedded: false, exported: false, typ: ptrType$2, tag: ""}, {prop: "resizeCallback", name: "resizeCallback", embedded: false, exported: false, typ: js.Func, tag: ""}]);
191396
- screenImpl.init("golang.org/x/exp/shiny/driver/canvasdriver", [{prop: "doc", name: "doc", embedded: false, exported: false, typ: js.Value, tag: ""}]);
191397
- YCbCrJS.init("", [{prop: "CanvasImageSource", name: "CanvasImageSource", embedded: false, exported: true, typ: ptrType$5, tag: ""}]);
191398
- BufferImpl.init("golang.org/x/exp/shiny/driver/canvasdriver", [{prop: "screen", name: "screen", embedded: false, exported: false, typ: ptrType, tag: ""}, {prop: "size", name: "size", embedded: false, exported: false, typ: image.Point, tag: ""}, {prop: "mutex", name: "mutex", embedded: false, exported: false, typ: ptrType$1, tag: ""}, {prop: "released", name: "released", embedded: false, exported: false, typ: $Bool, tag: ""}, {prop: "rgba", name: "rgba", embedded: false, exported: false, typ: image.RGBA, tag: ""}, {prop: "ycbcr", name: "ycbcr", embedded: false, exported: false, typ: image.YCbCr, tag: ""}, {prop: "ycbcrJS", name: "ycbcrJS", embedded: false, exported: false, typ: ptrType$4, tag: ""}]);
191348
+ 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$5], false)}, {prop: "GetPictureResult", name: "GetPictureResult", pkg: "", typ: $funcType([], [ptrType$3], false)}, {prop: "SetPictureResult", name: "SetPictureResult", pkg: "", typ: $funcType([ptrType$3], [], false)}, {prop: "Release", name: "Release", pkg: "", typ: $funcType([], [], false)}];
191349
+ 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: ""}]);
191350
+ screenImpl.init("github.com/supraio/client-daemon/pkg/x264/nacldecoder/nacldriver", [{prop: "doc", name: "doc", embedded: false, exported: false, typ: js.Value, tag: ""}]);
191351
+ BufferImpl.init("github.com/supraio/client-daemon/pkg/x264/nacldecoder/nacldriver", [{prop: "pictureResult", name: "pictureResult", embedded: false, exported: false, typ: ptrType$3, tag: ""}, {prop: "screen", name: "screen", embedded: false, exported: false, typ: ptrType, tag: ""}, {prop: "size", name: "size", embedded: false, exported: false, typ: image.Point, tag: ""}]);
191399
191352
  $init = function() {
191400
191353
  $pkg.$init = function() {};
191401
191354
  /* */ 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:
191402
191355
  $r = fmt.$init(); /* */ $s = 1; case 1: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
191403
191356
  $r = dom.$init(); /* */ $s = 2; case 2: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
191404
- $r = errscreen.$init(); /* */ $s = 3; case 3: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
191405
- $r = screen.$init(); /* */ $s = 4; case 4: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
191406
- $r = f64.$init(); /* */ $s = 5; case 5: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
191407
- $r = image.$init(); /* */ $s = 6; case 6: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
191408
- $r = color.$init(); /* */ $s = 7; case 7: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
191409
- $r = draw.$init(); /* */ $s = 8; case 8: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
191410
- $r = sync.$init(); /* */ $s = 9; case 9: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
191411
- $r = js.$init(); /* */ $s = 10; case 10: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
191412
- /* */ } return; } if ($f === undefined) { $f = { $blk: $init }; } $f.$s = $s; $f.$r = $r; return $f;
191413
- };
191414
- $pkg.$init = $init;
191415
- return $pkg;
191416
- })();
191417
- $packages["github.com/supraio/client-daemon/pkg/x264/webcodecs"] = (function() {
191418
- var $pkg = {}, $init, hex, webgl, errs, jshelper, general, canvasdriver, image, js;
191419
- hex = $packages["encoding/hex"];
191420
- webgl = $packages["github.com/nuberu/webgl"];
191421
- errs = $packages["github.com/supraio/client-daemon/pkg/errs"];
191422
- jshelper = $packages["github.com/supraio/client-daemon/pkg/jshelper"];
191423
- general = $packages["github.com/supraio/client-daemon/pkg/x264/general"];
191424
- canvasdriver = $packages["golang.org/x/exp/shiny/driver/canvasdriver"];
191425
- image = $packages["image"];
191426
- js = $packages["syscall/js"];
191427
- $init = function() {
191428
- $pkg.$init = function() {};
191429
- /* */ 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:
191430
- $r = hex.$init(); /* */ $s = 1; case 1: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
191431
- $r = webgl.$init(); /* */ $s = 2; case 2: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
191432
- $r = errs.$init(); /* */ $s = 3; case 3: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
191433
- $r = jshelper.$init(); /* */ $s = 4; case 4: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
191434
- $r = general.$init(); /* */ $s = 5; case 5: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
191435
- $r = canvasdriver.$init(); /* */ $s = 6; case 6: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
191436
- $r = image.$init(); /* */ $s = 7; case 7: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
191437
- $r = js.$init(); /* */ $s = 8; case 8: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
191438
- /* */ } return; } if ($f === undefined) { $f = { $blk: $init }; } $f.$s = $s; $f.$r = $r; return $f;
191439
- };
191440
- $pkg.$init = $init;
191441
- return $pkg;
191442
- })();
191443
- $packages["github.com/supraio/client-daemon/pkg/x264"] = (function() {
191444
- var $pkg = {}, $init, errs, general, h264_decoder, nacldecoder, webcodecs, js;
191445
- errs = $packages["github.com/supraio/client-daemon/pkg/errs"];
191446
- general = $packages["github.com/supraio/client-daemon/pkg/x264/general"];
191447
- h264_decoder = $packages["github.com/supraio/client-daemon/pkg/x264/h264decoder"];
191448
- nacldecoder = $packages["github.com/supraio/client-daemon/pkg/x264/nacldecoder"];
191449
- webcodecs = $packages["github.com/supraio/client-daemon/pkg/x264/webcodecs"];
191450
- js = $packages["syscall/js"];
191451
- $init = function() {
191452
- $pkg.$init = function() {};
191453
- /* */ 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:
191454
- $r = errs.$init(); /* */ $s = 1; case 1: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
191455
- $r = general.$init(); /* */ $s = 2; case 2: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
191456
- $r = h264_decoder.$init(); /* */ $s = 3; case 3: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
191457
- $r = nacldecoder.$init(); /* */ $s = 4; case 4: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
191458
- $r = webcodecs.$init(); /* */ $s = 5; case 5: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
191459
- $r = js.$init(); /* */ $s = 6; case 6: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
191357
+ $r = screen.$init(); /* */ $s = 3; case 3: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
191358
+ $r = f64.$init(); /* */ $s = 4; case 4: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
191359
+ $r = image.$init(); /* */ $s = 5; case 5: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
191360
+ $r = color.$init(); /* */ $s = 6; case 6: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
191361
+ $r = draw.$init(); /* */ $s = 7; case 7: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
191362
+ $r = sync.$init(); /* */ $s = 8; case 8: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
191363
+ $r = js.$init(); /* */ $s = 9; case 9: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
191460
191364
  /* */ } return; } if ($f === undefined) { $f = { $blk: $init }; } $f.$s = $s; $f.$r = $r; return $f;
191461
191365
  };
191462
191366
  $pkg.$init = $init;