9
0
Fork 0

Add new barebox logo to the tree

This adds the new barebox logo to the tree. This is added as svg
image which is converted to different png images during build time. The logo
can be found under /logo/barebox-logo-<width>.png in the running barebox.

Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
This commit is contained in:
Sascha Hauer 2015-07-07 11:09:35 +02:00
parent b31eba1045
commit 4f8a7e916a
7 changed files with 253 additions and 0 deletions

102
Documentation/barebox.svg Normal file
View File

@ -0,0 +1,102 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!-- Generator: Adobe Illustrator 16.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
<svg
xmlns:dc="http://purl.org/dc/elements/1.1/"
xmlns:cc="http://creativecommons.org/ns#"
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:svg="http://www.w3.org/2000/svg"
xmlns="http://www.w3.org/2000/svg"
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
version="1.1"
x="0px"
y="0px"
width="3000px"
height="1500px"
viewBox="0 0 3000 1500"
enable-background="new 0 0 3000 1500"
xml:space="preserve"
id="svg2"
inkscape:version="0.91 r13725"
sodipodi:docname="barebox.svg"><metadata
id="metadata57"><rdf:RDF><cc:Work
rdf:about=""><dc:format>image/svg+xml</dc:format><dc:type
rdf:resource="http://purl.org/dc/dcmitype/StillImage" /></cc:Work></rdf:RDF></metadata><defs
id="defs55" /><sodipodi:namedview
pagecolor="#ffffff"
bordercolor="#666666"
borderopacity="1"
objecttolerance="10"
gridtolerance="10"
guidetolerance="10"
inkscape:pageopacity="0"
inkscape:pageshadow="2"
inkscape:window-width="640"
inkscape:window-height="480"
id="namedview53" /><g
id="Ebene_1" /><g
id="Ebene_3" /><g
id="Ebene_2"><g
id="g7"><g
id="g9"><path
fill="#34414A"
d="M1819.033,238.947v48.442c0,54.389-20.971,89.525-62.891,105.379 c45.321,15.3,67.988,51.288,67.988,107.935v50.99c0,40.236-11.471,71.815-34.42,94.762 c-22.947,22.947-57.087,34.421-102.407,34.421h-152.127v-571.11h147.027c45.322,0,79.465,11.475,102.409,34.422 C1807.559,167.132,1819.033,198.724,1819.033,238.947z M1677.106,162.457h-81.59v204.817h81.59 c54.391,0,81.586-26.049,81.586-78.189v-48.441C1758.692,188.525,1731.497,162.457,1677.106,162.457z M1763.79,549.997v-50.989 c0-52.124-27.194-78.188-81.586-78.188h-86.688v207.366h86.688C1736.596,628.186,1763.79,602.129,1763.79,549.997z"
id="path11" /><path
fill="#34414A"
d="M2125.826,680.876l-34.846-159.772h-152.979l-34.845,159.772h-60.341l129.18-571.11h84.988 l129.174,571.11H2125.826z M1949.049,468.409h130.03l-65.446-300.003L1949.049,468.409z"
id="path13" /><path
fill="#34414A"
d="M2370.573,451.41h-84.135v229.466h-60.342v-571.11h138.53c45.322,0,79.598,11.475,102.83,34.422 c23.229,22.944,34.847,54.257,34.847,93.907v84.136c0,61.19-24.365,100.854-73.089,118.979l90.932,239.666h-66.289 L2370.573,451.41z M2286.438,398.716h75.639c53.244,0,79.885-25.772,79.885-77.332v-80.74c0-51.548-26.641-77.334-79.885-77.334 h-75.639V398.716z"
id="path15" /><path
fill="#34414A"
d="M2585.575,109.766h247.312v53.543h-186.972v203.117h163.177v53.542h-163.177v207.366h186.972v53.542 h-247.312V109.766z"
id="path17" /></g><g
id="g19"><path
fill="#34414A"
d="M1888.602,916.396v56.506c0,56.227-20.58,90.711-61.726,103.458 c44.624,10.435,66.94,45.205,66.94,104.327v61.723c0,92.153-49.266,138.23-147.792,138.23h-211.259V778.155h206.042 C1839.333,778.155,1888.602,824.237,1888.602,916.396z M1719.072,887.702h-53.9v131.276h53.9 c27.239,0,40.861-12.452,40.861-37.38v-56.517C1759.934,900.177,1746.312,887.702,1719.072,887.702z M1765.149,1233.717v-61.726 c0-24.911-13.626-37.385-40.859-37.385h-59.118v136.492h59.118C1751.523,1271.099,1765.149,1258.646,1765.149,1233.717z"
id="path21" /><path
fill="#34414A"
d="M2005.092,925.082c0-47.513,15.354-85.333,46.076-113.452c30.714-28.106,75.927-42.162,135.625-42.162 c59.689,0,105.051,14.056,136.055,42.162c31,28.119,46.52,65.939,46.52,113.452v308.635c0,47.527-15.52,85.351-46.52,113.457 c-31.004,28.116-76.365,42.162-136.055,42.162c-59.698,0-104.911-14.046-135.625-42.162 c-30.722-28.106-46.076-65.93-46.076-113.457V925.082z M2238.958,932.045c0-28.98-17.249-43.475-51.735-43.475 c-34.487,0-51.718,14.494-51.718,43.475v294.715c0,28.997,17.23,43.475,51.718,43.475c34.486,0,51.735-14.478,51.735-43.475 V932.045z"
id="path23" /><path
fill="#34414A"
d="M2707.549,778.155h140.839l-129.532,302.555l129.532,299.93h-141.704l-55.642-164.305l-59.118,164.305 h-141.708l128.671-299.93l-128.671-302.555h140.838l59.988,166.057L2707.549,778.155z"
id="path25" /></g><g
id="g27"><path
fill="#34414A"
d="M1385.371,136.608c-21.177-18.754-48.148-29.608-76.465-29.608H265.556 c-28.302,0-55.5,10.848-76.671,29.581C164.142,158.479,150,190.491,150,223.499v24.766v1018.987 c0,33.019,14.148,63.656,38.897,85.556c21.171,18.729,48.371,28.192,76.658,28.192h498.668L414,1030.614V247h139.322 l170.681,170.058l62.496-36.482L1160,597.17v0.582l1.085-0.582L1424,858.972V248.265v-24.766 C1424,190.512,1410.1,158.5,1385.371,136.608z M262.435,199.868c20.482,0,37.088,16.605,37.088,37.085 c0,20.476-16.605,37.083-37.088,37.083c-20.476,0-37.079-16.607-37.079-37.083C225.356,216.474,241.959,199.868,262.435,199.868z M262.456,1296.189c-20.482,0-37.088-16.607-37.088-37.083c0-20.485,16.605-37.085,37.088-37.085 c20.476,0,37.079,16.6,37.079,37.085C299.535,1279.582,282.932,1296.189,262.456,1296.189z M1292.45,274.037 c-20.48,0-37.082-16.607-37.082-37.083c0-20.48,16.601-37.085,37.082-37.085c20.48,0,37.085,16.605,37.085,37.085 C1329.535,257.429,1312.93,274.037,1292.45,274.037z"
id="path29" /><polygon
fill="#34414A"
points="553,516.144 557.593,513.471 553,508.888 "
id="polygon31" /><path
opacity="0.3"
fill="#34414A"
d="M1385.239,1352.782c-21.177,18.746-48.024,28.218-76.333,28.218h0.628 c28.363,0,54.838-9.472,76.055-28.218c24.789-21.891,38.173-52.406,38.173-85.411 C1423.763,1300.376,1409.981,1330.892,1385.239,1352.782z"
id="path33" /><path
fill="#28343A"
d="M1160,597.751v432.863l-373.07,216.729l-373.077-216.609L764.224,1381h0.413h544.27 c28.309,0,55.275-9.472,76.452-28.218c24.742-21.891,38.642-52.524,38.642-85.53v-408.28L1161.085,597.17L1160,597.751z M1292.45,1222.021c20.48,0,37.085,16.6,37.085,37.085c0,20.476-16.605,37.083-37.085,37.083 c-20.48,0-37.082-16.607-37.082-37.083C1255.368,1238.621,1271.969,1222.021,1292.45,1222.021z"
id="path35" /><polygon
fill="#28343A"
points="557.754,513.471 723.762,416.801 553,246.486 553,508.888 "
id="polygon37" /><path
fill="#FFFFFF"
d="M262.435,274.037c20.482,0,37.088-16.607,37.088-37.083c0-20.48-16.605-37.085-37.088-37.085 c-20.476,0-37.079,16.605-37.079,37.085C225.356,257.429,241.959,274.037,262.435,274.037z"
id="path39" /><path
fill="#FFFFFF"
d="M1292.45,199.868c-20.48,0-37.082,16.605-37.082,37.085c0,20.476,16.601,37.083,37.082,37.083 c20.48,0,37.085-16.607,37.085-37.083C1329.535,216.474,1312.93,199.868,1292.45,199.868z"
id="path41" /><path
fill="#FFFFFF"
d="M1292.45,1296.189c20.48,0,37.085-16.607,37.085-37.083c0-20.485-16.605-37.085-37.085-37.085 c-20.48,0-37.082,16.6-37.082,37.085C1255.368,1279.582,1271.969,1296.189,1292.45,1296.189z"
id="path43" /><path
fill="#FFFFFF"
d="M262.456,1222.021c-20.482,0-37.088,16.6-37.088,37.085c0,20.476,16.605,37.083,37.088,37.083 c20.476,0,37.079-16.607,37.079-37.083C299.535,1238.621,282.932,1222.021,262.456,1222.021z"
id="path45" /><polygon
fill="#EF6D6D"
points="786,542.494 553,678.192 553,949.589 786,1085.287 "
id="polygon47" /><polygon
fill="#E45757"
points="1020,949.589 1020,678.192 786.233,542.487 786,542.494 786,1085.287 786.233,1085.294 "
id="polygon49" /><path
fill="#FFFFFF"
d="M1160,1030.614V597.751v-0.582L786.499,380.447l-62.477,36.354l-166.259,96.67L553,516.144v-7.255V247 H414v783.614l373.013,216.729L1160,1030.614z M553,949.589V678.192l233.721-135.698l-0.127-0.007L1020,678.192v271.397 l-233.326,135.705l-0.063-0.007L553,949.589z"
id="path51" /></g></g></g></svg>

