/* Low-level Postscript writing procedures */ /* Last edited on 2001-10-11 00:49:23 by stolfi */ #ifndef pswrite_H #define pswrite_H #include typedef enum { pswrite_Axis_X, pswrite_Axis_Y } pswrite_Axis; void pswrite_eps_header( FILE *psfile, double x_min, double x_max, double y_min, double y_max, char *date ); void pswrite_ps_header( FILE *psfile, double x_page_size, double y_page_size, char *date ); void pswrite_eps_trailer(FILE *psfile); void pswrite_ps_trailer(FILE *psfile, int n_pages); void pswrite_begin_page(FILE *psfile, int page_num, char *page_label); void pswrite_page_headline( FILE *psfile, int page_num, char *page_label, char *txt ); void pswrite_page_footline( FILE *psfile, char *txt ); void pswrite_set_font(FILE *psfile, char *font, float size); void pswrite_round_join_and_caps(FILE *psfile); void pswrite_label( FILE *psfile, char *txt, double x, double y, double x_align, double y_align, double angle ); void pswrite_set_draw_color(FILE *psfile, float r, float g, float b); void pswrite_set_fill_color(FILE *psfile, float r, float g, float b); void pswrite_set_text_color(FILE *psfile, float r, float g, float b); void pswrite_set_line_width(FILE *psfile, float width_mm); void pswrite_set_dash_pattern(FILE *psfile, float pattern[], int n, float skip); void pswrite_begin_drawing( FILE *psfile, double x_min, double x_max, double y_min, double y_max ); void pswrite_segment( FILE *psfile, double xa, double ya, double xb, double yb ); void pswrite_curve( FILE *psfile, double xa, double ya, double xb, double yb, double xc, double yc, double xd, double yd ); void pswrite_coord_line( FILE *psfile, pswrite_Axis axis, double coord ); void pswrite_solid_dot(FILE *psfile, double xc, double yc, float relsize, int fill, int draw ); void pswrite_filled_dot( FILE *psfile, double xc, double yc, float relsize, int fill, int draw ); void pswrite_end_drawing(FILE *psfile); void pswrite_arrowhead( FILE *psfile, double xt, double yt, double xu, double yu, double xv, double yv ); void pswrite_rectangle( FILE *psfile, double xlo, double xhi, double ylo, double yhi, int fill, int draw ); void pswrite_triangle( FILE *psfile, double xa, double ya, double xb, double yb, double xc, double yc, int fill, int draw ); void pswrite_ellipse( FILE *psfile, double xc, double yc, double xa, double ya, double xb, double yb, int fill, int draw ); void pswrite_lune( FILE *psfile, double xa, double ya, double ra, double xb, double yb, double rb, int fill, int draw ); void pswrite_slice( FILE *psfile, double xc, double yc, double r, double start, double stop, int fill, int draw ); void pswrite_begin_polygon(FILE *psfile); void pswrite_polygon_vertex(FILE *psfile, double x, double y); void pswrite_end_polygon(FILE *psfile, int fill, int draw); void pswrite_set_grid_size(FILE *psfile, int xn, int yn); void pswrite_grid_cell(FILE *psfile, int xi, int yi, int fill, int draw); void pswrite_showpage(FILE *psfile); void pswrite_end_page(FILE *psfile); void pswrite_comment(FILE *psfile, char *txt); #endif