FLTK logo

[master] a3cb4af - Class Fl_PostScript_Graphics_Driver: better separation of what varies with USE_PANGO

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

[master] a3cb4af - Class Fl_PostScript_Graphics_Driver: better separation of what varies with USE_PANGO "ManoloFLTK" Mar 15, 2021  
 
commit a3cb4af739f88e8470fe5d201ba6ddcebafe7657
Author:     ManoloFLTK <41016272+ManoloFLTK@users.noreply.github.com>
AuthorDate: Mon Mar 15 08:13:09 2021 +0100
Commit:     ManoloFLTK <41016272+ManoloFLTK@users.noreply.github.com>
CommitDate: Mon Mar 15 08:13:21 2021 +0100

    Class Fl_PostScript_Graphics_Driver: better separation of what varies with USE_PANGO

 src/drivers/PostScript/Fl_PostScript.cxx           |  4 +-
 .../PostScript/Fl_PostScript_Graphics_Driver.H     | 58 +++++++++++-----------
 src/drivers/PostScript/Fl_PostScript_image.cxx     |  2 +-
 3 files changed, 33 insertions(+), 31 deletions(-)

diff --git src/drivers/PostScript/Fl_PostScript.cxx src/drivers/PostScript/Fl_PostScript.cxx
index 4ddd1f4..53811d6 100644
--- src/drivers/PostScript/Fl_PostScript.cxx
+++ src/drivers/PostScript/Fl_PostScript.cxx
@@ -125,7 +125,9 @@ Fl_PostScript_Graphics_Driver::Fl_PostScript_Graphics_Driver(void)
   close_cmd_ = 0;
   //lang_level_ = 3;
   lang_level_ = 2;
+#if ! USE_PANGO
   mask = 0;
+#endif
   ps_filename_ = NULL;
   scale_x = scale_y = 1.;
   bg_r = bg_g = bg_b = 255;
@@ -1441,7 +1443,7 @@ void Fl_PostScript_Graphics_Driver::ps_untranslate(void)
   fprintf(output, "GR GR\n");
 }
 
-# else
+# else // USE_PANGO
 
 /* Cairo-based implementation of the PostScript graphics driver */
 
diff --git src/drivers/PostScript/Fl_PostScript_Graphics_Driver.H src/drivers/PostScript/Fl_PostScript_Graphics_Driver.H
index 829e09d..80019fd 100644
--- src/drivers/PostScript/Fl_PostScript_Graphics_Driver.H
+++ src/drivers/PostScript/Fl_PostScript_Graphics_Driver.H
@@ -60,11 +60,13 @@ private:
   int scale_for_image_(Fl_Image *img, int XP, int YP, int WP, int HP,int cx, int cy);
 #endif
 protected:
+#if ! USE_PANGO
   uchar **mask_bitmap() {return &mask;}
+#endif
 public:
   Fl_PostScript_Graphics_Driver();
 #ifndef FL_DOXYGEN