After

Width:  |  Height:  |  Size: 8.1 KiB

View File

@ -57,6 +57,8 @@ config STMP_DEVICE
source lib/gui/Kconfig
source lib/logo/Kconfig
source lib/bootstrap/Kconfig
config PRINTF_UUID

View File

@ -54,3 +54,4 @@ obj-y += libfile.o
obj-y += bitmap.o
obj-y += gcd.o
obj-y += hexdump.o
obj-$(CONFIG_BAREBOX_LOGO) += logo/

10
lib/logo/.gitignore vendored Normal file
View File

@ -0,0 +1,10 @@
barebox-logo-w64.bblogo
barebox-logo-w64.bblogo.S
barebox-logo-w240.bblogo
barebox-logo-w240.bblogo.S
barebox-logo-w320.bblogo
barebox-logo-w320.bblogo.S
barebox-logo-w400.bblogo
barebox-logo-w400.bblogo.S
barebox-logo-w640.bblogo
barebox-logo-w640.bblogo.S

21
lib/logo/Kconfig Normal file
View File

@ -0,0 +1,21 @@
menuconfig BAREBOX_LOGO
bool "include barebox logos in build"
help
Say yes here to build the barebox logos. This adds inkscape to the build
dependencies. The logo can be found under /logo/barebox-logo-<width>.png
in the running barebox.
config BAREBOX_LOGO_64
bool "include 64x32 pixel logo"
config BAREBOX_LOGO_240
bool "include 240x120 pixel logo"
config BAREBOX_LOGO_320
bool "include 320x160 pixel logo"
config BAREBOX_LOGO_400
bool "include 400x200 pixel logo"
config BAREBOX_LOGO_640
bool "include 640x320 pixel logo"

