Unify icons

This commit is contained in:
Tamás Bálint Misius 2022-10-23 11:41:26 +02:00
parent 9e2185c8a2
commit e5c88f154a
No known key found for this signature in database
GPG Key ID: 5B472A12F6ECA9F2
46 changed files with 7621 additions and 251 deletions

4
.github/build.sh vendored
View File

@ -354,10 +354,10 @@ if [[ $PACKAGE_MODE == appimage ]]; then
mkdir -p $appdir/usr/share/icons
cp $APP_EXE $appdir/usr/bin/$APP_EXE
mv AppRun $appdir/AppRun
cp ../resources/icon/icon-128.png $appdir/$APP_VENDOR-$APP_EXE.png
cp ../resources/icon_exe.svg $appdir/$APP_VENDOR-$APP_EXE.svg
cp resources/powder.desktop $appdir/$APP_ID.desktop
cp appdata.xml $appdir/usr/share/metainfo/$APP_ID.appdata.xml
cp $appdir/$APP_VENDOR-$APP_EXE.png $appdir/usr/share/icons/$APP_VENDOR-$APP_EXE.png
cp $appdir/$APP_VENDOR-$APP_EXE.svg $appdir/usr/share/icons/$APP_VENDOR-$APP_EXE.svg
cp $appdir/$APP_ID.desktop $appdir/usr/share/applications/$APP_ID.desktop
./appimagetool $appdir $ASSET_PATH
fi

View File

@ -1,7 +1,7 @@
android_resources = files(
'mipmap-mdpi/ic_launcher.png',
'values/colors.xml',
'values/styles.xml',
)
subdir('values')
subdir('mipmap-mdpi')

Binary file not shown.

Before

Width:  |  Height:  |  Size: 111 KiB

View File

@ -0,0 +1,5 @@
android_resources += configure_file(
input: rendered_icons['icon_exe'],
output: 'ic_launcher.png',
copy: true,
)

View File

@ -24,6 +24,9 @@ to_array = generator(
arguments: [ '@OUTPUT0@', '@OUTPUT1@', '@INPUT@', '@EXTRA_ARGS@' ]
)
render_icons_with_inkscape = get_option('render_icons_with_inkscape')
inkscape = find_program('inkscape', required: render_icons_with_inkscape)
c_compiler = meson.get_compiler('c')
is_x86 = host_machine.cpu_family() in [ 'x86', 'x86_64' ]

View File

@ -213,3 +213,9 @@ option(
value: false,
description: 'Used by ghactions workflows, not useful otherwise'
)
option(
'render_icons_with_inkscape',
type: 'feature',
value: 'disabled',
description: 'Render icons with Inkscape (inkscape binary needs to be in PATH)'
)

67
resources/MakeIco.cpp Normal file
View File

@ -0,0 +1,67 @@
#include <fstream>
#include <vector>
#include <cstdint>
int main(int argc, char *argv[])
{
if (argc < 3)
{
return 1;
}
auto *outputIcoPath = argv[1];
std::ofstream outputIco(outputIcoPath, std::ios::binary);
if (!outputIco)
{
return 2;
}
auto images = argc - 2;
std::vector<char> header(22 + images * 16);
auto *incondir = &header[0];
*reinterpret_cast<uint16_t *>(&incondir[0]) = 0; // reserved
*reinterpret_cast<uint16_t *>(&incondir[2]) = 1; // icon
*reinterpret_cast<uint16_t *>(&incondir[4]) = uint16_t(images);
std::vector<char> allData;
for (auto i = 0; i < images; ++i)
{
auto *inputAnyPath = argv[i + 2];
std::ifstream inputAny(inputAnyPath, std::ios::binary);
std::vector<char> data;
while (true)
{
char ch;
inputAny.read(&ch, 1);
if (inputAny.eof())
{
break;
}
if (!inputAny)
{
return 3;
}
data.push_back(ch);
}
if (*reinterpret_cast<uint64_t *>(&data[0]) != UINT64_C(0x0A1A0A0D474E5089)) // png magic
{
return 5;
}
auto width = uint8_t(data[19]);
auto height = uint8_t(data[23]);
auto *incondirentry = &header[6 + i * 16];
*reinterpret_cast<uint8_t *>(&incondirentry[0]) = width;
*reinterpret_cast<uint8_t *>(&incondirentry[1]) = height;
*reinterpret_cast<uint8_t *>(&incondirentry[2]) = 0; // no color palette
*reinterpret_cast<uint8_t *>(&incondirentry[3]) = 0; // reserved
*reinterpret_cast<uint16_t *>(&incondirentry[4]) = 1; // 1 color plane
*reinterpret_cast<uint16_t *>(&incondirentry[6]) = 32; // 32 bits per pixel
*reinterpret_cast<uint32_t *>(&incondirentry[8]) = uint32_t(data.size()); // data size
*reinterpret_cast<uint32_t *>(&incondirentry[12]) = uint32_t(header.size() + allData.size()); // data offset
allData.insert(allData.end(), data.begin(), data.end());
}
outputIco.write(&header[0], header.size());
outputIco.write(&allData[0], allData.size());
if (!outputIco)
{
return 4;
}
return 0;
}

Binary file not shown.

Before

Width:  |  Height:  |  Size: 533 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.2 KiB

Binary file not shown.

Binary file not shown.

Before

Width:  |  Height:  |  Size: 25 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.6 KiB

View File

@ -0,0 +1,9 @@
We keep these icons here to make it possible to build TPT without Inkscape. If
you have Inkscape and want to change the game's icons, edit the SVGs in the
parent directory and configure your build sites with
`-Drender_icons_with_inkscape=true`.
The GitHub Actions workflows currently do not use Inkscape and use these icons
instead, so once you are satisfied with the state of the SVGs, replace these
icons with the ones in your build site in the same subdirectory and make a new
commit.

Binary file not shown.

After

Width:  |  Height:  |  Size: 52 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 563 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.6 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 33 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 644 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.5 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.8 KiB

Binary file not shown.

Binary file not shown.

Before

Width:  |  Height:  |  Size: 76 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 23 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.8 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 7.8 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 68 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 4.2 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.3 KiB

Binary file not shown.

View File

