looper/web/api.js

55 lines
No EOL
1.4 KiB
JavaScript

addToLibrary({
open_filepicker: function() {
window.filePicker.show();
},
set_filter: function(filter) {
window.filePicker.setFilter(Module.UTF8ToString(filter));
},
file_picker_confirmed: function() {
return window.filePicker.wasConfirmed();
},
file_picker_closed: function() {
return window.filePicker.wasClosed();
},
file_picker_cancelled: function() {
return window.filePicker.wasCancelled();
},
get_first_file: function() {
if (window.filePicker.wasConfirmed()) {
let output = window.filePicker.getFirstFile();
let len = Module.lengthBytesUTF8(output) + 1;
let outptr = Module._malloc(len);
for (let i = 0; i < len; i++) {
setValue(outptr + i, 0, 'i8');
}
Module.stringToUTF8(output, outptr, len);
return outptr;
} else {
return 0;
}
},
file_picker_visible: function() {
return window.filePicker.visible;
},
file_picker_loading: function() {
return window.filePicker.loading;
},
clear_file_selection: function() {
window.filePicker.clearSelection();
},
get_size: function(x, y) {
let canvas = document.getElementById("canvas");
setValue(x, canvas.offsetWidth, "i32");
setValue(y, canvas.offsetHeight, "i32");
},
is_puter_enabled: function() {
return window.filePicker.puterEnabled;
},
enable_puter: function(enable) {
window.filePicker.puterEnabled = enable;
},
quit: function() {
puter.ui.exit();
}
})