#ifndef __graph_ps_h #define __graph_ps_h extern "C" { #include } #include "graph.h" /* Quote special ISO-latin1 characters */ char *ISO2PS (char *string); class PSWindow : public GWindow { protected: struct PSColor { float red, green, blue; }; struct ggc { int linewidth; int linetype; int colorindex; }; FILE *fout; int ncolors; PSColor *color; ggc default_context; ggc current_context; ggc *context; int ncontexts; void PSLineContext (GGC gc); void PSFillContext (GGC gc); public: PSWindow (FILE *fout= stdout); /* Constructor */ virtual ~PSWindow (void); /* Destructor */ virtual void PSWriteFunctions (void); virtual GGC GCreateGC (void); virtual void GClearWindow (void); virtual void GDrawImageString (GGC gc, int x, int y, char *string); virtual void GDrawString (GGC gc, int x, int y, char *string); virtual void GDrawLines (GGC gc, GPoint *a, int len); virtual void GFillPolygon (GGC gc, GPoint *a, int len = 0); virtual void GFillArc (GGC gc, int x, int y, int w, int h, int start, int end, int close); virtual void GDrawArc (GGC gc, int x, int y, int w, int h, int start, int end); virtual void GSetForeground (GGC gc, int color); virtual void GSetColorTable (GColor *colors_in, int ncolors, int background); virtual void GSetLineWidth (GGC gc, int width); virtual void GSetLineType (GGC gc, int type); }; #endif