iconlaunch - Go back to caching icons on demand but keep presorting apps into items
parent
a9fff20477
commit
94bb93c19e
|
|
@ -45,33 +45,33 @@
|
||||||
const iconYoffset = Math.floor(whitespace/4)-1;
|
const iconYoffset = Math.floor(whitespace/4)-1;
|
||||||
const itemSize = iconSize + whitespace;
|
const itemSize = iconSize + whitespace;
|
||||||
|
|
||||||
let t = Date.now();
|
|
||||||
launchCache.items = {};
|
launchCache.items = {};
|
||||||
for (let c of launchCache.apps){
|
for (let c of launchCache.apps){
|
||||||
let i = Math.floor(count/appsN);
|
let i = Math.floor(count/appsN);
|
||||||
if (!launchCache.items[i])
|
if (!launchCache.items[i])
|
||||||
launchCache.items[i] = {};
|
launchCache.items[i] = {};
|
||||||
launchCache.items[i].push(count%3);
|
launchCache.items[i][(count%3)] = c;
|
||||||
if (c.icon)
|
|
||||||
c.icondata = s.read(c.icon);
|
|
||||||
else
|
|
||||||
c.icondata = ICON_MISSING;
|
|
||||||
count++;
|
count++;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
let texted;
|
||||||
let drawItem = function(itemI, r) {
|
let drawItem = function(itemI, r) {
|
||||||
let x = 0;
|
let x = whitespace;
|
||||||
let apps = launchCache.items[itemI];
|
|
||||||
let i = itemI * appsN - 1;
|
let i = itemI * appsN - 1;
|
||||||
let selectedApp;
|
let selectedApp;
|
||||||
let currentApp;
|
let c;
|
||||||
let selectedRect;
|
let selectedRect;
|
||||||
for (currentApp of apps) {
|
let item = launchCache.items[itemI];
|
||||||
|
if (texted == itemI){
|
||||||
|
g.clearRect(r.x, r.y, r.x + r.w - 1, r.y + r.h - 1);
|
||||||
|
texted = undefined;
|
||||||
|
}
|
||||||
|
for (c of item) {
|
||||||
i++;
|
i++;
|
||||||
x += whitespace;
|
let id = c.icondata || (c.iconData = (c.icon ? s.read(c.icon) : ICON_MISSING));
|
||||||
g.drawImage(currentApp.icondata,x + r.x - 1, r.y + iconYoffset - 1, x + r.x + iconSize, r.y + iconYoffset + iconSize);
|
g.drawImage(id,x + r.x - 1, r.y + iconYoffset - 1, x + r.x + iconSize, r.y + iconYoffset + iconSize);
|
||||||
if (selectedItem == i) {
|
if (selectedItem == i) {
|
||||||
selectedApp = currentApp;
|
selectedApp = c;
|
||||||
selectedRect = [
|
selectedRect = [
|
||||||
x + r.x - 1,
|
x + r.x - 1,
|
||||||
r.y + iconYoffset - 1,
|
r.y + iconYoffset - 1,
|
||||||
|
|
@ -79,11 +79,13 @@
|
||||||
r.y + iconYoffset + iconSize
|
r.y + iconYoffset + iconSize
|
||||||
];
|
];
|
||||||
}
|
}
|
||||||
x += iconSize;
|
x += iconSize + whitespace;
|
||||||
|
}
|
||||||
|
if (selectedRect) {
|
||||||
|
g.drawRect.apply(null, selectedRect);
|
||||||
|
drawText(itemI, r.y, selectedApp);
|
||||||
|
texted=itemI;
|
||||||
}
|
}
|
||||||
if (selectedRect) g.clearRect(r.x, r.y, r.x + r.w - 1, r.y + r.h - 1);
|
|
||||||
if (selectedRect) g.drawRect.apply(null, selectedRect);
|
|
||||||
if (selectedApp) drawText(itemI, r.y, selectedApp);
|
|
||||||
};
|
};
|
||||||
|
|
||||||
let drawText = function(i, appY, selectedApp) {
|
let drawText = function(i, appY, selectedApp) {
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue