home *** CD-ROM | disk | FTP | other *** search
/ OS/2 Shareware BBS: 10 Tools / 10-Tools.zip / netpbma.zip / pnm / pnmmargin.cmd < prev    next >
OS/2 REXX Batch file  |  1997-04-20  |  2KB  |  89 lines

  1. extproc sh
  2.  
  3. #!/bin/sh
  4. #
  5. # ppmmargin - add a margin to a portable anymap
  6. #
  7. # Copyright (C) 1991 by Jef Poskanzer.
  8. #
  9. # Permission to use, copy, modify, and distribute this software and its
  10. # documentation for any purpose and without fee is hereby granted, provided
  11. # that the above copyright notice appear in all copies and that both that
  12. # copyright notice and this permission notice appear in supporting
  13. # documentation.  This software is provided "as is" without express or
  14. # implied warranty.
  15.  
  16. tmp1=/tmp/pnmm1$$
  17. tmp2=/tmp/pnmm2$$
  18. tmp3=/tmp/pnmm3$$
  19. tmp4=/tmp/pnmm4$$
  20. rm -f $tmp1 $tmp2 $tmp3 $tmp4
  21.  
  22. color="-gofigure"
  23.  
  24. # Parse args.
  25. while true ; do
  26.     case "$1" in
  27.         -w* )
  28.         color="-white"
  29.         shift
  30.         ;;
  31.         -b* )
  32.         color="-black"
  33.         shift
  34.         ;;
  35.         -c* )
  36.         shift
  37.         if [ ! ${1-""} ] ; then
  38.             echo "usage: $0 [-white|-black|-color <colorspec>] <size> [pnmfile]" 1>&2
  39.             exit 1
  40.         fi
  41.         color="$1"
  42.         shift
  43.         ;;
  44.         -* )
  45.         echo "usage: $0 [-white|-black|-color <colorspec>] <size> [pnmfile]" 1>&2
  46.         exit 1
  47.         ;;
  48.         * )
  49.         break
  50.         ;;
  51.     esac
  52. done
  53.  
  54. if [ ! ${1-""} ] ; then
  55.     echo "usage: $0 [-white|-black|-color <colorspec>] <size> [pnmfile]" 1>&2
  56.     exit 1
  57. fi
  58. size="$1"
  59. shift
  60.  
  61. if [ ${2-""} ] ; then
  62.     echo "usage: $0 [-white|-black|-color <colorspec>] <size> [pnmfile]" 1>&2
  63.     exit 1
  64. fi
  65.  
  66. # Capture input file in a tmp file, in case it's a pipe.
  67. cat $@ > $tmp1
  68.  
  69. # Construct spacer files.
  70. case "$color" in
  71.     -gofigure )
  72.     pnmcut 0 0 1 1 $tmp1 | pnmtile $size 1 > $tmp2
  73.     ;;
  74.     -white | -black )
  75.     pbmmake $color $size 1 > $tmp2
  76.     ;;
  77.     * )
  78.     ppmmake $color $size 1 > $tmp2
  79.     ;;
  80. esac
  81. pnmflip -rotate90 $tmp2 > $tmp3
  82.  
  83. # Cat things together.
  84. pnmcat -lr $tmp2 $tmp1 $tmp2 > $tmp4
  85. pnmcat -tb $tmp3 $tmp4 $tmp3
  86.  
  87. # All done.
  88. rm -f $tmp1 $tmp2 $tmp3 $tmp4
  89.