32#ifndef Fl_PostScript_H
33#define Fl_PostScript_H
66 static const char *class_id;
70 enum SHAPE{NONE=0, LINE, LOOP, POLYGON, POINTS};
90 unsigned char cr_,cg_,cb_;
101 int (*close_cmd_)(FILE *);
115 uchar bg_r, bg_g, bg_b;
119 void transformed_draw(
const char* s,
int n,
double x,
double y);
120 void transformed_draw(
const char* s,
double x,
double y);
121 int alpha_mask(
const uchar * data,
int w,
int h,
int D,
int LD=0);
126 void page_policy(
int p);
127 int page_policy(){
return page_policy_;};
128 void close_command(
int (*cmd)(FILE *)){close_cmd_=cmd;};
129 FILE * file() {
return output;};
133 void interpolate(
int i){interpolate_=i;};
134 int interpolate(){
return interpolate_;}
136 void page(
double pw,
double ph,
int media = 0);
137 void page(
int format);
145 int clip_box(
int x,
int y,
int w,
int h,
int &X,
int &Y,
int &W,
int &H);
152 void rect(
int x,
int y,
int w,
int h);
153 void rectf(
int x,
int y,
int w,
int h);
156 void xyline(
int x,
int y,
int x1,
int y2);
157 void xyline(
int x,
int y,
int x1,
int y2,
int x3);
160 void yxline(
int x,
int y,
int y1,
int x2);
161 void yxline(
int x,
int y,
int y1,
int x2,
int y3);
163 void line(
int x1,
int y1,
int x2,
int y2);
164 void line(
int x1,
int y1,
int x2,
int y2,
int x3,
int y3);
166 void loop(
int x0,
int y0,
int x1,
int y1,
int x2,
int y2);
167 void loop(
int x0,
int y0,
int x1,
int y1,
int x2,
int y2,
int x3,
int y3);
168 void polygon(
int x0,
int y0,
int x1,
int y1,
int x2,
int y2);
169 void polygon(
int x0,
int y0,
int x1,
int y1,
int x2,
int y2,
int x3,
int y3);
177 void curve(
double x,
double y,
double x1,
double y1,
double x2,
double y2,
double x3,
double y3);
178 void circle(
double x,
double y,
double r);
179 void arc(
double x,
double y,
double r,
double start,
double a);
180 void arc(
int x,
int y,
int w,
int h,
double a1,
double a2);
181 void pie(
int x,
int y,
int w,
int h,
double a1,
double a2);
196 void draw(
const char* s,
int n,
int x,
int y) {transformed_draw(s,n,x,y); };
198 void draw(
const char* s,
int n,
float x,
float y) {transformed_draw(s,n,x,y); };
200 void draw(
int angle,
const char *str,
int n,
int x,
int y);
204 void text_extents(
const char *c,
int n,
int &dx,
int &dy,
int &w,
int &h);
208 void draw(
Fl_Bitmap * bitmap,
int XP,
int YP,
int WP,
int HP,
int cx,
int cy);
223 static const char *class_id;
233 void margins(
int *left,
int *top,
int *right,
int *bottom);
236 void scale (
float scale_x,
float scale_y = 0.);
unsigned int Fl_Color
an FLTK color value
Definition: Enumerations.H:764
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:58
declaration of class Fl_Paged_Device.
The Fl_Bitmap class supports caching and drawing of mono-color (bitmap) images.
Definition: Fl_Bitmap.H:42
A virtual class subclassed for each graphics driver FLTK uses.
Definition: Fl_Device.H:110
virtual void draw(const char *str, int n, int x, int y)=0
see fl_draw(const char *str, int n, int x, int y).
virtual void begin_polygon()
see fl_begin_polygon().
Definition: fl_vertex.cxx:90
virtual void end_polygon()
see fl_end_polygon().
Definition: fl_vertex.cxx:174
Represents page-structured drawing surfaces.
Definition: Fl_Paged_Device.H:47
Page_Layout
Possible page layouts.
Definition: Fl_Paged_Device.H:90
@ PORTRAIT
Portrait orientation.
Definition: Fl_Paged_Device.H:91
Page_Format
Possible page formats.
Definition: Fl_Paged_Device.H:54
@ A4
A4 format.
Definition: Fl_Paged_Device.H:59
The Fl_Pixmap class supports caching and drawing of colormap (pixmap) images, including transparency.
Definition: Fl_Pixmap.H:47
To send graphical output to a PostScript file.
Definition: Fl_PostScript.H:216
void translate(int x, int y)
Translates the current graphics origin accounting for the current rotation.
void untranslate(void)
Undoes the effect of a previous translate() call.
static const char * file_chooser_title
Label of the PostScript file chooser window.
Definition: Fl_PostScript.H:246
int end_page(void)
To be called at the end of each page.
void origin(int x, int y)
Sets the position in page coordinates of the origin of graphics functions.
void rotate(float angle)
Rotates the graphics operations relatively to paper.
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.
void scale(float scale_x, float scale_y=0.)
Changes the scaling of page coordinates.
void end_job(void)
To be called at the end of a print job.
int start_page(void)
Starts a new printed page.
void origin(int *x, int *y)
Computes the page coordinates of the current origin of graphics functions.
const char * class_name()
Returns the name of the class of this object.
Definition: Fl_PostScript.H:224
int printable_rect(int *w, int *h)
Computes the width and height of the printable area of the page.
PostScript graphical backend.
Definition: Fl_PostScript.H:64
void draw(Fl_RGB_Image *rgb, int XP, int YP, int WP, int HP, int cx, int cy)
Draws an Fl_RGB_Image object to the device.
void draw(Fl_Bitmap *bitmap, int XP, int YP, int WP, int HP, int cx, int cy)
Draws an Fl_Bitmap object to the device.
void begin_polygon()
see fl_begin_polygon().
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).
void polygon(int x0, int y0, int x1, int y1, int x2, int y2, int x3, int y3)
see fl_polygon(int x0, int y0, int x1, int y1, int x2, int y2, int x3, int y3).
void begin_complex_polygon()
see fl_begin_complex_polygon().
Definition: Fl_PostScript.H:186
void rect(int x, int y, int w, int h)
see fl_rect(int x, int y, int w, int h).
void color(uchar r, uchar g, uchar b)
see fl_color(uchar r, uchar g, uchar b).
void loop(int x0, int y0, int x1, int y1, int x2, int y2, int x3, int y3)
see fl_loop(int x0, int y0, int x1, int y1, int x2, int y2, int x3, int y3).
void arc(double x, double y, double r, double start, double a)
see fl_arc(double x, double y, double r, double start, double end).
void line_style(int style, int width=0, char *dashes=0)
see fl_line_style(int style, int width, char* dashes).
void begin_line()
see fl_begin_line().
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).
void begin_loop()
see fl_begin_loop().
void xyline(int x, int y, int x1, int y2, int x3)
see fl_xyline(int x, int y, int x1, int y2, int x3).
void pop_clip()
see fl_pop_clip().
void begin_points()
see fl_begin_points().
void gap()
see fl_gap().
Definition: Fl_PostScript.H:187
void end_points()
see fl_end_points().
void draw_image(Fl_Draw_Image_Cb call, void *data, int x, int y, int w, int h, int delta=3)
see fl_draw_image(Fl_Draw_Image_Cb cb, void* data, int X,int Y,int W,int H, int D).
void rtl_draw(const char *s, int n, int x, int y)
see fl_rtl_draw(const char *str, int n, int x, int y).
void transformed_vertex(double x, double y)
see fl_transformed_vertex(double xf, double yf).
void end_polygon()
see fl_end_polygon().
void xyline(int x, int y, int x1, int y2)
see fl_xyline(int x, int y, int x1, int y2).
void draw_image_mono(const uchar *d, int x, int y, int w, int h, int delta=1, int ld=0)
see fl_draw_image_mono(const uchar* buf, int X,int Y,int W,int H, int D, int L).
void xyline(int x, int y, int x1)
see fl_xyline(int x, int y, int x1).
double width(const char *, int)
see fl_width(const char *str, int n).
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).
void color(Fl_Color c)
see fl_color(Fl_Color c).
void draw(const char *s, int n, int x, int y)
see fl_draw(const char *str, int n, int x, int y).
Definition: Fl_PostScript.H:196
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).
void circle(double x, double y, double r)
see fl_circle(double x, double y, double r).
void font(int face, int size)
see fl_font(Fl_Font face, Fl_Fontsize size).
void line(int x1, int y1, int x2, int y2)
see fl_line(int x, int y, int x1, int y1).
void curve(double x, double y, 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,...
const char * class_name()
Returns the name of the class of this object.
Definition: Fl_PostScript.H:67
void rectf(int x, int y, int w, int h)
see fl_rectf(int x, int y, int w, int h).
void end_loop()
see fl_end_loop().
void push_no_clip()
see fl_push_no_clip().
void draw(Fl_Pixmap *pxm, int XP, int YP, int WP, int HP, int cx, int cy)
Draws an Fl_Pixmap object to the device.
void end_complex_polygon()
see fl_end_complex_polygon().
Definition: Fl_PostScript.H:188
void yxline(int x, int y, int y1, int x2, int y3)
see fl_yxline(int x, int y, int y1, int x2, int y3).
void arc(int x, int y, int w, int h, double a1, double a2)
see fl_arc(int x, int y, int w, int h, double a1, double a2).
void point(int x, int y)
see fl_point(int x, int y).
void yxline(int x, int y, int y1, int x2)
see fl_yxline(int x, int y, int y1, int x2).
void vertex(double x, double y)
see fl_vertex(double x, double y).
void yxline(int x, int y, int y1)
see fl_yxline(int x, int y, int y1).
void push_clip(int x, int y, int w, int h)
see fl_push_clip(int x, int y, int w, int h).
void line(int x1, int y1, int x2, int y2, int x3, int y3)
see fl_line(int x, int y, int x1, int y1, int x2, int y2).
void draw_image_mono(Fl_Draw_Image_Cb call, void *data, int x, int y, int w, int h, int delta=1)
see fl_draw_image_mono(Fl_Draw_Image_Cb cb, void* data, int X,int Y,int W,int H, int D).
void text_extents(const char *c, 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).
int not_clipped(int x, int y, int w, int h)
see fl_not_clipped(int x, int y, int w, int h).
int height()
see fl_height().
int descent()
see fl_descent().
void draw_image(const uchar *d, int x, int y, int w, int h, int delta=3, int ldelta=0)
see fl_draw_image(const uchar* buf, int X,int Y,int W,int H, int D, int L).
void draw(int angle, const char *str, int n, int x, int y)
see fl_draw(int angle, const char *str, int n, int x, int y).
void end_line()
see fl_end_line().
The Fl_RGB_Image class supports caching and drawing of full-color images with 1 to 4 channels of colo...
Definition: Fl_Image.H:175
virtual void set_current(void)
Use this drawing surface for future graphics requests.
Definition: Fl_Device.cxx:69
utility header to pull drawing functions together
unsigned char uchar
unsigned char
Definition: fl_types.h:39