Load images in an efficient manner

pull/184/head
Paul Cockrell 2020-04-02 13:45:27 +01:00
parent 538abc003a
commit bcece63915
18 changed files with 27 additions and 71 deletions

View File

@ -963,14 +963,14 @@
{"name":"astrocalc.app.js","url":"astrocalc-app.js"},
{"name":"suncalc.js","url":"suncalc.js"},
{"name":"astrocalc.img","url":"astrocalc-icon.js","evaluate":true},
{"name":"first-quarter-icon.json","url":"first-quarter-icon.json"},
{"name":"last-quarter-icon.json","url":"last-quarter-icon.json"},
{"name":"waning-crescent-icon.json","url":"waning-crescent-icon.json"},
{"name":"waning-gibbous-icon.json","url":"waning-gibbous-icon.json"},
{"name":"full-icon.json","url":"full-icon.json"},
{"name":"new-icon.json","url":"new-icon.json"},
{"name":"waxing-gibbous-icon.json","url":"waxing-gibbous-icon.json"},
{"name":"waxing-crescent-icon.json","url":"waxing-crescent-icon.json"}
{"name":"first-quarter.img","url":"first-quarter-icon.js","evaluate":true},
{"name":"last-quarter.img","url":"last-quarter-icon.js","evaluate":true},
{"name":"waning-crescent.img","url":"waning-crescent-icon.js","evaluate":true},
{"name":"waning-gibbous.img","url":"waning-gibbous-icon.js","evaluate":true},
{"name":"full.img","url":"full-icon.js","evaluate":true},
{"name":"new.img","url":"new-icon.js","evaluate":true},
{"name":"waxing-gibbous.img","url":"waxing-gibbous-icon.js","evaluate":true},
{"name":"waxing-crescent.img","url":"waxing-crescent-icon.js","evaluate":true}
]
}
]

View File

@ -6,19 +6,19 @@ const SunCalc = require("suncalc.js");
function drawMoon(phase, x, y) {
const moonImgFiles = [
"new-icon.json",
"waxing-crescent-icon.json",
"first-quarter-icon.json",
"waxing-gibbous-icon.json",
"full-icon.json",
"waning-gibbous-icon.json",
"last-quarter-icon.json",
"waning-crescent-icon.json"
"new",
"waxing-crescent",
"first-quarter",
"waxing-gibbous",
"full",
"waning-gibbous",
"last-quarter",
"waning-crescent",
];
imgObj = require("Storage").readJSON(moonImgFiles[phase]);
imgObj.buffer = require("heatshrink").decompress(atob(imgObj.image));
g.drawImage(imgObj, x - (imgObj.width / 2), y);
img = require("Storage").read(`${moonImgFiles[phase]}.img`);
// image width & height = 92px
g.drawImage(img, x - parseInt(92 / 2), y);
}
// linear interpolation between two values a and b

View File

@ -0,0 +1 @@
require("heatshrink").decompress(atob("AGUD/ALJn4LJgf/+AWJ//gCxP/wAWJ/wWKHRAWB//ACxIiICwQiHCwQiICwQiHCwZ0HCwRoHCwf8CxSLGCwY5HCwY5GCwY5HCwY5GCwhzGCwY5GCwhQGCwf/CxRQGCwhQFCwjEGCx5nGCwhnFCyBnFCwh+GCzZ+FCwiVGC34W/CxzOt4AWJ/gWV/AWKwAWVBQoWESgoWEMwwWEPooWEMwwWEMwoWEJ4wWEBQoWEHAwWDJ4wWEHAwWDHAwWEBQwWDHAwWDOIwWEYIoWEEI4WCEI4WDEI4WCEI4WCMo4WCQ44WDBRAWBG44WCBRIAo"));

View File

@ -1,6 +0,0 @@
{
"width": 92,
"height": 92,
"bpp": 1,
"image": "AGUD/ALJn4LJgf/+AWJ//gCxP/wAWJ/wWKHRAWB//ACxIiICwQiHCwQiICwQiHCwZ0HCwRoHCwf8CxSLGCwY5HCwY5GCwY5HCwY5GCwhzGCwY5GCwhQGCwf/CxRQGCwhQFCwjEGCx5nGCwhnFCyBnFCwh+GCzZ+FCwiVGC34W/CxzOt4AWJ/gWV/AWKwAWVBQoWESgoWEMwwWEPooWEMwwWEMwoWEJ4wWEBQoWEHAwWDJ4wWEHAwWDHAwWEBQwWDHAwWDOIwWEYIoWEEI4WCEI4WDEI4WCEI4WCMo4WCQ44WDBRAWBG44WCBRIAo"
}

