FLTK logo

[master] 596a937 - PostScript output: initialise member variables in Fl_Cairo_Graphics_Driver constructor.

FLTK matrix user chat room
(using Element browser app)   FLTK gitter user chat room   GitHub FLTK Project   FLTK News RSS Feed  
  FLTK Apps      FLTK Library      Forums      Links     Login 
 All Forums  |  Back to fltk.commit  ]
 
Previous Message ]Next Message ]

[master] 596a937 - PostScript output: initialise member variables in Fl_Cairo_Graphics_Driver constructor. "ManoloFLTK" Dec 02, 2021  
 
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 ]
 
     
Previous Message ]Next Message ]
 
 

Comments are owned by the poster. All other content is copyright 1998-2024 by Bill Spitzak and others. This project is hosted by The FLTK Team. Please report site problems to 'erco@seriss.com'.