You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
55 lines
1.2 KiB
55 lines
1.2 KiB
4 years ago
|
#!/bin/sh
|
||
|
#
|
||
|
# Usage:
|
||
|
#
|
||
|
# tests/pngstest gamma alpha
|
||
|
#
|
||
|
# Run ./pngstest on the PNG files in $srcdir/contrib/testpngs which have the
|
||
|
# given gamma and opacity:
|
||
|
#
|
||
|
# gamma: one of; linear, 1.8, sRGB, none.
|
||
|
# alpha: one of; opaque, tRNS, alpha, none. 'none' is equivalent to !alpha
|
||
|
#
|
||
|
# NOTE: the temporary files pngstest generates have the base name gamma-alpha to
|
||
|
# avoid issues with make -j
|
||
|
#
|
||
|
gamma="$1"
|
||
|
shift
|
||
|
alpha="$1"
|
||
|
shift
|
||
|
args=
|
||
|
LC_ALL="C" # fix glob sort order to ASCII:
|
||
|
for f in "${srcdir}/contrib/testpngs/"*.png
|
||
|
do
|
||
|
g=
|
||
|
case "$f" in
|
||
|
*-linear[.-]*)
|
||
|
test "$gamma" = "linear" && g="$f";;
|
||
|
|
||
|
*-sRGB[.-]*)
|
||
|
test "$gamma" = "sRGB" && g="$f";;
|
||
|
|
||
|
*-1.8[.-]*)
|
||
|
test "$gamma" = "1.8" && g="$f";;
|
||
|
|
||
|
*)
|
||
|
test "$gamma" = "none" && g="$f";;
|
||
|
esac
|
||
|
|
||
|
case "$g" in
|
||
|
"")
|
||
|
:;;
|
||
|
|
||
|
*-alpha[-.]*)
|
||
|
test "$alpha" = "alpha" && args="$args $g";;
|
||
|
|
||
|
*-tRNS[-.]*)
|
||
|
test "$alpha" = "tRNS" -o "$alpha" = "none" && args="$args $g";;
|
||
|
|
||
|
*)
|
||
|
test "$alpha" = "opaque" -o "$alpha" = "none" && args="$args $g";;
|
||
|
esac
|
||
|
done
|
||
|
# This only works if the arguments don't contain spaces; they don't.
|
||
|
exec ./pngstest --tmpfile "${gamma}-${alpha}-" --log ${1+"$@"} $args
|