-  enum SHAPE{NONE=0, LINE, LOOP, POLYGON, POINTS};
+  enum SHAPE {NONE=0, LINE, LOOP, POLYGON, POINTS};
 
   class Clip {
   public:
@@ -76,11 +78,31 @@ public:
   int lang_level_;
   int gap_;
   int pages_;
+#if USE_PANGO
+  cairo_t *cr() { return cairo_; }
+  PangoLayout *pango_layout() {return pango_layout_;};
+  void check_status(void);
+#else
+  int interpolate_; //interpolation of images
+  uchar * mask;
+  int mx; // width of mask;
+  int my; // mask lines
+  int page_policy_;
+  void page_policy(int p);
+  int page_policy(){return page_policy_;};
+  int alpha_mask(const uchar * data, int w, int h, int D, int LD=0);
+  /** Shields output PostScript data from modifications of the current locale.
+   It typically avoids PostScript errors caused if the current locale uses comma instead of dot
+   as "decimal point".
+   \param format  directives controlling output PostScript data
+   \return value returned by vfprintf() call
+   */
+  int clocale_printf(const char *format, ...);
+#endif // USE_PANGO
 
-  int shape_;
+  enum SHAPE shape_;
   int linewidth_;// need for clipping, lang level 1-2
   int linestyle_;//
-  int interpolate_; //interpolation of images
   unsigned char cr_,cg_,cb_;
   char  linedash_[256];//should be enough
   void concat();  // transform ror scalable dradings...
@@ -88,13 +110,9 @@ public:
   void recover(); //recovers the state after grestore (such as line styles...)
   void reset();
 
-  uchar * mask;
-  int mx; // width of mask;
-  int my; // mask lines
   Fl_PostScript_Close_Command close_cmd_;
-  int page_policy_;
   int nPages;
-  int orientation_;
+  //int orientation_;
 
   float scale_x;
   float scale_y;
@@ -108,23 +126,18 @@ public:
   uchar bg_r, bg_g, bg_b;
   int start_postscript (int pagecount, enum Fl_Paged_Device::Page_Format format, enum Fl_Paged_Device::Page_Layout layout);
   int start_eps(int width, int height);
-  /*  int alpha_mask(const uchar * data, int w, int h, int D, int LD=0);
-   */
   void transformed_draw(const char* s, int n, double x, double y); //precise text placing
-  void transformed_draw(const char* s, double x, double y);
-  int alpha_mask(const uchar * data, int w, int h, int D, int LD=0);
+  //void transformed_draw(const char* s, double x, double y);
 
   enum Fl_Paged_Device::Page_Format page_format_;
   char *ps_filename_;
 
-  void page_policy(int p);
-  int page_policy(){return page_policy_;};
   void close_command(Fl_PostScript_Close_Command cmd){close_cmd_=cmd;};
   FILE * file() {return output;};
   //void orientation (int o);
   //Fl_PostScript_Graphics_Driver(FILE *o, int lang_level, int pages = 0); // ps (also multi-page) constructor
-  void interpolate(int i){interpolate_=i;};
-  int interpolate(){return interpolate_;}
+  //void interpolate(int i){interpolate_=i;};
+  //int interpolate(){return interpolate_;}
 
   void page(double pw, double ph, int media = 0);
   void page(int format);
@@ -201,19 +214,6 @@ public:
   void draw_pixmap(Fl_Pixmap * pxm,int XP, int YP, int WP, int HP, int cx, int cy);
   void draw_bitmap(Fl_Bitmap * bitmap,int XP, int YP, int WP, int HP, int cx, int cy);
   void draw_rgb(Fl_RGB_Image * rgb,int XP, int YP, int WP, int HP, int cx, int cy);
-#if USE_PANGO
-  cairo_t *cr() { return cairo_; }
-  PangoLayout *pango_layout() {return pango_layout_;};
-  void check_status(void);
-#else
-  /** Shields output PostScript data from modifications of the current locale.
-   It typically avoids PostScript errors caused if the current locale uses comma instead of dot
-   as "decimal point".
-   \param format  directives controlling output PostScript data
-   \return value returned by vfprintf() call
-   */
-  int clocale_printf(const char *format, ...);
-#endif
   ~Fl_PostScript_Graphics_Driver();
   // ---
   Fl_Bitmask create_bitmask(int w, int h, const uchar *array) { return 0L; }
diff --git src/drivers/PostScript/Fl_PostScript_image.cxx src/drivers/PostScript/Fl_PostScript_image.cxx
index 13976b2..102c1d4 100644
--- src/drivers/PostScript/Fl_PostScript_image.cxx
+++ src/drivers/PostScript/Fl_PostScript_image.cxx
@@ -635,7 +635,7 @@ int Fl_PostScript_Graphics_Driver::scale_for_image_(Fl_Image *img, int XP, int Y
   return 0;
 }
 
-#else
+#else // USE_PANGO
 
 void Fl_PostScript_Graphics_Driver::draw_image(Fl_Draw_Image_Cb call, void *data, int ix, int iy, int iw, int ih, int D)
 {
Direct Link to Message ]
 
     
Previous Message ]Next Message ]
 
 

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