23 #ifndef Fl_PostScript_H 
   24 #define Fl_PostScript_H 
   64   static const char *class_id;
 
   68   enum SHAPE{NONE=0, LINE, LOOP, POLYGON, POINTS};
 
   88   unsigned char cr_,cg_,cb_;
 
  113   uchar bg_r, bg_g, bg_b;
 
  117   void transformed_draw(
const char* s, 
int n, 
double x, 
double y); 
 
  118   void transformed_draw(
const char* s, 
double x, 
double y);
 
  119   int alpha_mask(
const uchar * data, 
int w, 
int h, 
int D, 
int LD=0);
 
  124   void page_policy(
int p);
 
  125   int page_policy(){
return page_policy_;};
 
  127   FILE * file() {
return output;};
 
  131   void interpolate(
int i){interpolate_=i;};
 
  132   int interpolate(){
return interpolate_;}
 
  134   void page(
double pw, 
double ph, 
int media = 0);
 
  135   void page(
int format);
 
  142   void push_clip(
int x, 
int y, 
int w, 
int h);
 
  143   int clip_box(
int x, 
int y, 
int w, 
int h, 
int &X, 
int &Y, 
int &W, 
int &H);
 
  148   void line_style(
int style, 
int width=0, 
char* dashes=0);
 
  150   void rect(
int x, 
int y, 
int w, 
int h);
 
  151   void rectf(
int x, 
int y, 
int w, 
int h);
 
  153   void xyline(
int x, 
int y, 
int x1);
 
  154   void xyline(
int x, 
int y, 
int x1, 
int y2);
 
  155   void xyline(
int x, 
int y, 
int x1, 
int y2, 
int x3);
 
  157   void yxline(
int x, 
int y, 
int y1);
 
  158   void yxline(
int x, 
int y, 
int y1, 
int x2);
 
  159   void yxline(
int x, 
int y, 
int y1, 
int x2, 
int y3);
 
  161   void line(
int x1, 
int y1, 
int x2, 
int y2);
 
  162   void line(
int x1, 
int y1, 
int x2, 
int y2, 
int x3, 
int y3);  
 
  164   void loop(
int x0, 
int y0, 
int x1, 
int y1, 
int x2, 
int y2);
 
  165   void loop(
int x0, 
int y0, 
int x1, 
int y1, 
int x2, 
int y2, 
int x3, 
int y3);
 
  166   void polygon(
int x0, 
int y0, 
int x1, 
int y1, 
int x2, 
int y2);
 
  167   void polygon(
int x0, 
int y0, 
int x1, 
int y1, 
int x2, 
int y2, 
int x3, 
int y3);
 
  168   void point(
int x, 
int y);
 
  174   void vertex(
double x, 
double y);
 
  175   void curve(
double x, 
double y, 
double x1, 
double y1, 
double x2, 
double y2, 
double x3, 
double y3);
 
  176   void circle(
double x, 
double y, 
double r);
 
  177   void arc(
double x, 
double y, 
double r, 
double start, 
double a);
 
  178   void arc(
int x, 
int y, 
int w, 
int h, 
double a1, 
double a2);
 
  179   void pie(
int x, 
int y, 
int w, 
int h, 
double a1, 
double a2);
 
  189   void draw_image(
const uchar* d, 
int x,
int y,
int w,
int h, 
int delta=3, 
int ldelta=0);
 
  194   void draw(
const char* s, 
int nBytes, 
int x, 
int y) {transformed_draw(s,nBytes,x,y); };
 
  196   void draw(
const char* s, 
int nBytes, 
float x, 
float y) {transformed_draw(s,nBytes,x,y); };
 
  198   void draw(
int angle, 
const char *str, 
int n, 
int x, 
int y);
 
  199   void rtl_draw(
const char* s, 
int n, 
int x, 
int y);
 
  200   void font(
int face, 
int size);
 
  201   double width(
const char *, 
int);
 
  202   double width(
unsigned int u);
 
  203   void text_extents(
const char *c, 
int n, 
int &dx, 
int &dy, 
int &w, 
int &h);
 
  206   void draw(
Fl_Pixmap * pxm,
int XP, 
int YP, 
int WP, 
int HP, 
int cx, 
int cy);
 
  207   void draw(
Fl_Bitmap * bitmap,
int XP, 
int YP, 
int WP, 
int HP, 
int cx, 
int cy);
 
  208   void draw(
Fl_RGB_Image * rgb,
int XP, 
int YP, 
int WP, 
int HP, 
int cx, 
int cy);
 
  209   int clocale_printf(
const char *format, ...);
 
  223   static const char *class_id;
 
  227   int start_job(
int pagecount, 
int* from, 
int* to);
 
  234   void margins(
int *left, 
int *top, 
int *right, 
int *bottom);
 
  235   void origin(
int *x, 
int *y);
 
  236   void origin(
int x, 
int y);
 
  237   void scale (
float scale_x, 
float scale_y = 0.);
 
  250 #endif // Fl_PostScript_H 
