remove local file loader panel after loading

This commit is contained in:
Lisa Milne 2023-12-15 22:09:59 +10:00
parent cc67caaf7c
commit f333734f97

View file

@ -1,7 +1,7 @@
(function() {
var bios = {
data:{
version:'0.1.2',
version:'0.1.3',
id:'BIOS',
bootable:'clite/core.js',
entry:null
@ -639,23 +639,58 @@ bios.input.upload = {
var x = 40-(w/2);
var y = 9;
bios.input.upload.data.panel = {w:w,h:h,x:x,y:y,d:[]};
for (var i=0; i<h; i++) {
bios.input.upload.data.panel.d[i] = [];
}
for (var i=0; i<w; i++) {
var p = bios.video.text.internal.getPix(x+i,y);
bios.input.upload.data.panel.d[y-9][i] = {
bg:p.data.bg,
fg:p.data.fg,
c:p.textContent
};
bios.video.io.write(x+i,y,' ');
bios.video.io.setBG(x+i,y,15);
}
for (var j=0; j<4; j++) {
y++;
var p = bios.video.text.internal.getPix(x,y);
bios.input.upload.data.panel.d[y-9][0] = {
bg:p.data.bg,
fg:p.data.fg,
c:p.textContent
};
bios.video.io.write(x,y,' ');
bios.video.io.setBG(x,y,15);
for (var i=1; i<w-1; i++) {
p = bios.video.text.internal.getPix(x+i,y);
bios.input.upload.data.panel.d[y-9][i] = {
bg:p.data.bg,
fg:p.data.fg,
c:p.textContent
};
bios.video.io.write(x+i,y,' ');
bios.video.io.setBG(x+i,y,0);
}
p = bios.video.text.internal.getPix(x+i,y);
bios.input.upload.data.panel.d[y-9][w-1] = {
bg:p.data.bg,
fg:p.data.fg,
c:p.textContent
};
bios.video.io.write(x+w-1,y,' ');
bios.video.io.setBG(x+w-1,y,15);
}
y++;
for (var i=0; i<w; i++) {
var p = bios.video.text.internal.getPix(x+i,y);
bios.input.upload.data.panel.d[y-9][i] = {
bg:p.data.bg,
fg:p.data.fg,
c:p.textContent
};
bios.video.io.write(x+i,y,' ');
bios.video.io.setBG(x+i,y,15);
}
@ -672,7 +707,17 @@ bios.input.upload = {
removeUploadPanel:function() {
if (bios.video.mode.current != 1 || bios.input.upload.data.panel == null)
return;
// TODO: create should store the current state so this can restore it
for (var i=0; i<bios.input.upload.data.panel.h; i++) {
for (var j=0; j<bios.input.upload.data.panel.w; j++) {
var p = bios.video.text.internal.getPix(bios.input.upload.data.panel.x+j,bios.input.upload.data.panel.y+i);
p.data.bg = bios.input.upload.data.panel.d[i][j].bg;
p.data.fg = bios.input.upload.data.panel.d[i][j].fg;
p.textContent = bios.input.upload.data.panel.d[i][j].c;
p.className = bios.video.text.internal.dataToClass(p.data);
}
}
bios.input.upload.data.panel = null;
},
resetFocus:function(e) {
setTimeout(function() {