Author: jghali
Date: Sat Oct  2 20:49:05 2021
New Revision: 24713

URL: http://scribus.net/websvn/listing.php?repname=Scribus&sc=1&rev=24713
Log:
Code cleanup

Modified:
    trunk/Scribus/scribus/scpainter.cpp
    trunk/Scribus/scribus/scpainter.h
    trunk/Scribus/scribus/scpainterex_cairo.cpp
    trunk/Scribus/scribus/scpainterex_cairo.h
    trunk/Scribus/scribus/scpainterex_ps2.cpp
    trunk/Scribus/scribus/scpainterex_ps2.h
    trunk/Scribus/scribus/scpainterexbase.h

Modified: trunk/Scribus/scribus/scpainter.cpp
URL: 
http://scribus.net/websvn/diff.php?repname=Scribus&rev=24713&path=/trunk/Scribus/scribus/scpainter.cpp
==============================================================================
--- trunk/Scribus/scribus/scpainter.cpp (original)
+++ trunk/Scribus/scribus/scpainter.cpp Sat Oct  2 20:49:05 2021
@@ -26,67 +26,17 @@
 {
        Q_ASSERT(w >= 0);
        Q_ASSERT(h >= 0);
-       m_maskPattern = nullptr;
-       m_pattern = nullptr;
-       m_imageMask = nullptr;
+
        m_image = target;
        m_layerTransparency = transparency;
        m_blendMode = blendmode;
-       m_blendModeFill = 0;
-       m_blendModeStroke = 0;
        m_width = w;
        m_height= h;
-       m_fontSize = 0.0;
-       mf_underline = false;
-       mf_strikeout = false;
-       mf_shadow = false;
-       mf_outlined = false;
-       m_fill = QColor(0,0,0);
-       m_fill_trans = 1.0;
-       m_fillRule = true;
-       m_fillMode = 1;
-       m_patternScaleX = 0.0;
-       m_patternScaleX = 0.0;
-       m_patternScaleY = 0.0;
-       m_patternOffsetX = 0.0;
-       m_patternOffsetY = 0.0;
-       m_patternRotation = 0.0;
-       m_patternSkewX = 0.0;
-       m_patternSkewY = 0.0;
-       m_patternMirrorX = false;
-       m_patternMirrorY = false;
-       m_gradientScale = 0.0;
-       m_gradientSkew = 0.0;
+
        setHatchParameters(0, 2, 0, false, QColor(), QColor(), 0.0, 0.0);
-       m_stroke = QColor(0,0,0);
-       m_stroke_trans = 1.0;
-       m_LineWidth = 1.0;
-       m_strokeMode = 0;
-       m_maskMode = 0;
-       m_mask_patternScaleX = 0.0;
-       m_mask_patternScaleY = 0.0;
-       m_mask_patternOffsetX = 0.0;
-       m_mask_patternOffsetY = 0.0;
-       m_mask_patternRotation = 0.0;
-       m_mask_patternSkewX = 0.0;
-       m_mask_patternSkewY = 0.0;
-       m_mask_patternMirrorX = false;
-       m_mask_patternMirrorY = false;
-       m_mask_gradientScale = 0.0;
-       m_mask_gradientSkew = 0.0;
-       PLineEnd = Qt::FlatCap;
-       PLineJoin = Qt::MiterJoin;
-       m_offset = 0;
-       m_zoomFactor = 1;
-       m_layeredMode = true;
-       m_imageMode = true;
-       m_svgMode = false;
-
-       fill_gradient = VGradient(VGradient::linear);
-       stroke_gradient = VGradient(VGradient::linear);
-
-       m_matrix = QTransform();
+
        m_zoomStack.clear();
+
        cairo_surface_t *img = 
cairo_image_surface_create_for_data(m_image->bits(), CAIRO_FORMAT_ARGB32, w, h, 
w * 4);
        cairo_surface_set_device_scale(img, m_image->devicePixelRatio(), 
m_image->devicePixelRatio());
        m_cr = cairo_create(img);
@@ -227,7 +177,7 @@
 {
        cairo_matrix_t matrix;
        cairo_get_matrix(m_cr, &matrix);
-       QTransform mat = QTransform(matrix.xx, matrix.yx, matrix.xy, matrix.yy, 
matrix.x0, matrix.y0);
+       QTransform mat(matrix.xx, matrix.yx, matrix.xy, matrix.yy, matrix.x0, 
matrix.y0);
        return mat;
 }
 
@@ -835,11 +785,11 @@
                                
qStopRampPoints.append(colorStops[offset]->rampPoint);
                        }
                        qStopColors.last().getRgbF(&r, &g, &b, &a);
-                       QPointF centerP = QPointF(gradControlP5.x(), 
gradControlP5.y());
-                       QLineF edge1 = QLineF(centerP, QPointF(p1x, p1y));
-                       QLineF edge2 = QLineF(centerP, QPointF(p2x, p2y));
-                       QLineF edge3 = QLineF(centerP, QPointF(p3x, p3y));
-                       QLineF edge4 = QLineF(centerP, QPointF(p4x, p4y));
+                       QPointF centerP(gradControlP5.x(), gradControlP5.y());
+                       QLineF edge1(centerP, QPointF(p1x, p1y));
+                       QLineF edge2(centerP, QPointF(p2x, p2y));
+                       QLineF edge3(centerP, QPointF(p3x, p3y));
+                       QLineF edge4(centerP, QPointF(p4x, p4y));
                        QPointF p1 = 
edge1.pointAt(colorStops.last()->rampPoint);
                        QPointF p2 = 
edge2.pointAt(colorStops.last()->rampPoint);
                        QPointF p3 = 
edge3.pointAt(colorStops.last()->rampPoint);
@@ -1647,7 +1597,7 @@
        strokePath();
 }
 
