blob: 0fd7c9b069158bcea057904fe5b2e436af115f95 [file] [log] [blame]
#! /bin/bash
#
# This file is part of adapta-gtk-theme
#
# Copyright (C) 2016-2018 Tista <tista.gma500@gmail.com>
#
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation; either version 2 of the License, or
# (at your option) any later version.
#
INKSCAPE="`command -v inkscape`"
SRC_FILE="../assets-gtk3.svg"
ASSETS_DIR="../assets-gtk3"
INDEX_SRC="assets-gtk3.txt"
INDEX=""
KEY_FILE="../../sass/common/_key_colors.scss"
inkver="`$INKSCAPE --version | awk '{print $2}' | cut -c 1-4`"
if [ "$inkver" = 0.91 ]; then
non_scale_dpi=90
scale_dpi=180
else
non_scale_dpi=96
scale_dpi=192
fi
#Renderer
render-non-scale() {
$INKSCAPE --export-id=$i \
--export-dpi="$non_scale_dpi" \
--export-id-only \
--export-png=$ASSETS_DIR/$i.png $SRC_FILE >/dev/null \
2>>../inkscape.log
}
render-scale() {
$INKSCAPE --export-id=$i \
--export-dpi="$scale_dpi" \
--export-id-only \
--export-png=$ASSETS_DIR/$i@2.png $SRC_FILE >/dev/null \
2>>../inkscape.log
}
# Generate PNG files
case "$1" in
checkbox)
INDEX=($(grep -e checkbox $INDEX_SRC))
;;
misc)
INDEX=($(grep -e osd -e thumb -e needs $INDEX_SRC))
;;
radio)
INDEX=($(grep -e radio $INDEX_SRC))
;;
slider)
INDEX=($(grep -e slider $INDEX_SRC))
;;
toggle)
INDEX=($(grep -e toggle $INDEX_SRC))
;;
window-close)
INDEX=($(grep -e 'window-close' $INDEX_SRC))
;;
window-minimize)
INDEX=($(grep -e 'window-minimize' $INDEX_SRC))
;;
window-maximize)
INDEX=($(grep -e 'window-maximize' $INDEX_SRC))
;;
window-unmaximize)
INDEX=($(grep -e 'window-unmaximize' $INDEX_SRC))
;;
all)
INDEX=$(<$INDEX_SRC)
;;
*)
exit 1
;;
esac
for i in ${INDEX[@]}
do
if [ -f $ASSETS_DIR/$i.png ] && [ $KEY_FILE -ot $ASSETS_DIR/$i.png ]; then
echo $ASSETS_DIR/$i.png exists.
elif [ -f $ASSETS_DIR/$i.png ] && [ $KEY_FILE -nt $ASSETS_DIR/$i.png ]; then
echo Re-rendering $ASSETS_DIR/$i.png
echo $i.png >>../inkscape.log
rm -f $ASSETS_DIR/$i.png
render-non-scale
else
echo Rendering $ASSETS_DIR/$i.png
echo $i.png >>../inkscape.log
render-non-scale
fi
if [ -f $ASSETS_DIR/$i@2.png ] && [ $KEY_FILE -ot $ASSETS_DIR/$i@2.png ]; then
echo $ASSETS_DIR/$i@2.png exists.
elif [ -f $ASSETS_DIR/$i@2.png ] && [ $KEY_FILE -nt $ASSETS_DIR/$i@2.png ]; then
echo Re-rendering $ASSETS_DIR/$i@2.png
echo $i@2.png >>../inkscape.log
rm -f $ASSETS_DIR/$i@2.png
render-scale
else
echo Rendering $ASSETS_DIR/$i@2.png
echo $i@2.png >>../inkscape.log
render-scale
fi
done