@ -1,117 +0,0 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!-- Created with Inkscape (http://www.inkscape.org/) -->
<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:xlink="http://www.w3.org/1999/xlink"
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
width="1024"
height="1024"
viewBox="0 0 270.93334 270.93333"
version="1.1"
id="svg8"
inkscape:version="0.91 r13725"
sodipodi:docname="icon_pile_gradient.svg"
inkscape:export-filename="/home/lbphacker/temp/tpt-logo/icon_circle.png"
inkscape:export-xdpi="96"
inkscape:export-ydpi="96">
<defs
id="defs2">
<linearGradient
inkscape:collect="always"
id="linearGradient5602">
<stop
style="stop-color:#ff7a4c;stop-opacity:1"
offset="0"
id="stop5604" />
<stop
style="stop-color:#ffff4a;stop-opacity:1"
offset="1"
id="stop5606" />
</linearGradient>
<filter
inkscape:collect="always"
style="color-interpolation-filters:sRGB"
id="filter5229"
x="-0.099935167"
width="1.1998703"
y="-0.091193162"
height="1.1823863">
<feGaussianBlur
inkscape:collect="always"
stdDeviation="7.6262206"
id="feGaussianBlur5231" />
</filter>
<linearGradient
inkscape:collect="always"
xlink:href="#linearGradient5602"
id="linearGradient5608"
x1="623.16376"
y1="313.71109"
x2="835.82587"
y2="100.99124"
gradientUnits="userSpaceOnUse" />
</defs>
<sodipodi:namedview
id="base"
pagecolor="#ffffff"
bordercolor="#666666"
borderopacity="1.0"
inkscape:pageopacity="0"
inkscape:pageshadow="2"
inkscape:zoom="0.3535534"
inkscape:cx="218.91161"
inkscape:cy="713.0457"
inkscape:document-units="px"
inkscape:current-layer="layer1"
showgrid="false"
units="px"
inkscape:window-width="1366"
inkscape:window-height="705"
inkscape:window-x="-4"
inkscape:window-y="-4"
inkscape:window-maximized="1"
inkscape:snap-global="false"
showguides="false"
fit-margin-top="0"
fit-margin-left="0"
fit-margin-bottom="0"
fit-margin-right="0" />
<metadata
id="metadata5">
<rdf:RDF>
<cc:Work
rdf:about="">
<dc:format>image/svg+xml</dc:format>
<dc:type
rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
<dc:title></dc:title>
</cc:Work>
</rdf:RDF>
</metadata>
<g
inkscape:label="Layer 1"
inkscape:groupmode="layer"
id="layer1"
transform="translate(-594.1217,-81.893738)">
<g
id="g5610">
<path
transform="matrix(1.1416809,0,0,1.1416809,-103.36921,-12.109215)"
inkscape:connector-curvature="0"
id="path950"
d="m 729.5891,100.64025 a 6.8536343,6.8536343 0 0 0 -6.8539,6.85333 6.8536343,6.8536343 0 0 0 6.8539,6.85384 6.8536343,6.8536343 0 0 0 6.8533,-6.85384 6.8536343,6.8536343 0 0 0 -6.8533,-6.85333 z m 0,27.34045 c -3.7851,0 -6.8534,3.06823 -6.8534,6.85333 l 0,14.43478 c 0,3.78508 3.0683,6.85384 6.8534,6.85384 3.7851,0 6.8538,-3.06876 6.8538,-6.85384 l 0,-14.43478 c 0,-3.7851 -3.0687,-6.85333 -6.8538,-6.85333 z m 26.5585,18.38389 a 6.8536343,6.8536343 0 0 0 -6.8538,6.85384 6.8536343,6.8536343 0 0 0 6.8538,6.85333 6.8536343,6.8536343 0 0 0 6.8539,-6.85333 6.8536343,6.8536343 0 0 0 -6.8539,-6.85384 z m -62.3124,22.72367 a 6.8536343,6.8536343 0 0 0 -6.8539,6.85333 6.8536343,6.8536343 0 0 0 6.8539,6.85385 6.8536343,6.8536343 0 0 0 6.8538,-6.85385 6.8536343,6.8536343 0 0 0 -6.8538,-6.85333 z m 35.7544,0.66715 a 6.8536343,6.8536343 0 0 0 -6.8539,6.85384 6.8536343,6.8536343 0 0 0 6.8539,6.85385 6.8536343,6.8536343 0 0 0 6.8533,-6.85385 6.8536343,6.8536343 0 0 0 -6.8533,-6.85384 z m -0.1886,27.342 c -3.3028,0.0484 -6.4566,1.38153 -8.7928,3.71656 l -78.8505,78.85152 c -7.9961,8.00073 -2.3327,21.6754 8.9788,21.67982 l 157.7032,0 c 11.312,-0.003 16.9767,-13.67855 8.9802,-21.67982 l -78.8515,-78.85152 c -2.4281,-2.42693 -5.7354,-3.76761 -9.168,-3.71656 z m 0.7482,8.51369 0,0 c 0.4485,0 0.8969,0.044 1.3385,0.13074 1.4334,0.202 2.8158,0.85351 3.9181,1.95595 l 74.9995,74.99956 c 2.6995,2.6994 2.6995,7.07622 0,9.77563 -2.699,2.69939 -7.0755,2.69939 -9.7751,0 l -70.3275,-70.32749 -11.8003,11.80031 c -2.6993,2.69937 -7.076,2.6993 -9.7756,0 -2.6992,-2.69951 -2.6988,-7.07626 0,-9.77563 l 16.5344,-16.53439 c 1.3498,-1.34968 3.1186,-2.02467 4.8875,-2.02468 z m 55.2437,1.29294 a 6.8536343,6.8536343 0 0 0 -6.8533,6.85385 6.8536343,6.8536343 0 0 0 6.8533,6.85333 6.8536343,6.8536343 0 0 0 6.8538,-6.85333 6.8536343,6.8536343 0 0 0 -6.8538,-6.85385 z m -115.8803,12.52999 a 6.8536343,6.8536343 0 0 0 -6.8538,6.85384 6.8536343,6.8536343 0 0 0 6.8538,6.85333 6.8536343,6.8536343 0 0 0 6.8534,-6.85333 6.8536343,6.8536343 0 0 0 -6.8534,-6.85384 z m 27.0614,18.73839 a 6.8536343,6.8536343 0 0 1 6.8534,6.85333 6.8536343,6.8536343 0 0 1 -6.8534,6.85384 6.8536343,6.8536343 0 0 1 -6.8538,-6.85384 6.8536343,6.8536343 0 0 1 6.8538,-6.85333 z m -27.4784,26.01701 a 6.8536343,6.8536343 0 0 1 6.8538,6.85333 6.8536343,6.8536343 0 0 1 -6.8538,6.85385 6.8536343,6.8536343 0 0 1 -6.8533,-6.85385 6.8536343,6.8536343 0 0 1 6.8533,-6.85333 z"
style="opacity:0.90700001;fill:#000000;fill-opacity:1;stroke:none;stroke-width:13.70695019;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;filter:url(#filter5229)" />
<path
style="opacity:1;fill:url(#linearGradient5608);fill-opacity:1;stroke:#4d361f;stroke-width:3.96875027;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;fill-rule:nonzero"
d="m 729.58874,102.78984 a 7.8246635,7.8246635 0 0 0 -7.82496,7.82432 7.8246635,7.8246635 0 0 0 7.82496,7.82489 7.8246635,7.8246635 0 0 0 7.82429,-7.82489 7.8246635,7.8246635 0 0 0 -7.82429,-7.82432 z m 0,31.21407 c -4.32137,0 -7.82439,3.50293 -7.82439,7.82431 l 0,16.47992 c 0,4.32136 3.50302,7.8249 7.82439,7.8249 4.32138,0 7.82486,-3.50354 7.82486,-7.8249 l 0,-16.47992 c 0,-4.32138 -3.50348,-7.82431 -7.82486,-7.82431 z m 30.32135,20.98853 a 7.8246635,7.8246635 0 0 0 -7.82486,7.82491 7.8246635,7.8246635 0 0 0 7.82486,7.82431 7.8246635,7.8246635 0 0 0 7.82496,-7.82431 7.8246635,7.8246635 0 0 0 -7.82496,-7.82491 z m -71.14088,25.94318 a 7.8246635,7.8246635 0 0 0 -7.82497,7.82432 7.8246635,7.8246635 0 0 0 7.82497,7.82491 7.8246635,7.8246635 0 0 0 7.82485,-7.82491 7.8246635,7.8246635 0 0 0 -7.82485,-7.82432 z m 40.82011,0.76168 a 7.8246635,7.8246635 0 0 0 -7.82497,7.82489 7.8246635,7.8246635 0 0 0 7.82497,7.82492 7.8246635,7.8246635 0 0 0 7.82428,-7.82492 7.8246635,7.8246635 0 0 0 -7.82428,-7.82489 z m -0.21533,31.21584 c -3.77074,0.0553 -7.37137,1.57726 -10.03856,4.24312 l -90.02211,90.02327 c -9.129,9.1343 -2.6632,24.7464 10.25092,24.75145 l 180.04673,0 c 12.91469,-0.004 19.38198,-15.61654 10.25253,-24.75145 l -90.02326,-90.02327 c -2.77211,-2.77078 -6.54799,-4.30141 -10.46693,-4.24312 z m 0.85421,9.71992 0,0 c 0.51205,0 1.02398,0.0503 1.52815,0.14926 1.63648,0.23062 3.21474,0.97444 4.47322,2.23307 l 85.62549,85.62556 c 3.08197,3.08186 3.08197,8.07879 0,11.16066 -3.0814,3.08183 -8.07797,3.08183 -11.16005,0 l -80.29156,-80.29155 -13.47218,13.47219 c -3.08173,3.08181 -8.07853,3.08173 -11.16061,0 -3.08163,-3.08199 -3.08117,-8.07884 0,-11.16066 l 18.877,-18.87699 c 1.54104,-1.5409 3.56045,-2.31153 5.57997,-2.31154 z m 63.07068,1.47613 a 7.8246635,7.8246635 0 0 0 -7.82428,7.8249 7.8246635,7.8246635 0 0 0 7.82428,7.82432 7.8246635,7.8246635 0 0 0 7.82486,-7.82432 7.8246635,7.8246635 0 0 0 -7.82486,-7.8249 z m -132.29832,14.30524 a 7.8246635,7.8246635 0 0 0 -7.82486,7.8249 7.8246635,7.8246635 0 0 0 7.82486,7.82432 7.8246635,7.8246635 0 0 0 7.82439,-7.82432 7.8246635,7.8246635 0 0 0 -7.82439,-7.8249 z m 30.89547,21.39326 a 7.8246635,7.8246635 0 0 1 7.8244,7.82432 7.8246635,7.8246635 0 0 1 -7.8244,7.8249 7.8246635,7.8246635 0 0 1 -7.82484,-7.8249 7.8246635,7.8246635 0 0 1 7.82484,-7.82432 z m -31.37155,29.70312 a 7.8246635,7.8246635 0 0 1 7.82484,7.82432 7.8246635,7.8246635 0 0 1 -7.82484,7.82491 7.8246635,7.8246635 0 0 1 -7.82428,-7.82491 7.8246635,7.8246635 0 0 1 7.82428,-7.82432 z"
id="path952"
inkscape:connector-curvature="0" />
</g>
</g>
</svg>

Before

Width:  |  Height:  |  Size: 8.4 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 7.2 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 18 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 17 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 9.4 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 17 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 37 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 111 KiB

View File

@ -1,101 +0,0 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!-- Created with Inkscape (http://www.inkscape.org/) -->
<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"
width="1024"
height="1024"
viewBox="0 0 270.93334 270.93333"
version="1.1"
id="svg8"
inkscape:version="0.92.3 (2405546, 2018-03-11)"
sodipodi:docname="icon_circle.svg"
inkscape:export-filename="/home/lbphacker/temp/tpt-logo/icon_circle.png"
inkscape:export-xdpi="96"
inkscape:export-ydpi="96">
<defs
id="defs2">
<filter
inkscape:collect="always"
style="color-interpolation-filters:sRGB"
id="filter5229"
x="-0.099935167"
width="1.1998703"
y="-0.091193162"
height="1.1823863">
<feGaussianBlur
inkscape:collect="always"
stdDeviation="7.6262206"
id="feGaussianBlur5231" />
</filter>
</defs>
<sodipodi:namedview
id="base"
pagecolor="#ffffff"
bordercolor="#666666"
borderopacity="1.0"
inkscape:pageopacity="0"
inkscape:pageshadow="2"
inkscape:zoom="0.66"
inkscape:cx="328.01066"
inkscape:cy="553.26531"
inkscape:document-units="px"
inkscape:current-layer="g986"
showgrid="false"
units="px"
inkscape:window-width="1920"
inkscape:window-height="982"
inkscape:window-x="0"
inkscape:window-y="24"
inkscape:window-maximized="1"
inkscape:snap-global="false"
showguides="false"
fit-margin-top="0"
fit-margin-left="0"
fit-margin-bottom="0"
fit-margin-right="0" />
<metadata
id="metadata5">
<rdf:RDF>
<cc:Work
rdf:about="">
<dc:format>image/svg+xml</dc:format>
<dc:type
rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
<dc:title />
</cc:Work>
</rdf:RDF>
</metadata>
<g
inkscape:label="Layer 1"
inkscape:groupmode="layer"
id="layer1"
transform="translate(-594.1217,-81.893738)">
<g
id="g986">
<circle
r="135.46667"
cy="217.36041"
cx="729.58838"
id="circle948"
style="opacity:1;fill:#ffd090;fill-opacity:1;stroke:none;stroke-width:1.74795687;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
<path
transform="matrix(0.91722511,0,0,0.91722511,60.391628,16.637154)"
inkscape:connector-curvature="0"
id="path950"
d="m 729.5891,100.64025 a 6.8536343,6.8536343 0 0 0 -6.8539,6.85333 6.8536343,6.8536343 0 0 0 6.8539,6.85384 6.8536343,6.8536343 0 0 0 6.8533,-6.85384 6.8536343,6.8536343 0 0 0 -6.8533,-6.85333 z m 0,27.34045 c -3.7851,0 -6.8534,3.06823 -6.8534,6.85333 v 14.43478 c 0,3.78508 3.0683,6.85384 6.8534,6.85384 3.7851,0 6.8538,-3.06876 6.8538,-6.85384 v -14.43478 c 0,-3.7851 -3.0687,-6.85333 -6.8538,-6.85333 z m 26.5585,18.38389 a 6.8536343,6.8536343 0 0 0 -6.8538,6.85384 6.8536343,6.8536343 0 0 0 6.8538,6.85333 6.8536343,6.8536343 0 0 0 6.8539,-6.85333 6.8536343,6.8536343 0 0 0 -6.8539,-6.85384 z m -62.3124,22.72367 a 6.8536343,6.8536343 0 0 0 -6.8539,6.85333 6.8536343,6.8536343 0 0 0 6.8539,6.85385 6.8536343,6.8536343 0 0 0 6.8538,-6.85385 6.8536343,6.8536343 0 0 0 -6.8538,-6.85333 z m 35.7544,0.66715 a 6.8536343,6.8536343 0 0 0 -6.8539,6.85384 6.8536343,6.8536343 0 0 0 6.8539,6.85385 6.8536343,6.8536343 0 0 0 6.8533,-6.85385 6.8536343,6.8536343 0 0 0 -6.8533,-6.85384 z m -0.1886,27.342 c -3.3028,0.0484 -6.4566,1.38153 -8.7928,3.71656 l -78.8505,78.85152 c -7.9961,8.00073 -2.3327,21.6754 8.9788,21.67982 h 157.7032 c 11.312,-0.003 16.9767,-13.67855 8.9802,-21.67982 l -78.8515,-78.85152 c -2.4281,-2.42693 -5.7354,-3.76761 -9.168,-3.71656 z m 0.7482,8.51369 v 0 c 0.4485,0 0.8969,0.044 1.3385,0.13074 1.4334,0.202 2.8158,0.85351 3.9181,1.95595 l 74.9995,74.99956 c 2.6995,2.6994 2.6995,7.07622 0,9.77563 -2.699,2.69939 -7.0755,2.69939 -9.7751,0 l -70.3275,-70.32749 -11.8003,11.80031 c -2.6993,2.69937 -7.076,2.6993 -9.7756,0 -2.6992,-2.69951 -2.6988,-7.07626 0,-9.77563 l 16.5344,-16.53439 c 1.3498,-1.34968 3.1186,-2.02467 4.8875,-2.02468 z m 55.2437,1.29294 a 6.8536343,6.8536343 0 0 0 -6.8533,6.85385 6.8536343,6.8536343 0 0 0 6.8533,6.85333 6.8536343,6.8536343 0 0 0 6.8538,-6.85333 6.8536343,6.8536343 0 0 0 -6.8538,-6.85385 z m -115.8803,12.52999 a 6.8536343,6.8536343 0 0 0 -6.8538,6.85384 6.8536343,6.8536343 0 0 0 6.8538,6.85333 6.8536343,6.8536343 0 0 0 6.8534,-6.85333 6.8536343,6.8536343 0 0 0 -6.8534,-6.85384 z m 27.0614,18.73839 a 6.8536343,6.8536343 0 0 1 6.8534,6.85333 6.8536343,6.8536343 0 0 1 -6.8534,6.85384 6.8536343,6.8536343 0 0 1 -6.8538,-6.85384 6.8536343,6.8536343 0 0 1 6.8538,-6.85333 z m -27.4784,26.01701 a 6.8536343,6.8536343 0 0 1 6.8538,6.85333 6.8536343,6.8536343 0 0 1 -6.8538,6.85385 6.8536343,6.8536343 0 0 1 -6.8533,-6.85385 6.8536343,6.8536343 0 0 1 6.8533,-6.85333 z"
style="opacity:0.90700001;fill:#000000;fill-opacity:1;stroke:none;stroke-width:13.70695019;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;filter:url(#filter5229)" />
<path
style="opacity:1;fill:#ffffff;fill-opacity:1;stroke:none;stroke-width:12.57235909;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
d="m 729.58907,108.94692 a 6.2863255,6.2863255 0 0 0 -6.28657,6.28605 6.2863255,6.2863255 0 0 0 6.28657,6.28651 6.2863255,6.2863255 0 0 0 6.28602,-6.28651 6.2863255,6.2863255 0 0 0 -6.28602,-6.28605 z m 0,25.07735 c -3.47179,0 -6.28611,2.81425 -6.28611,6.28604 v 13.23995 c 0,3.47177 2.81432,6.28651 6.28611,6.28651 3.47179,0 6.28648,-2.81474 6.28648,-6.28651 v -13.23995 c 0,-3.47179 -2.81469,-6.28604 -6.28648,-6.28604 z m 24.36013,16.86216 a 6.2863255,6.2863255 0 0 0 -6.28648,6.28652 6.2863255,6.2863255 0 0 0 6.28648,6.28604 6.2863255,6.2863255 0 0 0 6.28657,-6.28604 6.2863255,6.2863255 0 0 0 -6.28657,-6.28652 z m -57.1545,20.84272 a 6.2863255,6.2863255 0 0 0 -6.28657,6.28605 6.2863255,6.2863255 0 0 0 6.28657,6.28652 6.2863255,6.2863255 0 0 0 6.28648,-6.28652 6.2863255,6.2863255 0 0 0 -6.28648,-6.28605 z m 32.79483,0.61193 a 6.2863255,6.2863255 0 0 0 -6.28657,6.28651 6.2863255,6.2863255 0 0 0 6.28657,6.28653 6.2863255,6.2863255 0 0 0 6.28602,-6.28653 6.2863255,6.2863255 0 0 0 -6.28602,-6.28651 z m -0.17299,25.07877 c -3.02941,0.0444 -5.92215,1.26717 -8.06497,3.40892 l -72.32366,72.32459 c -7.33423,7.33848 -2.13961,19.88123 8.23558,19.88528 h 144.64933 c 10.37565,-0.003 15.57146,-12.54631 8.23687,-19.88528 l -72.32458,-72.32459 c -2.22711,-2.22604 -5.26065,-3.45575 -8.40912,-3.40892 z m 0.68627,7.80897 v 0 c 0.41138,0 0.82266,0.0404 1.22771,0.11992 1.31475,0.18528 2.58272,0.78286 3.59378,1.79404 l 68.79142,68.79148 c 2.47605,2.47596 2.47605,6.49049 0,8.96646 -2.47559,2.47594 -6.48983,2.47594 -8.96597,0 l -64.50615,-64.50614 -10.82353,10.82354 c -2.47586,2.47593 -6.49028,2.47586 -8.96642,0 -2.47578,-2.47606 -2.47541,-6.49053 0,-8.96646 l 15.16576,-15.16575 c 1.23807,-1.23796 2.86046,-1.85708 4.48294,-1.85709 z m 50.67091,1.18592 a 6.2863255,6.2863255 0 0 0 -6.28602,6.28652 6.2863255,6.2863255 0 0 0 6.28602,6.28605 6.2863255,6.2863255 0 0 0 6.28648,-6.28605 6.2863255,6.2863255 0 0 0 -6.28648,-6.28652 z M 674.4854,217.90756 a 6.2863255,6.2863255 0 0 0 -6.28648,6.28651 6.2863255,6.2863255 0 0 0 6.28648,6.28605 6.2863255,6.2863255 0 0 0 6.28611,-6.28605 6.2863255,6.2863255 0 0 0 -6.28611,-6.28651 z m 24.82139,17.18732 a 6.2863255,6.2863255 0 0 1 6.28611,6.28605 6.2863255,6.2863255 0 0 1 -6.28611,6.28651 6.2863255,6.2863255 0 0 1 -6.28647,-6.28651 6.2863255,6.2863255 0 0 1 6.28647,-6.28605 z m -25.20387,23.86345 a 6.2863255,6.2863255 0 0 1 6.28647,6.28605 6.2863255,6.2863255 0 0 1 -6.28647,6.28652 6.2863255,6.2863255 0 0 1 -6.28602,-6.28652 6.2863255,6.2863255 0 0 1 6.28602,-6.28605 z"
id="path952"
inkscape:connector-curvature="0" />
</g>
</g>
</svg>

Before

Width:  |  Height:  |  Size: 8.1 KiB

6920
resources/icon_cps.svg Normal file

File diff suppressed because it is too large Load Diff

After

Width:  |  Height:  |  Size: 255 KiB

533
resources/icon_exe.svg Normal file
View File

@ -0,0 +1,533 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!-- Created with Inkscape (http://www.inkscape.org/) -->
<svg
width="64"
height="64"
viewBox="0 0 16.933331 16.933331"
version="1.1"
id="svg5"
inkscape:version="1.2.2 (b0a8486541, 2022-12-01)"
sodipodi:docname="icon_exe.svg"
inkscape:export-filename="icon.png"
inkscape:export-xdpi="192"
inkscape:export-ydpi="192"
xml:space="preserve"
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
xmlns:xlink="http://www.w3.org/1999/xlink"
xmlns="http://www.w3.org/2000/svg"
xmlns:svg="http://www.w3.org/2000/svg"><sodipodi:namedview
id="namedview7"
pagecolor="#ffffff"
bordercolor="#000000"
borderopacity="1"
inkscape:showpageshadow="0"
inkscape:pageopacity="0"
inkscape:pagecheckerboard="0"
inkscape:deskcolor="#ffffff"
inkscape:document-units="px"
showgrid="false"
inkscape:zoom="16.970563"
inkscape:cx="57.422963"
inkscape:cy="24.188945"
inkscape:window-width="1280"
inkscape:window-height="1054"
inkscape:window-x="1297"
inkscape:window-y="26"
inkscape:window-maximized="0"
inkscape:current-layer="layer7" /><defs
id="defs2"><linearGradient
id="linearGradient10317"><stop
style="stop-color:#f5ffff;stop-opacity:1;"
offset="0"
id="stop10311" /><stop
style="stop-color:#f5ffff;stop-opacity:1;"
offset="0.58129495"
id="stop10313" /><stop
style="stop-color:#f5ffff;stop-opacity:0;"
offset="1"
id="stop10315" /></linearGradient><linearGradient
id="linearGradient7451"><stop
style="stop-color:#f5ffff;stop-opacity:0.98309183;"
offset="0"
id="stop7445" /><stop
style="stop-color:#f5ffff;stop-opacity:0.65823293;"
offset="0.44851306"
id="stop7447" /><stop
style="stop-color:#f5ffff;stop-opacity:0;"
offset="1"
id="stop7449" /></linearGradient><linearGradient
id="linearGradient7331"><stop
style="stop-color:#f5ffff;stop-opacity:1;"
offset="0"
id="stop7325" /><stop
style="stop-color:#f5ffff;stop-opacity:1;"
offset="0.37253886"
id="stop7327" /><stop
style="stop-color:#f5ffff;stop-opacity:0;"
offset="1"
id="stop7329" /></linearGradient><linearGradient
id="linearGradient6957"><stop
style="stop-color:#f5ffff;stop-opacity:1;"
offset="0"
id="stop6951" /><stop
style="stop-color:#f5ffff;stop-opacity:1;"
offset="0.61608356"
id="stop6953" /><stop
style="stop-color:#f5ffff;stop-opacity:0;"
offset="1"
id="stop6955" /></linearGradient><linearGradient
id="linearGradient6573"><stop
style="stop-color:#f5ff08;stop-opacity:1;"
offset="0"
id="stop6567" /><stop
style="stop-color:#f5ff08;stop-opacity:0.823915;"
offset="0.62599742"
id="stop6569" /><stop
style="stop-color:#f5ff08;stop-opacity:0;"
offset="1"
id="stop6571" /></linearGradient><linearGradient
id="linearGradient6175"><stop
style="stop-color:#f5ff08;stop-opacity:0.47854495;"
offset="0"
id="stop6169" /><stop
style="stop-color:#f5ff08;stop-opacity:0.29862821;"
offset="0.67936534"
id="stop6171" /><stop
style="stop-color:#f5ff08;stop-opacity:0;"
offset="1"
id="stop6173" /></linearGradient><linearGradient
id="linearGradient5893"><stop
style="stop-color:#f5ff08;stop-opacity:0.71252441;"
offset="0"
id="stop5887" /><stop
style="stop-color:#f5ff08;stop-opacity:0.5904839;"
offset="0.67936534"
id="stop5889" /><stop
style="stop-color:#f5ff08;stop-opacity:0;"
offset="1"
id="stop5891" /></linearGradient><linearGradient
id="linearGradient5757"><stop
style="stop-color:#f5ff08;stop-opacity:1;"
offset="0"
id="stop5751" /><stop
style="stop-color:#f5ff08;stop-opacity:1;"
offset="0.75665909"
id="stop5753" /><stop
style="stop-color:#f5ff08;stop-opacity:0;"
offset="1"
id="stop5755" /></linearGradient><linearGradient
id="linearGradient5685"><stop
style="stop-color:#f5ff08;stop-opacity:1;"
offset="0"
id="stop5679" /><stop
style="stop-color:#f5ff08;stop-opacity:1;"
offset="0.63781762"
id="stop5681" /><stop
style="stop-color:#f5ff08;stop-opacity:0;"
offset="1"
id="stop5683" /></linearGradient><linearGradient
id="linearGradient5619"><stop
style="stop-color:#f5ff08;stop-opacity:1;"
offset="0"
id="stop5613" /><stop
style="stop-color:#f5ff08;stop-opacity:1;"
offset="0.73820531"
id="stop5615" /><stop
style="stop-color:#f5ff08;stop-opacity:0;"
offset="1"
id="stop5617" /></linearGradient><linearGradient
id="linearGradient5441"><stop
style="stop-color:#f5ff08;stop-opacity:0.89862061;"
offset="0"
id="stop5435" /><stop
style="stop-color:#f5ff08;stop-opacity:0.72535044;"
offset="0.62599742"
id="stop5437" /><stop
style="stop-color:#f5ff08;stop-opacity:0;"
offset="1"
id="stop5439" /></linearGradient><linearGradient
id="linearGradient1452"><stop
style="stop-color:#f50008;stop-opacity:1;"
offset="0"
id="stop1446" /><stop
style="stop-color:#f50008;stop-opacity:1;"
offset="0.7918601"
id="stop1448" /><stop
style="stop-color:#f50008;stop-opacity:0;"
offset="1"
id="stop1450" /></linearGradient><radialGradient
inkscape:collect="always"
xlink:href="#linearGradient1452"
id="radialGradient522"
gradientUnits="userSpaceOnUse"
gradientTransform="matrix(0.78484331,0,0,0.78747227,696.44887,-323.11915)"
cx="85.568382"
cy="110.37487"
fx="85.568382"
fy="110.37487"
r="80.962494" /><radialGradient
inkscape:collect="always"
xlink:href="#linearGradient1452"
id="radialGradient524"
gradientUnits="userSpaceOnUse"
gradientTransform="matrix(0.8981104,0,0,0.76442481,749.97364,-321.90886)"
cx="85.568382"
cy="110.37487"
fx="85.568382"
fy="110.37487"
r="80.962494" /><radialGradient
inkscape:collect="always"
xlink:href="#linearGradient6573"
id="radialGradient526"
gradientUnits="userSpaceOnUse"
gradientTransform="matrix(0.63729372,0,0,0.41448086,723.17431,-328.11791)"
cx="85.568382"
cy="110.37487"
fx="85.568382"
fy="110.37487"
r="80.962494" /><radialGradient
inkscape:collect="always"
xlink:href="#linearGradient5619"
id="radialGradient528"
gradientUnits="userSpaceOnUse"
gradientTransform="matrix(0.44694866,0,0,0.65155251,787.10411,-304.51482)"
cx="85.568382"
cy="110.37487"
fx="85.568382"
fy="110.37487"
r="80.962494" /><radialGradient
inkscape:collect="always"
xlink:href="#linearGradient5619"
id="radialGradient530"
gradientUnits="userSpaceOnUse"
gradientTransform="matrix(0.44694866,0,0,0.40774632,806.63991,-285.18279)"
cx="85.568382"
cy="110.37487"
fx="85.568382"
fy="110.37487"
r="80.962494" /><radialGradient
inkscape:collect="always"
xlink:href="#linearGradient5685"
id="radialGradient532"
gradientUnits="userSpaceOnUse"
gradientTransform="matrix(0.31040892,0,0,0.40774632,771.18902,-267.79397)"
cx="85.568382"
cy="110.37487"
fx="85.568382"
fy="110.37487"
r="80.962494" /><radialGradient
inkscape:collect="always"
xlink:href="#linearGradient5757"
id="radialGradient534"
gradientUnits="userSpaceOnUse"
gradientTransform="matrix(0.61485849,0,0,0.48365086,699.42828,-280.26845)"
cx="85.568382"
cy="110.37487"
fx="85.568382"
fy="110.37487"
r="80.962494" /><radialGradient
inkscape:collect="always"
xlink:href="#linearGradient5893"
id="radialGradient536"
gradientUnits="userSpaceOnUse"
gradientTransform="matrix(0.18217879,0,0,0.57948295,785.06567,-317.57229)"
cx="85.568382"
cy="110.37487"
fx="85.568382"
fy="110.37487"
r="80.962494" /><radialGradient
inkscape:collect="always"
xlink:href="#linearGradient6175"
id="radialGradient538"
gradientUnits="userSpaceOnUse"
gradientTransform="matrix(0.17110206,0,0,0.57948295,813.03511,-347.11197)"
cx="85.568382"
cy="110.37487"
fx="85.568382"
fy="110.37487"
r="80.962494" /><radialGradient
inkscape:collect="always"
xlink:href="#linearGradient6175"
id="radialGradient540"
gradientUnits="userSpaceOnUse"
gradientTransform="matrix(0.65699536,0,0,0.23041338,805.19531,-234.77302)"
cx="85.568382"
cy="110.37487"
fx="85.568382"
fy="110.37487"
r="80.962494" /><radialGradient
inkscape:collect="always"
xlink:href="#linearGradient6175"
id="radialGradient542"
gradientUnits="userSpaceOnUse"
gradientTransform="matrix(0.65699536,0,0,0.23041338,673.99742,-230.76895)"
cx="85.568382"
cy="110.37487"
fx="85.568382"
fy="110.37487"
r="80.962494" /><radialGradient
inkscape:collect="always"
xlink:href="#linearGradient5441"
id="radialGradient544"
gradientUnits="userSpaceOnUse"
gradientTransform="matrix(0.44694866,0,0,0.46338383,720.63883,-314.42592)"
cx="85.568382"
cy="110.37487"
fx="85.568382"
fy="110.37487"
r="80.962494" /><radialGradient
inkscape:collect="always"
xlink:href="#linearGradient6957"
id="radialGradient546"
gradientUnits="userSpaceOnUse"
gradientTransform="matrix(0.81417897,0,0,0.30393809,713.08122,-253.70655)"
cx="85.568382"
cy="110.37487"
fx="85.568382"
fy="110.37487"
r="80.962494" /><radialGradient
inkscape:collect="always"
xlink:href="#linearGradient10317"
id="radialGradient548"
gradientUnits="userSpaceOnUse"
gradientTransform="matrix(0.37560777,0,0,0.52796713,798.71131,-289.99247)"
cx="85.568382"
cy="110.37487"
fx="85.568382"
fy="110.37487"
r="80.962494" /><radialGradient
inkscape:collect="always"
xlink:href="#linearGradient7331"
id="radialGradient550"
gradientUnits="userSpaceOnUse"
gradientTransform="matrix(0.51429536,0,0,0.55006434,705.69388,-287.70068)"
cx="85.568382"
cy="110.37487"
fx="85.568382"
fy="110.37487"
r="80.962494" /><radialGradient
inkscape:collect="always"
xlink:href="#linearGradient7451"
id="radialGradient552"
gradientUnits="userSpaceOnUse"
gradientTransform="matrix(0.51429536,0,0,0.55006434,726.67823,-322.63777)"
cx="85.568382"
cy="110.37487"
fx="85.568382"
fy="110.37487"
r="80.962494" /></defs><g
inkscape:groupmode="layer"
id="layer7"
inkscape:label="icon"><rect
style="opacity:1;fill:#cccccc;stroke-width:0.0500064;stroke-linecap:square;stroke-dasharray:none"
id="rect9549"
width="16.933332"
height="13.229165"
x="0"
y="1.8520831" /><path
style="opacity:1;fill:#000000;stroke-width:0.0500063;stroke-linecap:square;stroke-dasharray:none"
d="m 16.139581,13.493748 v 0.529167 h 0.529166 v -0.529167 z"
id="path2369" /><path
style="opacity:1;fill:#000000;stroke-width:0.0500063;stroke-linecap:square;stroke-dasharray:none"
d="m 16.139581,12.699998 v 0.529167 h 0.529166 v -0.529167 z"
id="path2367" /><path
style="opacity:1;fill:#000000;stroke-width:0.0500063;stroke-linecap:square;stroke-dasharray:none"
d="m 16.139581,11.906248 v 0.529167 h 0.529166 v -0.529167 z"
id="path2365" /><path
style="opacity:1;fill:#000000;stroke-width:0.0500063;stroke-linecap:square;stroke-dasharray:none"
d="m 16.139581,11.112498 v 0.529167 h 0.529166 v -0.529167 z"
id="path2363" /><path
style="opacity:1;fill:#000000;stroke-width:0.0500063;stroke-linecap:square;stroke-dasharray:none"
d="m 16.139581,10.318749 v 0.529166 h 0.529166 v -0.529166 z"
id="path2361" /><path
style="opacity:1;fill:#000000;stroke-width:0.0500063;stroke-linecap:square;stroke-dasharray:none"
d="m 16.139581,9.5249987 v 0.5291663 h 0.529166 V 9.5249987 Z"
id="path2359" /><path
style="opacity:1;fill:#000000;stroke-width:0.0500063;stroke-linecap:square;stroke-dasharray:none"
d="m 16.139581,8.7312488 v 0.5291666 h 0.529166 V 8.7312488 Z"
id="path2357" /><path
style="opacity:1;fill:#000000;stroke-width:0.0500063;stroke-linecap:square;stroke-dasharray:none"
d="m 16.139581,6.0854158 v 2.3812497 h 0.529166 V 6.0854158 Z"
id="path2355" /><path
style="opacity:1;fill:#000000;stroke-width:0.0500063;stroke-linecap:square;stroke-dasharray:none"
d="m 16.139581,5.2916659 v 0.5291666 h 0.529166 V 5.2916659 Z"
id="path2353" /><path
style="opacity:1;fill:#000000;stroke-width:0.0500063;stroke-linecap:square;stroke-dasharray:none"
d="m 16.139581,4.497916 v 0.5291666 h 0.529166 V 4.497916 Z"
id="path2351" /><path
style="opacity:1;fill:#000000;stroke-width:0.0500063;stroke-linecap:square;stroke-dasharray:none"
d="m 16.139581,3.7041662 v 0.5291665 h 0.529166 V 3.7041662 Z"
id="path2349" /><path
style="opacity:1;fill:#000000;stroke-width:0.0500063;stroke-linecap:square;stroke-dasharray:none"
d="m 16.139581,2.9104163 v 0.5291666 h 0.529166 V 2.9104163 Z"
id="rect14444" /><rect
style="opacity:1;fill:#666666;stroke-width:0.0500064;stroke-linecap:square;stroke-dasharray:none"
id="rect15056"
width="1.0583332"
height="0.52916658"
x="15.610415"
y="2.1166663" /><rect
style="opacity:1;fill:#666666;stroke-width:0.0500064;stroke-linecap:square;stroke-dasharray:none"
id="rect15468"
width="1.0583332"
height="0.52916658"
x="14.287498"
y="2.1166663" /><rect
style="opacity:1;fill:#666666;stroke-width:0.0500064;stroke-linecap:square;stroke-dasharray:none"
id="rect15470"
width="1.0583332"
height="0.52916658"
x="12.964582"
y="2.1166663" /><rect
style="opacity:1;fill:#999999;stroke-width:0.0500063;stroke-linecap:square;stroke-dasharray:none"
id="rect15882"
width="3.9687495"
height="0.52916658"
x="0.26458329"
y="2.1166663" /><path
style="opacity:1;fill:#000000;stroke-width:0.0500063;stroke-linecap:square;stroke-dasharray:none"
d="m 14.287498,-16.139581 h 0.529167 v -0.529167 h -0.529167 z"
transform="rotate(90)"
id="path2231" /><path
style="opacity:1;fill:#000000;stroke-width:0.0500063;stroke-linecap:square;stroke-dasharray:none"
d="m 14.287498,-15.345831 h 0.529167 v -0.529167 h -0.529167 z"
transform="rotate(90)"
id="path2229" /><path
style="opacity:1;fill:#000000;stroke-width:0.0500063;stroke-linecap:square;stroke-dasharray:none"
d="m 14.287498,-14.552081 h 0.529167 v -0.529167 h -0.529167 z"
transform="rotate(90)"
id="path2227" /><path
style="opacity:1;fill:#000000;stroke-width:0.0500063;stroke-linecap:square;stroke-dasharray:none"
d="m 14.287498,-11.641665 h 0.529167 v -2.645833 h -0.529167 z"
transform="rotate(90)"
id="path2225" /><path
style="opacity:1;fill:#000000;stroke-width:0.0500063;stroke-linecap:square;stroke-dasharray:none"
d="m 14.287498,-5.8208325 h 0.529167 v -5.5562495 h -0.529167 z"
transform="rotate(90)"
id="path2223" /><path
style="opacity:1;fill:#000000;stroke-width:0.0500063;stroke-linecap:square;stroke-dasharray:none"
d="m 14.287498,-4.7624993 h 0.529167 v -0.7937499 h -0.529167 z"
transform="rotate(90)"
id="path2221" /><path
style="opacity:1;fill:#000000;stroke-width:0.0500063;stroke-linecap:square;stroke-dasharray:none"
d="m 14.287498,-1.8520831 h 0.529167 V -4.497916 h -0.529167 z"
transform="rotate(90)"
id="path2219" /><path
style="opacity:1;fill:#000000;stroke-width:0.0500063;stroke-linecap:square;stroke-dasharray:none"
d="m 14.287498,-1.0583332 h 0.529167 v -0.5291666 h -0.529167 z"
transform="rotate(90)"
id="path2217" /><path
style="opacity:1;fill:#000000;stroke-width:0.0500063;stroke-linecap:square;stroke-dasharray:none"
d="m 14.287498,-0.2645833 h 0.529167 v -0.52916659 h -0.529167 z"
transform="rotate(90)"
id="rect16090" /></g><g
id="g1799"
transform="matrix(0.9833263,0,0,0.93331382,-31.070772,-23.035828)"
style="stroke-width:1.04385"><rect
style="fill:#000000;fill-opacity:1;stroke-width:0.445374;stroke-linecap:square"
id="rect486"
width="135.46664"
height="101.59999"
x="753.36902"
y="-330.61847"
inkscape:label="rect-bg"
transform="matrix(0.1171875,0,0,0.1171875,-56.418761,66.544469)"
mask="none" /><path
id="rect488"
mask="none"
style="fill:url(#radialGradient522);fill-opacity:1;stroke-width:0.445431;stroke-linecap:square;stroke-dasharray:none"
inkscape:label="rect-red"
d="m 725.48004,-288.15082 v 101.59998 h 101.67054 v -101.59998 z"
transform="matrix(0.1171875,0,0,0.1171875,-53.150408,61.568041)" /><path
id="rect490"
mask="none"
style="fill:url(#radialGradient524);fill-opacity:1;stroke-width:0.445431;stroke-linecap:square;stroke-dasharray:none"
inkscape:label="rect-red"
d="m 754.10795,-288.15082 v 101.59998 h 106.83874 v -101.59998 z"
transform="matrix(0.1171875,0,0,0.1171875,-53.150408,61.568041)" /><path
id="rect492"
mask="none"
style="fill:url(#radialGradient526);fill-opacity:1;stroke-width:0.445431;stroke-linecap:square;stroke-dasharray:none"
inkscape:label="rect-yellow"
d="m 726.11063,-288.15082 v 39.33912 h 103.1919 v -39.33912 z"
transform="matrix(0.1171875,0,0,0.1171875,-53.150408,61.568041)" /><path
id="rect494"
mask="none"
style="fill:url(#radialGradient528);fill-opacity:1;stroke-width:0.44543;stroke-linecap:square;stroke-dasharray:none"
inkscape:label="rect-yellow"
d="m 789.16083,-285.35065 v 98.79981 h 71.78586 v -98.79981 z"
transform="matrix(0.1171875,0,0,0.1171875,-53.150408,61.568041)" /><path
id="rect496"
mask="none"
style="fill:url(#radialGradient530);fill-opacity:1;stroke-width:0.44543;stroke-linecap:square;stroke-dasharray:none"
inkscape:label="rect-yellow"
d="m 808.70031,-273.18864 v 66.02235 h 52.24638 v -66.02235 z"
transform="matrix(0.1171875,0,0,0.1171875,-53.150408,61.568041)" /><path
id="rect498"
mask="none"
style="fill:url(#radialGradient532);fill-opacity:1;stroke-width:0.44543;stroke-linecap:square;stroke-dasharray:none"
inkscape:label="rect-yellow"
d="m 772.61997,-255.80111 v 66.02236 h 50.262 v -66.02236 z"
transform="matrix(0.1171875,0,0,0.1171875,-53.150408,61.568041)" /><path
id="rect500"
mask="none"
style="fill:url(#radialGradient534);fill-opacity:1;stroke-width:0.44543;stroke-linecap:square;stroke-dasharray:none"
inkscape:label="rect-yellow"
d="m 725.48004,-266.04489 v 78.31666 h 76.3411 v -78.31666 z"
transform="matrix(0.1171875,0,0,0.1171875,-53.150408,61.568041)" /><path
id="rect502"
mask="none"
style="fill:url(#radialGradient536);fill-opacity:1;stroke-width:0.44543;stroke-linecap:square;stroke-dasharray:none"
inkscape:label="rect-yellow"
d="m 785.90646,-288.15082 v 81.45637 h 29.49662 v -81.45637 z"
transform="matrix(0.1171875,0,0,0.1171875,-53.150408,61.568041)" /><path
id="rect504"
mask="none"
style="fill:url(#radialGradient538);fill-opacity:1;stroke-width:0.44543;stroke-linecap:square;stroke-dasharray:none"
inkscape:label="rect-yellow"
d="m 813.8244,-288.15082 v 51.91565 h 27.70629 v -51.91565 z"
transform="matrix(0.1171875,0,0,0.1171875,-53.150408,61.568041)" /><path
id="rect506"
mask="none"
style="fill:url(#radialGradient540);fill-opacity:1;stroke-width:0.445429;stroke-linecap:square;stroke-dasharray:none"
inkscape:label="rect-yellow"
d="m 808.21965,-227.99781 v 37.31065 h 52.72704 v -37.31065 z"
transform="matrix(0.1171875,0,0,0.1171875,-53.150408,61.568041)" /><path
id="rect508"
mask="none"
style="fill:url(#radialGradient542);fill-opacity:1;stroke-width:0.445429;stroke-linecap:square;stroke-dasharray:none"
inkscape:label="rect-yellow"
d="m 725.48004,-223.99378 v 37.31065 h 57.9261 v -37.31065 z"
transform="matrix(0.1171875,0,0,0.1171875,-53.150408,61.568041)" /><path
id="rect510"
mask="none"
style="fill:url(#radialGradient544);fill-opacity:1;stroke-width:0.445431;stroke-linecap:square;stroke-dasharray:none"
inkscape:label="rect-yellow"
d="m 725.48004,-288.15082 v 62.38874 h 69.58982 v -62.38874 z"
transform="matrix(0.1171875,0,0,0.1171875,-53.150408,61.568041)" /><path
id="rect512"
mask="none"
style="fill:url(#radialGradient546);fill-opacity:1;stroke-width:0.445431;stroke-linecap:square;stroke-dasharray:none"
inkscape:label="rect-white"
d="m 725.48004,-244.76798 v 49.2169 h 123.18557 v -49.2169 z"
transform="matrix(0.1171875,0,0,0.1171875,-53.150408,61.568041)" /><path
id="rect514"
mask="none"
style="fill:url(#radialGradient548);fill-opacity:1;stroke-width:0.445431;stroke-linecap:square;stroke-dasharray:none"
inkscape:label="rect-white"
d="m 800.4409,-274.46305 v 85.49128 h 60.50579 v -85.49128 z"
transform="matrix(0.1171875,0,0,0.1171875,-53.150408,61.568041)" /><path
id="rect516"
mask="none"
style="fill:url(#radialGradient550);fill-opacity:1;stroke-width:0.445431;stroke-linecap:square;stroke-dasharray:none"
inkscape:label="rect-white"
d="m 725.48004,-271.52176 v 84.97092 h 65.85919 v -84.97092 z"
transform="matrix(0.1171875,0,0,0.1171875,-53.150408,61.568041)" /><path
id="rect518"
mask="none"
style="fill:url(#radialGradient552);fill-opacity:1;stroke-width:0.445431;stroke-linecap:square;stroke-dasharray:none"
inkscape:label="rect-white"
d="m 729.04751,-288.15082 v 70.7628 h 83.27759 v -70.7628 z"
transform="matrix(0.1171875,0,0,0.1171875,-53.150408,61.568041)" /></g></svg>

After

Width:  |  Height:  |  Size: 23 KiB

View File

@ -1,19 +1,72 @@
rendered_icons_optionally_from_svg = {
'icon_exe' : { 'png': 'icon_exe.png' , 'svg': 'icon_exe.svg', 'width': '256', 'height': '256' },
'icon_exe_48': { 'png': 'icon_exe_48.png', 'svg': 'icon_exe.svg', 'width': '48', 'height': '48' },
'icon_exe_32': { 'png': 'icon_exe_32.png', 'svg': 'icon_exe.svg', 'width': '32', 'height': '32' },
'icon_exe_16': { 'png': 'icon_exe_16.png', 'svg': 'icon_exe.svg', 'width': '16', 'height': '16' },
'icon_cps' : { 'png': 'icon_cps.png' , 'svg': 'icon_cps.svg', 'width': '256', 'height': '256' },
'icon_cps_48': { 'png': 'icon_cps_48.png', 'svg': 'icon_cps.svg', 'width': '48', 'height': '48' },
'icon_cps_32': { 'png': 'icon_cps_32.png', 'svg': 'icon_cps.svg', 'width': '32', 'height': '32' },
'icon_cps_16': { 'png': 'icon_cps_16.png', 'svg': 'icon_cps.svg', 'width': '16', 'height': '16' },
}
rendered_icons = {}
if render_icons_with_inkscape.allowed()
foreach key, info : rendered_icons_optionally_from_svg
rendered_icons += { key: custom_target(
key + '-from-svg',
output: info['png'],
command: [
inkscape,
'--export-area-page',
'--export-type', 'png',
'--export-filename', '@OUTPUT@',
'--export-width', info['width'],
'--export-height', info['height'],
files(info['svg']),
],
) }
endforeach
else
foreach key, info : rendered_icons_optionally_from_svg
rendered_icons += { key: files('generated_icons/' + info['png']) }
endforeach
endif
if host_platform == 'windows'
make_ico = executable('makeico', sources: 'MakeIco.cpp', native: true)
generated_win_icos = {}
win_icos = {
'icon_exe': [ 'icon_exe', 'icon_exe_48', 'icon_exe_32', 'icon_exe_16' ],
'icon_cps': [ 'icon_cps', 'icon_cps_48', 'icon_cps_32', 'icon_cps_16' ],
}
foreach key, icons : win_icos
command = [
make_ico,
'@OUTPUT@',
]
foreach ikey : icons
command += [ rendered_icons[ikey] ]
endforeach
generated_win_icos += { key: custom_target(
key + '-ico',
output: key + '.ico',
command: command,
) }
endforeach
powder_files += windows_mod.compile_resources(
'powder-res.rc',
depends: [
generated_win_icos['icon_exe'],
generated_win_icos['icon_cps'],
],
depend_files: [
'icon.ico',
'document.ico',
'resource.h',
],
)
endif
if host_platform == 'linux'
data_files += to_array.process('cps16.png', extra_args: 'cps16_png')
data_files += to_array.process('cps32.png', extra_args: 'cps32_png')
data_files += to_array.process('exe48.png', extra_args: 'exe48_png')
data_files += to_array.process('icon/icon-128.png', extra_args: 'icon_png')
data_files += to_array.process(rendered_icons['icon_exe'], extra_args: 'icon_exe_png')
data_files += to_array.process(rendered_icons['icon_cps'], extra_args: 'icon_cps_png')
data_files += to_array.process('save.xml', extra_args: 'save_xml')
data_files += to_array.process(configure_file(
input: 'powder.template.desktop',

View File

@ -1,4 +1,4 @@
#include "resource.h"
IDI_ICON ICON DISCARDABLE "icon.ico"
IDI_DOC_ICON ICON DISCARDABLE "document.ico"
IDI_ICON ICON DISCARDABLE "icon_exe.ico"
IDI_DOC_ICON ICON DISCARDABLE "icon_cps.ico"

View File

@ -15,7 +15,7 @@
#include <iostream>
#if defined(LIN)
# include "icon-128.png.h"
# include "icon_exe.png.h"
#endif
#include <stdexcept>
@ -151,15 +151,15 @@ int SDLOpen()
// Use GetModuleHandle to get the Exe HMODULE/HINSTANCE
HMODULE hModExe = GetModuleHandle(NULL);
HICON hIconSmall = (HICON)LoadImage(hModExe, MAKEINTRESOURCE(101), IMAGE_ICON, 16, 16, LR_SHARED);
HICON hIconBig = (HICON)LoadImage(hModExe, MAKEINTRESOURCE(101), IMAGE_ICON, 32, 32, LR_SHARED);
HICON hIconSmall = (HICON)LoadImage(hModExe, MAKEINTRESOURCE(IDI_ICON), IMAGE_ICON, 16, 16, LR_SHARED);
HICON hIconBig = (HICON)LoadImage(hModExe, MAKEINTRESOURCE(IDI_ICON), IMAGE_ICON, 32, 32, LR_SHARED);
SendMessage(WindowHandle, WM_SETICON, ICON_SMALL, (LPARAM)hIconSmall);
SendMessage(WindowHandle, WM_SETICON, ICON_BIG, (LPARAM)hIconBig);
#endif
#ifdef LIN
std::vector<pixel> imageData;
int imgw, imgh;
if (PngDataToPixels(imageData, imgw, imgh, reinterpret_cast<const char *>(icon_png), icon_png_size, false))
if (PngDataToPixels(imageData, imgw, imgh, reinterpret_cast<const char *>(icon_exe_png), icon_exe_png_size, false))
{
SDL_Surface *icon = SDL_CreateRGBSurfaceFrom(&imageData[0], imgw, imgh, 32, imgw * sizeof(pixel), 0x00FF0000, 0x0000FF00, 0x000000FF, 0xFF000000);
SDL_SetWindowIcon(sdl_window, icon);

View File

@ -18,7 +18,7 @@
#include <iostream>
#if defined(LIN)
# include "icon-128.png.h"
# include "icon_exe.png.h"
#endif
#include <csignal>
#include <stdexcept>
@ -215,7 +215,7 @@ void SDLOpen()
#ifdef LIN
std::vector<pixel> imageData;
int imgw, imgh;
if (PngDataToPixels(imageData, imgw, imgh, reinterpret_cast<const char *>(icon_png), icon_png_size, false))
if (PngDataToPixels(imageData, imgw, imgh, reinterpret_cast<const char *>(icon_exe_png), icon_exe_png_size, false))
{
SDL_Surface *icon = SDL_CreateRGBSurfaceFrom(&imageData[0], imgw, imgh, 32, imgw * sizeof(pixel), 0x00FF0000, 0x0000FF00, 0x000000FF, 0xFF000000);
SDL_SetWindowIcon(sdl_window, icon);

View File

@ -17,9 +17,8 @@
#endif
#ifdef LIN
# include "cps16.png.h"
# include "cps32.png.h"
# include "exe48.png.h"
# include "icon_cps.png.h"
# include "icon_exe.png.h"
# include "save.xml.h"
# include "powder.desktop.h"
#endif
@ -1665,23 +1664,16 @@ bool Client::DoInstallation()
}
if (ok)
{
ByteString file = APPVENDOR "-cps32.png";
ok = ok && Platform::WriteFile(std::vector<char>(cps32_png, cps32_png + cps32_png_size), file);
ok = ok && !system(ByteString::Build("xdg-icon-resource install --noupdate --context mimetypes --size 32 ", file, " application-vnd.powdertoy.save").c_str());
ByteString file = APPVENDOR "-cps.png";
ok = ok && Platform::WriteFile(std::vector<char>(icon_cps_png, icon_cps_png + icon_cps_png_size), file);
ok = ok && !system(ByteString::Build("xdg-icon-resource install --noupdate --context mimetypes --size 64 ", file, " application-vnd.powdertoy.save").c_str());
Platform::RemoveFile(file);
}
if (ok)
{
ByteString file = APPVENDOR "-cps16.png";
ok = ok && Platform::WriteFile(std::vector<char>(cps16_png, cps16_png + cps16_png_size), file);
ok = ok && !system(ByteString::Build("xdg-icon-resource install --noupdate --context mimetypes --size 16 ", file, " application-vnd.powdertoy.save").c_str());
Platform::RemoveFile(file);
}
if (ok)
{
ByteString file = APPVENDOR "-exe48.png";
ok = ok && Platform::WriteFile(std::vector<char>(exe48_png, exe48_png + exe48_png_size), file);
ok = ok && !system(ByteString::Build("xdg-icon-resource install --noupdate --size 48 ", file, " " APPVENDOR "-" APPEXE).c_str());
ByteString file = APPVENDOR "-exe.png";
ok = ok && Platform::WriteFile(std::vector<char>(icon_exe_png, icon_exe_png + icon_exe_png_size), file);
ok = ok && !system(ByteString::Build("xdg-icon-resource install --noupdate --size 64 ", file, " " APPVENDOR "-" APPEXE).c_str());
Platform::RemoveFile(file);
}
if (ok)