PostScript output: initialise member variables in Fl_Cairo_Graphics_Driver constructor.
Also, remove inadequate Fl_Surface_Device::push_current(this) call in Fl_Posix_Printer_Driver::begin_job().
This commit is contained in:
parent
2db94dcb4c
commit
596a937530
@ -44,17 +44,13 @@ public:
|
||||
};
|
||||
Clip * clip_;
|
||||
|
||||
int lang_level_;
|
||||
int gap_;
|
||||
int pages_;
|
||||
cairo_t *cr() { return cairo_; }
|
||||
PangoLayout *pango_layout() {return pango_layout_;}
|
||||
|
||||
void check_status(void);
|
||||
|
||||
enum SHAPE shape_;
|
||||
int linewidth_;// need for clipping, lang level 1-2
|
||||
int linestyle_;//
|
||||
unsigned char cr_,cg_,cb_;
|
||||
char linedash_[256];//should be enough
|
||||
void concat(); // transform ror scalable dradings...
|
||||
@ -68,9 +64,6 @@ public:
|
||||
int left_margin;
|
||||
int top_margin;
|
||||
|
||||
double pw_, ph_;
|
||||
|
||||
uchar bg_r, bg_g, bg_b;
|
||||
void transformed_draw(const char* s, int n, double x, double y); //precise text placing
|
||||
|
||||
// implementation of drawing methods
|
||||
|
@ -64,7 +64,14 @@ static void draw_image_cb(void *data, int x, int y, int w, uchar *buf) {
|
||||
}
|
||||
|
||||
|
||||
Fl_Cairo_Graphics_Driver::Fl_Cairo_Graphics_Driver() : Fl_Graphics_Driver() {}
|
||||
Fl_Cairo_Graphics_Driver::Fl_Cairo_Graphics_Driver() : Fl_Graphics_Driver() {
|
||||
cairo_ = NULL;
|
||||
pango_layout_ = NULL;
|
||||
clip_ = NULL;
|
||||
scale_x = scale_y = 1;
|
||||
angle = 0;
|
||||
left_margin = top_margin = 0;
|
||||
}
|
||||
|
||||
Fl_Cairo_Graphics_Driver::~Fl_Cairo_Graphics_Driver() {}
|
||||
|
||||
@ -192,8 +199,6 @@ void Fl_Cairo_Graphics_Driver::polygon(int x0, int y0, int x1, int y1, int x2, i
|
||||
}
|
||||
|
||||
void Fl_Cairo_Graphics_Driver::line_style(int style, int width, char* dashes) {
|
||||
linewidth_=width;
|
||||
linestyle_=style;
|
||||
if(dashes){
|
||||
if(dashes != linedash_)
|
||||
strcpy(linedash_,dashes);
|
||||
|
@ -327,7 +327,6 @@ int Fl_Posix_Printer_Driver::begin_job(int pages, int *firstpage, int *lastpage,
|
||||
return 2;
|
||||
}
|
||||
ps->close_command(pclose);
|
||||
Fl_Surface_Device::push_current(this);
|
||||
return ps->start_postscript(pages, format, layout); // start printing
|
||||
}
|
||||
|
||||
|
@ -122,9 +122,9 @@ static const double dashes_cap[5][7]={
|
||||
Fl_PostScript_Graphics_Driver::Fl_PostScript_Graphics_Driver(void)
|
||||
{
|
||||
close_cmd_ = 0;
|
||||
#if ! USE_PANGO
|
||||
//lang_level_ = 3;
|
||||
lang_level_ = 2;
|
||||
#if ! USE_PANGO
|
||||
mask = 0;
|
||||
#endif
|
||||
ps_filename_ = NULL;
|
||||
|
@ -48,6 +48,8 @@ public:
|
||||
enum Fl_Paged_Device::Page_Format page_format_;
|
||||
char *ps_filename_;
|
||||
int nPages;
|
||||
double pw_, ph_;
|
||||
uchar bg_r, bg_g, bg_b;
|
||||
|
||||
Fl_PostScript_Graphics_Driver();
|
||||
~Fl_PostScript_Graphics_Driver();
|
||||
|
Loading…
Reference in New Issue
Block a user