@supraio/client-daemon-js 1.1.0-master.553 → 1.1.0-master.559
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.
- package/daemon.html +1 -1
- package/daemon.js +2 -2
- package/package.json +1 -1
- package/screen.html +1 -1
- package/screen.js +3 -3
- package/sdk.js +5 -5
- package/supra-client-daemon.js +39 -39
- package/supra-client-daemon.js.map +1 -1
- package/supra-client-daemon.wasm +0 -0
- package/supra-client-screen.js +154 -98
- package/supra-client-screen.js.map +1 -1
- package/supra-client-screen.wasm +0 -0
package/supra-client-daemon.wasm
CHANGED
|
Binary file
|
package/supra-client-screen.js
CHANGED
|
@@ -68292,7 +68292,7 @@ $packages["math/rand"] = (function() {
|
|
|
68292
68292
|
return $pkg;
|
|
68293
68293
|
})();
|
|
68294
68294
|
$packages["github.com/supraio/client-daemon/pkg/helper"] = (function() {
|
|
68295
|
-
var $pkg = {}, $init, errs, image, log, rand, os, strconv, strings, syscall, time, sliceType, sliceType$1, ptrType, seededRand, _r, _r$1, _r$2, _r$3, GenerateStringWithCharset, GenerateStringWithLength, NotifyOnStopSignal, WaitOnStopSignal,
|
|
68295
|
+
var $pkg = {}, $init, errs, image, log, rand, os, strconv, strings, syscall, time, sliceType, sliceType$1, ptrType, seededRand, _r, _r$1, _r$2, _r$3, GenerateStringWithCharset, GenerateStringWithLength, NotifyOnStopSignal, WaitOnStopSignal, ParseImagePointFromString;
|
|
68296
68296
|
errs = $packages["github.com/supraio/client-daemon/pkg/errs"];
|
|
68297
68297
|
image = $packages["image"];
|
|
68298
68298
|
log = $packages["log"];
|
|
@@ -68355,17 +68355,6 @@ $packages["github.com/supraio/client-daemon/pkg/helper"] = (function() {
|
|
|
68355
68355
|
/* */ } return; } var $f = {$blk: WaitOnStopSignal, $c: true, $r, _r$4, sig, signalChannel, $s};return $f;
|
|
68356
68356
|
};
|
|
68357
68357
|
$pkg.WaitOnStopSignal = WaitOnStopSignal;
|
|
68358
|
-
ClampedInt64 = function(value, min, max) {
|
|
68359
|
-
var max, min, value;
|
|
68360
|
-
if ((value.$high < min.$high || (value.$high === min.$high && value.$low < min.$low))) {
|
|
68361
|
-
return min;
|
|
68362
|
-
}
|
|
68363
|
-
if ((value.$high > max.$high || (value.$high === max.$high && value.$low > max.$low))) {
|
|
68364
|
-
return max;
|
|
68365
|
-
}
|
|
68366
|
-
return value;
|
|
68367
|
-
};
|
|
68368
|
-
$pkg.ClampedInt64 = ClampedInt64;
|
|
68369
68358
|
ParseImagePointFromString = function(value) {
|
|
68370
68359
|
var {_arg, _r$4, _tuple, _tuple$1, err, height, heightString, parts, value, width, widthString, $s, $r, $c} = $restore(this, {value});
|
|
68371
68360
|
/* */ $s = $s || 0; s: while (true) { switch ($s) { case 0:
|
|
@@ -191501,7 +191490,7 @@ $packages["github.com/supraio/client-daemon/pkg/message"] = (function() {
|
|
|
191501
191490
|
return $pkg;
|
|
191502
191491
|
})();
|
|
191503
191492
|
$packages["github.com/supraio/client-daemon/pkg/input"] = (function() {
|
|
191504
|
-
var $pkg = {}, $init, binary, fmt, errs, message, focus, key, mouse, touch, geom, log, sync, js, time, TouchHandler, MouseHandler, kindCounters, InputSnapshot, EventMetrics, KeyHandler, JsHelper, KeyTransformer, Helper, sliceType, sliceType$1, ptrType, ptrType$1, structType, ptrType$2, ptrType$3, ptrType$4, sliceType$2, ptrType$5, chanType, funcType, mapType, chanType$1, ptrType$6, chanType$2, chanType$3, mapType$1, ptrType$7, chanType$4, chanType$5, ptrType$8, marshalTouchEventJSON, NewTouchHandler, NewMouseHandler, NewEventMetrics, avgMs, msF, avgNano, NewKeyHandler, NewHelper, NewKeyTransformer;
|
|
191493
|
+
var $pkg = {}, $init, binary, fmt, errs, message, focus, key, mouse, touch, geom, log, math, sync, js, time, TouchHandler, MouseHandler, kindCounters, InputSnapshot, EventMetrics, KeyHandler, JsHelper, KeyTransformer, Helper, sliceType, sliceType$1, ptrType, ptrType$1, structType, ptrType$2, ptrType$3, ptrType$4, sliceType$2, ptrType$5, chanType, funcType, mapType, chanType$1, ptrType$6, chanType$2, chanType$3, mapType$1, ptrType$7, chanType$4, chanType$5, ptrType$8, marshalTouchEventJSON, NewTouchHandler, NewMouseHandler, coordinateToUint32, NewEventMetrics, avgMs, msF, avgNano, NewKeyHandler, NewHelper, NewKeyTransformer;
|
|
191505
191494
|
binary = $packages["encoding/binary"];
|
|
191506
191495
|
fmt = $packages["fmt"];
|
|
191507
191496
|
errs = $packages["github.com/supraio/client-daemon/pkg/errs"];
|
|
@@ -191512,6 +191501,7 @@ $packages["github.com/supraio/client-daemon/pkg/input"] = (function() {
|
|
|
191512
191501
|
touch = $packages["golang.org/x/mobile/event/touch"];
|
|
191513
191502
|
geom = $packages["golang.org/x/mobile/geom"];
|
|
191514
191503
|
log = $packages["log"];
|
|
191504
|
+
math = $packages["math"];
|
|
191515
191505
|
sync = $packages["sync"];
|
|
191516
191506
|
js = $packages["syscall/js"];
|
|
191517
191507
|
time = $packages["time"];
|
|
@@ -192008,13 +191998,23 @@ $packages["github.com/supraio/client-daemon/pkg/input"] = (function() {
|
|
|
192008
191998
|
x = $fround((ev.X) * (multiplier.X));
|
|
192009
191999
|
y = $fround((ev.Y) * (multiplier.Y));
|
|
192010
192000
|
mouseXData = $makeSlice(sliceType$1, 4);
|
|
192011
|
-
$clone(binary.BigEndian, binary.bigEndian).PutUint32(mouseXData, (
|
|
192001
|
+
$clone(binary.BigEndian, binary.bigEndian).PutUint32(mouseXData, coordinateToUint32(x));
|
|
192012
192002
|
mouseYData = $makeSlice(sliceType$1, 4);
|
|
192013
|
-
$clone(binary.BigEndian, binary.bigEndian).PutUint32(mouseYData, (
|
|
192003
|
+
$clone(binary.BigEndian, binary.bigEndian).PutUint32(mouseYData, coordinateToUint32(y));
|
|
192014
192004
|
$s = -1; return $appendSlice(mouseButtonData, $appendSlice(mouseDirectionData, $appendSlice(mouseModifierData, $appendSlice(mouseXData, mouseYData))));
|
|
192015
192005
|
/* */ } return; } var $f = {$blk: MouseHandler.ptr.prototype.encodeMouseEvent, $c: true, $r, _r, ev, h, mouseButtonData, mouseDirectionData, mouseModifierData, mouseXData, mouseYData, multiplier, x, y, $s};return $f;
|
|
192016
192006
|
};
|
|
192017
192007
|
MouseHandler.prototype.encodeMouseEvent = function(ev) { return this.$val.encodeMouseEvent(ev); };
|
|
192008
|
+
coordinateToUint32 = function(value) {
|
|
192009
|
+
var value;
|
|
192010
|
+
if (math.IsNaN((value)) || value <= 0) {
|
|
192011
|
+
return 0;
|
|
192012
|
+
}
|
|
192013
|
+
if (value >= 4.294967296e+09) {
|
|
192014
|
+
return 4294967295;
|
|
192015
|
+
}
|
|
192016
|
+
return ((value >> 0));
|
|
192017
|
+
};
|
|
192018
192018
|
NewEventMetrics = function() {
|
|
192019
192019
|
return new EventMetrics.ptr(new sync.Mutex.ptr(0, 0), $makeMap($String.keyFor, [{ k: "mouse", v: new kindCounters.ptr(0, 0, 0, new time.Duration(0, 0), new time.Duration(0, 0), 0, new time.Duration(0, 0)) }, { k: "touch", v: new kindCounters.ptr(0, 0, 0, new time.Duration(0, 0), new time.Duration(0, 0), 0, new time.Duration(0, 0)) }]), new InputSnapshot.ptr(0, 0, 0, new $Int64(0, 0), new $Int64(0, 0), new $Int64(0, 0), 0, 0, 0, new $Int64(0, 0), new $Int64(0, 0), 0, new $Int64(0, 0)), $chanNil, false);
|
|
192020
192020
|
};
|
|
@@ -192446,9 +192446,10 @@ $packages["github.com/supraio/client-daemon/pkg/input"] = (function() {
|
|
|
192446
192446
|
$r = touch.$init(); /* */ $s = 8; case 8: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
|
|
192447
192447
|
$r = geom.$init(); /* */ $s = 9; case 9: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
|
|
192448
192448
|
$r = log.$init(); /* */ $s = 10; case 10: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
|
|
192449
|
-
$r =
|
|
192450
|
-
$r =
|
|
192451
|
-
$r =
|
|
192449
|
+
$r = math.$init(); /* */ $s = 11; case 11: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
|
|
192450
|
+
$r = sync.$init(); /* */ $s = 12; case 12: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
|
|
192451
|
+
$r = js.$init(); /* */ $s = 13; case 13: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
|
|
192452
|
+
$r = time.$init(); /* */ $s = 14; case 14: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
|
|
192452
192453
|
/* */ } return; } if ($f === undefined) { $f = { $blk: $init }; } $f.$s = $s; $f.$r = $r; return $f;
|
|
192453
192454
|
};
|
|
192454
192455
|
$pkg.$init = $init;
|
|
@@ -195094,7 +195095,7 @@ $packages["github.com/supraio/client-daemon/pkg/stats"] = (function() {
|
|
|
195094
195095
|
this.groups = groups_;
|
|
195095
195096
|
});
|
|
195096
195097
|
Frame = $pkg.Frame = $newType(8, $kindInterface, "stats.Frame", true, "github.com/supraio/client-daemon/pkg/stats", true, null);
|
|
195097
|
-
Stats = $pkg.Stats = $newType(0, $kindStruct, "stats.Stats", true, "github.com/supraio/client-daemon/pkg/stats", true, function(stopped_, lastFrameAt_, lastScreenPingAt_, stopwatch_, metrics_, done_, calcStopped_, latency_, serverTimestampAhead_, serverTimestampAheadBuffer_, currentFramesCount_, lastFrameRate_, totalFramesCount_, lastFramesLatencyAverage_, lastFramesLatencyVariance_, longTermFramesLatencyAverage_, longTermFramesLatencyVariance_, lastFramesCollectionAverage_, lastFramesCollectionVariance_, longTermFramesCollectionAverage_, longTermFramesCollectionVariance_, currentThrottledCollectionFramesCount_, lastThrottledCollectionFrameRate_, lastFramesDecodeWriteAverage_, lastFramesDecodeOutputAverage_, lastFramesDecodeWriteVariance_, lastFramesDecodeOutputVariance_, longTermFramesDecodeWriteAverage_, longTermFramesDecodeOutputAverage_, longTermFramesDecodeWriteVariance_, longTermFramesDecodeOutputVariance_, currentThrottledDecodeFramesCount_, lastThrottledDecodeFrameRate_, lastFramesRenderAverage_, lastFramesRenderVariance_, longTermFramesRenderAverage_, longTermFramesRenderVariance_, currentThrottledRenderFramesCount_, lastThrottledRenderFrameRate_, screenResolutionWidth_, screenResolutionHeight_, lastInteractionAt_, encodingPreferences_) {
|
|
195098
|
+
Stats = $pkg.Stats = $newType(0, $kindStruct, "stats.Stats", true, "github.com/supraio/client-daemon/pkg/stats", true, function(stopped_, lastFrameAt_, lastScreenPingAt_, stopwatch_, metrics_, done_, calcStopped_, latency_, serverTimestampAhead_, serverTimestampAheadBuffer_, currentFramesCount_, lastFrameRate_, lastActiveFrameRate_, totalFramesCount_, lastFramesLatencyAverage_, lastFramesLatencyVariance_, longTermFramesLatencyAverage_, longTermFramesLatencyVariance_, lastFramesCollectionAverage_, lastFramesCollectionVariance_, longTermFramesCollectionAverage_, longTermFramesCollectionVariance_, currentThrottledCollectionFramesCount_, lastThrottledCollectionFrameRate_, lastFramesDecodeWriteAverage_, lastFramesDecodeOutputAverage_, lastFramesDecodeWriteVariance_, lastFramesDecodeOutputVariance_, longTermFramesDecodeWriteAverage_, longTermFramesDecodeOutputAverage_, longTermFramesDecodeWriteVariance_, longTermFramesDecodeOutputVariance_, currentThrottledDecodeFramesCount_, lastThrottledDecodeFrameRate_, lastFramesRenderAverage_, lastFramesRenderVariance_, longTermFramesRenderAverage_, longTermFramesRenderVariance_, currentThrottledRenderFramesCount_, lastThrottledRenderFrameRate_, screenResolutionWidth_, screenResolutionHeight_, lastInteractionAt_, encodingPreferences_) {
|
|
195098
195099
|
this.$val = this;
|
|
195099
195100
|
if (arguments.length === 0) {
|
|
195100
195101
|
this.stopped = false;
|
|
@@ -195109,6 +195110,7 @@ $packages["github.com/supraio/client-daemon/pkg/stats"] = (function() {
|
|
|
195109
195110
|
this.serverTimestampAheadBuffer = sliceType$1.nil;
|
|
195110
195111
|
this.currentFramesCount = 0;
|
|
195111
195112
|
this.lastFrameRate = 0;
|
|
195113
|
+
this.lastActiveFrameRate = 0;
|
|
195112
195114
|
this.totalFramesCount = 0;
|
|
195113
195115
|
this.lastFramesLatencyAverage = new time.Duration(0, 0);
|
|
195114
195116
|
this.lastFramesLatencyVariance = new time.Duration(0, 0);
|
|
@@ -195154,6 +195156,7 @@ $packages["github.com/supraio/client-daemon/pkg/stats"] = (function() {
|
|
|
195154
195156
|
this.serverTimestampAheadBuffer = serverTimestampAheadBuffer_;
|
|
195155
195157
|
this.currentFramesCount = currentFramesCount_;
|
|
195156
195158
|
this.lastFrameRate = lastFrameRate_;
|
|
195159
|
+
this.lastActiveFrameRate = lastActiveFrameRate_;
|
|
195157
195160
|
this.totalFramesCount = totalFramesCount_;
|
|
195158
195161
|
this.lastFramesLatencyAverage = lastFramesLatencyAverage_;
|
|
195159
195162
|
this.lastFramesLatencyVariance = lastFramesLatencyVariance_;
|
|
@@ -195375,7 +195378,7 @@ $packages["github.com/supraio/client-daemon/pkg/stats"] = (function() {
|
|
|
195375
195378
|
_r = time.Now(); /* */ $s = 1; case 1: if($c) { $c = false; _r = _r.$blk(); } if (_r && _r.$blk !== undefined) { break s; }
|
|
195376
195379
|
_r$1 = time.Now(); /* */ $s = 2; case 2: if($c) { $c = false; _r$1 = _r$1.$blk(); } if (_r$1 && _r$1.$blk !== undefined) { break s; }
|
|
195377
195380
|
_r$2 = time.Now(); /* */ $s = 3; case 3: if($c) { $c = false; _r$2 = _r$2.$blk(); } if (_r$2 && _r$2.$blk !== undefined) { break s; }
|
|
195378
|
-
s = new Stats.ptr(false, $clone(_r, time.Time), $clone(_r$1, time.Time), NewStopwatch(), NewMetrics(), new $Chan(structType, 0), new $Chan(structType, 0), new time.Duration(0, 0), new time.Duration(0, 0), sliceType$1.nil, 0, 0, 0, new time.Duration(0, 0), new time.Duration(0, 0), new time.Duration(0, 0), new time.Duration(0, 0), new time.Duration(0, 0), new time.Duration(0, 0), new time.Duration(0, 0), new time.Duration(0, 0), 0, 0, new time.Duration(0, 0), new time.Duration(0, 0), new time.Duration(0, 0), new time.Duration(0, 0), new time.Duration(0, 0), new time.Duration(0, 0), new time.Duration(0, 0), new time.Duration(0, 0), 0, 0, new time.Duration(0, 0), new time.Duration(0, 0), new time.Duration(0, 0), new time.Duration(0, 0), 0, 0, 0, 0, $clone(_r$2, time.Time), new EncodingPreferences.ptr(0, 0, "", "", ""));
|
|
195381
|
+
s = new Stats.ptr(false, $clone(_r, time.Time), $clone(_r$1, time.Time), NewStopwatch(), NewMetrics(), new $Chan(structType, 0), new $Chan(structType, 0), new time.Duration(0, 0), new time.Duration(0, 0), sliceType$1.nil, 0, 0, 0, 0, new time.Duration(0, 0), new time.Duration(0, 0), new time.Duration(0, 0), new time.Duration(0, 0), new time.Duration(0, 0), new time.Duration(0, 0), new time.Duration(0, 0), new time.Duration(0, 0), 0, 0, new time.Duration(0, 0), new time.Duration(0, 0), new time.Duration(0, 0), new time.Duration(0, 0), new time.Duration(0, 0), new time.Duration(0, 0), new time.Duration(0, 0), new time.Duration(0, 0), 0, 0, new time.Duration(0, 0), new time.Duration(0, 0), new time.Duration(0, 0), new time.Duration(0, 0), 0, 0, 0, 0, $clone(_r$2, time.Time), new EncodingPreferences.ptr(0, 0, "", "", ""));
|
|
195379
195382
|
$go($methodVal(s, "startCalculations"), []);
|
|
195380
195383
|
$s = -1; return s;
|
|
195381
195384
|
/* */ } return; } var $f = {$blk: NewStats, $c: true, $r, _r, _r$1, _r$2, s, $s};return $f;
|
|
@@ -195602,6 +195605,23 @@ $packages["github.com/supraio/client-daemon/pkg/stats"] = (function() {
|
|
|
195602
195605
|
return s.lastFrameRate;
|
|
195603
195606
|
};
|
|
195604
195607
|
Stats.prototype.GetFrameRate = function() { return this.$val.GetFrameRate(); };
|
|
195608
|
+
Stats.ptr.prototype.GetLastActiveFrameRate = function() {
|
|
195609
|
+
var s;
|
|
195610
|
+
s = this;
|
|
195611
|
+
return s.lastActiveFrameRate;
|
|
195612
|
+
};
|
|
195613
|
+
Stats.prototype.GetLastActiveFrameRate = function() { return this.$val.GetLastActiveFrameRate(); };
|
|
195614
|
+
Stats.ptr.prototype.rotateFrameRate = function() {
|
|
195615
|
+
var s;
|
|
195616
|
+
s = this;
|
|
195617
|
+
s.lastFrameRate = s.currentFramesCount;
|
|
195618
|
+
s.currentFramesCount = 0;
|
|
195619
|
+
s.totalFramesCount = s.totalFramesCount + (s.lastFrameRate) >> 0;
|
|
195620
|
+
if (s.lastFrameRate > 0) {
|
|
195621
|
+
s.lastActiveFrameRate = s.lastFrameRate;
|
|
195622
|
+
}
|
|
195623
|
+
};
|
|
195624
|
+
Stats.prototype.rotateFrameRate = function() { return this.$val.rotateFrameRate(); };
|
|
195605
195625
|
Stats.ptr.prototype.startCalculations = function() {
|
|
195606
195626
|
var {_arg, _r, _r$1, _r$10, _r$11, _r$12, _r$13, _r$14, _r$15, _r$16, _r$17, _r$18, _r$19, _r$2, _r$20, _r$21, _r$3, _r$4, _r$5, _r$6, _r$7, _r$8, _r$9, _selection, s, $s, $deferred, $r, $c} = $restore(this, {});
|
|
195607
195627
|
/* */ $s = $s || 0; var $err = null; try { s: while (true) { switch ($s) { case 0: $deferred = []; $curGoroutine.deferStack.push($deferred);
|
|
@@ -195609,9 +195629,7 @@ $packages["github.com/supraio/client-daemon/pkg/stats"] = (function() {
|
|
|
195609
195629
|
$deferred.push([function(_arg) { $close(_arg); }, [s.calcStopped]]);
|
|
195610
195630
|
/* while (true) { */ case 1:
|
|
195611
195631
|
/* if (!(!s.stopped)) { break; } */ if(!(!s.stopped)) { $s = 2; continue; }
|
|
195612
|
-
s.
|
|
195613
|
-
s.currentFramesCount = 0;
|
|
195614
|
-
s.totalFramesCount = s.totalFramesCount + (s.lastFrameRate) >> 0;
|
|
195632
|
+
s.rotateFrameRate();
|
|
195615
195633
|
s.lastThrottledCollectionFrameRate = s.currentThrottledCollectionFramesCount;
|
|
195616
195634
|
s.currentThrottledCollectionFramesCount = 0;
|
|
195617
195635
|
s.lastThrottledDecodeFrameRate = s.currentThrottledDecodeFramesCount;
|
|
@@ -195885,11 +195903,11 @@ $packages["github.com/supraio/client-daemon/pkg/stats"] = (function() {
|
|
|
195885
195903
|
return (new time.Duration(0, math.Sqrt(sum / (values.$length))));
|
|
195886
195904
|
};
|
|
195887
195905
|
ptrType$1.methods = [{prop: "Start", name: "Start", pkg: "", typ: $funcType([$String], [], false)}, {prop: "Stop", name: "Stop", pkg: "", typ: $funcType([$String], [time.Duration], false)}];
|
|
195888
|
-
ptrType$5.methods = [{prop: "Stop", name: "Stop", pkg: "", typ: $funcType([], [], false)}, {prop: "GetClientStats", name: "GetClientStats", pkg: "", typ: $funcType([], [ptrType$3], false)}, {prop: "SetLatency", name: "SetLatency", pkg: "", typ: $funcType([time.Duration], [], false)}, {prop: "UpdateServerTimestampAhead", name: "UpdateServerTimestampAhead", pkg: "", typ: $funcType([time.Duration], [], false)}, {prop: "SetScreenResolution", name: "SetScreenResolution", pkg: "", typ: $funcType([ptrType$4], [], false)}, {prop: "NotifyFrame", name: "NotifyFrame", pkg: "", typ: $funcType([Frame], [], false)}, {prop: "NotifyScreenPing", name: "NotifyScreenPing", pkg: "", typ: $funcType([], [], false)}, {prop: "NotifyFrameCollectionStarted", name: "NotifyFrameCollectionStarted", pkg: "", typ: $funcType([], [], false)}, {prop: "NotifyFrameCollectionEnded", name: "NotifyFrameCollectionEnded", pkg: "", typ: $funcType([], [], false)}, {prop: "NotifyFrameCollectionDuration", name: "NotifyFrameCollectionDuration", pkg: "", typ: $funcType([time.Duration], [], false)}, {prop: "NotifyThrottledCollectionFrame", name: "NotifyThrottledCollectionFrame", pkg: "", typ: $funcType([], [], false)}, {prop: "NotifyFrameDecodeWriteStarted", name: "NotifyFrameDecodeWriteStarted", pkg: "", typ: $funcType([], [], false)}, {prop: "NotifyFrameDecodeWriteEnded", name: "NotifyFrameDecodeWriteEnded", pkg: "", typ: $funcType([], [], false)}, {prop: "NotifyFrameDecodeOutputStarted", name: "NotifyFrameDecodeOutputStarted", pkg: "", typ: $funcType([], [], false)}, {prop: "NotifyFrameDecodeOutputEnded", name: "NotifyFrameDecodeOutputEnded", pkg: "", typ: $funcType([], [], false)}, {prop: "NotifyThrottledDecodeFrame", name: "NotifyThrottledDecodeFrame", pkg: "", typ: $funcType([], [], false)}, {prop: "NotifyFrameRenderStarted", name: "NotifyFrameRenderStarted", pkg: "", typ: $funcType([], [], false)}, {prop: "NotifyFrameRenderEnded", name: "NotifyFrameRenderEnded", pkg: "", typ: $funcType([], [], false)}, {prop: "NotifyThrottledRenderFrame", name: "NotifyThrottledRenderFrame", pkg: "", typ: $funcType([], [], false)}, {prop: "GetLastFrameAt", name: "GetLastFrameAt", pkg: "", typ: $funcType([], [time.Time], false)}, {prop: "GetLastScreenPingAt", name: "GetLastScreenPingAt", pkg: "", typ: $funcType([], [time.Time], false)}, {prop: "GetLastScreenImpulseAt", name: "GetLastScreenImpulseAt", pkg: "", typ: $funcType([], [time.Time], false)}, {prop: "GetFrameRate", name: "GetFrameRate", pkg: "", typ: $funcType([], [$Int], false)}, {prop: "startCalculations", name: "startCalculations", pkg: "github.com/supraio/client-daemon/pkg/stats", typ: $funcType([], [], false)}, {prop: "print", name: "print", pkg: "github.com/supraio/client-daemon/pkg/stats", typ: $funcType([], [], false)}, {prop: "GetServerTime", name: "GetServerTime", pkg: "", typ: $funcType([], [time.Time], false)}, {prop: "NotifyInteraction", name: "NotifyInteraction", pkg: "", typ: $funcType([], [], false)}, {prop: "GetInteractionWaitMultiplier", name: "GetInteractionWaitMultiplier", pkg: "", typ: $funcType([], [$Float64], false)}, {prop: "SetEncodingPreferences", name: "SetEncodingPreferences", pkg: "", typ: $funcType([EncodingPreferences], [], false)}];
|
|
195906
|
+
ptrType$5.methods = [{prop: "Stop", name: "Stop", pkg: "", typ: $funcType([], [], false)}, {prop: "GetClientStats", name: "GetClientStats", pkg: "", typ: $funcType([], [ptrType$3], false)}, {prop: "SetLatency", name: "SetLatency", pkg: "", typ: $funcType([time.Duration], [], false)}, {prop: "UpdateServerTimestampAhead", name: "UpdateServerTimestampAhead", pkg: "", typ: $funcType([time.Duration], [], false)}, {prop: "SetScreenResolution", name: "SetScreenResolution", pkg: "", typ: $funcType([ptrType$4], [], false)}, {prop: "NotifyFrame", name: "NotifyFrame", pkg: "", typ: $funcType([Frame], [], false)}, {prop: "NotifyScreenPing", name: "NotifyScreenPing", pkg: "", typ: $funcType([], [], false)}, {prop: "NotifyFrameCollectionStarted", name: "NotifyFrameCollectionStarted", pkg: "", typ: $funcType([], [], false)}, {prop: "NotifyFrameCollectionEnded", name: "NotifyFrameCollectionEnded", pkg: "", typ: $funcType([], [], false)}, {prop: "NotifyFrameCollectionDuration", name: "NotifyFrameCollectionDuration", pkg: "", typ: $funcType([time.Duration], [], false)}, {prop: "NotifyThrottledCollectionFrame", name: "NotifyThrottledCollectionFrame", pkg: "", typ: $funcType([], [], false)}, {prop: "NotifyFrameDecodeWriteStarted", name: "NotifyFrameDecodeWriteStarted", pkg: "", typ: $funcType([], [], false)}, {prop: "NotifyFrameDecodeWriteEnded", name: "NotifyFrameDecodeWriteEnded", pkg: "", typ: $funcType([], [], false)}, {prop: "NotifyFrameDecodeOutputStarted", name: "NotifyFrameDecodeOutputStarted", pkg: "", typ: $funcType([], [], false)}, {prop: "NotifyFrameDecodeOutputEnded", name: "NotifyFrameDecodeOutputEnded", pkg: "", typ: $funcType([], [], false)}, {prop: "NotifyThrottledDecodeFrame", name: "NotifyThrottledDecodeFrame", pkg: "", typ: $funcType([], [], false)}, {prop: "NotifyFrameRenderStarted", name: "NotifyFrameRenderStarted", pkg: "", typ: $funcType([], [], false)}, {prop: "NotifyFrameRenderEnded", name: "NotifyFrameRenderEnded", pkg: "", typ: $funcType([], [], false)}, {prop: "NotifyThrottledRenderFrame", name: "NotifyThrottledRenderFrame", pkg: "", typ: $funcType([], [], false)}, {prop: "GetLastFrameAt", name: "GetLastFrameAt", pkg: "", typ: $funcType([], [time.Time], false)}, {prop: "GetLastScreenPingAt", name: "GetLastScreenPingAt", pkg: "", typ: $funcType([], [time.Time], false)}, {prop: "GetLastScreenImpulseAt", name: "GetLastScreenImpulseAt", pkg: "", typ: $funcType([], [time.Time], false)}, {prop: "GetFrameRate", name: "GetFrameRate", pkg: "", typ: $funcType([], [$Int], false)}, {prop: "GetLastActiveFrameRate", name: "GetLastActiveFrameRate", pkg: "", typ: $funcType([], [$Int], false)}, {prop: "rotateFrameRate", name: "rotateFrameRate", pkg: "github.com/supraio/client-daemon/pkg/stats", typ: $funcType([], [], false)}, {prop: "startCalculations", name: "startCalculations", pkg: "github.com/supraio/client-daemon/pkg/stats", typ: $funcType([], [], false)}, {prop: "print", name: "print", pkg: "github.com/supraio/client-daemon/pkg/stats", typ: $funcType([], [], false)}, {prop: "GetServerTime", name: "GetServerTime", pkg: "", typ: $funcType([], [time.Time], false)}, {prop: "NotifyInteraction", name: "NotifyInteraction", pkg: "", typ: $funcType([], [], false)}, {prop: "GetInteractionWaitMultiplier", name: "GetInteractionWaitMultiplier", pkg: "", typ: $funcType([], [$Float64], false)}, {prop: "SetEncodingPreferences", name: "SetEncodingPreferences", pkg: "", typ: $funcType([EncodingPreferences], [], false)}];
|
|
195889
195907
|
ptrType$2.methods = [{prop: "AddSample", name: "AddSample", pkg: "", typ: $funcType([$String, sliceType$1], [], true)}, {prop: "GetCount", name: "GetCount", pkg: "", typ: $funcType([$String], [$Int], false)}, {prop: "GetAverage", name: "GetAverage", pkg: "", typ: $funcType([$String], [time.Duration], false)}, {prop: "GetVariance", name: "GetVariance", pkg: "", typ: $funcType([$String], [time.Duration], false)}, {prop: "RemoveOldest", name: "RemoveOldest", pkg: "", typ: $funcType([$String, $Int], [], false)}, {prop: "Reset", name: "Reset", pkg: "", typ: $funcType([$String], [], false)}];
|
|
195890
195908
|
Stopwatch.init("github.com/supraio/client-daemon/pkg/stats", [{prop: "mutex", name: "mutex", embedded: false, exported: false, typ: sync.Mutex, tag: ""}, {prop: "groups", name: "groups", embedded: false, exported: false, typ: mapType, tag: ""}]);
|
|
195891
195909
|
Frame.init([{prop: "GetTimestamp", name: "GetTimestamp", pkg: "", typ: $funcType([], [time.Time], false)}]);
|
|
195892
|
-
Stats.init("github.com/supraio/client-daemon/pkg/stats", [{prop: "stopped", name: "stopped", embedded: false, exported: false, typ: $Bool, tag: ""}, {prop: "lastFrameAt", name: "lastFrameAt", embedded: false, exported: false, typ: time.Time, tag: ""}, {prop: "lastScreenPingAt", name: "lastScreenPingAt", embedded: false, exported: false, typ: time.Time, tag: ""}, {prop: "stopwatch", name: "stopwatch", embedded: false, exported: false, typ: ptrType$1, tag: ""}, {prop: "metrics", name: "metrics", embedded: false, exported: false, typ: ptrType$2, tag: ""}, {prop: "done", name: "done", embedded: false, exported: false, typ: chanType, tag: ""}, {prop: "calcStopped", name: "calcStopped", embedded: false, exported: false, typ: chanType, tag: ""}, {prop: "latency", name: "latency", embedded: false, exported: false, typ: time.Duration, tag: ""}, {prop: "serverTimestampAhead", name: "serverTimestampAhead", embedded: false, exported: false, typ: time.Duration, tag: ""}, {prop: "serverTimestampAheadBuffer", name: "serverTimestampAheadBuffer", embedded: false, exported: false, typ: sliceType$1, tag: ""}, {prop: "currentFramesCount", name: "currentFramesCount", embedded: false, exported: false, typ: $Int, tag: ""}, {prop: "lastFrameRate", name: "lastFrameRate", embedded: false, exported: false, typ: $Int, tag: ""}, {prop: "totalFramesCount", name: "totalFramesCount", embedded: false, exported: false, typ: $Int, tag: ""}, {prop: "lastFramesLatencyAverage", name: "lastFramesLatencyAverage", embedded: false, exported: false, typ: time.Duration, tag: ""}, {prop: "lastFramesLatencyVariance", name: "lastFramesLatencyVariance", embedded: false, exported: false, typ: time.Duration, tag: ""}, {prop: "longTermFramesLatencyAverage", name: "longTermFramesLatencyAverage", embedded: false, exported: false, typ: time.Duration, tag: ""}, {prop: "longTermFramesLatencyVariance", name: "longTermFramesLatencyVariance", embedded: false, exported: false, typ: time.Duration, tag: ""}, {prop: "lastFramesCollectionAverage", name: "lastFramesCollectionAverage", embedded: false, exported: false, typ: time.Duration, tag: ""}, {prop: "lastFramesCollectionVariance", name: "lastFramesCollectionVariance", embedded: false, exported: false, typ: time.Duration, tag: ""}, {prop: "longTermFramesCollectionAverage", name: "longTermFramesCollectionAverage", embedded: false, exported: false, typ: time.Duration, tag: ""}, {prop: "longTermFramesCollectionVariance", name: "longTermFramesCollectionVariance", embedded: false, exported: false, typ: time.Duration, tag: ""}, {prop: "currentThrottledCollectionFramesCount", name: "currentThrottledCollectionFramesCount", embedded: false, exported: false, typ: $Int, tag: ""}, {prop: "lastThrottledCollectionFrameRate", name: "lastThrottledCollectionFrameRate", embedded: false, exported: false, typ: $Int, tag: ""}, {prop: "lastFramesDecodeWriteAverage", name: "lastFramesDecodeWriteAverage", embedded: false, exported: false, typ: time.Duration, tag: ""}, {prop: "lastFramesDecodeOutputAverage", name: "lastFramesDecodeOutputAverage", embedded: false, exported: false, typ: time.Duration, tag: ""}, {prop: "lastFramesDecodeWriteVariance", name: "lastFramesDecodeWriteVariance", embedded: false, exported: false, typ: time.Duration, tag: ""}, {prop: "lastFramesDecodeOutputVariance", name: "lastFramesDecodeOutputVariance", embedded: false, exported: false, typ: time.Duration, tag: ""}, {prop: "longTermFramesDecodeWriteAverage", name: "longTermFramesDecodeWriteAverage", embedded: false, exported: false, typ: time.Duration, tag: ""}, {prop: "longTermFramesDecodeOutputAverage", name: "longTermFramesDecodeOutputAverage", embedded: false, exported: false, typ: time.Duration, tag: ""}, {prop: "longTermFramesDecodeWriteVariance", name: "longTermFramesDecodeWriteVariance", embedded: false, exported: false, typ: time.Duration, tag: ""}, {prop: "longTermFramesDecodeOutputVariance", name: "longTermFramesDecodeOutputVariance", embedded: false, exported: false, typ: time.Duration, tag: ""}, {prop: "currentThrottledDecodeFramesCount", name: "currentThrottledDecodeFramesCount", embedded: false, exported: false, typ: $Int, tag: ""}, {prop: "lastThrottledDecodeFrameRate", name: "lastThrottledDecodeFrameRate", embedded: false, exported: false, typ: $Int, tag: ""}, {prop: "lastFramesRenderAverage", name: "lastFramesRenderAverage", embedded: false, exported: false, typ: time.Duration, tag: ""}, {prop: "lastFramesRenderVariance", name: "lastFramesRenderVariance", embedded: false, exported: false, typ: time.Duration, tag: ""}, {prop: "longTermFramesRenderAverage", name: "longTermFramesRenderAverage", embedded: false, exported: false, typ: time.Duration, tag: ""}, {prop: "longTermFramesRenderVariance", name: "longTermFramesRenderVariance", embedded: false, exported: false, typ: time.Duration, tag: ""}, {prop: "currentThrottledRenderFramesCount", name: "currentThrottledRenderFramesCount", embedded: false, exported: false, typ: $Int, tag: ""}, {prop: "lastThrottledRenderFrameRate", name: "lastThrottledRenderFrameRate", embedded: false, exported: false, typ: $Int, tag: ""}, {prop: "screenResolutionWidth", name: "screenResolutionWidth", embedded: false, exported: false, typ: $Uint32, tag: ""}, {prop: "screenResolutionHeight", name: "screenResolutionHeight", embedded: false, exported: false, typ: $Uint32, tag: ""}, {prop: "lastInteractionAt", name: "lastInteractionAt", embedded: false, exported: false, typ: time.Time, tag: ""}, {prop: "encodingPreferences", name: "encodingPreferences", embedded: false, exported: false, typ: EncodingPreferences, tag: ""}]);
|
|
195910
|
+
Stats.init("github.com/supraio/client-daemon/pkg/stats", [{prop: "stopped", name: "stopped", embedded: false, exported: false, typ: $Bool, tag: ""}, {prop: "lastFrameAt", name: "lastFrameAt", embedded: false, exported: false, typ: time.Time, tag: ""}, {prop: "lastScreenPingAt", name: "lastScreenPingAt", embedded: false, exported: false, typ: time.Time, tag: ""}, {prop: "stopwatch", name: "stopwatch", embedded: false, exported: false, typ: ptrType$1, tag: ""}, {prop: "metrics", name: "metrics", embedded: false, exported: false, typ: ptrType$2, tag: ""}, {prop: "done", name: "done", embedded: false, exported: false, typ: chanType, tag: ""}, {prop: "calcStopped", name: "calcStopped", embedded: false, exported: false, typ: chanType, tag: ""}, {prop: "latency", name: "latency", embedded: false, exported: false, typ: time.Duration, tag: ""}, {prop: "serverTimestampAhead", name: "serverTimestampAhead", embedded: false, exported: false, typ: time.Duration, tag: ""}, {prop: "serverTimestampAheadBuffer", name: "serverTimestampAheadBuffer", embedded: false, exported: false, typ: sliceType$1, tag: ""}, {prop: "currentFramesCount", name: "currentFramesCount", embedded: false, exported: false, typ: $Int, tag: ""}, {prop: "lastFrameRate", name: "lastFrameRate", embedded: false, exported: false, typ: $Int, tag: ""}, {prop: "lastActiveFrameRate", name: "lastActiveFrameRate", embedded: false, exported: false, typ: $Int, tag: ""}, {prop: "totalFramesCount", name: "totalFramesCount", embedded: false, exported: false, typ: $Int, tag: ""}, {prop: "lastFramesLatencyAverage", name: "lastFramesLatencyAverage", embedded: false, exported: false, typ: time.Duration, tag: ""}, {prop: "lastFramesLatencyVariance", name: "lastFramesLatencyVariance", embedded: false, exported: false, typ: time.Duration, tag: ""}, {prop: "longTermFramesLatencyAverage", name: "longTermFramesLatencyAverage", embedded: false, exported: false, typ: time.Duration, tag: ""}, {prop: "longTermFramesLatencyVariance", name: "longTermFramesLatencyVariance", embedded: false, exported: false, typ: time.Duration, tag: ""}, {prop: "lastFramesCollectionAverage", name: "lastFramesCollectionAverage", embedded: false, exported: false, typ: time.Duration, tag: ""}, {prop: "lastFramesCollectionVariance", name: "lastFramesCollectionVariance", embedded: false, exported: false, typ: time.Duration, tag: ""}, {prop: "longTermFramesCollectionAverage", name: "longTermFramesCollectionAverage", embedded: false, exported: false, typ: time.Duration, tag: ""}, {prop: "longTermFramesCollectionVariance", name: "longTermFramesCollectionVariance", embedded: false, exported: false, typ: time.Duration, tag: ""}, {prop: "currentThrottledCollectionFramesCount", name: "currentThrottledCollectionFramesCount", embedded: false, exported: false, typ: $Int, tag: ""}, {prop: "lastThrottledCollectionFrameRate", name: "lastThrottledCollectionFrameRate", embedded: false, exported: false, typ: $Int, tag: ""}, {prop: "lastFramesDecodeWriteAverage", name: "lastFramesDecodeWriteAverage", embedded: false, exported: false, typ: time.Duration, tag: ""}, {prop: "lastFramesDecodeOutputAverage", name: "lastFramesDecodeOutputAverage", embedded: false, exported: false, typ: time.Duration, tag: ""}, {prop: "lastFramesDecodeWriteVariance", name: "lastFramesDecodeWriteVariance", embedded: false, exported: false, typ: time.Duration, tag: ""}, {prop: "lastFramesDecodeOutputVariance", name: "lastFramesDecodeOutputVariance", embedded: false, exported: false, typ: time.Duration, tag: ""}, {prop: "longTermFramesDecodeWriteAverage", name: "longTermFramesDecodeWriteAverage", embedded: false, exported: false, typ: time.Duration, tag: ""}, {prop: "longTermFramesDecodeOutputAverage", name: "longTermFramesDecodeOutputAverage", embedded: false, exported: false, typ: time.Duration, tag: ""}, {prop: "longTermFramesDecodeWriteVariance", name: "longTermFramesDecodeWriteVariance", embedded: false, exported: false, typ: time.Duration, tag: ""}, {prop: "longTermFramesDecodeOutputVariance", name: "longTermFramesDecodeOutputVariance", embedded: false, exported: false, typ: time.Duration, tag: ""}, {prop: "currentThrottledDecodeFramesCount", name: "currentThrottledDecodeFramesCount", embedded: false, exported: false, typ: $Int, tag: ""}, {prop: "lastThrottledDecodeFrameRate", name: "lastThrottledDecodeFrameRate", embedded: false, exported: false, typ: $Int, tag: ""}, {prop: "lastFramesRenderAverage", name: "lastFramesRenderAverage", embedded: false, exported: false, typ: time.Duration, tag: ""}, {prop: "lastFramesRenderVariance", name: "lastFramesRenderVariance", embedded: false, exported: false, typ: time.Duration, tag: ""}, {prop: "longTermFramesRenderAverage", name: "longTermFramesRenderAverage", embedded: false, exported: false, typ: time.Duration, tag: ""}, {prop: "longTermFramesRenderVariance", name: "longTermFramesRenderVariance", embedded: false, exported: false, typ: time.Duration, tag: ""}, {prop: "currentThrottledRenderFramesCount", name: "currentThrottledRenderFramesCount", embedded: false, exported: false, typ: $Int, tag: ""}, {prop: "lastThrottledRenderFrameRate", name: "lastThrottledRenderFrameRate", embedded: false, exported: false, typ: $Int, tag: ""}, {prop: "screenResolutionWidth", name: "screenResolutionWidth", embedded: false, exported: false, typ: $Uint32, tag: ""}, {prop: "screenResolutionHeight", name: "screenResolutionHeight", embedded: false, exported: false, typ: $Uint32, tag: ""}, {prop: "lastInteractionAt", name: "lastInteractionAt", embedded: false, exported: false, typ: time.Time, tag: ""}, {prop: "encodingPreferences", name: "encodingPreferences", embedded: false, exported: false, typ: EncodingPreferences, tag: ""}]);
|
|
195893
195911
|
Metrics.init("github.com/supraio/client-daemon/pkg/stats", [{prop: "mutex", name: "mutex", embedded: false, exported: false, typ: sync.Mutex, tag: ""}, {prop: "groups", name: "groups", embedded: false, exported: false, typ: mapType$1, tag: ""}]);
|
|
195894
195912
|
EncodingPreferences.init("", [{prop: "PreferredQualityIndex", name: "PreferredQualityIndex", embedded: false, exported: true, typ: $Int, tag: "json:\"preferredQualityIndex\""}, {prop: "PreferredBitrateKbps", name: "PreferredBitrateKbps", embedded: false, exported: true, typ: $Int, tag: "json:\"preferredBitrateKbps\""}, {prop: "PreferredPreset", name: "PreferredPreset", embedded: false, exported: true, typ: $String, tag: "json:\"preferredPreset\""}, {prop: "PreferredTune", name: "PreferredTune", embedded: false, exported: true, typ: $String, tag: "json:\"preferredTune\""}, {prop: "PreferredProfile", name: "PreferredProfile", embedded: false, exported: true, typ: $String, tag: "json:\"preferredProfile\""}]);
|
|
195895
195913
|
InputMetrics.init("", [{prop: "MouseEventsReceived", name: "MouseEventsReceived", embedded: false, exported: true, typ: $Int, tag: "json:\"mouseEventsReceived\""}, {prop: "MouseEventsSent", name: "MouseEventsSent", embedded: false, exported: true, typ: $Int, tag: "json:\"mouseEventsSent\""}, {prop: "MouseBytesSent", name: "MouseBytesSent", embedded: false, exported: true, typ: $Int, tag: "json:\"mouseBytesSent\""}, {prop: "MouseSendAverageNano", name: "MouseSendAverageNano", embedded: false, exported: true, typ: $Int64, tag: "json:\"mouseSendAverageNano\""}, {prop: "MouseSendMaxNano", name: "MouseSendMaxNano", embedded: false, exported: true, typ: $Int64, tag: "json:\"mouseSendMaxNano\""}, {prop: "MouseWaitMaxNano", name: "MouseWaitMaxNano", embedded: false, exported: true, typ: $Int64, tag: "json:\"mouseWaitMaxNano\""}, {prop: "TouchEventsReceived", name: "TouchEventsReceived", embedded: false, exported: true, typ: $Int, tag: "json:\"touchEventsReceived\""}, {prop: "TouchEventsSent", name: "TouchEventsSent", embedded: false, exported: true, typ: $Int, tag: "json:\"touchEventsSent\""}, {prop: "TouchBytesSent", name: "TouchBytesSent", embedded: false, exported: true, typ: $Int, tag: "json:\"touchBytesSent\""}, {prop: "TouchSendAverageNano", name: "TouchSendAverageNano", embedded: false, exported: true, typ: $Int64, tag: "json:\"touchSendAverageNano\""}, {prop: "TouchSendMaxNano", name: "TouchSendMaxNano", embedded: false, exported: true, typ: $Int64, tag: "json:\"touchSendMaxNano\""}, {prop: "TouchMaxConcurrentSeq", name: "TouchMaxConcurrentSeq", embedded: false, exported: true, typ: $Int, tag: "json:\"touchMaxConcurrentSeq\""}, {prop: "TouchWaitMaxNano", name: "TouchWaitMaxNano", embedded: false, exported: true, typ: $Int64, tag: "json:\"touchWaitMaxNano\""}]);
|
|
@@ -197230,7 +197248,7 @@ $packages["golang.org/x/mobile/event/lifecycle"] = (function() {
|
|
|
197230
197248
|
return $pkg;
|
|
197231
197249
|
})();
|
|
197232
197250
|
$packages["github.com/supraio/client-daemon/pkg/render"] = (function() {
|
|
197233
|
-
var $pkg = {}, $init, binary, json, query, clientscreen, clipboard, nacldecoder, nacldriver, samsungwasmdecoder, webcodecs, errs,
|
|
197251
|
+
var $pkg = {}, $init, binary, json, query, clientscreen, clipboard, nacldecoder, nacldriver, samsungwasmdecoder, webcodecs, errs, input, message, netclient, netpacket, netstream, netframe, jswebsocketworker, player, overlaydriver, stats, videostream, window, canvasdriver, webgldriver, screen, focus, key, lifecycle, mouse, size, touch, geom, image, io, log, os, path, strconv, strings, sync, js, time, ScreenWindow, Geometry, screenWindowDetachEvent, nonBlockingWindowEventSender, ProcessInfo, ProcessInfoManager, sliceType, ptrType, ptrType$1, ptrType$2, funcType, sliceType$1, ptrType$3, ptrType$4, ptrType$5, ptrType$6, ptrType$7, ptrType$8, ptrType$9, ptrType$10, ptrType$11, ptrType$12, ptrType$13, ptrType$14, sliceType$2, structType, interfaceType, sliceType$3, sliceType$4, arrayType, mapType, funcType$1, ptrType$15, chanType, chanType$1, chanType$2, chanType$3, chanType$4, chanType$5, chanType$6, onScreenWindowStarted, RegisterVideoStream, UnregisterVideoStream, NewScreenWindow, sendWindowEventNonBlocking, frameHealthCheckTimeout, clampedDuration, MainDriver, NewProcessInfoManager, init, registerJSBridge, newJSBridgeFacades, geometryValue;
|
|
197234
197252
|
binary = $packages["encoding/binary"];
|
|
197235
197253
|
json = $packages["encoding/json"];
|
|
197236
197254
|
query = $packages["github.com/google/go-querystring/query"];
|
|
@@ -197241,7 +197259,6 @@ $packages["github.com/supraio/client-daemon/pkg/render"] = (function() {
|
|
|
197241
197259
|
samsungwasmdecoder = $packages["github.com/supraio/client-daemon/pkg/decoder/samsungwasmdecoder"];
|
|
197242
197260
|
webcodecs = $packages["github.com/supraio/client-daemon/pkg/decoder/webcodecs"];
|
|
197243
197261
|
errs = $packages["github.com/supraio/client-daemon/pkg/errs"];
|
|
197244
|
-
helper = $packages["github.com/supraio/client-daemon/pkg/helper"];
|
|
197245
197262
|
input = $packages["github.com/supraio/client-daemon/pkg/input"];
|
|
197246
197263
|
message = $packages["github.com/supraio/client-daemon/pkg/message"];
|
|
197247
197264
|
netclient = $packages["github.com/supraio/client-daemon/pkg/netclient"];
|
|
@@ -197274,7 +197291,7 @@ $packages["github.com/supraio/client-daemon/pkg/render"] = (function() {
|
|
|
197274
197291
|
sync = $packages["sync"];
|
|
197275
197292
|
js = $packages["syscall/js"];
|
|
197276
197293
|
time = $packages["time"];
|
|
197277
|
-
ScreenWindow = $pkg.ScreenWindow = $newType(0, $kindStruct, "render.ScreenWindow", true, "github.com/supraio/client-daemon/pkg/render", true, function(processInfoManager_, screenDriver_, screenHost_, metadataDriver_, metadataHost_, clientID_, clientSecret_, screenID_, secure_, forceScreenSize_, timeoutDuration_, closed_, closeDone_, closeMu_, screenMu_, stats_, onClose_, window_, screen_, screenConn_, metadataServer_, responsiveSender_, collectionLoop_, decoderLoop_, renderingLoop_, sizeHandler_, touchHandler_, keyHandler_, mouseHandler_, eventMetrics_, pinger_, keyEventChan_, mouseEventChan_, sizeEventChan_, focusEventChan_, touchEventChan_, winCloseChannel_, eventLoopStop_, eventLoopDone_, windowSize_, geometry_) {
|
|
197294
|
+
ScreenWindow = $pkg.ScreenWindow = $newType(0, $kindStruct, "render.ScreenWindow", true, "github.com/supraio/client-daemon/pkg/render", true, function(processInfoManager_, screenDriver_, screenHost_, metadataDriver_, metadataHost_, clientID_, clientSecret_, screenID_, secure_, forceScreenSize_, timeoutDuration_, closed_, closeDone_, closeMu_, screenMu_, stats_, onClose_, window_, screen_, screenConn_, metadataServer_, responsiveSender_, collectionLoop_, decoderLoop_, renderingLoop_, sizeHandler_, touchHandler_, keyHandler_, mouseHandler_, eventMetrics_, pinger_, keyEventChan_, mouseEventChan_, sizeEventChan_, focusEventChan_, touchEventChan_, winCloseChannel_, eventLoopStop_, eventLoopDone_, windowSizeMu_, windowSize_, geometry_) {
|
|
197278
197295
|
this.$val = this;
|
|
197279
197296
|
if (arguments.length === 0) {
|
|
197280
197297
|
this.processInfoManager = ptrType.nil;
|
|
@@ -197316,6 +197333,7 @@ $packages["github.com/supraio/client-daemon/pkg/render"] = (function() {
|
|
|
197316
197333
|
this.winCloseChannel = $chanNil;
|
|
197317
197334
|
this.eventLoopStop = $chanNil;
|
|
197318
197335
|
this.eventLoopDone = $chanNil;
|
|
197336
|
+
this.windowSizeMu = new sync.RWMutex.ptr(new sync.Mutex.ptr(0, 0), 0, 0, 0, 0);
|
|
197319
197337
|
this.windowSize = new image.Point.ptr(0, 0);
|
|
197320
197338
|
this.geometry = ptrType$14.nil;
|
|
197321
197339
|
return;
|
|
@@ -197359,6 +197377,7 @@ $packages["github.com/supraio/client-daemon/pkg/render"] = (function() {
|
|
|
197359
197377
|
this.winCloseChannel = winCloseChannel_;
|
|
197360
197378
|
this.eventLoopStop = eventLoopStop_;
|
|
197361
197379
|
this.eventLoopDone = eventLoopDone_;
|
|
197380
|
+
this.windowSizeMu = windowSizeMu_;
|
|
197362
197381
|
this.windowSize = windowSize_;
|
|
197363
197382
|
this.geometry = geometry_;
|
|
197364
197383
|
});
|
|
@@ -197513,7 +197532,7 @@ $packages["github.com/supraio/client-daemon/pkg/render"] = (function() {
|
|
|
197513
197532
|
_r = stats.NewStats(); /* */ $s = 1; case 1: if($c) { $c = false; _r = _r.$blk(); } if (_r && _r.$blk !== undefined) { break s; }
|
|
197514
197533
|
s = _r;
|
|
197515
197534
|
s.SetEncodingPreferences($clone(encodingPreferences, stats.EncodingPreferences));
|
|
197516
|
-
$s = -1; return new ScreenWindow.ptr(processInfoManager, screenDriver, screenHost, metadataDriver, metadataHost, clientID, clientSecret, screenID, secure, forceScreenSize, timeoutDuration, true, $chanNil, new sync.Mutex.ptr(0, 0), new sync.Mutex.ptr(0, 0), s, sliceType$1.nil, $ifaceNil, $ifaceNil, $ifaceNil, ptrType$3.nil, ptrType$4.nil, ptrType$5.nil, ptrType$6.nil, ptrType$7.nil, ptrType$8.nil, ptrType$9.nil, ptrType$10.nil, ptrType$11.nil, input.NewEventMetrics(), ptrType$13.nil, new $Chan(key.Event, 50), new $Chan(mouse.Event, 50), new $Chan(size.Event, 50), new $Chan(focus.Event, 50), new $Chan(touch.Event, 50), new $Chan($emptyInterface, 0), $chanNil, $chanNil, new image.Point.ptr(0, 0), geometry);
|
|
197535
|
+
$s = -1; return new ScreenWindow.ptr(processInfoManager, screenDriver, screenHost, metadataDriver, metadataHost, clientID, clientSecret, screenID, secure, forceScreenSize, timeoutDuration, true, $chanNil, new sync.Mutex.ptr(0, 0), new sync.Mutex.ptr(0, 0), s, sliceType$1.nil, $ifaceNil, $ifaceNil, $ifaceNil, ptrType$3.nil, ptrType$4.nil, ptrType$5.nil, ptrType$6.nil, ptrType$7.nil, ptrType$8.nil, ptrType$9.nil, ptrType$10.nil, ptrType$11.nil, input.NewEventMetrics(), ptrType$13.nil, new $Chan(key.Event, 50), new $Chan(mouse.Event, 50), new $Chan(size.Event, 50), new $Chan(focus.Event, 50), new $Chan(touch.Event, 50), new $Chan($emptyInterface, 0), $chanNil, $chanNil, new sync.RWMutex.ptr(new sync.Mutex.ptr(0, 0), 0, 0, 0, 0), new image.Point.ptr(0, 0), geometry);
|
|
197517
197536
|
/* */ } return; } var $f = {$blk: NewScreenWindow, $c: true, $r, _r, clientID, clientSecret, encodingPreferences, forceScreenSize, geometry, metadataDriver, metadataHost, processInfoManager, s, screenDriver, screenHost, screenID, secure, timeoutDuration, $s};return $f;
|
|
197518
197537
|
};
|
|
197519
197538
|
$pkg.NewScreenWindow = NewScreenWindow;
|
|
@@ -197874,36 +197893,36 @@ $packages["github.com/supraio/client-daemon/pkg/render"] = (function() {
|
|
|
197874
197893
|
/* } else if (_selection$3[0] === 1) { */ case 34:
|
|
197875
197894
|
$s = 36; case 36: return;
|
|
197876
197895
|
/* } */ case 35:
|
|
197877
|
-
|
|
197878
|
-
$r = w[0].stats.NotifyInteraction(); /* */ $s =
|
|
197896
|
+
$r = w[0].setWindowSize($clone($clone(e$4, size.Event).Size(), image.Point)); /* */ $s = 37; case 37: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
|
|
197897
|
+
$r = w[0].stats.NotifyInteraction(); /* */ $s = 38; case 38: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
|
|
197879
197898
|
$s = 15; continue;
|
|
197880
197899
|
/* } else if ($assertType(_ref, focus.Event, true)[1]) { */ case 13:
|
|
197881
197900
|
e$5 = $clone(_ref.$val, focus.Event);
|
|
197882
|
-
_r$5 = $select([[w[0].focusEventChan, $clone(e$5, focus.Event)], [eventLoopStop[0]]]); /* */ $s =
|
|
197901
|
+
_r$5 = $select([[w[0].focusEventChan, $clone(e$5, focus.Event)], [eventLoopStop[0]]]); /* */ $s = 39; case 39: if($c) { $c = false; _r$5 = _r$5.$blk(); } if (_r$5 && _r$5.$blk !== undefined) { break s; }
|
|
197883
197902
|
_selection$4 = _r$5;
|
|
197884
|
-
/* */ if (_selection$4[0] === 0) { $s =
|
|
197885
|
-
/* */ if (_selection$4[0] === 1) { $s =
|
|
197886
|
-
/* */ $s =
|
|
197887
|
-
/* if (_selection$4[0] === 0) { */ case
|
|
197888
|
-
$s =
|
|
197889
|
-
/* } else if (_selection$4[0] === 1) { */ case
|
|
197890
|
-
$s =
|
|
197891
|
-
/* } */ case
|
|
197892
|
-
$r = w[0].stats.NotifyInteraction(); /* */ $s =
|
|
197903
|
+
/* */ if (_selection$4[0] === 0) { $s = 40; continue; }
|
|
197904
|
+
/* */ if (_selection$4[0] === 1) { $s = 41; continue; }
|
|
197905
|
+
/* */ $s = 42; continue;
|
|
197906
|
+
/* if (_selection$4[0] === 0) { */ case 40:
|
|
197907
|
+
$s = 42; continue;
|
|
197908
|
+
/* } else if (_selection$4[0] === 1) { */ case 41:
|
|
197909
|
+
$s = 43; case 43: return;
|
|
197910
|
+
/* } */ case 42:
|
|
197911
|
+
$r = w[0].stats.NotifyInteraction(); /* */ $s = 44; case 44: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
|
|
197893
197912
|
$s = 15; continue;
|
|
197894
197913
|
/* } else if ($assertType(_ref, touch.Event, true)[1]) { */ case 14:
|
|
197895
197914
|
e$6 = $clone(_ref.$val, touch.Event);
|
|
197896
|
-
_r$6 = $select([[w[0].touchEventChan, $clone(e$6, touch.Event)], [eventLoopStop[0]]]); /* */ $s =
|
|
197915
|
+
_r$6 = $select([[w[0].touchEventChan, $clone(e$6, touch.Event)], [eventLoopStop[0]]]); /* */ $s = 45; case 45: if($c) { $c = false; _r$6 = _r$6.$blk(); } if (_r$6 && _r$6.$blk !== undefined) { break s; }
|
|
197897
197916
|
_selection$5 = _r$6;
|
|
197898
|
-
/* */ if (_selection$5[0] === 0) { $s =
|
|
197899
|
-
/* */ if (_selection$5[0] === 1) { $s =
|
|
197900
|
-
/* */ $s =
|
|
197901
|
-
/* if (_selection$5[0] === 0) { */ case
|
|
197902
|
-
$s =
|
|
197903
|
-
/* } else if (_selection$5[0] === 1) { */ case
|
|
197904
|
-
$s =
|
|
197905
|
-
/* } */ case
|
|
197906
|
-
$r = w[0].stats.NotifyInteraction(); /* */ $s =
|
|
197917
|
+
/* */ if (_selection$5[0] === 0) { $s = 46; continue; }
|
|
197918
|
+
/* */ if (_selection$5[0] === 1) { $s = 47; continue; }
|
|
197919
|
+
/* */ $s = 48; continue;
|
|
197920
|
+
/* if (_selection$5[0] === 0) { */ case 46:
|
|
197921
|
+
$s = 48; continue;
|
|
197922
|
+
/* } else if (_selection$5[0] === 1) { */ case 47:
|
|
197923
|
+
$s = 49; case 49: return;
|
|
197924
|
+
/* } */ case 48:
|
|
197925
|
+
$r = w[0].stats.NotifyInteraction(); /* */ $s = 50; case 50: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
|
|
197907
197926
|
/* } */ case 15:
|
|
197908
197927
|
$s = 1; continue;
|
|
197909
197928
|
case 2:
|
|
@@ -198174,13 +198193,39 @@ $packages["github.com/supraio/client-daemon/pkg/render"] = (function() {
|
|
|
198174
198193
|
return netclient.NewMessageSender(w.screenConn);
|
|
198175
198194
|
};
|
|
198176
198195
|
ScreenWindow.prototype.createScreenSender = function() { return this.$val.createScreenSender(); };
|
|
198196
|
+
ScreenWindow.ptr.prototype.setWindowSize = function(windowSize) {
|
|
198197
|
+
var {w, windowSize, $s, $deferred, $r, $c} = $restore(this, {windowSize});
|
|
198198
|
+
/* */ $s = $s || 0; var $err = null; try { s: while (true) { switch ($s) { case 0: $deferred = []; $curGoroutine.deferStack.push($deferred);
|
|
198199
|
+
w = this;
|
|
198200
|
+
$r = w.windowSizeMu.Lock(); /* */ $s = 1; case 1: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
|
|
198201
|
+
$deferred.push([$methodVal(w.windowSizeMu, "Unlock"), []]);
|
|
198202
|
+
image.Point.copy(w.windowSize, windowSize);
|
|
198203
|
+
$s = -1; return;
|
|
198204
|
+
/* */ } return; } } catch(err) { $err = err; $s = -1; } finally { $callDeferred($deferred, $err); if($curGoroutine.asleep) { var $f = {$blk: ScreenWindow.ptr.prototype.setWindowSize, $c: true, $r, w, windowSize, $s, $deferred};return $f; } }
|
|
198205
|
+
};
|
|
198206
|
+
ScreenWindow.prototype.setWindowSize = function(windowSize) { return this.$val.setWindowSize(windowSize); };
|
|
198207
|
+
ScreenWindow.ptr.prototype.getWindowSize = function() {
|
|
198208
|
+
var {$24r, w, $s, $deferred, $r, $c} = $restore(this, {});
|
|
198209
|
+
/* */ $s = $s || 0; var $err = null; try { s: while (true) { switch ($s) { case 0: $deferred = []; $curGoroutine.deferStack.push($deferred);
|
|
198210
|
+
w = this;
|
|
198211
|
+
$r = w.windowSizeMu.RLock(); /* */ $s = 1; case 1: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
|
|
198212
|
+
$deferred.push([$methodVal(w.windowSizeMu, "RUnlock"), []]);
|
|
198213
|
+
$24r = w.windowSize;
|
|
198214
|
+
$s = 2; case 2: return $24r;
|
|
198215
|
+
/* */ } return; } } catch(err) { $err = err; $s = -1; return new image.Point.ptr(0, 0); } finally { $callDeferred($deferred, $err); if($curGoroutine.asleep) { var $f = {$blk: ScreenWindow.ptr.prototype.getWindowSize, $c: true, $r, $24r, w, $s, $deferred};return $f; } }
|
|
198216
|
+
};
|
|
198217
|
+
ScreenWindow.prototype.getWindowSize = function() { return this.$val.getWindowSize(); };
|
|
198177
198218
|
ScreenWindow.ptr.prototype.getEventMultiplier = function() {
|
|
198178
|
-
var w;
|
|
198219
|
+
var {_r, w, windowSize, $s, $r, $c} = $restore(this, {});
|
|
198220
|
+
/* */ $s = $s || 0; s: while (true) { switch ($s) { case 0:
|
|
198179
198221
|
w = this;
|
|
198180
|
-
|
|
198181
|
-
|
|
198222
|
+
_r = w.getWindowSize(); /* */ $s = 1; case 1: if($c) { $c = false; _r = _r.$blk(); } if (_r && _r.$blk !== undefined) { break s; }
|
|
198223
|
+
windowSize = $clone(_r, image.Point);
|
|
198224
|
+
if (!(w.forceScreenSize === ptrType$1.nil) && windowSize.X > 0 && windowSize.Y > 0) {
|
|
198225
|
+
$s = -1; return new geom.Point.ptr(($fround((w.forceScreenSize.X) / (windowSize.X))), ($fround((w.forceScreenSize.Y) / (windowSize.Y))));
|
|
198182
198226
|
}
|
|
198183
|
-
return new geom.Point.ptr(1, 1);
|
|
198227
|
+
$s = -1; return new geom.Point.ptr(1, 1);
|
|
198228
|
+
/* */ } return; } var $f = {$blk: ScreenWindow.ptr.prototype.getEventMultiplier, $c: true, $r, _r, w, windowSize, $s};return $f;
|
|
198184
198229
|
};
|
|
198185
198230
|
ScreenWindow.prototype.getEventMultiplier = function() { return this.$val.getEventMultiplier(); };
|
|
198186
198231
|
ScreenWindow.ptr.prototype.startTimestampSyncing = function() {
|
|
@@ -198275,18 +198320,30 @@ $packages["github.com/supraio/client-daemon/pkg/render"] = (function() {
|
|
|
198275
198320
|
};
|
|
198276
198321
|
ScreenWindow.prototype.sendStats = function() { return this.$val.sendStats(); };
|
|
198277
198322
|
ScreenWindow.ptr.prototype.getFrameHealthCheckTimeout = function() {
|
|
198278
|
-
var
|
|
198323
|
+
var w;
|
|
198279
198324
|
w = this;
|
|
198280
|
-
|
|
198281
|
-
|
|
198325
|
+
return frameHealthCheckTimeout(w.stats.GetLastActiveFrameRate());
|
|
198326
|
+
};
|
|
198327
|
+
ScreenWindow.prototype.getFrameHealthCheckTimeout = function() { return this.$val.getFrameHealthCheckTimeout(); };
|
|
198328
|
+
frameHealthCheckTimeout = function(framerate) {
|
|
198329
|
+
var frameDuration, framerate, timeout;
|
|
198330
|
+
if (framerate <= 0) {
|
|
198282
198331
|
return new time.Duration(2, 1410065408);
|
|
198283
198332
|
}
|
|
198284
|
-
|
|
198285
|
-
|
|
198286
|
-
|
|
198287
|
-
|
|
198333
|
+
frameDuration = $div64(new time.Duration(0, 1000000000), (new time.Duration(0, framerate)), false);
|
|
198334
|
+
timeout = $mul64(frameDuration, new time.Duration(0, 90));
|
|
198335
|
+
return clampedDuration(timeout, new time.Duration(0, 3000000000), new time.Duration(2, 1410065408));
|
|
198336
|
+
};
|
|
198337
|
+
clampedDuration = function(value, minimum, maximum) {
|
|
198338
|
+
var maximum, minimum, value;
|
|
198339
|
+
if ((value.$high < minimum.$high || (value.$high === minimum.$high && value.$low < minimum.$low))) {
|
|
198340
|
+
return minimum;
|
|
198341
|
+
}
|
|
198342
|
+
if ((value.$high > maximum.$high || (value.$high === maximum.$high && value.$low > maximum.$low))) {
|
|
198343
|
+
return maximum;
|
|
198344
|
+
}
|
|
198345
|
+
return value;
|
|
198288
198346
|
};
|
|
198289
|
-
ScreenWindow.prototype.getFrameHealthCheckTimeout = function() { return this.$val.getFrameHealthCheckTimeout(); };
|
|
198290
198347
|
ScreenWindow.ptr.prototype.startScreenHealthChecking = function() {
|
|
198291
198348
|
var {_r, _r$1, _r$2, _r$3, _r$4, _r$5, err, lastImpulseAt, w, $s, $r, $c} = $restore(this, {});
|
|
198292
198349
|
/* */ $s = $s || 0; s: while (true) { switch ($s) { case 0:
|
|
@@ -198951,9 +199008,9 @@ $packages["github.com/supraio/client-daemon/pkg/render"] = (function() {
|
|
|
198951
199008
|
}
|
|
198952
199009
|
return new mapType($makeMap($String.keyFor, [{ k: "x", v: new $Int(g.X) }, { k: "y", v: new $Int(g.Y) }, { k: "width", v: new $Int(g.Width) }, { k: "height", v: new $Int(g.Height) }]));
|
|
198953
199010
|
};
|
|
198954
|
-
ptrType$15.methods = [{prop: "Geometry", name: "Geometry", pkg: "", typ: $funcType([], [ptrType$14], false)}, {prop: "SetEncodingPreferences", name: "SetEncodingPreferences", pkg: "", typ: $funcType([stats.EncodingPreferences], [], false)}, {prop: "Start", name: "Start", pkg: "", typ: $funcType([], [$error], false)}, {prop: "Close", name: "Close", pkg: "", typ: $funcType([], [], false)}, {prop: "OnClose", name: "OnClose", pkg: "", typ: $funcType([funcType], [], false)}, {prop: "startWindow", name: "startWindow", pkg: "github.com/supraio/client-daemon/pkg/render", typ: $funcType([], [$error], false)}, {prop: "newWindowOptions", name: "newWindowOptions", pkg: "github.com/supraio/client-daemon/pkg/render", typ: $funcType([], [screen.NewWindowOptions], false)}, {prop: "startClipboard", name: "startClipboard", pkg: "github.com/supraio/client-daemon/pkg/render", typ: $funcType([], [$error], false)}, {prop: "isClosed", name: "isClosed", pkg: "github.com/supraio/client-daemon/pkg/render", typ: $funcType([], [$Bool], false)}, {prop: "retriableOpen", name: "retriableOpen", pkg: "github.com/supraio/client-daemon/pkg/render", typ: $funcType([$Int, funcType$1], [$error], false)}, {prop: "openMetadata", name: "openMetadata", pkg: "github.com/supraio/client-daemon/pkg/render", typ: $funcType([], [$error], false)}, {prop: "createMetadataSender", name: "createMetadataSender", pkg: "github.com/supraio/client-daemon/pkg/render", typ: $funcType([], [message.Sender], false)}, {prop: "createScreenSender", name: "createScreenSender", pkg: "github.com/supraio/client-daemon/pkg/render", typ: $funcType([], [message.Sender], false)}, {prop: "getEventMultiplier", name: "getEventMultiplier", pkg: "github.com/supraio/client-daemon/pkg/render", typ: $funcType([], [geom.Point], false)}, {prop: "startTimestampSyncing", name: "startTimestampSyncing", pkg: "github.com/supraio/client-daemon/pkg/render", typ: $funcType([], [], false)}, {prop: "startStatsSyncing", name: "startStatsSyncing", pkg: "github.com/supraio/client-daemon/pkg/render", typ: $funcType([], [], false)}, {prop: "sendStats", name: "sendStats", pkg: "github.com/supraio/client-daemon/pkg/render", typ: $funcType([], [$error], false)}, {prop: "getFrameHealthCheckTimeout", name: "getFrameHealthCheckTimeout", pkg: "github.com/supraio/client-daemon/pkg/render", typ: $funcType([], [time.Duration], false)}, {prop: "startScreenHealthChecking", name: "startScreenHealthChecking", pkg: "github.com/supraio/client-daemon/pkg/render", typ: $funcType([], [], false)}, {prop: "openScreen", name: "openScreen", pkg: "github.com/supraio/client-daemon/pkg/render", typ: $funcType([], [$error], false)}, {prop: "closeScreen", name: "closeScreen", pkg: "github.com/supraio/client-daemon/pkg/render", typ: $funcType([], [$error], false)}, {prop: "closeScreenLocked", name: "closeScreenLocked", pkg: "github.com/supraio/client-daemon/pkg/render", typ: $funcType([], [$error], false)}, {prop: "createScreenBuffer", name: "createScreenBuffer", pkg: "github.com/supraio/client-daemon/pkg/render", typ: $funcType([], [screen.Buffer, $error], false)}];
|
|
199011
|
+
ptrType$15.methods = [{prop: "Geometry", name: "Geometry", pkg: "", typ: $funcType([], [ptrType$14], false)}, {prop: "SetEncodingPreferences", name: "SetEncodingPreferences", pkg: "", typ: $funcType([stats.EncodingPreferences], [], false)}, {prop: "Start", name: "Start", pkg: "", typ: $funcType([], [$error], false)}, {prop: "Close", name: "Close", pkg: "", typ: $funcType([], [], false)}, {prop: "OnClose", name: "OnClose", pkg: "", typ: $funcType([funcType], [], false)}, {prop: "startWindow", name: "startWindow", pkg: "github.com/supraio/client-daemon/pkg/render", typ: $funcType([], [$error], false)}, {prop: "newWindowOptions", name: "newWindowOptions", pkg: "github.com/supraio/client-daemon/pkg/render", typ: $funcType([], [screen.NewWindowOptions], false)}, {prop: "startClipboard", name: "startClipboard", pkg: "github.com/supraio/client-daemon/pkg/render", typ: $funcType([], [$error], false)}, {prop: "isClosed", name: "isClosed", pkg: "github.com/supraio/client-daemon/pkg/render", typ: $funcType([], [$Bool], false)}, {prop: "retriableOpen", name: "retriableOpen", pkg: "github.com/supraio/client-daemon/pkg/render", typ: $funcType([$Int, funcType$1], [$error], false)}, {prop: "openMetadata", name: "openMetadata", pkg: "github.com/supraio/client-daemon/pkg/render", typ: $funcType([], [$error], false)}, {prop: "createMetadataSender", name: "createMetadataSender", pkg: "github.com/supraio/client-daemon/pkg/render", typ: $funcType([], [message.Sender], false)}, {prop: "createScreenSender", name: "createScreenSender", pkg: "github.com/supraio/client-daemon/pkg/render", typ: $funcType([], [message.Sender], false)}, {prop: "setWindowSize", name: "setWindowSize", pkg: "github.com/supraio/client-daemon/pkg/render", typ: $funcType([image.Point], [], false)}, {prop: "getWindowSize", name: "getWindowSize", pkg: "github.com/supraio/client-daemon/pkg/render", typ: $funcType([], [image.Point], false)}, {prop: "getEventMultiplier", name: "getEventMultiplier", pkg: "github.com/supraio/client-daemon/pkg/render", typ: $funcType([], [geom.Point], false)}, {prop: "startTimestampSyncing", name: "startTimestampSyncing", pkg: "github.com/supraio/client-daemon/pkg/render", typ: $funcType([], [], false)}, {prop: "startStatsSyncing", name: "startStatsSyncing", pkg: "github.com/supraio/client-daemon/pkg/render", typ: $funcType([], [], false)}, {prop: "sendStats", name: "sendStats", pkg: "github.com/supraio/client-daemon/pkg/render", typ: $funcType([], [$error], false)}, {prop: "getFrameHealthCheckTimeout", name: "getFrameHealthCheckTimeout", pkg: "github.com/supraio/client-daemon/pkg/render", typ: $funcType([], [time.Duration], false)}, {prop: "startScreenHealthChecking", name: "startScreenHealthChecking", pkg: "github.com/supraio/client-daemon/pkg/render", typ: $funcType([], [], false)}, {prop: "openScreen", name: "openScreen", pkg: "github.com/supraio/client-daemon/pkg/render", typ: $funcType([], [$error], false)}, {prop: "closeScreen", name: "closeScreen", pkg: "github.com/supraio/client-daemon/pkg/render", typ: $funcType([], [$error], false)}, {prop: "closeScreenLocked", name: "closeScreenLocked", pkg: "github.com/supraio/client-daemon/pkg/render", typ: $funcType([], [$error], false)}, {prop: "createScreenBuffer", name: "createScreenBuffer", pkg: "github.com/supraio/client-daemon/pkg/render", typ: $funcType([], [screen.Buffer, $error], false)}];
|
|
198955
199012
|
ptrType.methods = [{prop: "CreateProcessInfo", name: "CreateProcessInfo", pkg: "", typ: $funcType([$String, $Int], [$error], false)}, {prop: "RemoveProcessInfo", name: "RemoveProcessInfo", pkg: "", typ: $funcType([$String], [$error], false)}, {prop: "RemoveProcessInfoByPid", name: "RemoveProcessInfoByPid", pkg: "", typ: $funcType([$String, $Int], [$error], false)}, {prop: "WaitProcess", name: "WaitProcess", pkg: "", typ: $funcType([$String], [$error], false)}, {prop: "WaitProcessStopped", name: "WaitProcessStopped", pkg: "", typ: $funcType([$String, time.Duration], [$error], false)}, {prop: "GetProcessInfo", name: "GetProcessInfo", pkg: "", typ: $funcType([$String], [ProcessInfo, $error], false)}, {prop: "ListScreenIDs", name: "ListScreenIDs", pkg: "", typ: $funcType([], [sliceType$4, $error], false)}, {prop: "getUserProcessDirPath", name: "getUserProcessDirPath", pkg: "github.com/supraio/client-daemon/pkg/render", typ: $funcType([], [$String], false)}];
|
|
198956
|
-
ScreenWindow.init("github.com/supraio/client-daemon/pkg/render", [{prop: "processInfoManager", name: "processInfoManager", embedded: false, exported: false, typ: ptrType, tag: ""}, {prop: "screenDriver", name: "screenDriver", embedded: false, exported: false, typ: netpacket.Driver, tag: ""}, {prop: "screenHost", name: "screenHost", embedded: false, exported: false, typ: $String, tag: ""}, {prop: "metadataDriver", name: "metadataDriver", embedded: false, exported: false, typ: netstream.Driver, tag: ""}, {prop: "metadataHost", name: "metadataHost", embedded: false, exported: false, typ: $String, tag: ""}, {prop: "clientID", name: "clientID", embedded: false, exported: false, typ: $String, tag: ""}, {prop: "clientSecret", name: "clientSecret", embedded: false, exported: false, typ: $String, tag: ""}, {prop: "screenID", name: "screenID", embedded: false, exported: false, typ: $String, tag: ""}, {prop: "secure", name: "secure", embedded: false, exported: false, typ: $Bool, tag: ""}, {prop: "forceScreenSize", name: "forceScreenSize", embedded: false, exported: false, typ: ptrType$1, tag: ""}, {prop: "timeoutDuration", name: "timeoutDuration", embedded: false, exported: false, typ: time.Duration, tag: ""}, {prop: "closed", name: "closed", embedded: false, exported: false, typ: $Bool, tag: ""}, {prop: "closeDone", name: "closeDone", embedded: false, exported: false, typ: chanType, tag: ""}, {prop: "closeMu", name: "closeMu", embedded: false, exported: false, typ: sync.Mutex, tag: ""}, {prop: "screenMu", name: "screenMu", embedded: false, exported: false, typ: sync.Mutex, tag: ""}, {prop: "stats", name: "stats", embedded: false, exported: false, typ: ptrType$2, tag: ""}, {prop: "onClose", name: "onClose", embedded: false, exported: false, typ: sliceType$1, tag: ""}, {prop: "window", name: "window", embedded: false, exported: false, typ: screen.Window, tag: ""}, {prop: "screen", name: "screen", embedded: false, exported: false, typ: screen.Screen, tag: ""}, {prop: "screenConn", name: "screenConn", embedded: false, exported: false, typ: netpacket.ReaderWriterCloser, tag: ""}, {prop: "metadataServer", name: "metadataServer", embedded: false, exported: false, typ: ptrType$3, tag: ""}, {prop: "responsiveSender", name: "responsiveSender", embedded: false, exported: false, typ: ptrType$4, tag: ""}, {prop: "collectionLoop", name: "collectionLoop", embedded: false, exported: false, typ: ptrType$5, tag: ""}, {prop: "decoderLoop", name: "decoderLoop", embedded: false, exported: false, typ: ptrType$6, tag: ""}, {prop: "renderingLoop", name: "renderingLoop", embedded: false, exported: false, typ: ptrType$7, tag: ""}, {prop: "sizeHandler", name: "sizeHandler", embedded: false, exported: false, typ: ptrType$8, tag: ""}, {prop: "touchHandler", name: "touchHandler", embedded: false, exported: false, typ: ptrType$9, tag: ""}, {prop: "keyHandler", name: "keyHandler", embedded: false, exported: false, typ: ptrType$10, tag: ""}, {prop: "mouseHandler", name: "mouseHandler", embedded: false, exported: false, typ: ptrType$11, tag: ""}, {prop: "eventMetrics", name: "eventMetrics", embedded: false, exported: false, typ: ptrType$12, tag: ""}, {prop: "pinger", name: "pinger", embedded: false, exported: false, typ: ptrType$13, tag: ""}, {prop: "keyEventChan", name: "keyEventChan", embedded: false, exported: false, typ: chanType$1, tag: ""}, {prop: "mouseEventChan", name: "mouseEventChan", embedded: false, exported: false, typ: chanType$2, tag: ""}, {prop: "sizeEventChan", name: "sizeEventChan", embedded: false, exported: false, typ: chanType$3, tag: ""}, {prop: "focusEventChan", name: "focusEventChan", embedded: false, exported: false, typ: chanType$4, tag: ""}, {prop: "touchEventChan", name: "touchEventChan", embedded: false, exported: false, typ: chanType$5, tag: ""}, {prop: "winCloseChannel", name: "winCloseChannel", embedded: false, exported: false, typ: chanType$6, tag: ""}, {prop: "eventLoopStop", name: "eventLoopStop", embedded: false, exported: false, typ: chanType, tag: ""}, {prop: "eventLoopDone", name: "eventLoopDone", embedded: false, exported: false, typ: chanType, tag: ""}, {prop: "windowSize", name: "windowSize", embedded: false, exported: false, typ: image.Point, tag: ""}, {prop: "geometry", name: "geometry", embedded: false, exported: false, typ: ptrType$14, tag: ""}]);
|
|
199013
|
+
ScreenWindow.init("github.com/supraio/client-daemon/pkg/render", [{prop: "processInfoManager", name: "processInfoManager", embedded: false, exported: false, typ: ptrType, tag: ""}, {prop: "screenDriver", name: "screenDriver", embedded: false, exported: false, typ: netpacket.Driver, tag: ""}, {prop: "screenHost", name: "screenHost", embedded: false, exported: false, typ: $String, tag: ""}, {prop: "metadataDriver", name: "metadataDriver", embedded: false, exported: false, typ: netstream.Driver, tag: ""}, {prop: "metadataHost", name: "metadataHost", embedded: false, exported: false, typ: $String, tag: ""}, {prop: "clientID", name: "clientID", embedded: false, exported: false, typ: $String, tag: ""}, {prop: "clientSecret", name: "clientSecret", embedded: false, exported: false, typ: $String, tag: ""}, {prop: "screenID", name: "screenID", embedded: false, exported: false, typ: $String, tag: ""}, {prop: "secure", name: "secure", embedded: false, exported: false, typ: $Bool, tag: ""}, {prop: "forceScreenSize", name: "forceScreenSize", embedded: false, exported: false, typ: ptrType$1, tag: ""}, {prop: "timeoutDuration", name: "timeoutDuration", embedded: false, exported: false, typ: time.Duration, tag: ""}, {prop: "closed", name: "closed", embedded: false, exported: false, typ: $Bool, tag: ""}, {prop: "closeDone", name: "closeDone", embedded: false, exported: false, typ: chanType, tag: ""}, {prop: "closeMu", name: "closeMu", embedded: false, exported: false, typ: sync.Mutex, tag: ""}, {prop: "screenMu", name: "screenMu", embedded: false, exported: false, typ: sync.Mutex, tag: ""}, {prop: "stats", name: "stats", embedded: false, exported: false, typ: ptrType$2, tag: ""}, {prop: "onClose", name: "onClose", embedded: false, exported: false, typ: sliceType$1, tag: ""}, {prop: "window", name: "window", embedded: false, exported: false, typ: screen.Window, tag: ""}, {prop: "screen", name: "screen", embedded: false, exported: false, typ: screen.Screen, tag: ""}, {prop: "screenConn", name: "screenConn", embedded: false, exported: false, typ: netpacket.ReaderWriterCloser, tag: ""}, {prop: "metadataServer", name: "metadataServer", embedded: false, exported: false, typ: ptrType$3, tag: ""}, {prop: "responsiveSender", name: "responsiveSender", embedded: false, exported: false, typ: ptrType$4, tag: ""}, {prop: "collectionLoop", name: "collectionLoop", embedded: false, exported: false, typ: ptrType$5, tag: ""}, {prop: "decoderLoop", name: "decoderLoop", embedded: false, exported: false, typ: ptrType$6, tag: ""}, {prop: "renderingLoop", name: "renderingLoop", embedded: false, exported: false, typ: ptrType$7, tag: ""}, {prop: "sizeHandler", name: "sizeHandler", embedded: false, exported: false, typ: ptrType$8, tag: ""}, {prop: "touchHandler", name: "touchHandler", embedded: false, exported: false, typ: ptrType$9, tag: ""}, {prop: "keyHandler", name: "keyHandler", embedded: false, exported: false, typ: ptrType$10, tag: ""}, {prop: "mouseHandler", name: "mouseHandler", embedded: false, exported: false, typ: ptrType$11, tag: ""}, {prop: "eventMetrics", name: "eventMetrics", embedded: false, exported: false, typ: ptrType$12, tag: ""}, {prop: "pinger", name: "pinger", embedded: false, exported: false, typ: ptrType$13, tag: ""}, {prop: "keyEventChan", name: "keyEventChan", embedded: false, exported: false, typ: chanType$1, tag: ""}, {prop: "mouseEventChan", name: "mouseEventChan", embedded: false, exported: false, typ: chanType$2, tag: ""}, {prop: "sizeEventChan", name: "sizeEventChan", embedded: false, exported: false, typ: chanType$3, tag: ""}, {prop: "focusEventChan", name: "focusEventChan", embedded: false, exported: false, typ: chanType$4, tag: ""}, {prop: "touchEventChan", name: "touchEventChan", embedded: false, exported: false, typ: chanType$5, tag: ""}, {prop: "winCloseChannel", name: "winCloseChannel", embedded: false, exported: false, typ: chanType$6, tag: ""}, {prop: "eventLoopStop", name: "eventLoopStop", embedded: false, exported: false, typ: chanType, tag: ""}, {prop: "eventLoopDone", name: "eventLoopDone", embedded: false, exported: false, typ: chanType, tag: ""}, {prop: "windowSizeMu", name: "windowSizeMu", embedded: false, exported: false, typ: sync.RWMutex, tag: ""}, {prop: "windowSize", name: "windowSize", embedded: false, exported: false, typ: image.Point, tag: ""}, {prop: "geometry", name: "geometry", embedded: false, exported: false, typ: ptrType$14, tag: ""}]);
|
|
198957
199014
|
Geometry.init("", [{prop: "X", name: "X", embedded: false, exported: true, typ: $Int, tag: "json:\"x\""}, {prop: "Y", name: "Y", embedded: false, exported: true, typ: $Int, tag: "json:\"y\""}, {prop: "Width", name: "Width", embedded: false, exported: true, typ: $Int, tag: "json:\"width\""}, {prop: "Height", name: "Height", embedded: false, exported: true, typ: $Int, tag: "json:\"height\""}]);
|
|
198958
199015
|
screenWindowDetachEvent.init("", []);
|
|
198959
199016
|
nonBlockingWindowEventSender.init([{prop: "SendNonBlocking", name: "SendNonBlocking", pkg: "", typ: $funcType([$emptyInterface], [$Bool], false)}]);
|
|
@@ -198972,39 +199029,38 @@ $packages["github.com/supraio/client-daemon/pkg/render"] = (function() {
|
|
|
198972
199029
|
$r = samsungwasmdecoder.$init(); /* */ $s = 8; case 8: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
|
|
198973
199030
|
$r = webcodecs.$init(); /* */ $s = 9; case 9: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
|
|
198974
199031
|
$r = errs.$init(); /* */ $s = 10; case 10: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
|
|
198975
|
-
$r =
|
|
198976
|
-
$r =
|
|
198977
|
-
$r =
|
|
198978
|
-
$r =
|
|
198979
|
-
$r =
|
|
198980
|
-
$r =
|
|
198981
|
-
$r =
|
|
198982
|
-
$r =
|
|
198983
|
-
$r =
|
|
198984
|
-
$r =
|
|
198985
|
-
$r =
|
|
198986
|
-
$r =
|
|
198987
|
-
$r =
|
|
198988
|
-
$r =
|
|
198989
|
-
$r =
|
|
198990
|
-
$r =
|
|
198991
|
-
$r =
|
|
198992
|
-
$r =
|
|
198993
|
-
$r =
|
|
198994
|
-
$r =
|
|
198995
|
-
$r =
|
|
198996
|
-
$r =
|
|
198997
|
-
$r =
|
|
198998
|
-
$r =
|
|
198999
|
-
$r =
|
|
199000
|
-
$r =
|
|
199001
|
-
$r =
|
|
199002
|
-
$r =
|
|
199003
|
-
$r =
|
|
199004
|
-
$r =
|
|
199005
|
-
$r =
|
|
199006
|
-
$r =
|
|
199007
|
-
$r = time.$init(); /* */ $s = 43; case 43: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
|
|
199032
|
+
$r = input.$init(); /* */ $s = 11; case 11: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
|
|
199033
|
+
$r = message.$init(); /* */ $s = 12; case 12: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
|
|
199034
|
+
$r = netclient.$init(); /* */ $s = 13; case 13: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
|
|
199035
|
+
$r = netpacket.$init(); /* */ $s = 14; case 14: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
|
|
199036
|
+
$r = netstream.$init(); /* */ $s = 15; case 15: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
|
|
199037
|
+
$r = netframe.$init(); /* */ $s = 16; case 16: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
|
|
199038
|
+
$r = jswebsocketworker.$init(); /* */ $s = 17; case 17: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
|
|
199039
|
+
$r = player.$init(); /* */ $s = 18; case 18: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
|
|
199040
|
+
$r = overlaydriver.$init(); /* */ $s = 19; case 19: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
|
|
199041
|
+
$r = stats.$init(); /* */ $s = 20; case 20: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
|
|
199042
|
+
$r = videostream.$init(); /* */ $s = 21; case 21: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
|
|
199043
|
+
$r = window.$init(); /* */ $s = 22; case 22: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
|
|
199044
|
+
$r = canvasdriver.$init(); /* */ $s = 23; case 23: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
|
|
199045
|
+
$r = webgldriver.$init(); /* */ $s = 24; case 24: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
|
|
199046
|
+
$r = screen.$init(); /* */ $s = 25; case 25: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
|
|
199047
|
+
$r = focus.$init(); /* */ $s = 26; case 26: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
|
|
199048
|
+
$r = key.$init(); /* */ $s = 27; case 27: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
|
|
199049
|
+
$r = lifecycle.$init(); /* */ $s = 28; case 28: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
|
|
199050
|
+
$r = mouse.$init(); /* */ $s = 29; case 29: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
|
|
199051
|
+
$r = size.$init(); /* */ $s = 30; case 30: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
|
|
199052
|
+
$r = touch.$init(); /* */ $s = 31; case 31: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
|
|
199053
|
+
$r = geom.$init(); /* */ $s = 32; case 32: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
|
|
199054
|
+
$r = image.$init(); /* */ $s = 33; case 33: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
|
|
199055
|
+
$r = io.$init(); /* */ $s = 34; case 34: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
|
|
199056
|
+
$r = log.$init(); /* */ $s = 35; case 35: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
|
|
199057
|
+
$r = os.$init(); /* */ $s = 36; case 36: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
|
|
199058
|
+
$r = path.$init(); /* */ $s = 37; case 37: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
|
|
199059
|
+
$r = strconv.$init(); /* */ $s = 38; case 38: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
|
|
199060
|
+
$r = strings.$init(); /* */ $s = 39; case 39: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
|
|
199061
|
+
$r = sync.$init(); /* */ $s = 40; case 40: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
|
|
199062
|
+
$r = js.$init(); /* */ $s = 41; case 41: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
|
|
199063
|
+
$r = time.$init(); /* */ $s = 42; case 42: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
|
|
199008
199064
|
onScreenWindowStarted = $throwNilPointerError;
|
|
199009
199065
|
init();
|
|
199010
199066
|
/* */ } return; } if ($f === undefined) { $f = { $blk: $init }; } $f.$s = $s; $f.$r = $r; return $f;
|