View File

@ -0,0 +1 @@
require("heatshrink").decompress(atob("AH4AfgP//AKJBZIKB//wBQ0/BYXABQsPBQX/BQsDBQf8BYt/BYfgBQkfBQf/wAhIEQwhEEQpDEIopwCAAZ0EMoZoGg4KF/yHGAAaLDLQpcEHAw5EHAw5DHAw5EOIpzEOIxzEBQ5QCJ45QCJ45QDJ45QCYIrEFCxRmHM4ZmHM4QWWPpB+CBRB+BC34W/CxLOtgYKH/gWBn4LH4AWMj4LHwEAgIKH/AWBPxAKBPxB9BM5BmCM5BmBKBBPCKBBPBKBBPCKBAKCHI44CHI44DHI44COY5xCOY5xDYg7BBAARcFLQYiGEIoiFEIhFFIYhoFMoiLGBQx0DOAgLFBRAA/AC4A=="));

View File

@ -1,7 +0,0 @@
{
"width": 92,
"height": 92,
"bpp": 1,
"transparent": 0,
"image": "AH4AfgP//AKJBZIKB//wBQ0/BYXABQsPBQX/BQsDBQf8BYt/BYfgBQkfBQf/wAhIEQwhEEQpDEIopwCAAZ0EMoZoGg4KF/yHGAAaLDLQpcEHAw5EHAw5DHAw5EOIpzEOIxzEBQ5QCJ45QCJ45QDJ45QCYIrEFCxRmHM4ZmHM4QWWPpB+CBRB+BC34W/CxLOtgYKH/gWBn4LH4AWMj4LHwEAgIKH/AWBPxAKBPxB9BM5BmCM5BmBKBBPCKBBPBKBBPCKBAKCHI44CHI44DHI44COY5xCOY5xDYg7BBAARcFLQYiGEIoiFEIhFFIYhoFMoiLGBQx0DOAgLFBRAA/AC4A=="
}

View File

@ -0,0 +1 @@
require("heatshrink").decompress(atob("AGMB/gKJ//ABZH/CxN/CxMfCxMH/4WIG4IWJn4WJEIQWHEIQWIEIQWHEIQWIBQQWHMoIWIgYWKQ4IWIHAYWHBQQWHHAYWGHAYWHOIQWHHAYWHJ4YWGh4WKBQYWGJ4YWGYIYWSMwgWGMwYWSMwYWGPogWdBQYWGSggW/C34WQZ1s/CxMDCysBCxUfCyp+ECwqVECwxnECwx+DCwxnECwxnDCwxQECwxQDCww5ECwxQDCw45DCww5DCw45DCww5DCw5zDCw7ECCw4iDCw4iCCxAiCCw4iCCxBoCCxCLBCxB0CCxA6BCxILBCxIApA="));

View File

@ -1,7 +0,0 @@
{
"width": 92,
"height": 92,
"bpp": 1,
"image": "AGMB/gKJ//ABZH/CxN/CxMfCxMH/4WIG4IWJn4WJEIQWHEIQWIEIQWHEIQWIBQQWHMoIWIgYWKQ4IWIHAYWHBQQWHHAYWGHAYWHOIQWHHAYWHJ4YWGh4WKBQYWGJ4YWGYIYWSMwgWGMwYWSMwYWGPogWdBQYWGSggW/C34WQZ1s/CxMDCysBCxUfCyp+ECwqVECwxnECwx+DCwxnECwxnDCwxQECwxQDCww5ECwxQDCw45DCww5DCw45DCww5DCw5zDCw7ECCw4iDCw4iCCxAiCCw4iCCxBoCCxCLBCxB0CCxA6BCxILBCxIApA="
}

View File

@ -0,0 +1 @@
require("heatshrink").decompress(atob("AAcP///BRQLHg4KC/wKFgIKC//4BYt/BYfgBQkfBQf/wAsHFw4HCBwXwBQc/AwYLB4AhEIARIBEQn//gECgYiEIYJ2FIoQQBE4YzBDgd/NoguBNAUPKoo/BB4YhEEQIdCAYYiECQMHUwwHDEIweBLgMPWIwiBAQSlENwQTBDIQAFFQMDHAw5BOYN/HAwfB8ANCAAofCHA45B+EPHA4UBKQQAGMgMfUYQAFv+DJ45QCn5PHKAPDJ45QB/hmICwPnT4yhC/1/Mw5nBCxZmIM4P/PpB+BC34WEVZCsB/7CIYYIWWOX4WbfiwWL/gKHgf+n/ABY8/4YWJ/k/VhF/4LDIg/4j5nI/+APxEP+EPM48BCgN/KA5CBg5QHMwINCJ4/AgY5Hh4fBj45GHAKeBAQSfFMgIZCHAoqCv45GA4QOBEQsfDwQDDEIgSC/4iFv6dCg4iFj60Dn4iEEIKRCL4K5E/5uDh4QDDgKFEv4uDj4/EE4IRCDYIzEAwIvBAQKnFEQIADMIhFBAAayFNAIACMoZtDBYa9GFwbrHBQR2EBYoKEA="));

