From 7b79074cb7e0d70639bde8c7cbacd123b7d4d636 Mon Sep 17 00:00:00 2001 From: MaBecker Date: Fri, 3 Apr 2020 13:13:14 +0200 Subject: [PATCH] add wigdet moon phase --- apps.json | 13 ++++++++++++- apps/widmp/ChangeLog | 1 + apps/widmp/widget.js | 33 +++++++++++++++++++++++++++++++++ apps/widmp/widget.png | Bin 0 -> 2075 bytes 4 files changed, 46 insertions(+), 1 deletion(-) create mode 100644 apps/widmp/ChangeLog create mode 100644 apps/widmp/widget.js create mode 100644 apps/widmp/widget.png diff --git a/apps.json b/apps.json index 15f6a0cda..27115f068 100644 --- a/apps.json +++ b/apps.json @@ -1034,5 +1034,16 @@ {"name":"rpgdice.app.js","url": "app.js"}, {"name":"rpgdice.img","url": "app-icon.js","evaluate":true} ] - } + }, + { "id": "widmp", + "name": "Moon Phase Widget", + "icon": "widget.png", + "version":"0.01", + "description": "Display the current moon phase in blueish for the northern hemisphere in eight phases", + "tags": "widget,tools", + "type":"widget", + "storage": [ + {"name":"widmp.wid.js","url":"widget.js"} + ] + }, ] diff --git a/apps/widmp/ChangeLog b/apps/widmp/ChangeLog new file mode 100644 index 000000000..5560f00bc --- /dev/null +++ b/apps/widmp/ChangeLog @@ -0,0 +1 @@ +0.01: New App! diff --git a/apps/widmp/widget.js b/apps/widmp/widget.js new file mode 100644 index 000000000..be4c2bb39 --- /dev/null +++ b/apps/widmp/widget.js @@ -0,0 +1,33 @@ +/* jshint esversion: 6 */ +(() => { + + const BLACK = 0, MOON = 0x41f, MC = 29.5305882, NM = 694039.09; + var r = 12, mx = 0, my = 0; + + var moon = { + 0: () => { g.reset().setColor(BLACK).fillRect(mx - r, my - r, mx + r, my + r);}, + 1: () => { moon[0](); g.setColor(MOON).drawCircle(mx, my, r);}, + 2: () => { moon[3](); g.setColor(BLACK).fillEllipse(mx - r / 2, my - r, mx + r / 2, my + r);}, + 3: () => { moon[0](); g.setColor(MOON).fillCircle(mx, my, r).setColor(BLACK).fillRect(mx - r, my - r, mx, my + r);}, + 4: () => { moon[3](); g.setColor(MOON).fillEllipse(mx - r / 2, my - r, mx + r / 2, my + r);}, + 5: () => { moon[0](); g.setColor(MOON).fillCircle(mx, my, r);}, + 6: () => { moon[7](); g.setColor(MOON).fillEllipse(mx - r / 2, my - r, mx + r / 2, my + r);}, + 7: () => { moon[0](); g.setColor(MOON).fillCircle(mx, my, r).setColor(BLACK).fillRect(mx, my - r, mx + r + r, my + r);}, + 8: () => { moon[7](); g.setColor(BLACK).fillEllipse(mx - r / 2, my - r, mx + r / 2, my + r);} + }; + + function moonPhase(d) { + var tmp, month = d.getMonth(), year = d.getFullYear(), day = d.getDate(); + if (month < 3) {year--; month += 12;} + tmp = ((365.25 * year + 30.6 * ++month + day - NM) / MC); + return Math.round(((tmp - (tmp | 0)) * 7)+1); + } + + function draw() { + mx = this.x; my = this.y + 12; + moon[moonPhase(Date())](); + } + + WIDGETS["widmoon"] = { area: "tr", width: 24, draw: draw }; + +})(); diff --git a/apps/widmp/widget.png b/apps/widmp/widget.png new file mode 100644 index 0000000000000000000000000000000000000000..32803f4741583805fdf3d3812c7e6ac30d66748b GIT binary patch literal 2075 zcmY*adpy(YAKzx=(hhTpST=Ku*ael#=6=8Bw}hP(Yc__>vN0m&Qj<$!Zb$N)N^%sH zlT&EX*Ygb5=5gO-eFnu=Kx) z{8z`7!Xn4hm~2`c10mHV9f(U{?I(U0fbIoUMoPbUWJds~tQ(b5VUi^8CPXiK)@ zq*>ct@idCWS*mZ3#eHS|U+%jP4lOnRpTm6X^lMhqs=Xo({o}LQEBbaD69E7@buU+^ zz$n=_M7r<^!_x{~hT>T(B^`$Lx#K}FHK=-yeC^a3k++gLy>Gmsf!4QXMo;(R&yIhn znmauH!DjAx$|L-Snwg1sCESQPS52?;V)^+jr(vBQb+=NlyVDfy5INc3JEx^tpw7HCT4l{Y_T^u~KRCA&QOx3r>Dr z=$or@g(ORkHAb$(OM&g31Nn4dod9a$WL7!`O% zwaM_>B7H^=4M|zWpr<4m^K}dG{-u+d{>~Yq`oij7ZR&qk;rwz!Rb^9D*t1O<%+)8a z^|Y2h>3!6FhSk+sao!afo!A}{bwZ%`cPZ~}P+kUD_K$I<=E-64aMrR3Hq%xhgrq+}f1i zuf&&r(UD(ryoYs~(d4K%oj9B6QQOi+VQzr(F`ew<#$9UVf3w zlr@NLN_ha+u%cZ^%vH3DSY;YPjsvvpgw<^kv!=>D&`U3rBZMqJSaezu&X8X)&pT z^?~`TWzDW-TJ3En*f(YE^=cR+Pn7C&nYCJ%+Mfn$R=JJY((jmU4U((snNq91qf84| zeM3*TJD;GxUN`Gm-Y#;V>w=0RdNRfp!mu0lg=k1+tjYTa&X>}{E5$%vhoD- z`*hxNG>>AevGL5AU~TVkR>h|&ja%J++O#*dYGyiQ$bW$fXL9SaXO7eifb0@NJLhu- zz(;;zIu&|@W!v_bCDf7c4L~lr>&;pB?u5Us7M8x`&c>*WzT1-veQmby`rAI}F7zKk z4rVFo8n=508&Z8I&b}Rtb72t}4_j^^`{`S{bmc7z?M0;tcC(#4L0@+7%l7VZ_E2QG z(UW5iZ7Y#kxNcOvcRtr z*T*9^;W^>^3}i0}ZsZQuH;|iUPwDF_83aJq=kMmr3Rg1VH`~)5KE~@GW$d5S8Z(KE ztTa4kQ#5cbG_1S&9O=kWTJ{`LZ0%*X&2#@}ZkE8STfjNngWIA{1)62dh+X?{z{Z3Z zudl9o8%A%?Yx6)&hM#DA3gs(TE}r+ET%Y!)*FUXssz8Zv7ywB}r&>mqw!7cyBJf*e z{EgDNOL{kg5y>?!9iK2yc3rZ(ATrQ6uAf-o<5*EK_Hdg&=TEG7XlUdRMK?Bojem}U z`&Fa4{V)@?zU;$C#bJ`*k8a5!Xxnc7p4y6$T%*eO}+UOjf`43%$b7TMj literal 0 HcmV?d00001