This commit is contained in:
Jorijn van der Graaf 2025-11-10 22:06:27 +01:00
commit 224dc563e9
9 changed files with 200 additions and 46 deletions

View file

@ -600,6 +600,30 @@ let env = {
freeJs: freeJs,
getElementById: getElementById,
setInnerHTML: setInnerHTML,
setStyle: function(ptr, style, styleLength) {
jsmemory.get(ptr).style.cssText = decoder.decode(new Int8Array(window.crafter_webbuild_wasi.instance.exports.memory.buffer, style, styleLength));
},
setProperty: function(ptr, property, propertyLength, value, valueLength) {
const prop = decoder.decode(new Int8Array(window.crafter_webbuild_wasi.instance.exports.memory.buffer, property, propertyLength));
const val = decoder.decode(new Int8Array(window.crafter_webbuild_wasi.instance.exports.memory.buffer, value, valueLength));
jsmemory.get(ptr).style.setProperty(prop, val);
},
addClass: function(ptr, className, classNameLength) {
const cls = decoder.decode(new Int8Array(window.crafter_webbuild_wasi.instance.exports.memory.buffer, className, classNameLength));
jsmemory.get(ptr).classList.add(cls);
},
removeClass: function(ptr, className, classNameLength) {
const cls = decoder.decode(new Int8Array(window.crafter_webbuild_wasi.instance.exports.memory.buffer, className, classNameLength));
jsmemory.get(ptr).classList.remove(cls);
},
toggleClass: function(ptr, className, classNameLength) {
const cls = decoder.decode(new Int8Array(window.crafter_webbuild_wasi.instance.exports.memory.buffer, className, classNameLength));
jsmemory.get(ptr).classList.toggle(cls);
},
hasClass: function(ptr, className, classNameLength) {
const cls = decoder.decode(new Int8Array(window.crafter_webbuild_wasi.instance.exports.memory.buffer, className, classNameLength));
return jsmemory.get(ptr).classList.contains(cls);
},
addClickListener: addClickListener,
removeClickListener: removeClickListener,
addMouseOverListener: addMouseOverListener,