@gjsify/example-dom-excalibur-jelly-jumper 0.1.13 → 0.1.15
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/dist/gjs.js +171 -10
- package/package.json +6 -6
package/dist/gjs.js
CHANGED
|
@@ -4821,6 +4821,164 @@ var init_html_image_element = __esm({
|
|
|
4821
4821
|
}
|
|
4822
4822
|
});
|
|
4823
4823
|
|
|
4824
|
+
// ../../../packages/dom/dom-elements/lib/esm/html-media-element.js
|
|
4825
|
+
var HAVE_NOTHING, HAVE_METADATA, HAVE_CURRENT_DATA, HAVE_FUTURE_DATA, HAVE_ENOUGH_DATA, NETWORK_EMPTY, NETWORK_IDLE, NETWORK_LOADING, NETWORK_NO_SOURCE, HTMLMediaElement;
|
|
4826
|
+
var init_html_media_element = __esm({
|
|
4827
|
+
"../../../packages/dom/dom-elements/lib/esm/html-media-element.js"() {
|
|
4828
|
+
init_console_gjs();
|
|
4829
|
+
init_auto_globals_823b79dee8();
|
|
4830
|
+
init_esm4();
|
|
4831
|
+
init_html_element();
|
|
4832
|
+
HAVE_NOTHING = 0;
|
|
4833
|
+
HAVE_METADATA = 1;
|
|
4834
|
+
HAVE_CURRENT_DATA = 2;
|
|
4835
|
+
HAVE_FUTURE_DATA = 3;
|
|
4836
|
+
HAVE_ENOUGH_DATA = 4;
|
|
4837
|
+
NETWORK_EMPTY = 0;
|
|
4838
|
+
NETWORK_IDLE = 1;
|
|
4839
|
+
NETWORK_LOADING = 2;
|
|
4840
|
+
NETWORK_NO_SOURCE = 3;
|
|
4841
|
+
HTMLMediaElement = class extends HTMLElement2 {
|
|
4842
|
+
constructor() {
|
|
4843
|
+
super(...arguments);
|
|
4844
|
+
this._src = "";
|
|
4845
|
+
this._srcObject = null;
|
|
4846
|
+
this.currentTime = 0;
|
|
4847
|
+
this.duration = NaN;
|
|
4848
|
+
this.paused = true;
|
|
4849
|
+
this.ended = false;
|
|
4850
|
+
this.volume = 1;
|
|
4851
|
+
this.muted = false;
|
|
4852
|
+
this.defaultMuted = false;
|
|
4853
|
+
this.loop = false;
|
|
4854
|
+
this.autoplay = false;
|
|
4855
|
+
this.preload = "";
|
|
4856
|
+
this.playbackRate = 1;
|
|
4857
|
+
this.defaultPlaybackRate = 1;
|
|
4858
|
+
this.readyState = HAVE_NOTHING;
|
|
4859
|
+
this.networkState = NETWORK_EMPTY;
|
|
4860
|
+
}
|
|
4861
|
+
// -- Buffered/seekable stubs --
|
|
4862
|
+
get buffered() {
|
|
4863
|
+
return { length: 0, start: () => 0, end: () => 0 };
|
|
4864
|
+
}
|
|
4865
|
+
get seekable() {
|
|
4866
|
+
return { length: 0, start: () => 0, end: () => 0 };
|
|
4867
|
+
}
|
|
4868
|
+
get played() {
|
|
4869
|
+
return { length: 0, start: () => 0, end: () => 0 };
|
|
4870
|
+
}
|
|
4871
|
+
// -- src property --
|
|
4872
|
+
get src() {
|
|
4873
|
+
return this._src;
|
|
4874
|
+
}
|
|
4875
|
+
set src(value2) {
|
|
4876
|
+
this._src = value2;
|
|
4877
|
+
this._srcObject = null;
|
|
4878
|
+
this.dispatchEvent(new Event2("srcchange"));
|
|
4879
|
+
}
|
|
4880
|
+
// -- srcObject property (MediaStream) --
|
|
4881
|
+
get srcObject() {
|
|
4882
|
+
return this._srcObject;
|
|
4883
|
+
}
|
|
4884
|
+
set srcObject(stream) {
|
|
4885
|
+
this._srcObject = stream;
|
|
4886
|
+
this._src = "";
|
|
4887
|
+
this.dispatchEvent(new Event2("srcobjectchange"));
|
|
4888
|
+
}
|
|
4889
|
+
// -- Playback control --
|
|
4890
|
+
play() {
|
|
4891
|
+
this.paused = false;
|
|
4892
|
+
this.ended = false;
|
|
4893
|
+
this.dispatchEvent(new Event2("play"));
|
|
4894
|
+
return Promise.resolve();
|
|
4895
|
+
}
|
|
4896
|
+
pause() {
|
|
4897
|
+
this.paused = true;
|
|
4898
|
+
this.dispatchEvent(new Event2("pause"));
|
|
4899
|
+
}
|
|
4900
|
+
load() {
|
|
4901
|
+
this.readyState = HAVE_NOTHING;
|
|
4902
|
+
this.networkState = NETWORK_LOADING;
|
|
4903
|
+
this.dispatchEvent(new Event2("loadstart"));
|
|
4904
|
+
}
|
|
4905
|
+
canPlayType(_type) {
|
|
4906
|
+
return "";
|
|
4907
|
+
}
|
|
4908
|
+
static {
|
|
4909
|
+
this.HAVE_NOTHING = HAVE_NOTHING;
|
|
4910
|
+
}
|
|
4911
|
+
static {
|
|
4912
|
+
this.HAVE_METADATA = HAVE_METADATA;
|
|
4913
|
+
}
|
|
4914
|
+
static {
|
|
4915
|
+
this.HAVE_CURRENT_DATA = HAVE_CURRENT_DATA;
|
|
4916
|
+
}
|
|
4917
|
+
static {
|
|
4918
|
+
this.HAVE_FUTURE_DATA = HAVE_FUTURE_DATA;
|
|
4919
|
+
}
|
|
4920
|
+
static {
|
|
4921
|
+
this.HAVE_ENOUGH_DATA = HAVE_ENOUGH_DATA;
|
|
4922
|
+
}
|
|
4923
|
+
static {
|
|
4924
|
+
this.NETWORK_EMPTY = NETWORK_EMPTY;
|
|
4925
|
+
}
|
|
4926
|
+
static {
|
|
4927
|
+
this.NETWORK_IDLE = NETWORK_IDLE;
|
|
4928
|
+
}
|
|
4929
|
+
static {
|
|
4930
|
+
this.NETWORK_LOADING = NETWORK_LOADING;
|
|
4931
|
+
}
|
|
4932
|
+
static {
|
|
4933
|
+
this.NETWORK_NO_SOURCE = NETWORK_NO_SOURCE;
|
|
4934
|
+
}
|
|
4935
|
+
get [Symbol.toStringTag]() {
|
|
4936
|
+
return "HTMLMediaElement";
|
|
4937
|
+
}
|
|
4938
|
+
};
|
|
4939
|
+
}
|
|
4940
|
+
});
|
|
4941
|
+
|
|
4942
|
+
// ../../../packages/dom/dom-elements/lib/esm/html-video-element.js
|
|
4943
|
+
var HTMLVideoElement;
|
|
4944
|
+
var init_html_video_element = __esm({
|
|
4945
|
+
"../../../packages/dom/dom-elements/lib/esm/html-video-element.js"() {
|
|
4946
|
+
init_console_gjs();
|
|
4947
|
+
init_auto_globals_823b79dee8();
|
|
4948
|
+
init_html_media_element();
|
|
4949
|
+
init_property_symbol();
|
|
4950
|
+
init_namespace_uri();
|
|
4951
|
+
HTMLVideoElement = class extends HTMLMediaElement {
|
|
4952
|
+
constructor() {
|
|
4953
|
+
super();
|
|
4954
|
+
this._videoWidth = 0;
|
|
4955
|
+
this._videoHeight = 0;
|
|
4956
|
+
this.poster = "";
|
|
4957
|
+
this[tagName] = "VIDEO";
|
|
4958
|
+
this[localName] = "video";
|
|
4959
|
+
this[namespaceURI] = NamespaceURI.html;
|
|
4960
|
+
}
|
|
4961
|
+
/** Intrinsic width of the video (set by the bridge when media metadata loads). */
|
|
4962
|
+
get videoWidth() {
|
|
4963
|
+
return this._videoWidth;
|
|
4964
|
+
}
|
|
4965
|
+
set videoWidth(value2) {
|
|
4966
|
+
this._videoWidth = value2;
|
|
4967
|
+
}
|
|
4968
|
+
/** Intrinsic height of the video (set by the bridge when media metadata loads). */
|
|
4969
|
+
get videoHeight() {
|
|
4970
|
+
return this._videoHeight;
|
|
4971
|
+
}
|
|
4972
|
+
set videoHeight(value2) {
|
|
4973
|
+
this._videoHeight = value2;
|
|
4974
|
+
}
|
|
4975
|
+
get [Symbol.toStringTag]() {
|
|
4976
|
+
return "HTMLVideoElement";
|
|
4977
|
+
}
|
|
4978
|
+
};
|
|
4979
|
+
}
|
|
4980
|
+
});
|
|
4981
|
+
|
|
4824
4982
|
// ../../../packages/dom/dom-elements/lib/esm/text.js
|
|
4825
4983
|
var Text;
|
|
4826
4984
|
var init_text = __esm({
|
|
@@ -5005,6 +5163,7 @@ var init_document = __esm({
|
|
|
5005
5163
|
init_node();
|
|
5006
5164
|
init_html_element();
|
|
5007
5165
|
init_html_image_element();
|
|
5166
|
+
init_html_video_element();
|
|
5008
5167
|
init_html_canvas_element();
|
|
5009
5168
|
init_text();
|
|
5010
5169
|
init_comment();
|
|
@@ -5036,6 +5195,8 @@ var init_document = __esm({
|
|
|
5036
5195
|
switch (tag) {
|
|
5037
5196
|
case "img":
|
|
5038
5197
|
return new HTMLImageElement();
|
|
5198
|
+
case "video":
|
|
5199
|
+
return new HTMLVideoElement();
|
|
5039
5200
|
case "canvas":
|
|
5040
5201
|
return new HTMLCanvasElement();
|
|
5041
5202
|
default: {
|
|
@@ -22858,7 +23019,7 @@ var HTMLCanvasElement2 = class extends HTMLCanvasElement {
|
|
|
22858
23019
|
}
|
|
22859
23020
|
};
|
|
22860
23021
|
|
|
22861
|
-
// ../../../packages/dom/webgl/lib/esm/
|
|
23022
|
+
// ../../../packages/dom/webgl/lib/esm/webgl-bridge.js
|
|
22862
23023
|
init_console_gjs();
|
|
22863
23024
|
init_auto_globals_823b79dee8();
|
|
22864
23025
|
import GObject from "gi://GObject";
|
|
@@ -23253,11 +23414,11 @@ function attachEventControllers(widget, getElement, options) {
|
|
|
23253
23414
|
widget.add_controller(focusCtrl);
|
|
23254
23415
|
}
|
|
23255
23416
|
|
|
23256
|
-
// ../../../packages/dom/webgl/lib/esm/
|
|
23417
|
+
// ../../../packages/dom/webgl/lib/esm/webgl-bridge.js
|
|
23257
23418
|
init_esm4();
|
|
23258
|
-
var
|
|
23259
|
-
{ GTypeName: "
|
|
23260
|
-
class
|
|
23419
|
+
var WebGLBridge = GObject.registerClass(
|
|
23420
|
+
{ GTypeName: "GjsifyWebGLBridge" },
|
|
23421
|
+
class WebGLBridge2 extends Gtk3.GLArea {
|
|
23261
23422
|
constructor(params) {
|
|
23262
23423
|
super(params);
|
|
23263
23424
|
this._canvas = null;
|
|
@@ -23404,16 +23565,16 @@ init_console_gjs();
|
|
|
23404
23565
|
init_auto_globals_823b79dee8();
|
|
23405
23566
|
init_esm2();
|
|
23406
23567
|
|
|
23407
|
-
// ../../../packages/dom/canvas2d/lib/esm/
|
|
23568
|
+
// ../../../packages/dom/canvas2d/lib/esm/canvas2d-bridge.js
|
|
23408
23569
|
init_console_gjs();
|
|
23409
23570
|
init_auto_globals_823b79dee8();
|
|
23410
23571
|
import GObject2 from "gi://GObject";
|
|
23411
23572
|
import GLib6 from "gi://GLib?version=2.0";
|
|
23412
23573
|
import Gtk4 from "gi://Gtk?version=4.0";
|
|
23413
23574
|
init_esm4();
|
|
23414
|
-
var
|
|
23415
|
-
{ GTypeName: "
|
|
23416
|
-
class
|
|
23575
|
+
var Canvas2DBridge = GObject2.registerClass(
|
|
23576
|
+
{ GTypeName: "GjsifyCanvas2DBridge" },
|
|
23577
|
+
class Canvas2DBridge2 extends Gtk4.DrawingArea {
|
|
23417
23578
|
constructor(params) {
|
|
23418
23579
|
super(params);
|
|
23419
23580
|
this._canvas = null;
|
|
@@ -64435,7 +64596,7 @@ var JellyJumperWindow = class extends Adw.ApplicationWindow {
|
|
|
64435
64596
|
this._canvasContainer.remove(child);
|
|
64436
64597
|
child = this._canvasContainer.get_first_child();
|
|
64437
64598
|
}
|
|
64438
|
-
const widget = useFallback ? new
|
|
64599
|
+
const widget = useFallback ? new Canvas2DBridge() : new WebGLBridge();
|
|
64439
64600
|
widget.set_hexpand(true);
|
|
64440
64601
|
widget.set_vexpand(true);
|
|
64441
64602
|
widget.installGlobals();
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@gjsify/example-dom-excalibur-jelly-jumper",
|
|
3
|
-
"version": "0.1.
|
|
3
|
+
"version": "0.1.15",
|
|
4
4
|
"description": "2D platformer showcase using Excalibur.js 0.32.0 with Tiled tilemaps, running natively on GJS/GTK4 and in the browser",
|
|
5
5
|
"main": "dist/gjs.js",
|
|
6
6
|
"type": "module",
|
|
@@ -30,17 +30,17 @@
|
|
|
30
30
|
"@girs/glib-2.0": "^2.88.0-4.0.0-rc.3",
|
|
31
31
|
"@girs/gobject-2.0": "^2.88.0-4.0.0-rc.3",
|
|
32
32
|
"@girs/gtk-4.0": "^4.23.0-4.0.0-rc.3",
|
|
33
|
-
"@gjsify/adwaita-icons": "^0.1.
|
|
34
|
-
"@gjsify/adwaita-web": "^0.1.
|
|
35
|
-
"@gjsify/canvas2d": "^0.1.
|
|
36
|
-
"@gjsify/cli": "^0.1.
|
|
33
|
+
"@gjsify/adwaita-icons": "^0.1.15",
|
|
34
|
+
"@gjsify/adwaita-web": "^0.1.15",
|
|
35
|
+
"@gjsify/canvas2d": "^0.1.15",
|
|
36
|
+
"@gjsify/cli": "^0.1.15",
|
|
37
37
|
"@types/node": "^25.6.0",
|
|
38
38
|
"excalibur": "0.32.0",
|
|
39
39
|
"http-server": "^14.1.1",
|
|
40
40
|
"typescript": "^6.0.2"
|
|
41
41
|
},
|
|
42
42
|
"dependencies": {
|
|
43
|
-
"@gjsify/webgl": "^0.1.
|
|
43
|
+
"@gjsify/webgl": "^0.1.15"
|
|
44
44
|
},
|
|
45
45
|
"author": "Pascal Garber <pascal@artandcode.studio>",
|
|
46
46
|
"license": "MIT"
|