imageclock - Cache searches for numerical images

master
Martin Boonk 2022-10-30 22:12:38 +01:00
parent 866155bbd0
commit 94df58412b
1 changed files with 28 additions and 16 deletions

View File

@ -202,27 +202,39 @@ let firstDraw = true;
let firstDigitY = element.Y; let firstDigitY = element.Y;
let imageIndex = element.ImageIndex ? element.ImageIndex : 0; let imageIndex = element.ImageIndex ? element.ImageIndex : 0;
let firstImage; let firstImage = element.cachedFirstImage;
if (imageIndex){ if (!firstImage && !element.cachedFirstImageMissing){
firstImage = getByPath(resources, [], "" + (0 + imageIndex)); if (imageIndex){
} else { firstImage = getByPath(resources, [], "" + (0 + imageIndex));
firstImage = getByPath(resources, element.ImagePath, 0); } else {
firstImage = getByPath(resources, element.ImagePath, 0);
}
element.cachedFirstImage = firstImage;
if (!firstImage) element.cachedFirstImageMissing = true;
} }
let minusImage; let minusImage = element.cachedMinusImage;
if (imageIndexMinus){ if (!minusImage && !element.cachedMinusImageMissing){
minusImage = getByPath(resources, [], "" + (0 + imageIndexMinus)); if (imageIndexMinus){
} else { minusImage = getByPath(resources, [], "" + (0 + imageIndexMinus));
minusImage = getByPath(resources, element.ImagePath, "minus"); } else {
minusImage = getByPath(resources, element.ImagePath, "minus");
}
element.cachedMinusImage = minusImage;
if (!minusImage) element.cachedMinusImageMissing = true;
} }
let unitImage; let unitImage = element.cachedUnitImage;
//print("Get image for unit", imageIndexUnit); //print("Get image for unit", imageIndexUnit);
if (imageIndexUnit !== undefined){ if (!unitImage && !element.cachedUnitImageMissing){
unitImage = getByPath(resources, [], "" + (0 + imageIndexUnit)); if (imageIndexUnit !== undefined){
//print("Unit image is", unitImage); unitImage = getByPath(resources, [], "" + (0 + imageIndexUnit));
} else if (element.Unit){ //print("Unit image is", unitImage);
unitImage = getByPath(resources, element.ImagePath, getMultistate(element.Unit, "unknown")); } else if (element.Unit){
unitImage = getByPath(resources, element.ImagePath, getMultistate(element.Unit, "unknown"));
}
unitImage = element.cachedUnitImage;
if (!unitImage) element.cachedUnitImageMissing = true;
} }
let numberWidth = (numberOfDigits * firstImage.width) + (Math.max((numberOfDigits - 1),0) * spacing); let numberWidth = (numberOfDigits * firstImage.width) + (Math.max((numberOfDigits - 1),0) * spacing);