From bcece63915b9c45c4f16bcb7e6c97eb7c38ce8c9 Mon Sep 17 00:00:00 2001 From: Paul Cockrell Date: Thu, 2 Apr 2020 13:45:27 +0100 Subject: [PATCH] Load images in an efficient manner --- apps.json | 16 ++++++++-------- apps/astrocalc/astrocalc-app.js | 22 +++++++++++----------- apps/astrocalc/first-quarter-icon.js | 1 + apps/astrocalc/first-quarter-icon.json | 6 ------ apps/astrocalc/full-icon.js | 1 + apps/astrocalc/full-icon.json | 7 ------- apps/astrocalc/last-quarter-icon.js | 1 + apps/astrocalc/last-quarter-icon.json | 7 ------- apps/astrocalc/new-icon.js | 1 + apps/astrocalc/new-icon.json | 6 ------ apps/astrocalc/waning-crescent-icon.js | 1 + apps/astrocalc/waning-crescent-icon.json | 7 ------- apps/astrocalc/waning-gibbous-icon.js | 1 + apps/astrocalc/waning-gibbous-icon.json | 6 ------ apps/astrocalc/waxing-crescent-icon.js | 1 + apps/astrocalc/waxing-crescent-icon.json | 6 ------ apps/astrocalc/waxing-gibbous-icon.js | 1 + apps/astrocalc/waxing-gibbous-icon.json | 7 ------- 18 files changed, 27 insertions(+), 71 deletions(-) create mode 100644 apps/astrocalc/first-quarter-icon.js delete mode 100644 apps/astrocalc/first-quarter-icon.json create mode 100644 apps/astrocalc/full-icon.js delete mode 100644 apps/astrocalc/full-icon.json create mode 100644 apps/astrocalc/last-quarter-icon.js delete mode 100644 apps/astrocalc/last-quarter-icon.json create mode 100644 apps/astrocalc/new-icon.js delete mode 100644 apps/astrocalc/new-icon.json create mode 100644 apps/astrocalc/waning-crescent-icon.js delete mode 100644 apps/astrocalc/waning-crescent-icon.json create mode 100644 apps/astrocalc/waning-gibbous-icon.js delete mode 100644 apps/astrocalc/waning-gibbous-icon.json create mode 100644 apps/astrocalc/waxing-crescent-icon.js delete mode 100644 apps/astrocalc/waxing-crescent-icon.json create mode 100644 apps/astrocalc/waxing-gibbous-icon.js delete mode 100644 apps/astrocalc/waxing-gibbous-icon.json diff --git a/apps.json b/apps.json index ea334a0b4..90d50ccaa 100644 --- a/apps.json +++ b/apps.json @@ -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} ] } ] diff --git a/apps/astrocalc/astrocalc-app.js b/apps/astrocalc/astrocalc-app.js index c1a29219d..318147b13 100644 --- a/apps/astrocalc/astrocalc-app.js +++ b/apps/astrocalc/astrocalc-app.js @@ -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 diff --git a/apps/astrocalc/first-quarter-icon.js b/apps/astrocalc/first-quarter-icon.js new file mode 100644 index 000000000..e726c5d37 --- /dev/null +++ b/apps/astrocalc/first-quarter-icon.js @@ -0,0 +1 @@ +require("heatshrink").decompress(atob("AGUD/ALJn4LJgf/+AWJ//gCxP/wAWJ/wWKHRAWB//ACxIiICwQiHCwQiICwQiHCwZ0HCwRoHCwf8CxSLGCwY5HCwY5GCwY5HCwY5GCwhzGCwY5GCwhQGCwf/CxRQGCwhQFCwjEGCx5nGCwhnFCyBnFCwh+GCzZ+FCwiVGC34W/CxzOt4AWJ/gWV/AWKwAWVBQoWESgoWEMwwWEPooWEMwwWEMwoWEJ4wWEBQoWEHAwWDJ4wWEHAwWDHAwWEBQwWDHAwWDOIwWEYIoWEEI4WCEI4WDEI4WCEI4WCMo4WCQ44WDBRAWBG44WCBRIAo")); \ No newline at end of file diff --git a/apps/astrocalc/first-quarter-icon.json b/apps/astrocalc/first-quarter-icon.json deleted file mode 100644 index b0018a433..000000000 --- a/apps/astrocalc/first-quarter-icon.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "width": 92, - "height": 92, - "bpp": 1, - "image": "AGUD/ALJn4LJgf/+AWJ//gCxP/wAWJ/wWKHRAWB//ACxIiICwQiHCwQiICwQiHCwZ0HCwRoHCwf8CxSLGCwY5HCwY5GCwY5HCwY5GCwhzGCwY5GCwhQGCwf/CxRQGCwhQFCwjEGCx5nGCwhnFCyBnFCwh+GCzZ+FCwiVGC34W/CxzOt4AWJ/gWV/AWKwAWVBQoWESgoWEMwwWEPooWEMwwWEMwoWEJ4wWEBQoWEHAwWDJ4wWEHAwWDHAwWEBQwWDHAwWDOIwWEYIoWEEI4WCEI4WDEI4WCEI4WCMo4WCQ44WDBRAWBG44WCBRIAo" -} \ No newline at end of file diff --git a/apps/astrocalc/full-icon.js b/apps/astrocalc/full-icon.js new file mode 100644 index 000000000..11aaadbbb --- /dev/null +++ b/apps/astrocalc/full-icon.js @@ -0,0 +1 @@ +require("heatshrink").decompress(atob("AH4AfgP//AKJBZIKB//wBQ0/BYXABQsPBQX/BQsDBQf8BYt/BYfgBQkfBQf/wAhIEQwhEEQpDEIopwCAAZ0EMoZoGg4KF/yHGAAaLDLQpcEHAw5EHAw5DHAw5EOIpzEOIxzEBQ5QCJ45QCJ45QDJ45QCYIrEFCxRmHM4ZmHM4QWWPpB+CBRB+BC34W/CxLOtgYKH/gWBn4LH4AWMj4LHwEAgIKH/AWBPxAKBPxB9BM5BmCM5BmBKBBPCKBBPBKBBPCKBAKCHI44CHI44DHI44COY5xCOY5xDYg7BBAARcFLQYiGEIoiFEIhFFIYhoFMoiLGBQx0DOAgLFBRAA/AC4A==")); \ No newline at end of file diff --git a/apps/astrocalc/full-icon.json b/apps/astrocalc/full-icon.json deleted file mode 100644 index 2dc5c59aa..000000000 --- a/apps/astrocalc/full-icon.json +++ /dev/null @@ -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==" -} \ No newline at end of file diff --git a/apps/astrocalc/last-quarter-icon.js b/apps/astrocalc/last-quarter-icon.js new file mode 100644 index 000000000..1de62e58a --- /dev/null +++ b/apps/astrocalc/last-quarter-icon.js @@ -0,0 +1 @@ +require("heatshrink").decompress(atob("AGMB/gKJ//ABZH/CxN/CxMfCxMH/4WIG4IWJn4WJEIQWHEIQWIEIQWHEIQWIBQQWHMoIWIgYWKQ4IWIHAYWHBQQWHHAYWGHAYWHOIQWHHAYWHJ4YWGh4WKBQYWGJ4YWGYIYWSMwgWGMwYWSMwYWGPogWdBQYWGSggW/C34WQZ1s/CxMDCysBCxUfCyp+ECwqVECwxnECwx+DCwxnECwxnDCwxQECwxQDCww5ECwxQDCw45DCww5DCw45DCww5DCw5zDCw7ECCw4iDCw4iCCxAiCCw4iCCxBoCCxCLBCxB0CCxA6BCxILBCxIApA=")); \ No newline at end of file diff --git a/apps/astrocalc/last-quarter-icon.json b/apps/astrocalc/last-quarter-icon.json deleted file mode 100644 index 31e855eac..000000000 --- a/apps/astrocalc/last-quarter-icon.json +++ /dev/null @@ -1,7 +0,0 @@ - -{ - "width": 92, - "height": 92, - "bpp": 1, - "image": "AGMB/gKJ//ABZH/CxN/CxMfCxMH/4WIG4IWJn4WJEIQWHEIQWIEIQWHEIQWIBQQWHMoIWIgYWKQ4IWIHAYWHBQQWHHAYWGHAYWHOIQWHHAYWHJ4YWGh4WKBQYWGJ4YWGYIYWSMwgWGMwYWSMwYWGPogWdBQYWGSggW/C34WQZ1s/CxMDCysBCxUfCyp+ECwqVECwxnECwx+DCwxnECwxnDCwxQECwxQDCww5ECwxQDCw45DCww5DCw45DCww5DCw5zDCw7ECCw4iDCw4iCCxAiCCw4iCCxBoCCxCLBCxB0CCxA6BCxILBCxIApA=" -} \ No newline at end of file diff --git a/apps/astrocalc/new-icon.js b/apps/astrocalc/new-icon.js new file mode 100644 index 000000000..91f7034e7 --- /dev/null +++ b/apps/astrocalc/new-icon.js @@ -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=")); \ No newline at end of file diff --git a/apps/astrocalc/new-icon.json b/apps/astrocalc/new-icon.json deleted file mode 100644 index 368c7b376..000000000 --- a/apps/astrocalc/new-icon.json +++ /dev/null @@ -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=" -} \ No newline at end of file diff --git a/apps/astrocalc/waning-crescent-icon.js b/apps/astrocalc/waning-crescent-icon.js new file mode 100644 index 000000000..e142dc47b --- /dev/null +++ b/apps/astrocalc/waning-crescent-icon.js @@ -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=")); \ No newline at end of file diff --git a/apps/astrocalc/waning-crescent-icon.json b/apps/astrocalc/waning-crescent-icon.json deleted file mode 100644 index 802a79fda..000000000 --- a/apps/astrocalc/waning-crescent-icon.json +++ /dev/null @@ -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=" -} \ No newline at end of file diff --git a/apps/astrocalc/waning-gibbous-icon.js b/apps/astrocalc/waning-gibbous-icon.js new file mode 100644 index 000000000..0939d0454 --- /dev/null +++ b/apps/astrocalc/waning-gibbous-icon.js @@ -0,0 +1 @@ +require("heatshrink").decompress(atob("AGMB/+ABRP+CxH///wBQ9/BYIiHj4KB/gKGg4KB//gG44ACCw0/BQQ5GEIY5GEIn4EJP/4AhJKAwKDKAxlCAAKKFgYWEKAqHCM444ECwwKEM4o4EM4o4FCwpxEM4o4FPwpPFCwkPCxQKFPwhPFSojBECyJmGCwhmFCxasEMwqsEPowWbBQwWDSgwW/C34WOZ1s/CxMDBQv+CxXgBQUBCxUfCyp+GCwaVG/gKDM43APxIWEM4wWEM4v4BQZQGwBQJCwg5GBQhQFVYY5HBQg5FPog5FSgg5GMwhzFPojEGMwgiFMwoiFBQoiEMwoiEJ4xoEJ4qLEHAx0EBQ46CRAoLEEJAAqA=")); \ No newline at end of file diff --git a/apps/astrocalc/waning-gibbous-icon.json b/apps/astrocalc/waning-gibbous-icon.json deleted file mode 100644 index 5b7c52c41..000000000 --- a/apps/astrocalc/waning-gibbous-icon.json +++ /dev/null @@ -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=" -} \ No newline at end of file diff --git a/apps/astrocalc/waxing-crescent-icon.js b/apps/astrocalc/waxing-crescent-icon.js new file mode 100644 index 000000000..0756408c6 --- /dev/null +++ b/apps/astrocalc/waxing-crescent-icon.js @@ -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=")); \ No newline at end of file diff --git a/apps/astrocalc/waxing-crescent-icon.json b/apps/astrocalc/waxing-crescent-icon.json deleted file mode 100644 index 55d950730..000000000 --- a/apps/astrocalc/waxing-crescent-icon.json +++ /dev/null @@ -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=" -} \ No newline at end of file diff --git a/apps/astrocalc/waxing-gibbous-icon.js b/apps/astrocalc/waxing-gibbous-icon.js new file mode 100644 index 000000000..2f6a665e2 --- /dev/null +++ b/apps/astrocalc/waxing-gibbous-icon.js @@ -0,0 +1 @@ +require("heatshrink").decompress(atob("AGUf/AKIg//BZP/BZMfBYPgBQ0DBQP/wALGv4KB/wKGh4WCFw4KC//AHBAiHgIWDEQ0/ERJPDEQ5PCAAPwRAwADNAoKE/hmIRY4KEHIpmDHIxmEHIwWFHIhmEOYx9EHIoWGKAgWF/59JKAqUEKAoWGYggWRM4gWGM4arFCwoKFM4gWGPwgWdPwYWGSogW/C34WQZ1vABQUHBQv8Cwd/CyH4CxWACyoKDgaUJgE/MxIWGPoYWGMwkBMxMAj5PJCwwKDVgw4EVgpPECww4EPwo4ESowKEM4o4FPwhxEM4zBDM4whFKAghGM4ghFKAghGKAZlFHIiHFHIosGRQYKIEQIKIAFIA=")); \ No newline at end of file diff --git a/apps/astrocalc/waxing-gibbous-icon.json b/apps/astrocalc/waxing-gibbous-icon.json deleted file mode 100644 index 652710aca..000000000 --- a/apps/astrocalc/waxing-gibbous-icon.json +++ /dev/null @@ -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=" -} \ No newline at end of file