00001 
00002 
00003 
00004 
00005 
00006 
00007 
00008 
00009 
00010 
00011 
00012 
00013 
00014 
00015 
00016 
00017 
00018 #ifndef _G2_FIG_P_H
00019 #define _G2_FIG_P_H
00020 
00021 #include "g2_FIG.h"
00022 
00023 #include <stdio.h>
00024 
00025 typedef struct _g2_FIG_inks {
00026     unsigned char red;
00027     unsigned char green;
00028     unsigned char blue;
00029 } g2_FIG_inks;
00030 
00031 typedef struct _g2_FIG_device {
00032     FILE           *fp;           
00033     int            pen_color;     
00034     int            thickness;     
00035     int            font_size;     
00036     int            line_style;    
00037     int            style_val;     
00038 
00039     g2_FIG_inks    inks[512];      
00040     int            N_inks;         
00041     fpos_t         color_file_pos; 
00042 } g2_FIG_device;
00043 
00044 
00045 
00046 int g2_FIG_write_file_header(g2_FIG_device *figd);
00047 int g2_FIG_delete(int pid, void *pdp);
00048 int g2_FIG_ink(int pid, void *pdp,
00049               double red, double green, double blue);
00050 int g2_FIG_pen(int pid, void *pdp, int color);
00051 int g2_FIG_set_background(int pid, void *pdp, int color);
00052 int g2_FIG_reset_palette(int pid, void *pdp);
00053 int g2_FIG_clear_palette(int pid, void *pdp);
00054 int g2_FIG_set_line_width(int pid, void *pdp, int w);
00055 int g2_FIG_set_dash(int pid, void *pdp, int N, int *data);
00056 int g2_FIG_set_font_size(int pid, void *pdp, int size);
00057 int g2_FIG_clear(int pid, void *pdp);
00058 int g2_FIG_flush(int pid, void *pdp);
00059 int g2_FIG_plot(int pid, void *pdp, int x, int y);
00060 int g2_FIG_line(int pid, void *pdp, int x1, int y1, int x2, int y2);
00061 int g2_FIG_poly_line(int pid, void *pdp, int N, int *points);
00062 int g2_FIG_polygon(int pid, void *pdp, int N, int *points);
00063 int g2_FIG_filled_polygon(int pid, void *pdp, int N, int *points);
00064 int g2_FIG_arc(int pid, void *pdp,
00065               int x, int y,
00066               int r1, int r2,
00067               double a1, double a2);
00068 int g2_FIG_filled_arc(int pid, void *pdp,
00069                      int x, int y,
00070                      int r1, int r2,
00071                      double a1, double a2);
00072 int g2_FIG_ellipse(int pid, void *pdp,
00073                   int x, int y,
00074                   int r1, int r2);
00075 int g2_FIG_filled_ellipse(int pid, void *pdp,
00076                          int x, int y,
00077                          int r1, int r2);
00078 int g2_FIG_draw_string(int pid, void *pdp,
00079                       int x, int y, const char *text);
00080 
00081 #endif