X-Git-Url: http://g0dil.de/git?a=blobdiff_plain;f=doclib%2Fdot;h=d181567a5e0edbcc51086c5a5407274c953b85ef;hb=fd3a0e8ac95d1158e9ea661ddf9187b67c70169f;hp=fca62c89c2a8bcf01f1b696b4136cb142cbfa2b4;hpb=ae4bebbc67cd665e6eb084db22f019e784bad808;p=senf.git diff --git a/doclib/dot b/doclib/dot index fca62c8..d181567 100755 --- a/doclib/dot +++ b/doclib/dot @@ -1,5 +1,45 @@ #!/bin/sh topdir="`dirname "$0"`"; topdir="`cd "$topdir/.."; pwd`" +sed -i -e 's/rankdir=LR/rankdir=TB/' "$1" "$topdir/doclib/dot-munge.pl" "$1" -exec dot "$@" + +case "$2" in + -Tpng:gd) + first="$1"; shift; shift + set -- "$first" "-Tpng" "$@" + ;; + *) +esac + +set -e + +dot "$@" + +case "$4" in + *.png) + if [ -r "$4" ]; then + size="`pngtopnm "$4" | sed -n -e '2p'`" + width_a="${size% *}" + height_a="${size#* }" + if [ $width_a -gt 800 ]; then + for file in "${1%.dot}".*; do + cp "$file" "$file.a" + done + sed -e 's/rankdir=LR/rankdir=TB/' -e t -e 's/rankdir=TB/rankdir=LR/' "$1.a" > "$1" + dot "$@" + size="`pngtopnm "$4" | sed -n -e '2p'`" + width_b="${size% *}" + height_b="${size#* }" + if [ $width_a -lt $width_b ]; then + for file in "${1%.dot}".*.a; do + mv "$file" "${file%.a}" + done + else + rm "${1%.dot}".*.a + fi + fi + fi + ;; + *) ;; +esac