|
commit 596a9375305969f8104a9cd536c808cf15289074
Author: ManoloFLTK <41016272+ManoloFLTK@users.noreply.github.com>
AuthorDate: Thu Dec 2 10:54:40 2021 +0100
Commit: ManoloFLTK <41016272+ManoloFLTK@users.noreply.github.com>
CommitDate: Thu Dec 2 10:54:40 2021 +0100
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().
src/drivers/Cairo/Fl_Cairo_Graphics_Driver.H | 7 -------
src/drivers/Cairo/Fl_Cairo_Graphics_Driver.cxx | 11 ++++++++---
src/drivers/Posix/Fl_Posix_Printer_Driver.cxx | 1 -
src/drivers/PostScript/Fl_PostScript.cxx | 2 +-
src/drivers/PostScript/Fl_PostScript_Graphics_Driver.H | 2 ++
5 files changed, 11 insertions(+), 12 deletions(-)
diff --git src/drivers/Cairo/Fl_Cairo_Graphics_Driver.H src/drivers/Cairo/Fl_Cairo_Graphics_Driver.H
index aff73c4..7237028 100644
--- src/drivers/Cairo/Fl_Cairo_Graphics_Driver.H
+++ src/drivers/Cairo/Fl_Cairo_Graphics_Driver.H
@@ -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
diff --git src/drivers/Cairo/Fl_Cairo_Graphics_Driver.cxx src/drivers/Cairo/Fl_Cairo_Graphics_Driver.cxx
index f6db07c..df7ea10 100644
--- src/drivers/Cairo/Fl_Cairo_Graphics_Driver.cxx
+++ src/drivers/Cairo/Fl_Cairo_Graphics_Driver.cxx
@@ -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);
diff --git src/drivers/Posix/Fl_Posix_Printer_Driver.cxx src/drivers/Posix/Fl_Posix_Printer_Driver.cxx
index b93a5ec..a81596d 100644
--- src/drivers/Posix/Fl_Posix_Printer_Driver.cxx
+++ src/drivers/Posix/Fl_Posix_Printer_Driver.cxx
@@ -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
}
diff --git src/drivers/PostScript/Fl_PostScript.cxx src/drivers/PostScript/Fl_PostScript.cxx
index 515450c..11d61e4 100644
--- src/drivers/PostScript/Fl_PostScript.cxx
+++ src/drivers/PostScript/Fl_PostScript.cxx
@@ -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;
diff --git src/drivers/PostScript/Fl_PostScript_Graphics_Driver.H src/drivers/PostScript/Fl_PostScript_Graphics_Driver.H
index 4a05840..9f7b106 100644
--- src/drivers/PostScript/Fl_PostScript_Graphics_Driver.H
+++ src/drivers/PostScript/Fl_PostScript_Graphics_Driver.H
@@ -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();
[ Direct Link to Message ] | |