View File

@ -1,6 +0,0 @@
{
"width": 92,
"height": 92,
"bpp": 1,
"image": "AAcP///BRQLHg4KC/wKFgIKC//4BYt/BYfgBQkfBQf/wAsHFw4HCBwXwBQc/AwYLB4AhEIARIBEQn//gECgYiEIYJ2FIoQQBE4YzBDgd/NoguBNAUPKoo/BB4YhEEQIdCAYYiECQMHUwwHDEIweBLgMPWIwiBAQSlENwQTBDIQAFFQMDHAw5BOYN/HAwfB8ANCAAofCHA45B+EPHA4UBKQQAGMgMfUYQAFv+DJ45QCn5PHKAPDJ45QB/hmICwPnT4yhC/1/Mw5nBCxZmIM4P/PpB+BC34WEVZCsB/7CIYYIWWOX4WbfiwWL/gKHgf+n/ABY8/4YWJ/k/VhF/4LDIg/4j5nI/+APxEP+EPM48BCgN/KA5CBg5QHMwINCJ4/AgY5Hh4fBj45GHAKeBAQSfFMgIZCHAoqCv45GA4QOBEQsfDwQDDEIgSC/4iFv6dCg4iFj60Dn4iEEIKRCL4K5E/5uDh4QDDgKFEv4uDj4/EE4IRCDYIzEAwIvBAQKnFEQIADMIhFBAAayFNAIACMoZtDBYa9GFwbrHBQR2EBYoKEA="
}

View File

@ -0,0 +1 @@
require("heatshrink").decompress(atob("AH4AI8AKJvgKJj+ABREH/AWJ/4KJn44Jg/+BREB//AEJP8EJP/J5P/J5MfCxMD//wCxF/MxI4BCxP/MxI4BPpA4BCxM/PpI4BPpJPBCxEPCxX/CxJPBShDBBShJPBCxBmBC0BmBCxB9BYRIWBYRAWLBQIWISgIW/C34WTW6wWNfhE/fhMDC0MfCxMBCxR+B/iVK4BnJCxJ+BCxBQBCxJnB8BQJ/wWIKAIWIHIQKIKALDIHIQKIHIKVIHISVIHIIWJOYJ+IYgJ+JEQJnJgZ+JIoJnJEQJQJgJQJRYJQJgEOBRIA/AAIA="));

View File

@ -1,7 +0,0 @@
{
"width": 92,
"height": 92,
"bpp": 1,
"image": "AH4AI8AKJvgKJj+ABREH/AWJ/4KJn44Jg/+BREB//AEJP8EJP/J5P/J5MfCxMD//wCxF/MxI4BCxP/MxI4BPpA4BCxM/PpI4BPpJPBCxEPCxX/CxJPBShDBBShJPBCxBmBC0BmBCxB9BYRIWBYRAWLBQIWISgIW/C34WTW6wWNfhE/fhMDC0MfCxMBCxR+B/iVK4BnJCxJ+BCxBQBCxJnB8BQJ/wWIKAIWIHIQKIKALDIHIQKIHIKVIHISVIHIIWJOYJ+IYgJ+JEQJnJgZ+JIoJnJEQJQJgJQJRYJQJgEOBRIA/AAIA="
}

View File

@ -0,0 +1 @@
require("heatshrink").decompress(atob("AGMB/+ABRP+CxH///wBQ9/BYIiHj4KB/gKGg4KB//gG44ACCw0/BQQ5GEIY5GEIn4EJP/4AhJKAwKDKAxlCAAKKFgYWEKAqHCM444ECwwKEM4o4EM4o4FCwpxEM4o4FPwpPFCwkPCxQKFPwhPFSojBECyJmGCwhmFCxasEMwqsEPowWbBQwWDSgwW/C34WOZ1s/CxMDBQv+CxXgBQUBCxUfCyp+GCwaVG/gKDM43APxIWEM4wWEM4v4BQZQGwBQJCwg5GBQhQFVYY5HBQg5FPog5FSgg5GMwhzFPojEGMwgiFMwoiFBQoiEMwoiEJ4xoEJ4qLEHAx0EBQ46CRAoLEEJAAqA="));

