#!/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 \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"