From d839b70c4d13f8b7325255e1bf74a3ed2ff85d15 Mon Sep 17 00:00:00 2001 From: Jeff Moe Date: Fri, 20 Jan 2023 13:10:08 -0700 Subject: [PATCH] Script to convert pgplot to giza --- scripts/cpgplot2giza | 67 ++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 67 insertions(+) create mode 100755 scripts/cpgplot2giza diff --git a/scripts/cpgplot2giza b/scripts/cpgplot2giza new file mode 100755 index 0000000..7400cef --- /dev/null +++ b/scripts/cpgplot2giza @@ -0,0 +1,67 @@ +#!/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 + +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" +