-void ScPainter::drawText(QRectF area, const QString& text, bool filled, int 
align)
+void ScPainter::drawText(const QRectF& area, const QString& text, bool filled, 
int align)
 {
        cairo_text_extents_t extents;
        cairo_font_extents_t extentsF;
@@ -1951,7 +1901,7 @@
        int *vmin = new int[qMax(w,h)];
        int divsum = (div+1)>>1;
        divsum *= divsum;
-       int *dv = new int[256*divsum];
+       int *dv = new int[256 * (size_t) divsum];
        for (i = 0; i < 256 * divsum; ++i)
        {
                dv[i] = (i / divsum);
@@ -1999,7 +1949,7 @@
                        ainsum += sir[0];
                        asum += ainsum;
                        stackpointer = (stackpointer + 1) % div;
-                       sir = stack[(stackpointer) % div];
+                       sir = stack[stackpointer % div];
                        aoutsum += sir[0];
                        ainsum -= sir[0];
                        ++yi;
@@ -2066,23 +2016,23 @@
        if (radius < 1)
                return;
        cairo_surface_t *data = cairo_get_group_target(m_cr);
-       QRgb *pix = (QRgb*)cairo_image_surface_get_data(data);
+       QRgb *pix = (QRgb*) cairo_image_surface_get_data(data);
        int w   = cairo_image_surface_get_width(data);
        int h   = cairo_image_surface_get_height(data);
-       int wm  = w-1;
-       int hm  = h-1;
-       int wh  = w*h;
-       int div = radius+radius+1;
+       int wm  = w - 1;
+       int hm  = h - 1;
+       int wh  = w * h;
+       int div = radius + radius + 1;
        int *r = new int[wh];
        int *g = new int[wh];
        int *b = new int[wh];
        int *a = new int[wh];
        int rsum, gsum, bsum, asum, x, y, i, yp, yi, yw;
        QRgb p;
-       int *vmin = new int[qMax(w,h)];
+       int *vmin = new int[qMax(w, h)];
        int divsum = (div+1)>>1;
        divsum *= divsum;
-       int *dv = new int[256*divsum];
+       int *dv = new int[256 * (size_t) divsum];
        for (i = 0; i < 256 * divsum; ++i)
        {
                dv[i] = (i / divsum);
@@ -2165,8 +2115,8 @@
                        gsum += ginsum;
                        bsum += binsum;
                        asum += ainsum;
-                       stackpointer = (stackpointer+1)%div;
-                       sir = stack[(stackpointer)%div];
+                       stackpointer = (stackpointer + 1) % div;
+                       sir = stack[stackpointer % div];
                        routsum += sir[0];
                        goutsum += sir[1];
                        boutsum += sir[2];

Modified: trunk/Scribus/scribus/scpainter.h
URL: 
http://scribus.net/websvn/diff.php?repname=Scribus&rev=24713&path=/trunk/Scribus/scribus/scpainter.h
==============================================================================
--- trunk/Scribus/scribus/scpainter.h   (original)
+++ trunk/Scribus/scribus/scpainter.h   Sat Oct  2 20:49:05 2021
@@ -36,6 +36,7 @@
 public:
        ScPainter(QImage *target, int w, int h, double transparency = 1.0, int 
blendmode = 0);
        virtual ~ScPainter();
+
        enum FillMode { None, Solid, Gradient, Pattern, Hatch };
        virtual void beginLayer(double transparency, int blendmode, FPointArray 
*clipArray = nullptr);
        virtual void endLayer();
@@ -65,12 +66,12 @@
        virtual void fillPath();
        virtual void strokePath();
        virtual void setFillRule(bool fillRule);
-       virtual bool fillRule() { return m_fillRule; }
+       virtual bool fillRule() const { return m_fillRule; }
        virtual void setFillMode(int fill);
-       virtual int  fillMode() { return m_fillMode; }
-       virtual int  maskMode() { return m_maskMode; }
+       virtual int  fillMode() const  { return m_fillMode; }
+       virtual int  maskMode() const  { return m_maskMode; }
        virtual void setStrokeMode(int stroke);
-       virtual int  strokeMode() { return m_strokeMode; }
+       virtual int  strokeMode() const  { return m_strokeMode; }
        virtual void setGradient(VGradient::VGradientType mode, const FPoint& 
orig, const FPoint& vec, const FPoint& foc, double scale, double skew);
        virtual void setPattern(ScPattern *pattern, double scaleX, double 
scaleY, double offsetX, double offsetY, double rotation, double skewX, double 
skewY, bool mirrorX, bool mirrorY);
 
@@ -101,7 +102,7 @@
        virtual void drawSharpLine(QPointF start, QPointF end);
        virtual void drawRect(double, double, double, double);
        virtual void drawSharpRect(double x, double y, double w, double h);
-       virtual void drawText(QRectF area, const QString& text, bool filled = 
true, int align = 0);
+       virtual void drawText(const QRectF& area, const QString& text, bool 
filled = true, int align = 0);
        virtual void drawShadeCircle(const QRectF &re, const QColor& color, 
bool sunken, int lineWidth);
        virtual void drawShadePanel(const QRectF &r, const QColor& color, bool 
sunken, int lineWidth);
        virtual void drawUnderlinedRect(const QRectF &r, const QColor& color, 
int lineWidth);
@@ -134,17 +135,17 @@
        virtual void setBlendModeFill(int blendMode);
        virtual void setBlendModeStroke(int blendMode);
 
-       VGradient fill_gradient;
-       VGradient stroke_gradient;
+       VGradient fill_gradient { VGradient::linear };
+       VGradient stroke_gradient { VGradient::linear };
        VGradient mask_gradient;
-       ScPattern *m_maskPattern;
-       ScPattern *m_pattern;
+       ScPattern *m_maskPattern { nullptr };
+       ScPattern *m_pattern { nullptr };
 
 private:
        void fillPathHelper();
        void strokePathHelper();
 
-       cairo_t *m_cr;
+       cairo_t* m_cr { nullptr };
        struct layerProp
        {
                cairo_surface_t *data;
@@ -169,41 +170,41 @@
                bool fillRule;
        };
        cairo_pattern_t *getMaskPattern();
-       cairo_surface_t *m_imageMask;
+       cairo_surface_t *m_imageMask { nullptr };
        QImage m_imageQ;
 
        QStack<layerProp> m_Layers;
        QStack<double> m_zoomStack;
-       QImage *m_image;
+       QImage *m_image { nullptr };
        double  m_layerTransparency;
        int  m_blendMode;
-       int  m_blendModeFill;
-       int  m_blendModeStroke;
+       int  m_blendModeFill { 0 };
+       int  m_blendModeStroke { 0 };
        unsigned int m_width;
        unsigned int m_height;
        QTransform m_matrix;
        ScFace m_font;
-       double m_fontSize;
-       bool mf_underline;
-       bool mf_strikeout;
-       bool mf_shadow;
-       bool mf_outlined;
+       double m_fontSize { 0.0 };
+       bool mf_underline { false };
+       bool mf_strikeout { false };
+       bool mf_shadow { false };
+       bool mf_outlined { false };
        /*! \brief Filling */
-       QColor m_fill;
-       double m_fill_trans;
-       bool m_fillRule;
-       int m_fillMode;                         // 0 = none, 1 = solid, 2 = 
gradient 3 = pattern 4 = hatch
-       double m_patternScaleX;
-       double m_patternScaleY;
-       double m_patternOffsetX;
-       double m_patternOffsetY;
-       double m_patternRotation;
-       double m_patternSkewX;
-       double m_patternSkewY;
-       bool m_patternMirrorX;
-       bool m_patternMirrorY;
-       double m_gradientScale;
-       double m_gradientSkew;
+       QColor m_fill { 0, 0, 0 };
+       double m_fill_trans { 1.0 };
+       bool m_fillRule { true };
+       int m_fillMode { 1 };                           // 0 = none, 1 = solid, 
2 = gradient 3 = pattern 4 = hatch
+       double m_patternScaleX { 0.0 };
+       double m_patternScaleY { 0.0 };
+       double m_patternOffsetX { 0.0 };
+       double m_patternOffsetY { 0.0 };
+       double m_patternRotation { 0.0 };
+       double m_patternSkewX { 0.0 };
+       double m_patternSkewY { 0.0 };
+       bool m_patternMirrorX { false };
+       bool m_patternMirrorY { false };
+       double m_gradientScale { 0.0 };
+       double m_gradientSkew { 0.0 };
        FPoint gradPatchP1;
        FPoint gradPatchP2;
        FPoint gradPatchP3;
@@ -219,44 +220,44 @@
        QColor gradPatchColor4;
        QList<QList<MeshPoint> > meshGradientArray;
        QList<meshGradientPatch> meshGradientPatches;
-       double m_hatchAngle;
-       double m_hatchDistance;
-       int m_hatchType;                                // 0 = single 1 = 
double 2 = triple
-       bool m_hatchUseBackground;
+       double m_hatchAngle { 0.0 };
+       double m_hatchDistance { 0.0 };
+       int m_hatchType { 0 };                          // 0 = single 1 = 
double 2 = triple
+       bool m_hatchUseBackground { false };
        QColor m_hatchBackground;
        QColor m_hatchForeground;
-       double m_hatchWidth;
-       double m_hatchHeight;
+       double m_hatchWidth { 0.0 };
+       double m_hatchHeight { 0.0 };
        /*! \brief Stroking */
-       QColor m_stroke;
-       double m_stroke_trans;
-       double m_LineWidth;
-       int m_strokeMode;                               // 0 = none, 1 = solid, 
2 = gradient 3 = pattern
-       int m_maskMode;                         // 0 = none, 1 = gradient 2 = 
pattern
-       double m_mask_patternScaleX;
-       double m_mask_patternScaleY;
-       double m_mask_patternOffsetX;
-       double m_mask_patternOffsetY;
-       double m_mask_patternRotation;
-       double m_mask_patternSkewX;
-       double m_mask_patternSkewY;
-       bool m_mask_patternMirrorX;
-       bool m_mask_patternMirrorY;
-       double m_mask_gradientScale;
-       double m_mask_gradientSkew;
+       QColor m_stroke { 0, 0, 0 };
+       double m_stroke_trans { 1.0 };
+       double m_LineWidth { 1.0 };
+       int m_strokeMode { 0 };                         // 0 = none, 1 = solid, 
2 = gradient 3 = pattern
+       int m_maskMode { 0 };                           // 0 = none, 1 = 
gradient 2 = pattern
+       double m_mask_patternScaleX { 0.0 };
+       double m_mask_patternScaleY { 0.0 };
+       double m_mask_patternOffsetX { 0.0 };
+       double m_mask_patternOffsetY { 0.0 };
+       double m_mask_patternRotation { 0.0 };
+       double m_mask_patternSkewX { 0.0 };
+       double m_mask_patternSkewY { 0.0 };
+       bool m_mask_patternMirrorX { false };
+       bool m_mask_patternMirrorY { false };
+       double m_mask_gradientScale { 0.0 };
+       double m_mask_gradientSkew { 0.0 };
 
        /*! \brief Line End Style */
-       Qt::PenCapStyle PLineEnd;
+       Qt::PenCapStyle PLineEnd { Qt::FlatCap };
   /*! \brief Line Join Style */
-       Qt::PenJoinStyle PLineJoin;
+       Qt::PenJoinStyle PLineJoin { Qt::MiterJoin };
   /*! \brief The Dash Array */
        QVector<double> m_array;
-       double m_offset;
+       double m_offset { 0.0 };
        /*! \brief Zoom Factor of the Painter */
-       double m_zoomFactor;
-       bool m_imageMode;
-       bool m_layeredMode;
-       bool m_svgMode;
+       double m_zoomFactor { 1.0 };
+       bool m_imageMode { true };
+       bool m_layeredMode { true };
+       bool m_svgMode { false };
 };
 
 #endif

Modified: trunk/Scribus/scribus/scpainterex_cairo.cpp
URL: 
http://scribus.net/websvn/diff.php?repname=Scribus&rev=24713&path=/trunk/Scribus/scribus/scpainterex_cairo.cpp
==============================================================================
--- trunk/Scribus/scribus/scpainterex_cairo.cpp (original)
+++ trunk/Scribus/scribus/scpainterex_cairo.cpp Sat Oct  2 20:49:05 2021
@@ -11,31 +11,18 @@
 #include "util.h"
 #include "util_math.h"
 
-ScPainterEx_Cairo::ScPainterEx_Cairo(cairo_t* context, QRect& rect,  
ScribusDoc* doc, bool gray) : ScPainterExBase()
+ScPainterEx_Cairo::ScPainterEx_Cairo(cairo_t* context, const QRect& rect,  
ScribusDoc* doc, bool gray) : ScPainterExBase()
 {
        m_doc    = doc;
        m_width  = rect.width();
        m_height = rect.height();
-       m_blendModeLayer = 0;
-       m_blendModeFill = 0;
-       m_blendModeStroke = 0;
        m_strokeColor = ScColorShade(QColor(0,0,0), 100);
        m_fillColor = ScColorShade(QColor(0,0,0), 100);
-       m_fillTrans = 1.0;
-       m_strokeTrans = 1.0;
-       m_fillRule  = true;
-       m_fillMode  = 1;
-       m_lineWidth = 1.0;
-       m_offset    = 0;
-       m_lineEnd   = Qt::SquareCap;
-       m_lineJoin  = Qt::RoundJoin;
-       m_fillGradient   = VGradientEx(VGradientEx::linear);
-       m_strokeGradient = VGradientEx(VGradientEx::linear);
        // Grayscale conversion parameter
        m_convertToGray = gray;
        // Initialization of Windows GDI data
        m_cr = context;
-       m_positionX = m_positionY = 0;
+
        clear();
 }
 
@@ -44,11 +31,10 @@
 
 }
 
-QColor ScPainterEx_Cairo::transformColor(ScColorShade& colorShade, double 
trans)
-{
-       QColor c, color;
-       c = ScColorEngine::getShadeColor(colorShade.color, m_doc, 
colorShade.shade);
-       color = qRgba(qRed(c.rgb()), qGreen(c.rgb()), qBlue(c.rgb()), 
qAlpha(trans * 255));
+QColor ScPainterEx_Cairo::transformColor(const ScColorShade& colorShade, 
double trans) const
+{
+       QColor c = ScColorEngine::getShadeColor(colorShade.color, m_doc, 
colorShade.shade);
+       QColor color = qRgba(qRed(c.rgb()), qGreen(c.rgb()), qBlue(c.rgb()), 
qAlpha(trans * 255));
        if (m_convertToGray)
        {
                int grayLevel;
@@ -60,7 +46,7 @@
        return color;
 }
 
-void ScPainterEx_Cairo::transformImage(QImage& image)
+void ScPainterEx_Cairo::transformImage(QImage& image) const
 {
        int rgb, grey;
        int imageWidth = image.width();
@@ -101,7 +87,7 @@
        m_graphics->FillRectangle(&brush, 0, 0, m_width, m_height);*/
 }
 
-const QTransform ScPainterEx_Cairo::worldMatrix()
+QTransform ScPainterEx_Cairo::worldMatrix() const
 {
        cairo_matrix_t matrix;
        cairo_get_matrix(m_cr, &matrix);
@@ -434,6 +420,14 @@
                cairo_set_operator(m_cr, CAIRO_OPERATOR_HSL_COLOR);
        else if (blendMode == 15)
                cairo_set_operator(m_cr, CAIRO_OPERATOR_HSL_LUMINOSITY);
+       else if (blendMode == 16)
+               cairo_set_operator(m_cr, CAIRO_OPERATOR_ADD);
+       else if (blendMode == 17)
+               cairo_set_operator(m_cr, CAIRO_OPERATOR_DEST_IN);
+       else if (blendMode == 18)
+               cairo_set_operator(m_cr, CAIRO_OPERATOR_DEST_OUT);
+       else if (blendMode == 19)
+               cairo_set_operator(m_cr, CAIRO_OPERATOR_CLEAR);
        else
                cairo_set_operator(m_cr, CAIRO_OPERATOR_OVER);
 }

Modified: trunk/Scribus/scribus/scpainterex_cairo.h
URL: 
http://scribus.net/websvn/diff.php?repname=Scribus&rev=24713&path=/trunk/Scribus/scribus/scpainterex_cairo.h
==============================================================================
--- trunk/Scribus/scribus/scpainterex_cairo.h   (original)
+++ trunk/Scribus/scribus/scpainterex_cairo.h   Sat Oct  2 20:49:05 2021
@@ -16,86 +16,86 @@
 class ScPainterEx_Cairo : public ScPainterExBase
 {
 public:
-       ScPainterEx_Cairo(cairo_t* context, QRect& rect, ScribusDoc* doc, bool 
gray );
+       ScPainterEx_Cairo(cairo_t* context, const QRect& rect, ScribusDoc* doc, 
bool gray );
        virtual ~ScPainterEx_Cairo();
 
-       virtual Capabilities capabilities() { return transparencies; }
-
-       virtual int supportedColorModes() { return (int) rgbMode; }
-       virtual ColorMode preferredColorMode() { return rgbMode; }
-       virtual ImageMode imageMode() { return rgbImages; }
-
-       virtual void begin();
-       virtual void end();
-       virtual void clear();
-       virtual void clear( ScColorShade & );
+       Capabilities capabilities() const override { return transparencies; }
+
+       int supportedColorModes() const override { return (int) rgbMode; }
+       ColorMode preferredColorMode() const override { return rgbMode; }
+       ImageMode imageMode() const override { return rgbImages; }
+
+       void begin() override;
+       void end() override;
+       void clear() override;
+       void clear(ScColorShade &) override;
 
        // matrix manipulation
-       virtual void setWorldMatrix( const QTransform & );
-       virtual const QTransform worldMatrix();
-       virtual void translate( double, double );
-       virtual void translate( const QPointF& offset );
-       virtual void rotate( double );
-       virtual void scale( double, double );
+       void setWorldMatrix(const QTransform &) override;
+       QTransform worldMatrix() const override;
+       void translate( double, double ) override;
+       void translate( const QPointF& offset ) override;
+       void rotate( double ) override;
+       void scale( double, double ) override;
 
        // drawing
-       virtual void moveTo( const double &, const double & );
-       virtual void lineTo( const double &, const double & );
-       virtual void curveTo( FPoint p1, FPoint p2, FPoint p3 );
-       virtual void newPath();
+       void moveTo( const double &, const double & ) override;
+       void lineTo( const double &, const double & ) override;
+       void curveTo( FPoint p1, FPoint p2, FPoint p3 ) override;
+       void newPath() override;
        virtual void closePath();
-       virtual void fillPath();
-       virtual void strokePath();
-       virtual void setFillRule( bool fillRule );
-       virtual bool fillRule() { return m_fillRule; }
-       virtual void setFillMode( int fill );
-       virtual int  fillMode() { return m_fillMode; }
-       virtual void setStrokeMode( int fill );
-       virtual int  strokeMode() { return m_strokeMode; }
-       virtual void setGradient( VGradientEx::Type mode, FPoint orig, FPoint 
vec, FPoint foc, double scale, double skew);
-       virtual void setPattern(ScPattern *pattern, double scaleX, double 
scaleY, double offsetX, double offsetY, double rotation, double skewX, double 
skewY, bool mirrorX, bool mirrorY);
-
-       virtual void setMaskMode( int mask );
-       virtual void setGradientMask(VGradientEx::Type mode, FPoint orig, 
FPoint vec, FPoint foc, double scale, double skew);
-       virtual void setPatternMask(ScPattern *pattern, double scaleX, double 
scaleY, double offsetX, double offsetY, double rotation, double skewX, double 
skewY, bool mirrorX, bool mirrorY);
-
-       virtual void set4ColorGeometry(FPoint p1, FPoint p2, FPoint p3, FPoint 
p4, FPoint c1, FPoint c2, FPoint c3, FPoint c4);
-       virtual void set4ColorColors(const ScColorShade& col1, const 
ScColorShade& col2, const ScColorShade& col3, const ScColorShade& col4);
-       virtual void setDiamondGeometry(FPoint p1, FPoint p2, FPoint p3, FPoint 
p4, FPoint c1, FPoint c2, FPoint c3, FPoint c4, FPoint c5);
-       virtual void setMeshGradient(FPoint p1, FPoint p2, FPoint p3, FPoint 
p4, QList<QList<MeshPoint> > meshArray);
-       virtual void setMeshGradient(FPoint p1, FPoint p2, FPoint p3, FPoint 
p4, QList<meshGradientPatch> meshPatches);
-
-       virtual void setClipPath();
-
-       virtual void drawImage( ScImage *image, ScPainterExBase::ImageMode mode 
);
-       virtual void setupPolygon(const FPointArray *points, bool closed = 
true);
-       virtual void drawPolygon();
-       virtual void drawPolyLine();
-       virtual void drawLine(FPoint start, FPoint end);
-       virtual void drawLine(const QPointF& start, const QPointF& end);
-       virtual void drawRect(double, double, double, double);
+       void fillPath() override;
+       void strokePath() override;
+       void setFillRule( bool fillRule ) override;
+       bool fillRule() const override  { return m_fillRule; }
+       void setFillMode( int fill ) override;
+       int  fillMode() const  override  { return m_fillMode; }
+       void setStrokeMode( int fill ) override;
+       int  strokeMode()  const override { return m_strokeMode; }
+       void setGradient( VGradientEx::Type mode, FPoint orig, FPoint vec, 
FPoint foc, double scale, double skew) override;
+       void setPattern(ScPattern *pattern, double scaleX, double scaleY, 
double offsetX, double offsetY, double rotation, double skewX, double skewY, 
bool mirrorX, bool mirrorY) override;
+
+       void setMaskMode( int mask ) override;
+       void setGradientMask(VGradientEx::Type mode, FPoint orig, FPoint vec, 
FPoint foc, double scale, double skew) override;
+       void setPatternMask(ScPattern *pattern, double scaleX, double scaleY, 
double offsetX, double offsetY, double rotation, double skewX, double skewY, 
bool mirrorX, bool mirrorY) override;
+
+       void set4ColorGeometry(FPoint p1, FPoint p2, FPoint p3, FPoint p4, 
FPoint c1, FPoint c2, FPoint c3, FPoint c4) override;
+       void set4ColorColors(const ScColorShade& col1, const ScColorShade& 
col2, const ScColorShade& col3, const ScColorShade& col4) override;
+       void setDiamondGeometry(FPoint p1, FPoint p2, FPoint p3, FPoint p4, 
FPoint c1, FPoint c2, FPoint c3, FPoint c4, FPoint c5) override;
+       void setMeshGradient(FPoint p1, FPoint p2, FPoint p3, FPoint p4, 
QList<QList<MeshPoint> > meshArray) override;
+       void setMeshGradient(FPoint p1, FPoint p2, FPoint p3, FPoint p4, 
QList<meshGradientPatch> meshPatches) override;
+
+       void setClipPath() override;
+
+       void drawImage( ScImage *image, ScPainterExBase::ImageMode mode ) 
override;
+       void setupPolygon(const FPointArray *points, bool closed = true) 
override;
+       void drawPolygon() override;
+       void drawPolyLine() override;
+       void drawLine(FPoint start, FPoint end) override;
+       void drawLine(const QPointF& start, const QPointF& end) override;
+       void drawRect(double, double, double, double) override;
 
        // pen + brush
-       virtual ScColorShade pen();
-       virtual ScColorShade brush();
-       virtual void setPen( const ScColorShade & );
-       virtual void setPen( const ScColorShade &c, double w, Qt::PenStyle st, 
Qt::PenCapStyle ca, Qt::PenJoinStyle jo );
-       virtual void setPenOpacity( double op );
-       virtual void setLineWidth( double w);
-       virtual void setDash(const QVector<double>& array, double ofs);
-       virtual void setBrush( const ScColorShade & );
-       virtual void setBrushOpacity( double op );
-       virtual void setOpacity( double op );
-       virtual void setFont( const QFont &f );
-       virtual QFont font();
+       ScColorShade pen() override;
+       ScColorShade brush() override;
+       void setPen( const ScColorShade & ) override;
+       void setPen( const ScColorShade &c, double w, Qt::PenStyle st, 
Qt::PenCapStyle ca, Qt::PenJoinStyle jo ) override;
+       void setPenOpacity( double op ) override;
+       void setLineWidth( double w) override;
+       void setDash(const QVector<double>& array, double ofs) override;
+       void setBrush( const ScColorShade & ) override;
+       void setBrushOpacity( double op ) override;
+       void setOpacity( double op ) override;
+       void setFont( const QFont &f ) override;
+       QFont font() override;
 
        // stack management
-       virtual void save();
-       virtual void restore();
-
-       virtual void setRasterOp( int op );
-       virtual void setBlendModeFill( int blendMode );
-       virtual void setBlendModeStroke( int blendMode );
+       void save() override;
+       void restore() override;
+
+       void setRasterOp( int op ) override;
+       void setBlendModeFill( int blendMode ) override;
+       void setBlendModeStroke( int blendMode ) override;
 
 private:
        void fillPathHelper();
@@ -115,21 +115,21 @@
 
        void getClipPathDimensions( QRect& r );
 
-       ScribusDoc* m_doc;
+       ScribusDoc* m_doc { nullptr };
 
        unsigned int m_width;
        unsigned int m_height;
        QTransform m_matrix;
        QFont m_font;
 /* Layer blend mode*/
-       int  m_blendModeLayer;
-       int  m_blendModeFill;
-       int  m_blendModeStroke;
+       int  m_blendModeLayer { 0 };
+       int  m_blendModeFill { 0 };
+       int  m_blendModeStroke { 0 };
 /* Filling */
        ScColorShade m_fillColor;
-       double m_fillTrans;
-       bool   m_fillRule;
-       int    m_fillMode;                      // 0 = none, 1 = solid, 2 = 
gradient
+       double m_fillTrans { 1.0 };
+       bool   m_fillRule { true };
+       int    m_fillMode { 1 };                        // 0 = none, 1 = solid, 
2 = gradient
        int    m_gradientMode;          // 1 = linear, 2 = radial
 
        double m_patternScaleX;
@@ -162,8 +162,8 @@
        double m_gradientSkew;
 /* Stroking */
        ScColorShade m_strokeColor;
-       double m_strokeTrans;
-       double m_lineWidth;
+       double m_strokeTrans { 1.0 };
+       double m_lineWidth { 1.0 };
        int    m_strokeMode;                            // 0 = none, 1 = solid, 
2 = gradient 3 = pattern
 /* Masking */
        int    m_maskMode;                              // 0 = none, 1 = 
gradient 2 = pattern
@@ -180,28 +180,28 @@
        double m_maskGradientSkew;
 
 /* Grayscale conversion option */
-       bool   m_convertToGray;
+       bool   m_convertToGray { false };
 
 /* Line End Style */
-       Qt::PenCapStyle m_lineEnd;
+       Qt::PenCapStyle m_lineEnd { Qt::SquareCap };
 /* Line Join Style */
-       Qt::PenJoinStyle m_lineJoin;
+       Qt::PenJoinStyle m_lineJoin { Qt::RoundJoin };
 /* The Dash Array */
        QVector<double> m_array;
-       double m_offset;
+       double m_offset { 0.0 };
 /* Transformation Stack */
        QStack<QTransform> m_stack;
 
 /* Cairo context */
-       cairo_t* m_cr;
+       cairo_t* m_cr { nullptr };
 
 /* Color conversion function */
-       QColor transformColor( ScColorShade& colorShade, double trans );
-       void   transformImage( QImage& image );
+       QColor transformColor( const ScColorShade& colorShade, double trans ) 
const;
+       void   transformImage( QImage& image ) const;
 
        QStack<int> m_gStates;
-       double      m_positionX;
-       double      m_positionY;
+       double      m_positionX { 0.0 };
+       double      m_positionY { 0.0 };
 };
 
 #endif

Modified: trunk/Scribus/scribus/scpainterex_ps2.cpp
URL: 
http://scribus.net/websvn/diff.php?repname=Scribus&rev=24713&path=/trunk/Scribus/scribus/scpainterex_ps2.cpp
==============================================================================
--- trunk/Scribus/scribus/scpainterex_ps2.cpp   (original)
+++ trunk/Scribus/scribus/scpainterex_ps2.cpp   Sat Oct  2 20:49:05 2021
@@ -29,30 +29,24 @@
 #include "scpainterex_ps2.h"
 
 #include <cfloat>
+#include <cmath>
+#include <iostream>
+#include <memory>
 #include <QPaintDevice>
 #include <QPixmap>
 #include <QImage>
-
-#include <cmath>
-#include <iostream>
-#include <memory>
-using namespace std;
 
 #include "colormgmt/sccolormgmtengine.h"
 #include "sccolorengine.h"
 #include "scimage.h"
 #include "util.h"
 
+using namespace std;
+
 ScPs2OutputParams::ScPs2OutputParams(ScribusDoc* doc)
 {
        document = doc;
        colorMode = ScPainterExBase::rgbMode;
-       reloadImages = true;
-       resolution = 72;
-       useProfiles = false;
-       toGray = false;
-       mirrorH = false;
-       mirrorV = false;
        hProfile = nullptr;
        rgbToOutputColorTransform = nullptr;
        rgbToOutputImageTransform = nullptr;
@@ -60,11 +54,10 @@
        cmykToOutputImageTransform = nullptr;
 }
 
-ScPainterEx_Ps2::ScPainterEx_Ps2(QIODevice* iodev, QRect& rect, 
ScPs2OutputParams& options )
+ScPainterEx_Ps2::ScPainterEx_Ps2(QIODevice* iodev, const QRect& rect, const 
ScPs2OutputParams& options )
 {
        m_stream.setDevice( iodev );
        m_colorMode = options.colorMode;
-       m_encoding  = Ascii85Encoding;
        m_options = options;
        m_width = rect.width();
        m_height= rect.height();
@@ -72,27 +65,10 @@
        m_y = rect.top();
        m_fillColor = ScColorShade( QColor(0,0,0), 100 );
        m_strokeColor = ScColorShade( QColor(0,0,0), 100 );
-       m_fillTrans = 1.0;
-       m_strokeTrans = 1.0;
-       m_fillRule = true;
-       m_fillMode = 1;
-       m_lineWidth = 1.0;
-       m_offset = 0;
        m_array.clear();
-       m_lineEnd = Qt::SquareCap;
-       m_lineJoin = Qt::RoundJoin;
-       m_fillGradient = VGradientEx(VGradientEx::linear);
-       m_strokeGradient = VGradientEx(VGradientEx::linear);
-       m_matrix = QTransform();
-       m_pageTrans = QTransform();
-       // Path state
-       m_pathIsClosed = true;
-       m_drawingClosedPath = false;
+
        // TODO : set proper values
-       m_deviceDimX = 0;
-       m_deviceDimY = 0;
-       m_deviceResX = 0;
-       m_deviceResY = 0;
+
        clear();
 }
 
@@ -100,7 +76,7 @@
 {
 }
 
-ScPainterExBase::ImageMode ScPainterEx_Ps2::imageMode()
+ScPainterExBase::ImageMode ScPainterEx_Ps2::imageMode() const
 {
        ImageMode imageMode;
        if (m_options.hProfile && m_options.rgbToOutputImageTransform && 
m_options.cmykToOutputImageTransform)
@@ -112,7 +88,7 @@
        return imageMode;
 }
 
-void ScPainterEx_Ps2::transformImage( QImage* image, uchar* data, int scan)
+void ScPainterEx_Ps2::transformImage( QImage* image, uchar* data, int scan) 
const
 {
        int rgb, grey;
        int imageWidth = image->width();
@@ -155,7 +131,7 @@
 
 }
 
-const QTransform ScPainterEx_Ps2::worldMatrix()
+QTransform ScPainterEx_Ps2::worldMatrix() const
 {
        return m_matrix;
 }
@@ -165,7 +141,7 @@
        m_matrix = mat;
 }
 
-void ScPainterEx_Ps2::transformPoint( const FPoint& in, FPoint& out )
+void ScPainterEx_Ps2::transformPoint( const FPoint& in, FPoint& out ) const
 {
        double x, y;
        x = in.x() * m_matrix.m11() + in.y() * m_matrix.m21() + m_matrix.dx();
@@ -174,7 +150,7 @@
        out.setY( y );
 }
 
-void ScPainterEx_Ps2::transformPoints( const FPoint* ArrayIn, FPoint* 
ArrayOut, uint length )
+void ScPainterEx_Ps2::transformPoints( const FPoint* ArrayIn, FPoint* 
ArrayOut, uint length ) const
 {
        for (uint i = 0; i < length; i++)
        {
@@ -451,7 +427,7 @@
        m_clipBBox = m_pathBBox;
 }
 
-void ScPainterEx_Ps2::putColor(ScColorShade& colorShade, bool doFill)
+void ScPainterEx_Ps2::putColor(const ScColorShade& colorShade, bool doFill)
 {
        ColorMode colorMode = m_colorMode;
        double r = 0, g = 0, b = 0, gray = 0;
@@ -520,7 +496,7 @@
                ScColorEngine::getShadeColorRGB(colorShade.color, 
m_options.document, rgb, colorShade.shade);
                rgb.getValues(r, g, b);
        }
-       else if ( m_colorMode == cmykMode )
+       else if (m_colorMode == cmykMode)
        {
                CMYKColorF cmyk;
                colorMode = cmykMode;
@@ -698,7 +674,7 @@
        int    height = image->height();
        for (int y = 0; y < height; y++)
        {
-               QRgb* imageBits = (QRgb*)(image->qImage().scanLine(y));
+               auto* imageBits = (const QRgb*)(image->qImage().scanLine(y));
                for (int x = 0; x < width; ++x)
                {
                        if (qAlpha(*imageBits) != 255)
@@ -722,7 +698,7 @@
                width++;
        for (int y = 0; y < height; ++y)
        {
-               unsigned char* imageBits = image->scanLine(y);
+               const unsigned char* imageBits = image->scanLine(y);
                for (int x = 0; x < width; x++)
                {
                        length++;
@@ -748,7 +724,7 @@
        int height = image->height();
        for (int y = 0; y < height; ++y)
        {
-               QRgb* imageBits = (QRgb*)(image->qImage().scanLine(y));
+               auto* imageBits = (const QRgb*)(image->qImage().scanLine(y));
                for (int x = 0; x < width; ++x)
                {
                        cindex = 0;
@@ -801,7 +777,7 @@
        int  height = image->height();
        for (int y = 0; y < height; ++y)
        {
-               QRgb* imageBits = (QRgb*)(image->qImage().scanLine(y));
+               auto* imageBits = (const QRgb*)(image->qImage().scanLine(y));
                for (int x = 0; x < width; ++x)
                {
                        length++;
@@ -831,7 +807,7 @@
        int height = image->height();
        for (int y = 0; y < height; y++)
        {
-               QRgb* imageBits = (QRgb*)(image->qImage().scanLine(y));
+               auto* imageBits = (const QRgb*)(image->qImage().scanLine(y));
                for (int x = 0; x < width; x++)
                {
                        four_tuple[0] = (uchar) qRed(*imageBits);
@@ -863,7 +839,7 @@
        int height = image->height();
        for (int y = 0; y < height; ++y)
        {
-               QRgb* imageBits = (QRgb*)(image->qImage().scanLine(y));
+               auto* imageBits = (const QRgb*)(image->qImage().scanLine(y));
                for (int x = 0; x < width; ++x)
                {
                        length++;
@@ -962,7 +938,7 @@
        strokePath();
 }
 
-void ScPainterEx_Ps2::drawGradient( VGradientEx& gradient )
+void ScPainterEx_Ps2::drawGradient( const VGradientEx& gradient )
 {
 //     QRect clipPathRect;
        save();
@@ -976,7 +952,7 @@
        restore();
 }
 
-void ScPainterEx_Ps2::drawLinearGradient( VGradientEx& gradient, const QRect& 
rect )
+void ScPainterEx_Ps2::drawLinearGradient(const VGradientEx& gradient, const 
QRect& rect )
 {
        if (m_colorMode == cmykMode)
                drawLinearGradient_CMYK(gradient, rect);
@@ -984,7 +960,7 @@
                drawLinearGradient_RGB(gradient, rect);
 }
 
-void ScPainterEx_Ps2::drawLinearGradient_RGB( VGradientEx& gradient, const 
QRect& rect )
+void ScPainterEx_Ps2::drawLinearGradient_RGB( const VGradientEx& gradient, 
const QRect& rect )
 {
        double r1, g1, b1;
        double r2, g2, b2;
@@ -992,7 +968,6 @@
        double ramp1, ramp2;
        double length, scale;
        double x1, y1, x2, y2, dx, dy;
-       int clipBoxWidth, clipBoxHeight, maxDim;
        QList<VColorStopEx*> colorStops = gradient.colorStops();
        VColorStopEx stop1( *colorStops[0] );
        VColorStopEx stop2( *colorStops[0] );
@@ -1002,10 +977,11 @@
        if (gradient.stops() < 2) 
                return;
 
-       clipBoxWidth = rect.width();
-       clipBoxHeight = rect.height();
-       maxDim = qRound(sqrt( (double) (clipBoxWidth * clipBoxWidth + 
clipBoxHeight * clipBoxHeight) )) * 2;
-       if (maxDim <= 0) return;
+       qint64 clipBoxWidth = rect.width();
+       qint64 clipBoxHeight = rect.height();
+       qint64 maxDim = qRound64(sqrt( (double) (clipBoxWidth * clipBoxWidth + 
clipBoxHeight * clipBoxHeight) )) * 2;
+       if (maxDim <= 0)
+               return;
 
        x1 = m_matrix.dx() + gradient.origin().x() * m_matrix.m11();
        y1 = m_matrix.dy() + gradient.origin().y() * m_matrix.m22();
@@ -1083,7 +1059,7 @@
        }
 }
 
-void ScPainterEx_Ps2::drawLinearGradient_CMYK(VGradientEx& gradient, const 
QRect& rect)
+void ScPainterEx_Ps2::drawLinearGradient_CMYK(const VGradientEx& gradient, 
const QRect& rect)
 {
        double c1, m1, j1, n1;
        double c2, m2, j2, n2;
@@ -1091,7 +1067,6 @@
        double ramp1, ramp2;
        double length, scale;
        double x1, y1, x2, y2, dx, dy;
-       int clipBoxWidth, clipBoxHeight, maxDim;
        QList<VColorStopEx*> colorStops = gradient.colorStops();
        VColorStopEx stop1( *colorStops[0] );
        VColorStopEx stop2( *colorStops[0] );
@@ -1101,10 +1076,11 @@
        if ( gradient.stops() < 2 ) 
                return;
 
-       clipBoxWidth = rect.width();
-       clipBoxHeight = rect.height();
-       maxDim = qRound(sqrt( (double) (clipBoxWidth * clipBoxWidth + 
clipBoxHeight * clipBoxHeight) )) * 2;
-       if ( maxDim <= 0 ) return;
+       qint64 clipBoxWidth = rect.width();
+       qint64 clipBoxHeight = rect.height();
+       qint64 maxDim = qRound64(sqrt( (double) (clipBoxWidth * clipBoxWidth + 
clipBoxHeight * clipBoxHeight) )) * 2;
+       if (maxDim <= 0)
+               return;
 
        x1 = m_matrix.dx() + gradient.origin().x() * m_matrix.m11();
        y1 = m_matrix.dy() + gradient.origin().y() * m_matrix.m22();
@@ -1115,8 +1091,8 @@
 
        dx = ( p2.x() - p1.x() );
        dy = ( p2.y() - p1.y() );
-       length = sqrt(( dx * dx + dy * dy ));
-       if ( length == 0.0 )
+       length = sqrt(dx * dx + dy * dy);
+       if (length == 0.0)
                scale = 1.0;
        else
                scale = 1.0 / length;
@@ -1189,7 +1165,7 @@
        }
 }
 
-void ScPainterEx_Ps2::drawCircularGradient( VGradientEx& gradient, const 
QRect& rect )
+void ScPainterEx_Ps2::drawCircularGradient(const VGradientEx& gradient, const 
QRect& rect )
 {
        if (m_colorMode == cmykMode)
                drawCircularGradient_CMYK(gradient, rect);
@@ -1197,21 +1173,21 @@
                drawCircularGradient_RGB(gradient, rect);
 }
 
-void ScPainterEx_Ps2::drawCircularGradient_RGB( VGradientEx& gradient, const 
QRect& rect )
+void ScPainterEx_Ps2::drawCircularGradient_RGB(const VGradientEx& gradient, 
const QRect& rect )
 {
        double r1, g1, b1;
        double r2, g2, b2;
        double ramp1, ramp2;
-       int clipBoxWidth, clipBoxHeight, maxDim;
        QList<VColorStopEx*> colorStops = gradient.colorStops();
        VColorStopEx stop1( *colorStops[gradient.stops() - 1] );
        VColorStopEx stop2( *colorStops[gradient.stops() - 1] );
        RGBColorF rgb;
 
-       clipBoxWidth = rect.width();
-       clipBoxHeight = rect.height();
-       maxDim = qRound(sqrt( (double) (clipBoxWidth * clipBoxWidth + 
clipBoxHeight * clipBoxHeight) )) * 2;
-       if ( maxDim <= 0 ) return;
+       qint64 clipBoxWidth = rect.width();
+       qint64 clipBoxHeight = rect.height();
+       qint64 maxDim = qRound64(sqrt( (double) (clipBoxWidth * clipBoxWidth + 
clipBoxHeight * clipBoxHeight) )) * 2;
+       if ( maxDim <= 0 )
+               return;
 
        FPoint pc( gradient.origin().x(), gradient.origin().y() );
        FPoint pcz( gradient.origin().x(), gradient.origin().y() );
@@ -1279,21 +1255,21 @@
        }
 }
 
-void ScPainterEx_Ps2::drawCircularGradient_CMYK( VGradientEx& gradient, const 
QRect& rect )
+void ScPainterEx_Ps2::drawCircularGradient_CMYK(const VGradientEx& gradient, 
const QRect& rect )
 {
        double c1, m1, y1, k1;
        double c2, m2, y2, k2;
        double ramp1, ramp2;
-       int clipBoxWidth, clipBoxHeight, maxDim;
        QList<VColorStopEx*> colorStops = gradient.colorStops();
        VColorStopEx stop1( *colorStops[gradient.stops() - 1] );
        VColorStopEx stop2( *colorStops[gradient.stops() - 1] );
        CMYKColorF cmyk;
 
-       clipBoxWidth = rect.width();
-       clipBoxHeight = rect.height();
-       maxDim = qRound(sqrt( (double) (clipBoxWidth * clipBoxWidth + 
clipBoxHeight * clipBoxHeight) )) * 2;
-       if (maxDim <= 0) return;
+       qint64 clipBoxWidth = rect.width();
+       qint64 clipBoxHeight = rect.height();
+       qint64 maxDim = qRound64(sqrt( (double) (clipBoxWidth * clipBoxWidth + 
clipBoxHeight * clipBoxHeight) )) * 2;
+       if (maxDim <= 0)
+               return;
 
        FPoint pc( gradient.origin().x(), gradient.origin().y() );
        FPoint pcz( gradient.origin().x(), gradient.origin().y() );
@@ -1368,11 +1344,13 @@
        }
 }
 
-void ScPainterEx_Ps2::getPathBoundingBox(const FPointArray* points, QRect& r )
+void ScPainterEx_Ps2::getPathBoundingBox(const FPointArray* points, QRect& r) 
const
 {
        FPoint point;
-       double bottom = DBL_MAX, top   = DBL_MIN;
-       double left   = DBL_MAX, right = DBL_MIN;
+       double bottom = DBL_MAX;
+       double top = DBL_MIN;
+       double left = DBL_MAX;
+       double right = DBL_MIN;
 
        r.setCoords(0, 0, 0, 0);
 

Modified: trunk/Scribus/scribus/scpainterex_ps2.h
URL: 
http://scribus.net/websvn/diff.php?repname=Scribus&rev=24713&path=/trunk/Scribus/scribus/scpainterex_ps2.h
==============================================================================
--- trunk/Scribus/scribus/scpainterex_ps2.h     (original)
+++ trunk/Scribus/scribus/scpainterex_ps2.h     Sat Oct  2 20:49:05 2021
@@ -54,14 +54,14 @@
 {
 public:
        ScPs2OutputParams(ScribusDoc* doc = nullptr);
-       ScPainterExBase::ColorMode colorMode;
-       ScribusDoc* document;
-       bool reloadImages;
-       int resolution;
-       bool useProfiles;
-       bool toGray;
-       bool mirrorH;
-       bool mirrorV;
+       ScPainterExBase::ColorMode colorMode { ScPainterExBase::rgbMode };
+       ScribusDoc* document { nullptr };
+       bool reloadImages { true };
+       int resolution { 72 };
+       bool useProfiles { false };
+       bool toGray { false };
+       bool mirrorH { false };
+       bool mirrorV { false };
        QString outputProfile;
        ScColorProfile   hProfile;
        ScColorTransform rgbToOutputColorTransform;
@@ -74,92 +74,92 @@
 {
 public:
 
-       ScPainterEx_Ps2( QIODevice* iodev, QRect& rect, ScPs2OutputParams& 
options );
+       ScPainterEx_Ps2( QIODevice* iodev, const QRect& rect, const 
ScPs2OutputParams& options );
        virtual ~ScPainterEx_Ps2();
 
-       virtual int supportedColorModes() { return (int) (rgbMode|cmykMode); }
-       virtual ColorMode preferredColorMode() { return m_colorMode; }
+       int supportedColorModes() const override { return (int) 
(rgbMode|cmykMode); }
+       ColorMode preferredColorMode() const override { return m_colorMode; }
        virtual void setPreferredColorMode(ScPainterEx_Ps2::ColorMode 
colorMode) { m_colorMode = colorMode; }
-       virtual ImageMode imageMode();
-
-       virtual void begin();
-       virtual void end();
-       virtual void clear();
-       virtual void clear( ScColorShade & );
+       ImageMode imageMode() const override;
+
+       void begin() override;
+       void end() override;
+       void clear() override;
+       void clear( ScColorShade & ) override;
 
        // matrix manipulation
-       virtual void setWorldMatrix( const QTransform & );
-       virtual const QTransform worldMatrix();
-       virtual void translate( double, double );
-       virtual void translate( const QPointF& offset );
-       virtual void rotate( double );
-       virtual void scale( double, double );
+       void setWorldMatrix( const QTransform & ) override;
+       QTransform worldMatrix() const override;
+       void translate( double, double ) override;
+       void translate( const QPointF& offset ) override;
+       void rotate( double ) override;
+       void scale( double, double ) override;
 
        // drawing
-       virtual void moveTo( const double &, const double & );
-       virtual void lineTo( const double &, const double & );
-       virtual void curveTo( FPoint p1, FPoint p2, FPoint p3 );
-       virtual void newPath();
+       void moveTo( const double &, const double & ) override;
+       void lineTo( const double &, const double & ) override;
+       void curveTo( FPoint p1, FPoint p2, FPoint p3 ) override;
+       void newPath() override;
        virtual void closePath();
-       virtual void fillPath();
-       virtual void strokePath();
-       virtual void setFillRule( bool fillRule );
-       virtual bool fillRule() { return m_fillRule; }
-       virtual void setFillMode( int fill );
-       virtual int  fillMode() { return m_fillMode; }
-       virtual void setStrokeMode( int fill );
-       virtual int  strokeMode() { return m_strokeMode; }
-       virtual void setGradient( VGradientEx::Type mode, FPoint orig, FPoint 
vec, FPoint foc, double scale, double skew);
-       virtual void setPattern(ScPattern *pattern, double scaleX, double 
scaleY, double offsetX, double offsetY, double rotation, double skewX, double 
skewY, bool mirrorX, bool mirrorY);
-
-       virtual void setMaskMode( int mask ) {};
-       virtual void setGradientMask(VGradientEx::Type mode, FPoint orig, 
FPoint vec, FPoint foc, double scale, double skew) {};
-       virtual void setPatternMask(ScPattern *pattern, double scaleX, double 
scaleY, double offsetX, double offsetY, double rotation, double skewX, double 
skewY, bool mirrorX, bool mirrorY) {};
-
-       virtual void set4ColorGeometry(FPoint p1, FPoint p2, FPoint p3, FPoint 
p4, FPoint c1, FPoint c2, FPoint c3, FPoint c4) {};
-       virtual void set4ColorColors(const ScColorShade& col1, const 
ScColorShade& col2, const ScColorShade& col3, const ScColorShade& col4) {};
-       virtual void setDiamondGeometry(FPoint p1, FPoint p2, FPoint p3, FPoint 
p4, FPoint c1, FPoint c2, FPoint c3, FPoint c4, FPoint c5) {};
-       virtual void setMeshGradient(FPoint p1, FPoint p2, FPoint p3, FPoint 
p4, QList<QList<MeshPoint> > meshArray) {};
-       virtual void setMeshGradient(FPoint p1, FPoint p2, FPoint p3, FPoint 
p4, QList<meshGradientPatch> meshPatches) {};
-
-       virtual void setClipPath();
-
-       virtual void drawImage( ScImage *image, ScPainterExBase::ImageMode mode 
);
-       virtual void drawRGBImage_ps2( ScImage *image );
-       virtual void drawCMYKImage_ps2( ScImage *image );
-
-       virtual bool hasAlphaChannel( ScImage* image );
-
-       virtual void setupPolygon(const FPointArray *points, bool closed = 
true);
-       virtual void drawPolygon();
-       virtual void drawPolyLine();
-       virtual void drawLine(FPoint start, FPoint end);
-       virtual void drawLine(const QPointF& start, const QPointF& end);
-       virtual void drawRect(double, double, double, double);
+       void fillPath() override;
+       void strokePath() override;
+       void setFillRule( bool fillRule ) override;
+       bool fillRule() const override { return m_fillRule; }
+       void setFillMode( int fill ) override;
+       int  fillMode() const override { return m_fillMode; }
+       void setStrokeMode( int fill ) override;
+       int  strokeMode() const override { return m_strokeMode; }
+       void setGradient( VGradientEx::Type mode, FPoint orig, FPoint vec, 
FPoint foc, double scale, double skew) override;
+       void setPattern(ScPattern *pattern, double scaleX, double scaleY, 
double offsetX, double offsetY, double rotation, double skewX, double skewY, 
bool mirrorX, bool mirrorY) override;
+
+       void setMaskMode( int mask ) override {};
+       void setGradientMask(VGradientEx::Type mode, FPoint orig, FPoint vec, 
FPoint foc, double scale, double skew) override  {};
+       void setPatternMask(ScPattern *pattern, double scaleX, double scaleY, 
double offsetX, double offsetY, double rotation, double skewX, double skewY, 
bool mirrorX, bool mirrorY)  override {};
+
+       void set4ColorGeometry(FPoint p1, FPoint p2, FPoint p3, FPoint p4, 
FPoint c1, FPoint c2, FPoint c3, FPoint c4)  override {};
+       void set4ColorColors(const ScColorShade& col1, const ScColorShade& 
col2, const ScColorShade& col3, const ScColorShade& col4)  override {};
+       void setDiamondGeometry(FPoint p1, FPoint p2, FPoint p3, FPoint p4, 
FPoint c1, FPoint c2, FPoint c3, FPoint c4, FPoint c5)  override {};
+       void setMeshGradient(FPoint p1, FPoint p2, FPoint p3, FPoint p4, 
QList<QList<MeshPoint> > meshArray)  override {};
+       void setMeshGradient(FPoint p1, FPoint p2, FPoint p3, FPoint p4, 
QList<meshGradientPatch> meshPatches)  override {};
+
+       void setClipPath() override;
+
+       void drawImage( ScImage *image, ScPainterExBase::ImageMode mode ) 
override;
+
+       void setupPolygon(const FPointArray *points, bool closed = true) 
override;
+       void drawPolygon() override;
+       void drawPolyLine() override;
+       void drawLine(FPoint start, FPoint end) override;
+       void drawLine(const QPointF& start, const QPointF& end) override;
+       void drawRect(double, double, double, double) override;
 
        // pen + brush
-       virtual ScColorShade pen();
-       virtual ScColorShade brush();
-       virtual void setPen( const ScColorShade & );
-       virtual void setPen( const ScColorShade &c, double w, Qt::PenStyle st, 
Qt::PenCapStyle ca, Qt::PenJoinStyle jo );
-       virtual void setPenOpacity( double op );
-       virtual void setLineWidth( double w);
-       virtual void setDash(const QVector<double>& array, double ofs);
-       virtual void setBrush( const ScColorShade & );
-       virtual void setBrushOpacity( double op );
-       virtual void setOpacity( double op );
-       virtual void setFont( const QFont &f );
-       virtual QFont font();
+       ScColorShade pen() override;
+       ScColorShade brush() override;
+       void setPen( const ScColorShade & ) override;
+       void setPen( const ScColorShade &c, double w, Qt::PenStyle st, 
Qt::PenCapStyle ca, Qt::PenJoinStyle jo ) override;
+       void setPenOpacity( double op ) override;
+       void setLineWidth( double w) override;
+       void setDash(const QVector<double>& array, double ofs) override;
+       void setBrush( const ScColorShade & ) override;
+       void setBrushOpacity( double op ) override;
+       void setOpacity( double op ) override;
+       void setFont( const QFont &f ) override;
+       QFont font() override;
 
        // stack management
-       virtual void save();
-       virtual void restore();
-
-       virtual void setRasterOp( int op );
-       virtual void setBlendModeFill( int blendMode ) {};
-       virtual void setBlendModeStroke( int blendMode ) {};
+       void save() override;
+       void restore() override;
+
+       void setRasterOp( int op ) override;
+       void setBlendModeFill( int blendMode )  override {};
+       void setBlendModeStroke( int blendMode ) override {};
 
 protected:
+       virtual void drawRGBImage_ps2(ScImage* image);
+       virtual void drawCMYKImage_ps2(ScImage* image);
+
+       virtual bool hasAlphaChannel(ScImage* image);
 
        virtual void writeRGBImageToStream_Ascii85 ( ScImage* image );
        virtual void writeRGBImageToStream_AsciiHex ( ScImage* image );
@@ -169,15 +169,16 @@
 
 private:
 
-       typedef enum {
+       enum AsciiEncoding
+       {
                Ascii85Encoding,
                AsciiHexEncoding
-       } AsciiEncoding;
+       };
 
        /* Output stream */
        QTextStream   m_stream;
        ColorMode     m_colorMode;
-       AsciiEncoding m_encoding; 
+       AsciiEncoding m_encoding { Ascii85Encoding };
 
        /* Path bounding boxes*/
        QRect m_pathBBox;
@@ -188,18 +189,18 @@
 
        /* Basic drawing functions*/
        void drawVPath( int mode );
-       void drawGradient( VGradientEx& gradient );
-       void drawLinearGradient( VGradientEx& gradient, const QRect& rect );
-       void drawLinearGradient_RGB( VGradientEx& gradient, const QRect& rect );
-       void drawLinearGradient_CMYK( VGradientEx& gradient, const QRect& rect 
);
-       void drawCircularGradient( VGradientEx& gradient, const QRect& rect );
-       void drawCircularGradient_RGB( VGradientEx& gradient, const QRect& rect 
);
-       void drawCircularGradient_CMYK( VGradientEx& gradient, const QRect& 
rect );
-       void getPathBoundingBox(const FPointArray* points, QRect& r );
-       void transformPoint( const FPoint& in, FPoint& out );
-       void transformPoints( const FPoint* in, FPoint* out, uint length );
-
-       void putColor( ScColorShade& colorShade, bool doFill );
+       void drawGradient(const VGradientEx& gradient );
+       void drawLinearGradient(const VGradientEx& gradient, const QRect& rect);
+       void drawLinearGradient_RGB( const VGradientEx& gradient, const QRect& 
rect);
+       void drawLinearGradient_CMYK( const VGradientEx& gradient, const QRect& 
rect);
+       void drawCircularGradient(const VGradientEx& gradient, const QRect& 
rect);
+       void drawCircularGradient_RGB(const VGradientEx& gradient, const QRect& 
rect);
+       void drawCircularGradient_CMYK(const VGradientEx& gradient, const 
QRect& rect);
+       void getPathBoundingBox(const FPointArray* points, QRect& r) const;
+       void transformPoint( const FPoint& in, FPoint& out) const;
+       void transformPoints( const FPoint* in, FPoint* out, uint length) const;
+
+       void putColor(const ScColorShade& colorShade, bool doFill);
 
        unsigned int m_width;
        unsigned int m_height;
@@ -210,47 +211,47 @@
        QFont m_font;
 /* Filling */
        ScColorShade m_fillColor;
-       double m_fillTrans;
-       bool   m_fillRule;
-       int    m_fillMode;                      // 0 = none, 1 = solid, 2 = 
gradient
-
-       double m_patternScaleX;
-       double m_patternScaleY;
-       double m_patternOffsetX;
-       double m_patternOffsetY;
-       double m_patternRotation;
-       double m_patternSkewX;
-       double m_patternSkewY;
-       bool   m_patternMirrorX;
-       bool   m_patternMirrorY;
+       double m_fillTrans { 1.0 };
+       bool   m_fillRule { true };
+       int    m_fillMode { 1 };                        // 0 = none, 1 = solid, 
2 = gradient
+
+       double m_patternScaleX { 1.0 };
+       double m_patternScaleY { 1.0 };
+       double m_patternOffsetX { 0.0 };
+       double m_patternOffsetY { 0.0 };
+       double m_patternRotation { 0.0 };
+       double m_patternSkewX { 0.0 };
+       double m_patternSkewY { 0.0 };
+       bool   m_patternMirrorX { false };
+       bool   m_patternMirrorY { false };
 
 /* Stroking */
        ScColorShade m_strokeColor;
-       double m_strokeTrans;
-       double m_lineWidth;
-       int    m_strokeMode;                            // 0 = none, 1 = solid, 
2 = gradient 3 = pattern
+       double m_strokeTrans { 1.0 };
+       double m_lineWidth { 1.0 };
+       int    m_strokeMode { 0 };                              // 0 = none, 1 
= solid, 2 = gradient 3 = pattern
 /* Line End Style */
-       Qt::PenCapStyle m_lineEnd;
+       Qt::PenCapStyle m_lineEnd { Qt::SquareCap };
 /* Line Join Style */
-       Qt::PenJoinStyle m_lineJoin;
+       Qt::PenJoinStyle m_lineJoin { Qt::RoundJoin };
 /* The Dash Array */
        QVector<double> m_array;
-       double m_offset;
+       double m_offset { 0.0 };
 /* Transformation Stack */
        QStack<QTransform> m_stack;
 
 /* Some data to describe state of drawing */   
-       bool m_pathIsClosed;
-       bool m_drawingClosedPath;
+       bool m_pathIsClosed { false };
+       bool m_drawingClosedPath { false };
 /* Drawing surface dimensions */
-       double m_deviceDimX;
-       double m_deviceDimY;
+       double m_deviceDimX { 0.0 };
+       double m_deviceDimY { 0.0 };
 /* Device resolutions */
-       double m_deviceResX;
-       double m_deviceResY;
+       double m_deviceResX { 0.0 };
+       double m_deviceResY { 0.0 };
 
 /* Color conversion function */
-       void   transformImage( QImage* image, uchar* data, int scan);
+       void   transformImage(QImage* image, uchar* data, int scan) const;
 };
 
 #endif

Modified: trunk/Scribus/scribus/scpainterexbase.h
URL: 
http://scribus.net/websvn/diff.php?repname=Scribus&rev=24713&path=/trunk/Scribus/scribus/scpainterexbase.h
==============================================================================
--- trunk/Scribus/scribus/scpainterexbase.h     (original)
+++ trunk/Scribus/scribus/scpainterexbase.h     Sat Oct  2 20:49:05 2021
@@ -51,19 +51,19 @@
 class SCRIBUS_API ScPainterExBase
 {
 public:
-       virtual ~ScPainterExBase() {};
+       virtual ~ScPainterExBase() = default;
 
        enum FillMode { None, Solid, Gradient, Pattern };
        enum ColorMode { rgbMode = 1, cmykMode = 2 };
        enum ImageMode { cmykImages, rgbImages, rawImages };
        enum Capabilities{ basic = 0, transparencies = 1, patterns = 2 };
 
-       virtual Capabilities capabilities() { return basic; }
+       virtual Capabilities capabilities() const { return basic; }
        virtual bool hasCapability(Capabilities cap) { return ((m_capabilities 
& (int) cap) != 0); }
 
-       virtual int supportedColorModes() = 0;
-       virtual ColorMode preferredColorMode() = 0;
-       virtual ImageMode imageMode() = 0;
+       virtual int supportedColorModes() const = 0;
+       virtual ColorMode preferredColorMode() const = 0;
+       virtual ImageMode imageMode() const = 0;
        
        virtual void begin() = 0;
        virtual void end() = 0;
@@ -72,7 +72,7 @@
 
        // matrix manipulation
        virtual void setWorldMatrix(const QTransform &) = 0;
-       virtual const QTransform worldMatrix() = 0;
+       virtual QTransform worldMatrix() const = 0;
        virtual void translate(double, double) = 0;
        virtual void translate(const QPointF& offset) = 0;
        virtual void rotate(double) = 0;
@@ -86,11 +86,11 @@
        virtual void fillPath() = 0;
        virtual void strokePath() = 0;
        virtual void setFillRule(bool fillRule) = 0;
-       virtual bool fillRule()  = 0;
+       virtual bool fillRule() const = 0;
        virtual void setFillMode(int fill) = 0;
-       virtual int  fillMode() = 0;
+       virtual int  fillMode() const = 0;
        virtual void setStrokeMode(int stroke) = 0;
-       virtual int  strokeMode() = 0;
+       virtual int  strokeMode() const = 0;
        virtual void setGradient(VGradientEx::Type mode, FPoint orig, FPoint 
vec, FPoint foc, double scale, double skew) = 0;
        virtual void setPattern(ScPattern *pattern, double scaleX, double 
scaleY, double offsetX, double offsetY, double rotation, double skewX, double 
skewY, bool mirrorX, bool mirrorY) = 0;
 
@@ -136,15 +136,15 @@
        virtual void setBlendModeFill(int blendMode) = 0;
        virtual void setBlendModeStroke(int blendMode) = 0;
 
-       VGradientEx  m_fillGradient;
-       VGradientEx  m_strokeGradient;
+       VGradientEx  m_fillGradient { VGradientEx::linear };
+       VGradientEx  m_strokeGradient { VGradientEx::linear };
        VGradientEx  m_maskGradient;
        ScPattern*   m_pattern;
        ScPattern*   m_maskPattern;
        QTransform   m_patternTransform;
 
 protected:
-       int m_capabilities;
+       int m_capabilities { 0 };
        ScPainterExBase(void);
 };
 


_______________________________________________
scribus-commit mailing list
[email protected]
http://lists.scribus.net/mailman/listinfo/scribus-commit

Reply via email to