00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018 #ifndef _G2_PS_P_H
00019 #define _G2_PS_P_H
00020
00021 #include "g2_PS.h"
00022
00023
00024 typedef struct _g2_PS_inks {
00025 double r;
00026 double g;
00027 double b;
00028 } g2_PS_inks;
00029
00030
00031
00032 typedef struct _g2_PS_device {
00033 FILE *fp;
00034 enum g2_PS_paper paper;
00035 enum g2_PS_orientation orient;
00036 enum g2_PS_format format;
00037 long width,height;
00038 double x1,y1,x2,y2;
00039 int bbox;
00040 double w,size;
00041
00042 g2_PS_inks *inks;
00043 int N_ink;
00044 int pen;
00045 int page_counter;
00046 } g2_PS_device;
00047
00048
00049
00050 void g2_PS_bbox_add(g2_PS_device *ps,double x,double y,double size);
00051 int g2_PS_write_file_header(g2_PS_device *psd);
00052 int g2_PS_delete(int pid, void *pdp);
00053 int g2_PS_ink(int pid, void *pdp,
00054 double red, double green, double blue);
00055 int g2_PS_pen(int pid, void *pdp, int color);
00056 int g2_PS_set_background(int pid, void *pdp, int color);
00057 int g2_PS_reset_palette(int pid, void *pdp);
00058 int g2_PS_clear_palette(int pid, void *pdp);
00059 int g2_PS_set_line_width(int pid, void *pdp, double w);
00060 int g2_PS_set_dash(int pid, void *pdp, int N, double *data);
00061 int g2_PS_set_font_size(int pid, void *pdp, double size);
00062 int g2_PS_clear(int pid, void *pdp);
00063 int g2_PS_flush(int pid, void *pdp);
00064 int g2_PS_plot(int pid, void *pdp, double x, double y);
00065 int g2_PS_line(int pid, void *pdp, double x1, double y1, double x2, double y2);
00066 int g2_PS_poly_line(int pid, void *pdp, int N, double *points);
00067 int g2_PS_polygon(int pid, void *pdp, int N, double *points);
00068 int g2_PS_filled_polygon(int pid, void *pdp, int N, double *points);
00069 int g2_PS_rectangle(int pid, void *pdp,
00070 double x1, double y1, double x2, double y2);
00071 int g2_PS_filled_rectangle(int pid, void *pdp,
00072 double x1, double y1, double x2, double y2);
00073 int g2_PS_triangle(int pid, void *pdp,
00074 double x1, double y1,
00075 double x2, double y2,
00076 double x3, double y3);
00077 int g2_PS_filled_triangle(int pid, void *pdp,
00078 double x1, double y1,
00079 double x2, double y2,
00080 double x3, double y3);
00081 int g2_PS_arc(int pid, void *pdp,
00082 double x, double y,
00083 double r1, double r2,
00084 double a1, double a2);
00085 int g2_PS_filled_arc(int pid, void *pdp,
00086 double x, double y,
00087 double r1, double r2,
00088 double a1, double a2);
00089 int g2_PS_ellipse(int pid, void *pdp,
00090 double x, double y,
00091 double r1, double r2);
00092 int g2_PS_filled_ellipse(int pid, void *pdp,
00093 double x, double y,
00094 double r1, double r2);
00095 int g2_PS_draw_string(int pid, void *pdp,
00096 double x, double y, const char *text);
00097
00098 #endif
00099