51
lib/logo/Makefile Normal file
View File

@ -0,0 +1,51 @@
OPTS_barebox-logo-w64.bblogo="-w 64"
bblogo-$(CONFIG_BAREBOX_LOGO_64) += barebox-logo-w64
OPTS_barebox-logo-w240.bblogo="-w 240"
bblogo-$(CONFIG_BAREBOX_LOGO_240) += barebox-logo-w240
OPTS_barebox-logo-w320.bblogo="-w 320"
bblogo-$(CONFIG_BAREBOX_LOGO_320) += barebox-logo-w320
OPTS_barebox-logo-w400.bblogo="-w 400"
bblogo-$(CONFIG_BAREBOX_LOGO_400) += barebox-logo-w400
OPTS_barebox-logo-w640.bblogo="-w 640"
bblogo-$(CONFIG_BAREBOX_LOGO_640) += barebox-logo-w640
obj-y += $(patsubst %,%.bblogo.o,$(bblogo-y))
extra-y += $(patsubst %,%.bblogo,$(bblogo-y))
extra-y += $(patsubst %,%.bblogo.S,$(bblogo-y))
extra-y += $(patsubst %,%.bblogo.o,$(bblogo-y))
obj-$(CONFIG_BAREBOX_LOGO) += logo.o
quiet_cmd_logo_S = LOGO.S $@
cmd_logo_S = \
( \
echo '\#include <asm-generic/barebox.lds.h>'; \
echo '.section .bblogo.rodata.$(subst -,_,$(*F)),"a"'; \
echo '.balign STRUCT_ALIGNMENT'; \
echo '.global __bblogo_$(subst -,_,$(*F))_start'; \
echo '__bblogo_$(subst -,_,$(*F))_start:'; \
echo '.incbin "$<" '; \
echo '__bblogo_$(subst -,_,$(*F))_end:'; \
echo '.global __bblogo_$(subst -,_,$(*F))_end'; \
echo '.balign STRUCT_ALIGNMENT'; \
) > $@
%.bblogo.S: %.bblogo FORCE
$(call if_changed,logo_S)
quiet_cmd_logo = LOGO.S $@
cmd_logo = \
( \
echo OPTS: $(OPTS_$(@F)); \
inkscape -z $(OPTS_$(@F)) -e $@ $< > /dev/null; \
)
%.bblogo: $(srctree)/Documentation/barebox.svg FORCE
$(call if_changed,logo)
clean-files += *.bblogo *.bblogo.S