View File

@ -1,6 +0,0 @@
{
"width": 92,
"height": 92,
"bpp": 1,
"image": "AGMB/+ABRP+CxH///wBQ9/BYIiHj4KB/gKGg4KB//gG44ACCw0/BQQ5GEIY5GEIn4EJP/4AhJKAwKDKAxlCAAKKFgYWEKAqHCM444ECwwKEM4o4EM4o4FCwpxEM4o4FPwpPFCwkPCxQKFPwhPFSojBECyJmGCwhmFCxasEMwqsEPowWbBQwWDSgwW/C34WOZ1s/CxMDBQv+CxXgBQUBCxUfCyp+GCwaVG/gKDM43APxIWEM4wWEM4v4BQZQGwBQJCwg5GBQhQFVYY5HBQg5FPog5FSgg5GMwhzFPojEGMwgiFMwoiFBQoiEMwoiEJ4xoEJ4qLEHAx0EBQ46CRAoLEEJAAqA="
}

View File

@ -0,0 +1 @@
require("heatshrink").decompress(atob("AH4ALuAKJgfgBZMfwAKIgP+CxMP+ALJv/ABREHERU//BQJ/4iJj4iJgP/IpMf/5oJ//8M5P/RZP/HJMHHJV/HJIWBHJM/OZJ+BHJIWBKBAWB/4WKKBCVBKBKVBYhAWCKBAWBM5AWZM5DDBPxIWYPxAWBSpIW/C34WLZz78BCxD8C4AWJ/gWV/AWKwAWSgZ9Kn6UJCwJ9JCwJ9Ig5mJgF/MxIWBJ5AWCBRDCBHBDCBJ5IWBHBCUBHBKUBBRAWBHBM/OJKUBYJBmBEJMHEJJmBBRMfEJMBMpMAnwKJg4KJAHw="));

View File

@ -1,6 +0,0 @@
{
"width": 92,
"height": 92,
"bpp": 1,
"image": "AH4ALuAKJgfgBZMfwAKIgP+CxMP+ALJv/ABREHERU//BQJ/4iJj4iJgP/IpMf/5oJ//8M5P/RZP/HJMHHJV/HJIWBHJM/OZJ+BHJIWBKBAWB/4WKKBCVBKBKVBYhAWCKBAWBM5AWZM5DDBPxIWYPxAWBSpIW/C34WLZz78BCxD8C4AWJ/gWV/AWKwAWSgZ9Kn6UJCwJ9JCwJ9Ig5mJgF/MxIWBJ5AWCBRDCBHBDCBJ5IWBHBCUBHBKUBBRAWBHBM/OJKUBYJBmBEJMHEJJmBBRMfEJMBMpMAnwKJg4KJAHw="
}

View File

@ -0,0 +1 @@
require("heatshrink").decompress(atob("AGUf/AKIg//BZP/BZMfBYPgBQ0DBQP/wALGv4KB/wKGh4WCFw4KC//AHBAiHgIWDEQ0/ERJPDEQ5PCAAPwRAwADNAoKE/hmIRY4KEHIpmDHIxmEHIwWFHIhmEOYx9EHIoWGKAgWF/59JKAqUEKAoWGYggWRM4gWGM4arFCwoKFM4gWGPwgWdPwYWGSogW/C34WQZ1vABQUHBQv8Cwd/CyH4CxWACyoKDgaUJgE/MxIWGPoYWGMwkBMxMAj5PJCwwKDVgw4EVgpPECww4EPwo4ESowKEM4o4FPwhxEM4zBDM4whFKAghGM4ghFKAghGKAZlFHIiHFHIosGRQYKIEQIKIAFIA="));

View File

@ -1,7 +0,0 @@
{
"width": 92,
"height": 92,
"bpp": 1,
"transparent": 0,
"image": "AGUf/AKIg//BZP/BZMfBYPgBQ0DBQP/wALGv4KB/wKGh4WCFw4KC//AHBAiHgIWDEQ0/ERJPDEQ5PCAAPwRAwADNAoKE/hmIRY4KEHIpmDHIxmEHIwWFHIhmEOYx9EHIoWGKAgWF/59JKAqUEKAoWGYggWRM4gWGM4arFCwoKFM4gWGPwgWdPwYWGSogW/C34WQZ1vABQUHBQv8Cwd/CyH4CxWACyoKDgaUJgE/MxIWGPoYWGMwkBMxMAj5PJCwwKDVgw4EVgpPECww4EPwo4ESowKEM4o4FPwhxEM4zBDM4whFKAghGM4ghFKAghGKAZlFHIiHFHIosGRQYKIEQIKIAFIA="
}