From 5145b336aefb3fa7798355a2c8d334a5b3000de3 Mon Sep 17 00:00:00 2001 From: Alex Duchesne Date: Sun, 8 Dec 2024 14:14:06 -0500 Subject: [PATCH] Added example theme (#161) Still to do is move the default theme files and values to this new `themes` folder. --- THEMING.md | 22 +++++++- components/retro-go/rg_gui.c | 2 + themes/default/README.md | 9 +++ .../default}/es-theme-gbz35-master.zip | Bin themes/example/background_2600.png | Bin 0 -> 1322 bytes themes/example/background_col.png | Bin 0 -> 1507 bytes themes/example/background_collections.png | Bin 0 -> 1428 bytes themes/example/background_doom.png | Bin 0 -> 951 bytes themes/example/background_favorite.png | Bin 0 -> 1415 bytes themes/example/background_gb.png | Bin 0 -> 2679 bytes themes/example/background_gbc.png | Bin 0 -> 1269 bytes themes/example/background_gg.png | Bin 0 -> 1524 bytes themes/example/background_gw.png | Bin 0 -> 1234 bytes themes/example/background_lnx.png | Bin 0 -> 1221 bytes themes/example/background_md.png | Bin 0 -> 1849 bytes themes/example/background_msx.png | Bin 0 -> 3156 bytes themes/example/background_nes.png | Bin 0 -> 1821 bytes themes/example/background_pce.png | Bin 0 -> 1341 bytes themes/example/background_recent.png | Bin 0 -> 1552 bytes themes/example/background_sms.png | Bin 0 -> 1680 bytes themes/example/background_snes.png | Bin 0 -> 1061 bytes themes/example/banner_gb.png | Bin 0 -> 397 bytes themes/example/banner_gbc.png | Bin 0 -> 519 bytes themes/example/banner_gg.png | Bin 0 -> 452 bytes themes/example/banner_gw.png | Bin 0 -> 429 bytes themes/example/banner_lnx.png | Bin 0 -> 367 bytes themes/example/banner_md.png | Bin 0 -> 347 bytes themes/example/banner_nes.png | Bin 0 -> 332 bytes themes/example/banner_ngp.png | Bin 0 -> 465 bytes themes/example/banner_pce.png | Bin 0 -> 339 bytes themes/example/banner_recent.png | Bin 0 -> 441 bytes themes/example/banner_sms.png | Bin 0 -> 495 bytes themes/example/banner_snes.png | Bin 0 -> 479 bytes themes/example/logo_col.png | Bin 0 -> 1225 bytes themes/example/logo_doom.png | Bin 0 -> 2869 bytes themes/example/logo_favorite.png | Bin 0 -> 1123 bytes themes/example/logo_gb.png | Bin 0 -> 1151 bytes themes/example/logo_gbc.png | Bin 0 -> 1282 bytes themes/example/logo_gg.png | Bin 0 -> 1226 bytes themes/example/logo_gw.png | Bin 0 -> 1045 bytes themes/example/logo_lnx.png | Bin 0 -> 1318 bytes themes/example/logo_md.png | Bin 0 -> 1106 bytes themes/example/logo_msx.png | Bin 0 -> 464 bytes themes/example/logo_nes.png | Bin 0 -> 1156 bytes themes/example/logo_ngp.png | Bin 0 -> 1399 bytes themes/example/logo_pce.png | Bin 0 -> 1275 bytes themes/example/logo_recent.png | Bin 0 -> 1093 bytes themes/example/logo_sms.png | Bin 0 -> 1166 bytes themes/example/logo_snes.png | Bin 0 -> 1348 bytes themes/example/theme.json | 53 ++++++++++++++++++ 50 files changed, 83 insertions(+), 3 deletions(-) create mode 100644 themes/default/README.md rename {assets => themes/default}/es-theme-gbz35-master.zip (100%) create mode 100644 themes/example/background_2600.png create mode 100644 themes/example/background_col.png create mode 100644 themes/example/background_collections.png create mode 100644 themes/example/background_doom.png create mode 100644 themes/example/background_favorite.png create mode 100644 themes/example/background_gb.png create mode 100644 themes/example/background_gbc.png create mode 100644 themes/example/background_gg.png create mode 100644 themes/example/background_gw.png create mode 100644 themes/example/background_lnx.png create mode 100644 themes/example/background_md.png create mode 100644 themes/example/background_msx.png create mode 100644 themes/example/background_nes.png create mode 100644 themes/example/background_pce.png create mode 100644 themes/example/background_recent.png create mode 100644 themes/example/background_sms.png create mode 100644 themes/example/background_snes.png create mode 100644 themes/example/banner_gb.png create mode 100644 themes/example/banner_gbc.png create mode 100644 themes/example/banner_gg.png create mode 100644 themes/example/banner_gw.png create mode 100644 themes/example/banner_lnx.png create mode 100644 themes/example/banner_md.png create mode 100644 themes/example/banner_nes.png create mode 100644 themes/example/banner_ngp.png create mode 100644 themes/example/banner_pce.png create mode 100644 themes/example/banner_recent.png create mode 100644 themes/example/banner_sms.png create mode 100644 themes/example/banner_snes.png create mode 100644 themes/example/logo_col.png create mode 100644 themes/example/logo_doom.png create mode 100644 themes/example/logo_favorite.png create mode 100644 themes/example/logo_gb.png create mode 100644 themes/example/logo_gbc.png create mode 100644 themes/example/logo_gg.png create mode 100644 themes/example/logo_gw.png create mode 100644 themes/example/logo_lnx.png create mode 100644 themes/example/logo_md.png create mode 100644 themes/example/logo_msx.png create mode 100644 themes/example/logo_nes.png create mode 100644 themes/example/logo_ngp.png create mode 100644 themes/example/logo_pce.png create mode 100644 themes/example/logo_recent.png create mode 100644 themes/example/logo_sms.png create mode 100644 themes/example/logo_snes.png create mode 100644 themes/example/theme.json diff --git a/THEMING.md b/THEMING.md index a7853870..2310df47 100644 --- a/THEMING.md +++ b/THEMING.md @@ -2,18 +2,33 @@ This document should document what are themes, how they're structured, and how to make them. +Example themes can be found in the [themes](/themes/) folder of this project. + ## Theme Structure A theme is a folder placed in `sd:/retro-go/themes` containing the following files: +```` +/retro-go/themes +└── example + ├── background_*.png + ├── banner_*.png + ├── logo_*.png + ├── preview.png + └── theme.json +```` + | Name | Format | Description | Required | |--|--|--|--| | theme.json | JSON | Contains the theme metadata (description, author, colors, etc) | Yes | | preview.png | PNG 160x120 | Theme preview to be displayed in the theme selector | No | -| background_X.png | PNG 320x240 | Launcher backgrounds where X is the name of the launcher tab (see launcher/main/images) | No | -| banner_X.png | PNG 272x24 | Launcher banners where X is the name of the launcher tab (see launcher/main/images) | No | -| logo_X.png | PNG 46x50 | Launcher logos where X is the name of the launcher tab (see launcher/main/images) | No | +| background_X.png | PNG 320x240 | Launcher backgrounds where X is the name of the launcher tab | No | +| banner_X.png | PNG 272x24 | Launcher banners where X is the name of the launcher tab | No | +| logo_X.png | PNG 46x50 | Launcher logos where X is the name of the launcher tab | No | + +It is highly recommended to keep the image files sizes as small as possible to ensure good loading speed. This can be achieved by using the lowest bit depth possible when saving your PNG file. Tools like [pngquant](https://pngquant.org/) can also help! + ### theme.json @@ -33,6 +48,7 @@ Colors are RGB565 and can be represented as integers or hex strings. The special "border": "0x6B4D", "header": "0xFFFF", "scrollbar": "0xFFFF", + "shadow": "none", "item_standard": "0xFFFF", "item_disabled": "0x8410", "item_message": "0xBDF7" diff --git a/components/retro-go/rg_gui.c b/components/retro-go/rg_gui.c index 2c8ade16..be602038 100644 --- a/components/retro-go/rg_gui.c +++ b/components/retro-go/rg_gui.c @@ -28,6 +28,7 @@ static struct rg_color_t item_disabled; rg_color_t item_message; rg_color_t scrollbar; + rg_color_t shadow; } style; char theme_name[32]; cJSON *theme_obj; @@ -173,6 +174,7 @@ bool rg_gui_set_theme(const char *theme_name) gui.style.item_disabled = rg_gui_get_theme_color("dialog", "item_disabled", C_GRAY); gui.style.item_message = rg_gui_get_theme_color("dialog", "item_message", C_SILVER); gui.style.scrollbar = rg_gui_get_theme_color("dialog", "scrollbar", C_WHITE); + gui.style.shadow = rg_gui_get_theme_color("dialog", "shadow", C_NONE); return true; } diff --git a/themes/default/README.md b/themes/default/README.md new file mode 100644 index 00000000..cef3559b --- /dev/null +++ b/themes/default/README.md @@ -0,0 +1,9 @@ +At this time the default theme is hardcoded in retro-go. You can find some of its values in those places: + +- `components/retro-go/rg_gui.c` +- `launcher/main/gui.c` +- `launcher/main/images/` + +At some point all of that stuff will be moved here... + +But in the mean time, if you're looking to build your own theme, you can use the `example` theme as a template instead. diff --git a/assets/es-theme-gbz35-master.zip b/themes/default/es-theme-gbz35-master.zip similarity index 100% rename from assets/es-theme-gbz35-master.zip rename to themes/default/es-theme-gbz35-master.zip diff --git a/themes/example/background_2600.png b/themes/example/background_2600.png new file mode 100644 index 0000000000000000000000000000000000000000..0f2e21c3a1e528a30611e62b6c8f94de4f66b691 GIT binary patch literal 1322 zcmV+_1=aeAP)Px#1ZP1_K>z@;j|==^1poj522e~?MP{o?aJ^BHVw#Zv000SaNLh0L01edu01edv zJ=R$9000E7Nkl4j4LJwph(XJD18ZP;2sptQK%n7OZ#$^93f?j z;IN6mBukFH``!%03~n~@{`PNKawKKD|KtDo`{S+n^mGm|_u=X1ULJ|-_sfyM=SEQN zjbPsj>Q@K%*9OI_gYwlubszY<`%(j41iyE0nm~KIFfHJ6VJrfti|r%uDwYu3&MR{b z4!7$yURA*P%JmSOu7U||9Iwt1P_+KC88kI;^_RL89BSaqFTktpnwVSDcn8tB|&`4~O`PT^tUW5|NK0-8I)kqu1(#|J=F0rvpPHpPhz4XfC- zffMU-UQxFy4y}rPtDtKXQJB; z0B_a_GcsV8fw^_>zkT&rW@mddKR%|N4Obv^bHB6wV_Gi!SY3b$9&CX@%jF=RF8jIc3r2}%%7 z?H9tJKNSjyhieubGM66e27z;2E`{B=8_j_R9!>vv4hUT0rXzP4dDzi2phOR(e*zT` z!d$?C?)x66A?+F*9)u;tB}Bo18m9t<)Ab2%9z@AS7Qw7C2z-w~Tp3IOlzHyOrktSl zAg-GO+FSxvUN?I*k-$DLhpGS$If#vhU|y68peA+Gz?lRZ23$FimM{&C8Dg5D?Z-gC zLs8I5j2spfB?T1$Z9eOUgdUHIOl=ngw5LI|31Ag_((YkLM8$z=Xbf;I0BJ*`IZ(6U z!hxhOMCL@$(7q6DFoH}2>HY?S;MT#a2f>Xf3Z{Xi;8p-7m`otk#t86*+h`2_P|kT6^4$AYhz9uK-tIcw3%oV0fjUSrE*GzB%+vmVn-227!WrG6&a! zqU063W<^86)bW);djal^iu+zt3^s0@q6J6!a_M_O*{(QaFowQy={o2YpQ}rk6(0q+ zm+$)Dwb8u5#-(-X=2$;^dderfdDpy+4?Z({>vMfyrfAM)k0#O=XI#+^X5}N)nf%X= z#)8C@xUmM-ie{Gz?>YQky|Ax5IF(z4wFq7|A9uAgO%2kVw_HKz;Ug;V^N0b3f) grL}b}H^ck<2d12Uit(kTRR91007*qoM6N<$f+aRjdH?_b literal 0 HcmV?d00001 diff --git a/themes/example/background_col.png b/themes/example/background_col.png new file mode 100644 index 0000000000000000000000000000000000000000..f260681f27434788fa4fd792fe7a625376b0295b GIT binary patch literal 1507 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 literal 0 HcmV?d00001 diff --git a/themes/example/background_gg.png b/themes/example/background_gg.png new file mode 100644 index 0000000000000000000000000000000000000000..25fe033116c8273fa9c01ff3cc2d4827707fb5ab GIT binary patch literal 1524 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 literal 0 HcmV?d00001 diff --git a/themes/example/background_lnx.png b/themes/example/background_lnx.png new file mode 100644 index 0000000000000000000000000000000000000000..3718c758e149f95a0f3d7aad24ba520729923c23 GIT binary patch literal 1221 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 literal 0 HcmV?d00001 diff --git a/themes/example/background_recent.png b/themes/example/background_recent.png new file mode 100644 index 0000000000000000000000000000000000000000..202faeac118d52dec9ac627ed1ccd3d6c9afd054 GIT binary patch literal 1552 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 literal 0 HcmV?d00001 diff --git a/themes/example/banner_gbc.png b/themes/example/banner_gbc.png new file mode 100644 index 0000000000000000000000000000000000000000..521679eb56715d32429386055660742f772e39b8 GIT binary patch literal 519 zcmV+i0{H!jP)Px#1ZP1_K>z@;j|==^1poj522e~?MgIW*`26@U9^wT6000SaNLh0L01m_e01m_f zl`9S#0004sNklr&KXYSctFAIlt67 zrXWM#U+TPU_GYwtTf5Ye+#0Yz!M0?iem}$eCU#gExOi4SE*l-Qf%_lc{r>>plDFPx#1ZP1_K>z@;j|==^1poj522e~?MgIW*`26@U9^wT6000SaNLh0L01m_e01m_f zl`9S#0003;NklJdH61 ztzEw`JakfL14E`{KXyBiz9L+on1PKYgo#3W>~^s1Pg~ixp_Hu{VvvazA<(ncqvrRD z#BA4)O=fIO>-;9zA*3uaW$0_pcV4{%L&BkqB<%e_IaWeX-Gm_SDcwO9LLKiBg4$6H z*r!vmEX0Yj#w{VxJa{E!V%I|0B!srjcobsE8W`PKG)I+aIFPjib`G3EbSz=D$l2i{ z`mTB#am`r>l1Dgp+K1cPct1?e@(s6-QK~oHLtuVcY9B_h$5&ah?hwK&Ec%T$Qg`65 zgls?SGS*0lpM@y4v$R`?{e$d!yv`BFG)I_ uFXr7+9e-A56#9Yr3>S&;f=~RX5cvWRPab46Z4(Iq0000Px#1ZP1_K>z@;j|==^1poj52~bQ_MgIZ+|NsB|_WUj;w=4hv010qNS#tmY4#WTe z4#WYKD-Ig~00AvYL_t(I%jMHMa>OtQ24E=YQ-u5A!abUSOZt@gLFN&0HfmL={1ay^-@q zB7r37u|#mlDuVIBs}kWx)RCAeij%QIP)Jq(L}n)GG73SCyn$3Yj;p}l2<~7a2apP1 zBJ=M6a&k1niQklmqd6}ma|2M#c;qgSSKUZf` zh!vtQgbS&9LbmUOYoO3iQR+MSrl{%R9QjUnP=$+2+(=~-oX0x|H)0Q@2B(^Ya*)>6 z#NrOgd(Is>ppp@dXd}7#c4jyZ-VYF&7zbP+yRW#y;}=15zWPZ=Bb>HIC|3tQX%YPZ X0$gyrcN2O700000NkvXXu0mjfV%w_O literal 0 HcmV?d00001 diff --git a/themes/example/banner_lnx.png b/themes/example/banner_lnx.png new file mode 100644 index 0000000000000000000000000000000000000000..b702d9e03b5a87ee45229ed2371ef299375d0c13 GIT binary patch literal 367 zcmeAS@N?(olHy`uVBq!ia0y~yU=#qdC0Lk&KIs4+9=30XW)_oTwCz$`U*|JSzZD2TaeMisx9^Hlg z>wSDDODITrUfZG6*?&NWkA02lwePmo>2n+$1=JIZ9wd2en)O!vjhVE^p+^n^8hje; zsY1r)LQ?J)amt)unPx8WxmW0MZMHS5*ORN9NqSzc7vD@>aZt+V&0$^d7OzQD)}Q1S zKB6ZY93a`3q%bG)!-=C|O5)k8d1k%+Zecg^$iuz!%9ckIs~9kQM&I`@ViTIjpj#t! zv}mfn!UwHa?><(G9LbwJ(@AY7!y?UQ?;^&O^1HSV=9=FVn8@F-UGw?c6<^eVzGv`s L^>bP0l+XkKKYoh< literal 0 HcmV?d00001 diff --git a/themes/example/banner_md.png b/themes/example/banner_md.png new file mode 100644 index 0000000000000000000000000000000000000000..f81ae96a69ac447085556bb967c0a056de8e45d5 GIT binary patch literal 347 zcmeAS@N?(olHy`uVBq!ia0y~yU=#qdC776jq`!k#Jdk264sv&5Sa(k5C6L3C?&#~t zz_78O`%fY(kk1+56XN=x;Xerc`@d1@QY1*Qz$3Dlfr0M`2s2LA=92~r-u85H46!)< zc8agiVFixX#Dju6`gb;R?@aNFteCXl&-$X@^h)k_i%&0|d2D}an1y$4>=X?;?DP4+ z^0kv5ymn*an5I=!Ep@~D&@0&^8-zXf*(tD36%KQ|6C$H-wl>T5m`VFlMe~il&m^4A zY&eiO@!eN_4)>&68+#raajiCc;2z+7Hu`DH7ReL4tW<=v@AZ6}6sP#Q{Gp1sTF^I+ zN14|1_K2F@a@)R5z+`r|)S~^4-=s68Q{F#pI5A=FynlQT>n_*J n?z1m)I{j>xsJ8CcQ>tQAx;-mgA_;dj2nzj zY|ML`y}J%Ya56gwFl~ql@qR36`^(saQ^ZW*N)a=My<^f7h6%lW0qlzTVfxohSC^%p zo4sXw9lw?Kn>9*7o%~9$nifwLxw(3RE+S(H; znhN_|Sug0GbC}h%!uq+D0)I-0%Q?^Jgl8PB8Px#1ZP1_K>z@;j|==^1poj5Ay7+7wImfZjV010qNS#tmY4!-~Z4!;371ydvd00B8kL_t(Y$L*HEZNo4OML(Mb z$Xl-2q)Rw^bcAlu5jtwb|7lxAdniyj)}ag{grTkfOj3mLdvkf-K8&Cj>#>Km=d+zoL4TsSwo% zu+r`z%U`WBl2R$pVqa^2*VC&-P>!!ba~x2b{AA}zxc1-tIx$~CqAnQ?;46ls;_ACP);_4}K^GF^N00000NkvXX Hu0mjf_o~aT literal 0 HcmV?d00001 diff --git a/themes/example/banner_pce.png b/themes/example/banner_pce.png new file mode 100644 index 0000000000000000000000000000000000000000..5d469fe4a9d8ef3d87f2076fee7823eceb345e9d GIT binary patch literal 339 zcmeAS@N?(olHy`uVBq!ia0y~yU=#qdC0Lk&DZRJ%z1ABMZOa;LQJZeV%#Z05@Erbq zFEgH>IGT}oV7^*C$TPS8g#!UTvs%p3G|Q&=+!tfo;uS io|*%HPx#1ZP1_K>z@;j|==^1poj52~bQ_MgIW*|NsB}{rz{nG}r(D010qNS#tmY4!-~Z z4!;371ydvd00B8kL_t(Y$L*AD5`-WKhT#Tsh3>!ea3L;%DhUhU3;x)GvcyOLoLj=LV){Ny@27wUJ z>Y_D3BLeSj)IVy7-jmX6MB>|~o1}v*rb~oFgYuPCi6mJQ3|p41bq_?Qr~|Uylw|~V zooKsiK+ukZ|7Z)bA+`@pO1*2Sx_4{C9tfO(&?<Z+=Qa?%J2-&*ErZAnpc^O6gY5VmM6Xdbka#a#tQXa7!ujr;Q@07}w;Px#1ZP1_K>z@;j|==^1poj522e~?MgIW*`26@U9^wT6000SaNLh0L01m_e01m_f zl`9S#0004UNkl<&H?4-r=vj<>funvQlQf#G?7qv!GsTRN(@j8*MLAwg;-sR^-qm_j3^)w z?hy?#kwYL(Rc;{T9zFoVj6;k$Al(X5UnNyAdtQzCWQx49UAHKLQITBQRYJ8%#yyar zyn_=F6N!H21j089O^e+?G8I8GOM~!&Go?z@JcW#1mr_w&mZa#NpCEeDx)J4JDy7|X z1Y~xyQbLO4gA>H9rJ+4h;?V(=Bi@#obo^6XIDQ8y$s0t#F1xzpNR$5EzBOi-6LTw+ z+_`oOZ@55Eh-L>t;!;F?M1>J78?G&^2JxsqGVXhU;1r0hoz*2v*aR^Zu5%l>nk~DY z+D)9Pnv6bL)Rd-A^Q@6X%pXvhvA43(<(B1i>@|{D&i~%_b>_T(LL5H#s({w_k>7y8 lpMPU{8F>DMPx#1ZP1_K>z@;j|==^1poj53{Xr|MgIW*|NsB^{P^_v^!zGMrT_o{32;bRa{vGi z!~g&e!~vBn4jTXf0bEH$K~zY`&6Z)3!ypKS;RbMp?EUY!0uR)*ll`%{Tc)Eev3XyJ zKBZ3!9YHGN!}e`7;wigCmX+u=E+C1ab@|?I2m3e0H+= z=&C*)vRX)<0Kv5T2}E8%Vpv!B`bZE-5PSE^0AVZ;2jP<-hMIHvDz|$;M@<9><5v> z;a@>=%byNkn?bX&avik*lKyZ9NgGM)i&NSMfXD$5G?E}#4cpPVKxhSN^|OBtqHojk VIrQK|xS{|6002ovPDHLkV1i*E$;JQx literal 0 HcmV?d00001 diff --git a/themes/example/logo_col.png b/themes/example/logo_col.png new file mode 100644 index 0000000000000000000000000000000000000000..20ae5d22497ea75f5f70e37fad131250cf76a2f8 GIT binary patch literal 1225 zcmV;)1UCDLP)Px#1ZP1_K>z@;j|==^1poj5!%$3AML0DwIygWtFD^ShKo%Ai3I_`Z2L}!h5C;PX zT3lF@nwp=Vor$rxcz%UNNlrXLM=&riP)|?S+1d2<_1oy{!Q}IqyWz65wH6s4z`f?! z&-1pd+27yb!M?op)x_A<&v0j9RfT^=m%C)J)6dk{mu#)Ol7Y;5S7>H=u*~9~qU7l4 z>fz(wQCD&w8y7w*7thYj=;Y&%liwvGBp)3gsi>yk-PiBy=ZcAlA0HQvR1j@72c=jG z*@`U4Zwcdr4Npr)tR4O000009a7bBm000ie000ie0hKEb8vp)j3&WAVl#?n#9-e4scu!XxX;WvAK2pY@9F|UK@bH&LZhnDLks^w zw$qinvfS-}da}aZtzQ*cuJ@SfNf7TSsIJ=YYq~KQ4nHR7;P|g|5%X_WXHn*~>U~-FMGR>iFAKt5PjppsAJGOB=L=lDv1vaXiO$u^3Qv zMVF;m(~OUquFpPBisLv^qbO28dHO_GWFeRuz1Ve(4+9m)xS!!pt@;8w#g)mc>BOGt zK}(z^7Q_YpvMjZZoY56!6_}pMw8Vi`j>ncYe}0Cx#;R^sZ3LaiyHRE)ah&}6_5N-x zq5pFo;)1NT@e8`rd2zM%hvz|4#`<_{FYKkhlw>1liaF7H8;~#%*3#foYd9)xs>QbS zN$zj`ExF_BXkK-)i5m&=Q|>Iy(iAiJ{n|d+88W0=x{+Zn*^&%D&vvkfBdtSU;}>od z|MF87kc<$f<+&DGkV%rPHAywB=A0hVFSZL=p3|HL*{PDs+5}@Kx}OAJK>~5g-Xs{xxHpc(kNZv>?U2>c>UYU2lUg`jnxx4yS480J>e^QsN{-n)}#kAuj&1-Kd8UE zqVH&cCX59*xu0cCr;>EbXmUk2DOV8i4W{=^b61;CYF^SunOS$ev3VwVA6?Lu5uTDO z^;>I(g!i$Q4tKrJ&L2Ffo{vxP41B2Wm3tkCuQ$K%d$qq(v4QwzGeNJ{u<=pj!*_W& zmWO>=9!mat#HaR#v!sC}!u@)<79~;QM?MeV`{KI*Xi?x-isD;p>F`hDXE0LL;XwQu zH1tDpEFleb9Lm+|oQ_m@_KO$vqBtD)1=LaOixn2bm&#eUF22hWiY|}1!LU3a9rE|} ndvz&kh4Bb}k^iJ0Reky&&t2=U3z%=g00000NkvXXu0mjf2zXVk literal 0 HcmV?d00001 diff --git a/themes/example/logo_doom.png b/themes/example/logo_doom.png new file mode 100644 index 0000000000000000000000000000000000000000..017745e99551a56160e801b935a4740b39d361f8 GIT binary patch literal 2869 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 literal 0 HcmV?d00001 diff --git a/themes/example/logo_gbc.png b/themes/example/logo_gbc.png new file mode 100644 index 0000000000000000000000000000000000000000..e58f32313bec326449efbb952a0a5d2fa9f480b2 GIT binary patch literal 1282 zcmV+d1^xPoP)Px#1ZP1_K>z@;j|==^1poj5+fYnYMK?AzFfT7SH8MLrKqDk47Znl*2@D4V2M!Jp z5e5e&69+FZE<-O5tcW>3Lp_#rDjyscoQYXwMhst6HhFta4i6A8FfYiZQ#malw5MoY*3#YF z+|AF<_44ubrJm;I=a5CC68`v85Tu$c%S5TwR8mu9nGd4XuwqXk zm=V~MW#t>}H3Csx*A2}yN!@CYrmdN}j#bxftzqe=X{y*GW)&1wKvR}b& z=qSDY{A|%~_YHm@#UB!tPIRRsb(kc<5GAQ2V3H(362)p4pBy^TJ3$ymT>XB8sAfc^ zFsM3tr2B(7j)qAzO2=I3aUCVtjpMm{%yvni zb2_UaO@pAHGJEid9wpp9^Cv+t@n^wr&{^$1*LXI2Tsx=34>aBY?u*WRLFe6OI`;ih zXNH3zJI>SKYx+Dw?sMP{nBSvkae-Tf-7VoUs`DZ)Z|PZ?<#AjT^D7l`9Op>g(#x`3 zd@Me&WJmFx1>3o$Gk>{2o~@PGS#|wAdNvP>67G*m)hkrUi@B*ikI{wr0?z0q>M!om z!5$2gq{tU1<#87GlQ6m4_b?g^(8U<_@+k8;nuza?~y~hhOwP zj}y4F@KX2&EBrF~%9Qs#uvJ4)| zXHW1m9Z$V_?LqYTV+M3V`BL(yP=3MQ>D2EB^}N+ptpDZq9-h7upL;wG>uR&zZnmq{ zwi?^bhW%=TF71|vu@`rOUSimW s!+&3O7r)Jy;leKZyXEg`zx(g||I9iU5VqQqM*si-07*qoM6N<$g8NZoHUIzs literal 0 HcmV?d00001 diff --git a/themes/example/logo_gg.png b/themes/example/logo_gg.png new file mode 100644 index 0000000000000000000000000000000000000000..8eeed40d0b7c3f73ed90e5cb1c3c46438615d5cd GIT binary patch literal 1226 zcmV;*1U37KP)Px#1ZP1_K>z@;j|==^1poj5+fYnYML9S(H#0XkF)l7HEjTqYJ3T-e4+{qe4+{tf z4i676FD?fI2M!MqFfcDKGB5`R2PqZ_9~%}sCKgdNA4D!7Nh}pL9}rzWDHj+VA0Ho` zo}b~~*w@(E*wo9`)7R?d<%55H_x16=ytm4~uh7fGzqzf)!MDuCy5#8S|Ngo@2@rU z;*LW7zU6zK@7cCXn8!SiGR6WAx;{k*W3CHv;xP)1Lfr>Da6O9fT+jDSjkpd(SO6Yz z@etTFa0~C0QRoJQ1=OdWPbs=F8svO<^E@vg#5_lh_j=c~F-8JB;lnN}j8faBj9?tX z@J@lD!<WpHQYG39-DC~x^NWU%cS0bGVeFzq~7d(ie^DNsdxLF55k9! zgAby9r{KS-4@DTupNA4d!#b%CqeN<{Q>DTSq)Mk+CNk=G4eg{pO0`y*VGOeOz-<;P zt<$5MGj%1kio+~7(a}^ zo+1{JmZ1tWUY#>C)*RDDMB)r10p}s-A+M-Mn2j9s2Dv*-3pTyW4?lIrx`EIv5 zmQ|jczjmqK+aDT-M(xnp*Gl!><7}Jnwols)%51v<{Y?F^KP(UX_4=?sse_)w!_1V8 zp`WYQ8i$^>ygyUlYh($07*qoM6N<$f|QCu3;+NC literal 0 HcmV?d00001 diff --git a/themes/example/logo_gw.png b/themes/example/logo_gw.png new file mode 100644 index 0000000000000000000000000000000000000000..1ae982c1bdc96486345e0644673db86cceae722f GIT binary patch literal 1045 zcmV+w1nT>VP)Px#1ZP1_K>z@;j|==^1poj5$xuvGMM644LNOsBIx#pkGCMs$AsHbV5D)+m2mk;G zFE1_*4-hagF9!z)2LlHoI!YO1YY-VJ8DmNiV}v2j))}p}8H|(}t=1uob1`FtN{ppS zt)&?mLLoY1LSuwNI$C2=T5F7@LP}a|Yg%Jtgp8D>Yptb>*5=Ol=B?J|t@q|@jAKe; zrLDE4t(2wCwdRa-rHr+u&erDd*5>#3_c6|;TF$j=&gM$a=4w|XW=L!oGbQtoTOvm7LCU!^x!e| z7@M^C-foy<(*XW3on>mK51e7~5?Ab>W3p$Xp^|tMXPoh9a%zt$gvXK;Nk+pgXDkt0 zRqZkgE*n`Mhsi{2;>^jM!+8`*T(vWl2H#IX2$x56Y{v-jM38tyI5>6WMsy*Njivo92 zi(^8wU&479FdlNnJ}-(z0skOdrU=$T1zBb}U#-fZTs?;e`y6mlOk?1bV!2!_P$5~K zm+mwFw)zgdwTF}0Vmgo5;CXhEGUs8*gRl%0J8gA}4}-o8IE5sQq9~!;h_Rdp)JkH- zj&IDQxiLhND2>vjX-7Puc`@M!J4vC+*K0i1kWg`=uB+j_g%Y`5F0Mg_dF8~B3)Hr7U%hk{z*6%f!HtZIi&-P&~n zazoQKLpOEQ(hltoQ>uz~v8iflKc8*AJ4#)_e(7jVLyH+>!B<5a{l5DH2JN{|PrWML P00000NkvXXu0mjfZG7N| literal 0 HcmV?d00001 diff --git a/themes/example/logo_lnx.png b/themes/example/logo_lnx.png new file mode 100644 index 0000000000000000000000000000000000000000..f0cc83e75e47b0be68455cbbacca6dc4cc0f18e7 GIT binary patch literal 1318 zcmV+>1=;$EP)Px#1ZP1_K>z@;j|==^1poj5)lf`SMLRt}FfcDTH8Kwm5D5qiA08hc92XZE90vmj zFE1{kp`u(`T1`ks#J{w(wzh$Rf0&$~aBpu84-iF5Pft%zj*O582M5B@<%EyA7eK!= zTEx@P%wK)zGf%K)a-yZZ-_ymte4Xx3$gqAM39$SG!YpUQ8Ai6+J8&9~~cBTv)s<=oSC~010qNS#tmY4#WTe4#WYK zD-Ig~00Y`dL_t(YOO2Kbd!jfPg<%zOKyE8;D8Yh_jwDdE?dptjbGozp|9{e+psn@N zdFF(N+zziFxeygaRn*_r9}4W9?nzo(>2-8f?dW>Ht7%=m({H=F-Od;3?w_O?Chi@> z99XvExP8So2HxP%2mOgiy2rAVVmqh~4Wr}un(L}V*B?3lv9sU*>%#6?w%YGI4$wmw zy@8F=$=*M+cTLwF8CuVFZO8FPhGCe7p?*sDN1CUaj_>x>k%vlWWICqzA@&2kgBMoi zh$@Odlvi8w2a2x@A!Rsd`}HH;Bf(v0(`Y=7Y)XPK41y@Uk7+U)$MFLc-^(8FNFTBL z>C`49m`#H?`WjBieHhJVHko`y>%4t{P&zu&M`wn-Y-GJB>T!rItk#+qNvrmImJqTpXK^f_hzTLcbJ@m)#UC%}BFz{(#(R>@SeA<9ik=9b@MQ70z_nbikd{kX zOW?(INk=2)G#Ld?(d7B%Z)m-aqD7LV2}RE(opR1|nrxod-=1Dt`^(GIx7C7TY|wc@ zPvwhpy4Xmg)c38tZx%E~hq$7PjHO&GR=eG<*p=0GTh+~Ow^|C0mlfCaoWj1`G|hV5 z)D`^Sze~DEIn8g-a~b7wx!=3a9%{C5OFPd6?ANh#%(%1%&gOByf38ZzwE{g8H)F?? zw)Dly*#KXa5a@DZZ_zV$urD`1e!yPK*w>(Ad+{6e6v0dT5U(-3o z%FD!ZRmhQPil!)m393iD18?BbqmHtYmsDLwRyV&nV5`{khb!j9QAmbGqMd>(+KH^rYSy zz3;oO@p&@5_QZRqRzPIKd@_B?{@lG)n}@zfAQhfG`&qyhx}02 z>wQ@lWnJ&ex@q&BJhk8GIJ-=BAV1DWdRixWw48}A4 c-_?KW|B><7=zFm+r2qf`07*qoM6N<$f~KjJu>b%7 literal 0 HcmV?d00001 diff --git a/themes/example/logo_md.png b/themes/example/logo_md.png new file mode 100644 index 0000000000000000000000000000000000000000..dd0b509b01df6317654d1179bab65f302a6f43a8 GIT binary patch literal 1106 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 literal 0 HcmV?d00001 diff --git a/themes/example/logo_recent.png b/themes/example/logo_recent.png new file mode 100644 index 0000000000000000000000000000000000000000..3a96fd1f9c72f2c7c6048473fcc4439fcf2cb9aa GIT binary patch literal 1093 zcmV-L1iJf)P)Px#1ZP1_K>z@;j|==^1poj5z)(z7MF9T*_V)Jd?CiX}ytTEpwzjs($;q^|wA0hm zo}QjHH8d3#6(S-cK|w)BM@MpUa<8wid3kve5fKg!4n#ymtgNiKxVS<>LQ+yvW@ctO zJ2^f+J_Q8@-QC?$QBeZ}11~QxQ&UqO9v&MT8wdyp3=9lTPEM7Tm5PdrSy@>I1_l8E z0VpUa!otF%yOoZ>afiWWc&1&1yJMNXgsr%zGBPqjNIhP6PB23xLR~V6!e}cjD{hrm zG(9g#S3qTjQ3=M^$p8QV32;bRa{vGi!~g&e!~vBn4jTXf0}e?MyI(0s8hR)MzhtrZvzzk13WN?>2YqU>$)BAj8akq z>r!^GuG{SaF;a;KkBqVYpg$N4`i}3QOrhWCyIt2KPezMaWZ>AnK+|(Vr@*k=?Y7CC z(IOT!nHxMmfUZzTW=R8m4ww8G0BKBDr{*raXNsq)+$AF~| zg*T%`bY({IEJkor_5n5X1z#>x&R6)(adVf|eL_gam&07LPWcK$GHUHT8JnI_pznFQ zw*Aoe<0#MH`GP?8MD7$S698m<7=HXlIYQ~XSOA!GWiYmJtEm$Z{V)`K!({q#o^Sb_ zfRUqje_wBDdl<^r_d_Ap19TqxET=*M(MKi99cPvtc?IBqj2y$kF+}$n(b20^XYy-o zU-|eRGQo^odG{OiQ($$Da^2k8PGHXCg50Kkj7A^Cs_rZq9_WxcmnjOKNYHo-aE>50~>iA<|=mkU4aL4gRW)erCJ3O?@wUKlvq5G(QHsD zNjCWo8^O|Y^d2|HfocPs#*ZHGok|ghoJKiKMMiX60<;{apXow|9`;vq{Oqf)0du2O zVImuN6pvyYa(X4ONTY*%gOT%W-@_H~8il$u)&`3&lURyzbJI^Q<^cQa5^v6i>2t#d z`&;nOyb&dNPPe#22&ozM%`I-0`m{g?H`9uz%iV6f#NuZFC)*FhH&^t*%B8i!ABl@a zhF=|gD=JTK=Ty}xVB!6Lam|-gQ-=XqZzs3v_f#sCvVSN)tqLPmM6<00000 LNkvXXu0mjfo&xH> literal 0 HcmV?d00001 diff --git a/themes/example/logo_sms.png b/themes/example/logo_sms.png new file mode 100644 index 0000000000000000000000000000000000000000..d3d34b47e303e497ae67124c705237539568794c GIT binary patch literal 1166 zcmV;91abR`P)Px#1ZP1_K>z@;j|==^1poj5+fYnYMK?4uE-x=QH8MLrKo=Gj2L}%b2L}xg5HBw- z2LlHV4-hagFE27M2PY^82L}j&Er^Fo$;clb9~T-QprD`M-QVEd*X8Es9~>8VcXays_k4qge}8}P?(Ems z*V@(2nw^}7gMY=v#Ldsmzu4Kx;M~{V-=5;&jNsm8=I3l5$qgSod&O-&XS6-O)( zi&z<$R}6GJ2p=6EH7g>PO$XVCD9CUM?S=_NMMPp@Us_yPZcEEy00009a7bBm000ie z000ie0hKEb8vpEhsL9qzrXsT%r z6sf8AHB~i<#t=4*zK&rk=#(i60kMx!95t2hKv4z?3hC?m0OwHU32|mp&>v;WT1~$e|7AMWnU4FIB%R<(*JT?%d7IL_9w106$|%B z|LM3q|K+bV`mXDUYN~Xe_m8qlaW>-9XCAB4UHiRGGn>b2=#}`)FMWvD(Pu>%ac@%8 zUc|qrzax3jHM)I555h3~KnsJbbj*k+?E6vtt56hq^>n*3?;ip9XtTfzec)^82lByD z6vy-VJf6ov==rsDze10P?e^b7ab%(TOL|#3_q;d!Y`1&Eb}x>we@U-aZh77%0S~=*ydWAUM^3Lffy|PX)Gf^yB90YvdJ*B_d@rig4b6Lus zp3vW%FpPrG{;+M_dcFeC_!lp&ex6nE^id{%{EzX)6Hg?rb)I*amtShJPx#1ZP1_K>z@;j|==^1poj5%uq~JMLIDtDKRlPH8MLrKp7Aa000O85C|_XE*U~& zN{po$IzkzYln`TtFQwHaet2L}gA&gL1d))|bo2LlHg zjB_a=AsI0lLRv9GI!a1PN@Htdl$4Z=b7PD#A&gQXYcUzEQXykfTJLiqt#ctlV_LPf zrL~l$jJ2hVl(qLUrS}k}V`GH(G3IuJrL|I}_fqDJQezb#?rV%=8A|sS78OD<8EaY) z9~~d}lp)S@A=Z>3LKzv(QXyJgSib=q2><{932;bRa{vGi!~g&e!~vBn4jTXf1OZ7z zK~zXfja31A>m(EfC3|ztW3H`lPw9ZfCamq|j8nJgX0z%4|4*KCN!o0FpPv^d z%Y`VK{-5cquYom1aWbZ%J~olev2H#9&Nfh|-<+M!%8wQedv5t9=W=GGAG!GULdan! z<$N)l&t~NeCht>JmSwq^muO`CcYp(HkjhW9%lYTUVo}aNBVoY2yj)x^W|y#O7PLSs&>I?ubcx6P`*^| zA}q60mD1X|mD54H5d2lZ6i|dJ;F?K94D3b05BxmZp(a=)iZ=thDGN!EjBc&5CZEcA&IVU{*K{K%d?3YTG7TpIua6*SV1>joW! znd7d)A3#=B6*QbKV4%IyP208#o$s_KQWFjr$_l8L>%YF_;no-hvXjP=Ma!wP+0 zcM&t}Vu}e-N&0O_>HOgVs$y4(h>7;Pd#o`*m*69M#3_|xe0ccsfWGQId#dg;JLu^V z@yRxR{PJbnJ$6-ir#)?B{n$mCNP+L+l^8?l>aGrHWY2zgF(pW>yJQ(uj2lLb3y)nL z^%gU}-Bm153?Zf!qCx9eF%l*2Qkw26%t12;c;XY#DpnO^8t@dhnEIfd(||o~NrYWg zyIZAwbu)64{2jXuz>6O5MGv-ybyn#m~DCK+rNic5&a)Uf_frHlNK2cl2IR2fr7F9GM?zNXloCx{(qtad3)u2}$^}s)^47L9;@*WGht`pZ7Z2( zP|2+UAh(z@w3G3fbGDO7D){^ZaFWTTe=xb|t$li4zqRI1z&WR6dCB}MzD>LDncKc^ zH+$S4`)mHS!KJY%6?Edw5}Zmn)hlb-m-W+2vwm)xX1!^e=la2NqW^?9w(~Ir< zeshiT(vn@B1GE~jvdCer?&