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,28 +202,40 @@ 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 (!firstImage && !element.cachedFirstImageMissing){
if (imageIndex){ if (imageIndex){
firstImage = getByPath(resources, [], "" + (0 + imageIndex)); firstImage = getByPath(resources, [], "" + (0 + imageIndex));
} else { } else {
firstImage = getByPath(resources, element.ImagePath, 0); firstImage = getByPath(resources, element.ImagePath, 0);
} }
element.cachedFirstImage = firstImage;
if (!firstImage) element.cachedFirstImageMissing = true;
}
let minusImage; let minusImage = element.cachedMinusImage;
if (!minusImage && !element.cachedMinusImageMissing){
if (imageIndexMinus){ if (imageIndexMinus){
minusImage = getByPath(resources, [], "" + (0 + imageIndexMinus)); minusImage = getByPath(resources, [], "" + (0 + imageIndexMinus));
} else { } else {
minusImage = getByPath(resources, element.ImagePath, "minus"); 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 (!unitImage && !element.cachedUnitImageMissing){
if (imageIndexUnit !== undefined){ if (imageIndexUnit !== undefined){
unitImage = getByPath(resources, [], "" + (0 + imageIndexUnit)); unitImage = getByPath(resources, [], "" + (0 + imageIndexUnit));
//print("Unit image is", unitImage); //print("Unit image is", unitImage);
} else if (element.Unit){ } else if (element.Unit){
unitImage = getByPath(resources, element.ImagePath, getMultistate(element.Unit, "unknown")); 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);
if (isNegative && minusImage){ if (isNegative && minusImage){