66
lib/logo/logo.c Normal file
View File

@ -0,0 +1,66 @@
/*
* Copyright (c) 2015 Sascha Hauer <s.hauer@pengutronix.de>, Pengutronix
*
* See file CREDITS for list of people who contributed to this
* project.
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License version 2
* as published by the Free Software Foundation.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*/
#include <common.h>
#include <init.h>
#include <fs.h>
#include <libfile.h>
#include <malloc.h>
#define DEFINE_LOGO(width) \
extern char __bblogo_barebox_logo_w##width##_start[]; \
extern char __bblogo_barebox_logo_w##width##_end[]; \
\
static void load_logo_##width(void) \
{ \
if (!IS_ENABLED(CONFIG_BAREBOX_LOGO_##width)) \
return; \
load_logo(width, __bblogo_barebox_logo_w##width##_start, \
__bblogo_barebox_logo_w##width##_end); \
}
static void load_logo(int width, void *start, void *end)
{
char *filename;
size_t size = end - start;
filename = asprintf("/logo/barebox-logo-%d.png", width);
write_file(filename, start, size);
free(filename);
}
DEFINE_LOGO(64);
DEFINE_LOGO(240);
DEFINE_LOGO(320);
DEFINE_LOGO(400);
DEFINE_LOGO(640);
static int logo_init(void)
{
int ret;
ret = make_directory("/logo");
if (ret)
return ret;
load_logo_64();
load_logo_240();
load_logo_320();
load_logo_400();
load_logo_640();
return 0;
}
postenvironment_initcall(logo_init);