strf/scripts/cpgplot2giza

77 lines
3.2 KiB
Bash
Executable File

#!/bin/bash
# Quick and dirty port functions from cpgplot to giza.
#
# Usage:
# cpgplot2giza foo.c
# Reads foo.c and outputs (overwrites) foo.c.
C2GFILE="$1"
sed -i -e 's/cpgbox/giza_box/g' $C2GFILE
sed -i -e 's/cpgcirc/giza_circle_float/g' $C2GFILE
sed -i -e 's/cpgctab/giza_set_colour_table_float/g' $C2GFILE
sed -i -e 's/cpgcurs/giza_get_key_press_float/g' $C2GFILE
sed -i -e 's/cpgdraw/giza_draw_float/g' $C2GFILE
sed -i -e 's/cpgend/giza_close_device/g' $C2GFILE
sed -i -e 's/cpgeras/giza_draw_background/g' $C2GFILE
sed -i -e 's/cpglab/giza_label/g' $C2GFILE
sed -i -e 's/cpgmove/giza_move_float/g' $C2GFILE
sed -i -e 's/cpgmtxt/giza_annotate_float/g' $C2GFILE
sed -i -e 's/cpgpt1/giza_single_point_float/g' $C2GFILE
sed -i -e 's/cpgqch/giza_get_character_height_float/g' $C2GFILE
sed -i -e 's/cpgqci/giza_get_colour_index/g' $C2GFILE
sed -i -e 's/cpgqls/giza_get_line_style/g' $C2GFILE
sed -i -e 's/cpgrect/giza_rectangle/g' $C2GFILE
sed -i -e 's/cpgsch/giza_set_character_height_float/g' $C2GFILE
sed -i -e 's/cpgsch/giza_set_character_height_float/g' $C2GFILE
sed -i -e 's/cpgsci/giza_set_colour_index/g' $C2GFILE
sed -i -e 's/cpgscr/giza_set_colour_representation_float/g' $C2GFILE
sed -i -e 's/cpgsfs/giza_set_fill/g' $C2GFILE
sed -i -e 's/cpgsls/giza_set_line_style/g' $C2GFILE
sed -i -e 's/cpgslw/giza_set_line_width_float/g' $C2GFILE
sed -i -e 's/cpgstbg/giza_set_text_background/g' $C2GFILE
sed -i -e 's/cpgsvp/giza_set_viewport_float/g' $C2GFILE
sed -i -e 's/cpgtext/giza_text_float/g' $C2GFILE
sed -i -e 's/cpgwnad/giza_set_window_equal_scale_float/g' $C2GFILE
# Fail
#sed -i -e 's/cpggray/giza_render_gray_float/g' $C2GFILE
#sed -i -e 's/cpgimag/giza_render_float/g' $C2GFILE
sed -i -e 's/cpgband/giza_band_float/g' $C2GFILE
sed -i -e 's/cpgtick/giza_tick_float/g' $C2GFILE
sed -i -e 's/cpgswin/giza_set_window_float/g' $C2GFILE
grep -c -w cpgconl $C2GFILE 1>/dev/null && \
echo "WARNING: Function is cpgconl is partially implemented as giza_contour_float"
sed -i -e 's/cpgconl/giza_contour_float/g' $C2GFILE
grep -c -w cpgcont $C2GFILE 1>/dev/null && \
echo "WARNING: Function is cpgcont is partially implemented as giza_contour_float"
sed -i -e 's/cpgcont/giza_contour_float/g' $C2GFILE
grep -c -w cpgscf $C2GFILE 1>/dev/null && \
echo "WARNING: Function is cpgscf is partially implemented as giza_set_font. Add a fontname such as Helvetica."
sed -i -e 's/cpgscf/giza_set_font/g' $C2GFILE
grep -c -w 'giza.h' $C2GFILE 1>/dev/null || \
echo -e "Add to top of $C2GFILE:\n\n#include <giza.h>\n"
grep -c -w 'cpgplot.h' $C2GFILE 1>/dev/null && \
echo -e "Remove cpgplot.h from $C2GFILE\n"
grep -c -w 'giza_close_device' $C2GFILE 1>/dev/null && \
echo -e "Before:\ngiza_close_device\nAdd:\ngiza_stop_prompting ();\nTo: $C2GFILE\n\n"
#sed -i -e 's/cpgimag/giza_render_float/g' $C2GFILE
for i in cpgimag
do grep -c -w $i $C2GFILE 1>/dev/null \
&& echo "A function for $i isn't fully implemented in Giza"
done
echo -e" Maybe add for pgplot color compatibility, around giza_set_font:\ngiza_set_colour_palette (1);"
echo -e "For black background, after giza_open_device_size_float\ngiza_set_colour_representation_float (0, 0.0, 0.0, 0.0);\ngiza_draw_background ();\n\n"