const char * class_name()
Returns the name of the class of this object. 
Definition: Fl_PostScript.H:224
virtual void begin_points()
see fl_begin_points(). 
Definition: fl_vertex.cxx:75
virtual int start_job(int pagecount, int *frompage=NULL, int *topage=NULL)
Starts a print job. 
Definition: Fl_Paged_Device.cxx:156
virtual void begin_loop()
see fl_begin_loop(). 
Definition: fl_vertex.cxx:79
Represents page-structured drawing surfaces. 
Definition: Fl_Paged_Device.H:38
The Fl_Pixmap class supports caching and drawing of colormap (pixmap) images, including transparency...
Definition: Fl_Pixmap.H:41
virtual void text_extents(const char *, int n, int &dx, int &dy, int &w, int &h)
see fl_text_extents(const char*, int n, int& dx, int& dy, int& w, int& h). 
Definition: Fl_Device.cxx:64
virtual void margins(int *left, int *top, int *right, int *bottom)
Computes the dimensions of margins that lie between the printable page area and the full page...
Definition: Fl_Paged_Device.cxx:188
int( Fl_PostScript_Close_Command)(FILE *)
PostScript graphical backend. 
Definition: Fl_PostScript.H:59
virtual void pop_clip()
see fl_pop_clip(). 
Definition: fl_rect.cxx:597
virtual void rect(int x, int y, int w, int h)
see fl_rect(int x, int y, int w, int h). 
Definition: fl_rect.cxx:158
void draw(const char *s, int nBytes, int x, int y)
see fl_draw(const char *str, int n, int x, int y). 
Definition: Fl_PostScript.H:194
virtual void set_current(void)
Use this drawing surface for future graphics requests. 
Definition: Fl_Device.cxx:40
virtual void draw_image_mono(const uchar *buf, int X, int Y, int W, int H, int D=1, int L=0)
see fl_draw_image_mono(const uchar* buf, int X,int Y,int W,int H, int D, int L). 
Definition: Fl_Device.H:346
virtual void loop(int x0, int y0, int x1, int y1, int x2, int y2)
see fl_loop(int x0, int y0, int x1, int y1, int x2, int y2). 
Definition: fl_rect.cxx:380
virtual int not_clipped(int x, int y, int w, int h)
see fl_not_clipped(int x, int y, int w, int h). 
Definition: fl_rect.cxx:605
virtual void xyline(int x, int y, int x1)
see fl_xyline(int x, int y, int x1). 
Definition: fl_rect.cxx:198
virtual void scale(float scale_x, float scale_y=0.)
Changes the scaling of page coordinates. 
Definition: Fl_Paged_Device.cxx:214
Page_Layout
Possible page layouts. 
Definition: Fl_Paged_Device.H:81
virtual void point(int x, int y)
see fl_point(int x, int y). 
Definition: fl_rect.cxx:487
The Fl_RGB_Image class supports caching and drawing of full-color images with 1 to 4 channels of colo...
Definition: Fl_Image.H:183
virtual void end_loop()
see fl_end_loop(). 
Definition: fl_vertex.cxx:159
virtual void rtl_draw(const char *str, int n, int x, int y)
see fl_rtl_draw(const char *str, int n, int x, int y). 
Definition: Fl_Device.H:251
virtual void transformed_vertex(double xf, double yf)
see fl_transformed_vertex(double xf, double yf). 
Definition: fl_vertex.cxx:103
virtual int height()
see fl_height(). 
Definition: Fl_Device.H:391
virtual void end_job(void)
To be called at the end of a print job. 
Definition: Fl_Paged_Device.cxx:235
virtual void untranslate(void)
Undoes the effect of a previous translate() call. 
Definition: Fl_Paged_Device.cxx:249
virtual void origin(int x, int y)
Sets the position in page coordinates of the origin of graphics functions. 
Definition: Fl_Paged_Device.cxx:201
virtual void begin_polygon()
see fl_begin_polygon(). 
Definition: fl_vertex.cxx:81
virtual void end_line()
see fl_end_line(). 
Definition: fl_vertex.cxx:133
static const char * file_chooser_title
Label of the PostScript file chooser window. 
Definition: Fl_PostScript.H:247
virtual void polygon(int x0, int y0, int x1, int y1, int x2, int y2)
see fl_polygon(int x0, int y0, int x1, int y1, int x2, int y2). 
Definition: fl_rect.cxx:435
virtual int descent()
see fl_descent(). 
Definition: Fl_Device.H:393
Fl_Color color()
see fl_color(void). 
Definition: Fl_Device.H:395
virtual void rotate(float angle)
Rotates the graphics operations relatively to paper. 
Definition: Fl_Paged_Device.cxx:223
virtual void line_style(int style, int width=0, char *dashes=0)
see fl_line_style(int style, int width, char* dashes). 
Definition: fl_line_style.cxx:50
const char * class_name()
Returns the name of the class of this object. 
Definition: Fl_PostScript.H:65
void gap()
see fl_gap(). 
Definition: Fl_PostScript.H:185
Definition: Fl_PostScript.H:62
virtual void begin_line()
see fl_begin_line(). 
Definition: fl_vertex.cxx:77
Fl_Font font()
see fl_font(void). 
Definition: Fl_Device.H:381
virtual void curve(double X0, double Y0, double X1, double Y1, double X2, double Y2, double X3, double Y3)
see fl_curve(double X0, double Y0, double X1, double Y1, double X2, double Y2, double X3...
Definition: fl_curve.cxx:32
declaration of class Fl_Paged_Device. 
void begin_complex_polygon()
see fl_begin_complex_polygon(). 
Definition: Fl_PostScript.H:184
Page_Format
Possible page formats. 
Definition: Fl_Paged_Device.H:45
virtual void vertex(double x, double y)
see fl_vertex(double x, double y). 
Definition: fl_vertex.cxx:111
utility header to pull drawing functions together 
unsigned int Fl_Color
An FLTK color value; see also Colors. 
Definition: Enumerations.H:796
virtual void yxline(int x, int y, int y1)
see fl_yxline(int x, int y, int y1). 
Definition: fl_rect.cxx:265
void(* Fl_Draw_Image_Cb)(void *data, int x, int y, int w, uchar *buf)
signature of image generation callback function. 
Definition: Fl_Device.H:49
virtual void draw_image(const uchar *buf, int X, int Y, int W, int H, int D=3, int L=0)
see fl_draw_image(const uchar* buf, int X,int Y,int W,int H, int D, int L). 
Definition: Fl_Device.H:344
A virtual class subclassed for each graphics driver FLTK uses. 
Definition: Fl_Device.H:103
virtual void push_no_clip()
see fl_push_no_clip(). 
Definition: fl_rect.cxx:590
virtual void circle(double x, double y, double r)
see fl_circle(double x, double y, double r). 
Definition: fl_vertex.cxx:244
virtual void arc(double x, double y, double r, double start, double end)
see fl_arc(double x, double y, double r, double start, double end). 
Definition: fl_arc.cxx:37
virtual void pie(int x, int y, int w, int h, double a1, double a2)
see fl_pie(int x, int y, int w, int h, double a1, double a2). 
Definition: fl_arci.cxx:76
The Fl_Bitmap class supports caching and drawing of mono-color (bitmap) images. 
Definition: Fl_Bitmap.H:33
virtual void line(int x, int y, int x1, int y1)
see fl_line(int x, int y, int x1, int y1). 
Definition: fl_rect.cxx:334
virtual void translate(int x, int y)
Translates the current graphics origin accounting for the current rotation. 
Definition: Fl_Paged_Device.cxx:244
A4 format. 
Definition: Fl_Paged_Device.H:50
void end_complex_polygon()
see fl_end_complex_polygon(). 
Definition: Fl_PostScript.H:186
virtual void rectf(int x, int y, int w, int h)
see fl_rectf(int x, int y, int w, int h). 
Definition: fl_rect.cxx:180
To send graphical output to a PostScript file. 
Definition: Fl_PostScript.H:216
virtual int clip_box(int x, int y, int w, int h, int &X, int &Y, int &W, int &H)
see fl_clip_box(int x, int y, int w, int h, int &X, int &Y, int &W, int &H). 
Definition: fl_rect.cxx:636
virtual void end_polygon()
see fl_end_polygon(). 
Definition: fl_vertex.cxx:165
virtual void push_clip(int x, int y, int w, int h)
see fl_push_clip(int x, int y, int w, int h). 
Definition: fl_rect.cxx:553
virtual int start_page(void)
Starts a new printed page. 
Definition: Fl_Paged_Device.cxx:165
virtual int end_page(void)
To be called at the end of each page. 
Definition: Fl_Paged_Device.cxx:230
virtual int printable_rect(int *w, int *h)
Computes the width and height of the printable area of the page. 
Definition: Fl_Paged_Device.cxx:175
Portrait orientation. 
Definition: Fl_Paged_Device.H:82
virtual double width(const char *str, int n)
see fl_width(const char *str, int n). 
Definition: Fl_Device.H:385
virtual void end_points()
see fl_end_points(). 
Definition: fl_vertex.cxx:115
virtual void draw(const char *str, int n, int x, int y)
see fl_draw(const char *str, int n, int x, int y). 
Definition: Fl_Device.H:244
unsigned char uchar
unsigned char 
Definition: fl_types.h:30
Fl_Graphics_Driver * driver()
Returns the graphics driver of this drawing surface. 
Definition: Fl_Device.H:537