Author: jghali
Date: Sat Oct  2 21:37:15 2021
New Revision: 24717

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

Modified:
    trunk/Scribus/scribus/pdflib_core.cpp
    trunk/Scribus/scribus/pdflib_core.h
    trunk/Scribus/scribus/pdfwriter.cpp
    trunk/Scribus/scribus/pdfwriter.h

Modified: trunk/Scribus/scribus/pdflib_core.cpp
URL: 
http://scribus.net/websvn/diff.php?repname=Scribus&rev=24717&path=/trunk/Scribus/scribus/pdflib_core.cpp
==============================================================================
--- trunk/Scribus/scribus/pdflib_core.cpp       (original)
+++ trunk/Scribus/scribus/pdflib_core.cpp       Sat Oct  2 21:37:15 2021
@@ -121,30 +121,24 @@
        QByteArray m_backBuffer;
        QByteArray m_glyphBuffer;
        QByteArray m_pathBuffer;
-//     PageItem* m_item;
        QMap<QString, PdfFont>  m_UsedFontsP;
        PDFLibCore *m_pdf;
        uint m_PNr;
        const ScPage* m_page;
 
        QByteArray m_prevFontName;
-       int        m_prevFontSize;
-
-       QByteArray transformToStr(const QTransform& tr)
+       int        m_prevFontSize { - 1 };
+
+       QByteArray transformToStr(const QTransform& tr) const
        {
                return FToStr(tr.m11()) + " " + FToStr(-tr.m12()) + " " + 
FToStr(-tr.m21()) + " " + FToStr(tr.m22()) + " " + FToStr(tr.dx()) + " " + 
FToStr(-tr.dy());
        }
 
 public:
-       PdfPainter(PageItem *ite, PDFLibCore *pdf, uint num, const ScPage* pag) 
:
-               m_backBuffer(),
-               m_glyphBuffer(),
-               m_pathBuffer(),
-//             m_item(ite),
+       PdfPainter(PDFLibCore *pdf, uint num, const ScPage* pag) :
                m_pdf(pdf),
                m_PNr(num),
-               m_page(pag),
-               m_prevFontSize(-1)
+               m_page(pag)
        {}
 
        ~PdfPainter() {}
@@ -533,21 +527,8 @@
 PDFLibCore::PDFLibCore(ScribusDoc & docu, const PDFOptions& options)
        : QObject(&docu),
        doc(docu),
-       ActPageP(nullptr),
        Options(options),
-       Bvie(nullptr),
-       ucs2Codec(nullptr),
-       ResNam("RE"),
-       ResCount(0),
-       NDnam("LI"),
-       NDnum(0),
-       spotNam("Spot"),
-       spotCount(0),
-       progressDialog(nullptr),
-       abortExport(false),
-       usingGUI(ScCore->usingGUI()),
-       bleedDisplacementX(0),
-       bleedDisplacementY(0)
+       usingGUI(ScCore->usingGUI())
 {
        Catalog.Outlines = 2;
        Catalog.PageTree = 3;
@@ -578,7 +559,7 @@
 }
 
 
-bool PDFLibCore::PDF_IsPDFX()
+bool PDFLibCore::PDF_IsPDFX() const
 {
        if (Options.Version == PDFVersion::PDF_X1a)
                return true;
@@ -589,7 +570,7 @@
        return false;
 }
 
-bool PDFLibCore::PDF_IsPDFX(const PDFVersion& ver)
+bool PDFLibCore::PDF_IsPDFX(const PDFVersion& ver) const
 {
        if (ver == PDFVersion::PDF_X1a)
                return true;
@@ -709,108 +690,62 @@
 #define PutDoc(s) writer.write(s)
 //#define newObject() writer.newObject()
 
-
-//void PDFLibCore::StartObj(PdfId nr)
-//{
-//     for (int i=XRef.size(); i < nr; ++i)
-//             XRef.append(0);
-//     XRef[nr-1] = bytesWritten();
-//     PutDoc(Pdf::toPdf(nr) + " 0 obj\n");
-//}
-
-//// Encode a string for inclusion in a
-//// PDF (literal) .
-//static QByteArray PDFEncode(const QString & in)
-//{
-//     QByteArray tmp("");
-//     for (int d = 0; d < in.length(); ++d)
-//     {
-//             QChar cc(in.at(d));
-//             if ((cc == '(') || (cc == ')') || (cc == '\\'))
-//                     tmp += '\\';
-//             else if ((cc == '\r') || (cc == '\n'))
-//             {
-//                     tmp += (cc == '\r') ? "\\r" : "\\n";
-//                     continue;
-//             }
-//             tmp += cc;
-//     }
-//     return tmp;
-//}
-
 static QByteArray blendMode(int code)
 {
        switch (code)
        {
                case 0:
-                       return("Normal");
+                       return "Normal";
                        break;
                case 1:
-                       return("Darken");
+                       return "Darken";
                        break;
                case 2:
-                       return("Lighten");
+                       return "Lighten";
                        break;
                case 3:
-                       return("Multiply");
+                       return "Multiply";
                        break;
                case 4:
-                       return("Screen");
+                       return "Screen";
                        break;
                case 5:
-                       return("Overlay");
+                       return "Overlay";
                        break;
                case 6:
-                       return("HardLight");
+                       return "HardLight";
                        break;
                case 7:
-                       return("SoftLight");
+                       return "SoftLight";
                        break;
                case 8:
-                       return("Difference");
+                       return "Difference";
                        break;
                case 9:
-                       return("Exclusion");
+                       return "Exclusion";
                        break;
                case 10:
-                       return("ColorDodge");
+                       return "ColorDodge";
                        break;
                case 11:
-                       return("ColorBurn");
+                       return "ColorBurn";
                        break;
                case 12:
-                       return("Hue");
+                       return "Hue";
                        break;
                case 13:
-                       return("Saturation");
+                       return "Saturation";
                        break;
                case 14:
-                       return("Color");
+                       return "Color";
                        break;
                case 15:
-                       return("Luminosity");
+                       return "Luminosity";
                        break;
                default:
                        return "";
        }
 }
-//
-//QByteArray PDFLibCore::EncodeUTF16(const QString &in)
-//{
-//     QString tmp = in;
-//     QByteArray cres = ucs2Codec->fromUnicode( tmp );
-//#ifndef WORDS_BIGENDIAN
-//     // on little endian systems we need to swap bytes:
-//     uchar sw;
-//     for (int d = 0; d < cres.size() - 1; d += 2)
-//     {
-//             sw = cres[d];
-//             cres[d] = cres[d+1];
-//             cres[d+1] = sw;
-//     }
-//#endif
-//     return cres;
-//}
 
 QByteArray PDFLibCore::EncStream(const QByteArray & in, PdfId ObjNum)
 {
@@ -819,19 +754,6 @@
        if (!Options.Encrypt)
                return in;
        return writer.encryptBytes(in, ObjNum);
-//     rc4_context_t rc4;
-//     QByteArray tmp(in);
-//     QByteArray us(tmp.length(), ' ');
-//     QByteArray ou(tmp.length(), ' ');
-//     for (int a = 0; a < tmp.length(); ++a)
-//             us[a] = (tmp.at(a));
-//     QByteArray step1 = writer.ComputeRC4Key(ObjNum);
-//     rc4_init(&rc4, reinterpret_cast<uchar*>(step1.data()), qMin(KeyLen+5, 
16));
-//     rc4_encrypt(&rc4, reinterpret_cast<uchar*>(us.data()), 
reinterpret_cast<uchar*>(ou.data()), tmp.length());
-//     QString uk = "";
-//     for (int cl = 0; cl < tmp.length(); ++cl)
-//             uk += QChar(ou[cl]);
-//     return ou;
 }
 
 QByteArray PDFLibCore::EncString(const QByteArray & in, PdfId ObjNum)
@@ -840,21 +762,8 @@
                return "<>";
        if (!Options.Encrypt)
        {
-               //tmp = "(" + PDFEncode(in) + ")";
                return Pdf::toLiteralString(in);
        }
-       
-//     rc4_context_t rc4;
-//     QByteArray us(in.length(), ' ');
-//     QByteArray ou(in.length(), ' ');
-//     for (int a = 0; a < in.length(); ++a)
-//             us[a] = static_cast<uchar>(QChar(in.at(a)).cell());
-//     QByteArray step1 = writer.ComputeRC4Key(ObjNum);
-//     rc4_init(&rc4, reinterpret_cast<uchar*>(step1.data()), qMin(KeyLen+5, 
16));
-//     rc4_encrypt(&rc4, reinterpret_cast<uchar*>(us.data()), 
reinterpret_cast<uchar*>(ou.data()), in.length());
-//     QString uk = "";
-//     for (int cl = 0; cl < in.length(); ++cl)
-//             uk += QChar(ou[cl]);
        
        return Pdf::toHexString(writer.encryptBytes(in, ObjNum));
 }
@@ -866,20 +775,10 @@
        if (!Options.Encrypt)
        {
                QByteArray us = Pdf::toUTF16(in);
-//             QString uk = "";
-//             for (int cl = 0; cl < us.size(); ++cl)
-//                     uk += QChar(us[cl]);
                return Pdf::toHexString(us);
        }
-//     rc4_context_t rc4;
+
        QByteArray us = Pdf::toUTF16(in);
-//     QByteArray ou(us.size(), ' ');
-//     QByteArray step1 = writer.ComputeRC4Key(ObjNum);
-//     rc4_init(&rc4, reinterpret_cast<uchar*>(step1.data()), qMin(KeyLen+5, 
16));
-//     rc4_encrypt(&rc4, reinterpret_cast<uchar*>(us.data()), 
reinterpret_cast<uchar*>(ou.data()), ou.size());
-//     QString uk = "";
-//     for (int cl = 0; cl < ou.size(); ++cl)
-//             uk += QChar(ou[cl]);
        QByteArray tmp = Pdf::toHexString(writer.encryptBytes(us, ObjNum));
        return tmp;
 }
@@ -4710,7 +4609,7 @@
                                        radioButtonGroup.kids.append(kid);
                                        break;
                                }
-                               if (!PDF_Annotation(ite, PNr))
+                               if (!PDF_Annotation(ite))
                                        return false;
                                break;
                        }
@@ -5760,37 +5659,6 @@
        return tmp;
 }
 
-/*CB 2982: cache code is borked somehow, original function is above
-QByteArray PDFLibCore::putColor(const QString & colorName, int shade, bool 
fill)
-{
-       // Cache of last foreground and background colours We cache fg and bg
-       // separately because they're alternated so much.  The primary purpose 
of
-       // this cache is to avoid re-caculating the fg and bg colors on each 
char
-       // of text when the color doesn't change.
-       static QString lastFGColorName, lastFGOutput, lastBGColorName, 
lastBGOutput;
-       static int lastFGShade = -1, lastBGShade = -1;
-       if (fill && colorName == lastBGColorName && shade == lastBGShade)
-               return lastBGOutput;
-       else if (colorName == lastFGColorName && shade == lastFGShade)
-               return lastFGOutput;
-       // Cache miss, generate the color
-       else if (fill)
-       {
-               lastBGColorName = colorName;
-               lastBGShade = shade;
-               lastBGOutput = putColorUncached(colorName, shade, fill);
-               return lastBGOutput;
-       }
-       else
-       {
-               lastFGColorName = colorName;
-               lastFGShade = shade;
-               lastFGOutput = putColorUncached(colorName, shade, fill);
-               return lastFGOutput;
-       }
-}
-*/
-
 QByteArray PDFLibCore::putColorUncached(const QString& color, int shade, bool 
fill)
 {
        ScColor tmpC(doc.PageColors[color]);
@@ -5883,7 +5751,7 @@
        return tmp;
 }
 
-QByteArray PDFLibCore::setStrokeMulti(struct SingleLine *sl)
+QByteArray PDFLibCore::setStrokeMulti(const SingleLine *sl)
 {
        QByteArray tmp(
                        putColor(sl->Color, sl->Shade, false) +
@@ -5932,7 +5800,7 @@
        ite->layout();
        ite->OwnPage = savedOwnPage;
        
-       PdfPainter p(ite, this, PNr, pag);
+       PdfPainter p(this, PNr, pag);
        ite->textLayout.renderBackground(&p);
        ite->textLayout.render(&p);
        return p.getBuffer();
@@ -5976,38 +5844,32 @@
                rgb.getValues(h, s, v);
                tmp = FToStr(h) + " " + FToStr(s) + " " + FToStr(v);
        }
-       else
-       {
-               if ((doc.HasCMS) && (Options.UseProfiles))
-               {
-                       if (tmpC.getColorModel() == colorModelCMYK)
-                       {
-                               ScColorEngine::getShadeColorCMYK(tmpC, &doc, 
cmyk, Shade);
-                               cmyk.getValues(h, s, v, k);
-                               tmp = FToStr(h) + " " + FToStr(s) + " " + 
FToStr(v) + " " + FToStr(k);
-                       }
-                       else
-                       {
-                               if (Options.SComp == 3)
-                               {
-                                       ScColorEngine::getShadeColorRGB(tmpC, 
&doc, rgb, Shade);
-                                       rgb.getValues(h, s, v);
-                                       tmp = FToStr(h) + " " + FToStr(s) + " " 
+ FToStr(v);
-                               }
-                               else
-                               {
-                                       ScColorEngine::getShadeColorCMYK(tmpC, 
&doc, cmyk, Shade);
-                                       cmyk.getValues(h, s, v, k);
-                                       tmp = FToStr(h) + " " + FToStr(s) + " " 
+ FToStr(v) + " " + FToStr(k);
-                               }
-                       }
-               }
-               else
+       else if ((doc.HasCMS) && (Options.UseProfiles))
+       {
+               if (tmpC.getColorModel() == colorModelCMYK)
                {
                        ScColorEngine::getShadeColorCMYK(tmpC, &doc, cmyk, 
Shade);
                        cmyk.getValues(h, s, v, k);
                        tmp = FToStr(h) + " " + FToStr(s) + " " + FToStr(v) + " 
" + FToStr(k);
                }
+               else if (Options.SComp == 3)
+               {
+                       ScColorEngine::getShadeColorRGB(tmpC, &doc, rgb, Shade);
+                       rgb.getValues(h, s, v);
+                       tmp = FToStr(h) + " " + FToStr(s) + " " + FToStr(v);
+               }
+               else
+               {
+                       ScColorEngine::getShadeColorCMYK(tmpC, &doc, cmyk, 
Shade);
+                       cmyk.getValues(h, s, v, k);
+                       tmp = FToStr(h) + " " + FToStr(s) + " " + FToStr(v) + " 
" + FToStr(k);
+               }
+       }
+       else
+       {
+               ScColorEngine::getShadeColorCMYK(tmpC, &doc, cmyk, Shade);
+               cmyk.getValues(h, s, v, k);
+               tmp = FToStr(h) + " " + FToStr(s) + " " + FToStr(v) + " " + 
FToStr(k);
        }
        return tmp;
 }
@@ -6023,18 +5885,15 @@
                        tmp = "0.0";
                if (Options.UseRGB)
                        tmp = "0.0 0.0 0.0";
-               else
-               {
-                       if ((doc.HasCMS) && (Options.UseProfiles))
-                       {
-                               if (Options.SComp == 3)
-                                       tmp = "0.0 0.0 0.0";
-                               else
-                                       tmp = "0.0 0.0 0.0 0.0";
-                       }
+               else if ((doc.HasCMS) && (Options.UseProfiles))
+               {
+                       if (Options.SComp == 3)
+                               tmp = "0.0 0.0 0.0";
                        else
                                tmp = "0.0 0.0 0.0 0.0";
                }
+               else
+                       tmp = "0.0 0.0 0.0 0.0";
                return tmp;
        }
        ScColor tmpC(doc.PageColors[farbe]);
@@ -6060,20 +5919,12 @@
                ScColorEngine::getShadeColorRGB(tmpC, &doc, rgb, Shade);
                tmp = FToStr(rgb.r) + " " + FToStr(rgb.g) + " " + FToStr(rgb.b);
        }
-       else
-       {
-               if ((doc.HasCMS) && (Options.UseProfiles))
-               {
-                       if (Options.SComp == 3)
-                       {
-                               ScColorEngine::getShadeColorRGB(tmpC, &doc, 
rgb, Shade);
-                               tmp = FToStr(rgb.r) + " " + FToStr(rgb.g) + " " 
+ FToStr(rgb.b);
-                       }
-                       else
-                       {
-                               ScColorEngine::getShadeColorCMYK(tmpC, &doc, 
cmyk, Shade);
-                               tmp = FToStr(cmyk.c) + " " + FToStr(cmyk.m) + " 
" + FToStr(cmyk.y) + " " + FToStr(cmyk.k);
-                       }
+       else if ((doc.HasCMS) && (Options.UseProfiles))
+       {
+               if (Options.SComp == 3)
+               {
+                       ScColorEngine::getShadeColorRGB(tmpC, &doc, rgb, Shade);
+                       tmp = FToStr(rgb.r) + " " + FToStr(rgb.g) + " " + 
FToStr(rgb.b);
                }
                else
                {
@@ -6081,10 +5932,15 @@
                        tmp = FToStr(cmyk.c) + " " + FToStr(cmyk.m) + " " + 
FToStr(cmyk.y) + " " + FToStr(cmyk.k);
                }
        }
+       else
+       {
+               ScColorEngine::getShadeColorCMYK(tmpC, &doc, cmyk, Shade);
+               tmp = FToStr(cmyk.c) + " " + FToStr(cmyk.m) + " " + 
FToStr(cmyk.y) + " " + FToStr(cmyk.k);
+       }
        return tmp;
 }
 
-QByteArray PDFLibCore::SetClipPath(PageItem *ite, bool poly)
+QByteArray PDFLibCore::SetClipPath(const PageItem *ite, bool poly)
 {
        QByteArray tmp;
        FPoint np, np1, np2, np3, np4, firstP;
@@ -6128,7 +5984,7 @@
        return tmp;
 }
 
-QByteArray PDFLibCore::SetClipPathArray(FPointArray *ite, bool poly)
+QByteArray PDFLibCore::SetClipPathArray(const FPointArray *ite, bool poly)
 {
        QByteArray tmp;
        FPoint np, np1, np2, np3, np4, firstP;
@@ -6172,7 +6028,7 @@
        return tmp;
 }
 
-QByteArray PDFLibCore::SetClipPathImage(PageItem *ite)
+QByteArray PDFLibCore::SetClipPathImage(const PageItem *ite)
 {
        QByteArray tmp;
        if (ite->imageClip.size() <= 3)
@@ -6809,19 +6665,19 @@
        return true;
 }
 
-quint32 PDFLibCore::encode32dVal(double val)
+quint32 PDFLibCore::encode32dVal(double val) const
 {
        quint32 res = static_cast<quint32>(((val - (-40000.0)) / 80000.0) * 
0xFFFFFFFF);
        return res;
 }
 
-quint16 PDFLibCore::encode16dVal(double val)
+quint16 PDFLibCore::encode16dVal(double val) const
 {
        quint16 m = val * 0xFFFF;
        return m;
 }
 
-void PDFLibCore::encodeColor(QDataStream &vs, const QString& colName, int 
colShade, QStringList &spotColorSet, bool spotMode)
+void PDFLibCore::encodeColor(QDataStream &vs, const QString& colName, int 
colShade, const QStringList &spotColorSet, bool spotMode)
 {
        if (spotMode)
        {
@@ -6870,12 +6726,7 @@
        QStringList tmpAddedColors;
        bool spotMode = false;
        bool transparencyFound = false;
-       StopVec.clear();
-       TransVec.clear();
-       Gcolors.clear();
-       colorNames.clear();
-       colorShades.clear();
-       tmpAddedColors.clear();
+
        for (int grow = 0; grow < c->meshGradientArray.count(); grow++)
        {
                for (int gcol = 0; gcol < c->meshGradientArray[grow].count(); 
gcol++)
@@ -7542,11 +7393,11 @@
                }
                Gcolors.append(SetGradientColor(cstops.at(cst)->name, 
cstops.at(cst)->shade));
        }
-       QPointF cP = QPointF(c->GrControl5.x(), -c->GrControl5.y());
-       QLineF edge1 = QLineF(cP, QPointF(c->GrControl1.x(), 
-c->GrControl1.y()));
-       QLineF edge2 = QLineF(cP, QPointF(c->GrControl2.x(), 
-c->GrControl2.y()));
-       QLineF edge3 = QLineF(cP, QPointF(c->GrControl3.x(), 
-c->GrControl3.y()));
-       QLineF edge4 = QLineF(cP, QPointF(c->GrControl4.x(), 
-c->GrControl4.y()));
+       QPointF cP(c->GrControl5.x(), -c->GrControl5.y());
+       QLineF edge1(cP, QPointF(c->GrControl1.x(), -c->GrControl1.y()));
+       QLineF edge2(cP, QPointF(c->GrControl2.x(), -c->GrControl2.y()));
+       QLineF edge3(cP, QPointF(c->GrControl3.x(), -c->GrControl3.y()));
+       QLineF edge4(cP, QPointF(c->GrControl4.x(), -c->GrControl4.y()));
        QByteArray TRes("");
        if (Options.supportsTransparency() && transparencyFound)
        {
@@ -8353,7 +8204,8 @@
        }
        double lastStop = -1.0;
        double actualStop = 0.0;
-       bool   isFirst = true, transparencyFound = false;
+       bool   isFirst = true;
+       bool   transparencyFound = false;
        for (int cst = 0; cst < gradient.stops(); ++cst)
        {
                actualStop = cstops.at(cst)->rampPoint;
@@ -8692,7 +8544,7 @@
        QByteArray tmp;
        if (Options.supportsTransparency() && transparencyFound)
                tmp += Pdf::toName(TRes) + " gs\n";
-       if ((forArrow) || (!stroke))
+       if (forArrow || (!stroke))
        {
                tmp += "/Pattern cs\n";
                tmp += "/Pattern" + Pdf::toPdf(patObject) + " scn\n";
@@ -9025,7 +8877,7 @@
        return annotationObj;
 }
 
-bool PDFLibCore::PDF_Annotation(PageItem *ite, uint PNr)
+bool PDFLibCore::PDF_Annotation(PageItem *ite)
 {
        ScImage img;
        ScImage img2;
@@ -9909,7 +9761,7 @@
        BookMinUse = true;
 }
 
-bool PDFLibCore::PDF_EmbeddedPDF(PageItem* c, const QString& fn, double sx, 
double sy, double x, double y, bool fromAN, ShIm& imgInfo, bool &fatalError)
+bool PDFLibCore::PDF_EmbeddedPDF(PageItem* c, const QString& fn, double sx, 
double sy, double x, double y, ShIm& imgInfo, bool &fatalError)
 {
        if (!Options.embedPDF)
                return false;
@@ -10346,13 +10198,12 @@
 */
 bool PDFLibCore::PDF_Image(PageItem* item, const QString& fn, double sx, 
double sy, double x, double y, bool fromAN, const QString& Profil, bool 
Embedded, eRenderIntent Intent, QByteArray* output)
 {
-       QFileInfo fi = QFileInfo(fn);
+       QFileInfo fi(fn);
        QString ext = fi.suffix().toLower();
        if (ext.isEmpty())
                ext = getImageType(fn);
        ScImage img;
        QString BBox;
-//     QChar  tc;
        bool   found = false;
        bool   alphaM = false;
        bool   realCMYK = false;
@@ -10407,13 +10258,13 @@
                                opts.append( "-dAutoRotatePages=/None" ); // 
#14289: otherwise EPS might come out rotated
                                if (convertPS2PDF(fn, tmpFile, opts) == 0)
                                {
-                                       imageLoaded = PDF_EmbeddedPDF(item, 
tmpFile, sx, sy, x, y, fromAN, ImInfo, fatalError);
+                                       imageLoaded = PDF_EmbeddedPDF(item, 
tmpFile, sx, sy, x, y, ImInfo, fatalError);
                                        QFile::remove(tmpFile);
                                }
                                pdfFile = tmpFile;
                        }
                        else
-                               imageLoaded = PDF_EmbeddedPDF(item, fn, sx, sy, 
x, y, fromAN, ImInfo, fatalError);
+                               imageLoaded = PDF_EmbeddedPDF(item, fn, sx, sy, 
x, y, ImInfo, fatalError);
                        ImInfo.isEmbeddedPDF = true;
                        ImInfo.Page = item->pixm.imgInfo.actualPageNumber;
                }
@@ -10861,7 +10712,7 @@
                                                cm = 
PDFOptions::Compression_ZIP;
                                }*/
                        }
-                       if ((hasGrayProfile) && (doc.HasCMS) && 
(Options.UseProfiles2) && (!hasColorEffect))
+                       if (hasGrayProfile && doc.HasCMS && 
Options.UseProfiles2 && (!hasColorEffect))
                                exportToGrayscale = true;
                        int bytesWritten = 0;
                        // Fixme: outType variable should be set directly in 
the if/else maze above.
@@ -10973,7 +10824,7 @@
        {
                if (item->imageRotation())
                {
-                       embedPre += "1 0 0 1 " + FToStr(x*sx) + " " + 
FToStr((-ImInfo.Height * ImInfo.sya + y * sy)) + " cm\n";
+                       embedPre += "1 0 0 1 " + FToStr(x*sx) + " " + 
FToStr(-ImInfo.Height * ImInfo.sya + y * sy) + " cm\n";
                        QTransform mpa;
                        mpa.rotate(-item->imageRotation());
                        embedPre += "1 0 0 1 0 " + FToStr(ImInfo.Height * 
ImInfo.sya) + " cm\n";
@@ -10982,7 +10833,7 @@
                        embedPre += FToStr(ImInfo.Width * ImInfo.sxa) + " 0 0 " 
+ FToStr(ImInfo.Height * ImInfo.sya) + " 0 0 cm\n";
                }
                else
-                       embedPre += FToStr(ImInfo.Width * ImInfo.sxa) + " 0 0 " 
+ FToStr(ImInfo.Height * ImInfo.sya) + " " + FToStr(x * sx) + " " + 
FToStr((-ImInfo.Height * ImInfo.sya + y * sy)) + " cm\n";
+                       embedPre += FToStr(ImInfo.Width * ImInfo.sxa) + " 0 0 " 
+ FToStr(ImInfo.Height * ImInfo.sya) + " " + FToStr(x * sx) + " " + 
FToStr(-ImInfo.Height * ImInfo.sya + y * sy) + " cm\n";
                *output = embedPre + Pdf::toName(ResNam + "I" + 
Pdf::toPdf(ImInfo.ResNum)) + " Do\n";
        }
        else if (output)

Modified: trunk/Scribus/scribus/pdflib_core.h
URL: 
http://scribus.net/websvn/diff.php?repname=Scribus&rev=24717&path=/trunk/Scribus/scribus/pdflib_core.h
==============================================================================
--- trunk/Scribus/scribus/pdflib_core.h (original)
+++ trunk/Scribus/scribus/pdflib_core.h Sat Oct  2 21:37:15 2021
@@ -92,8 +92,8 @@
                QMap<int, ImageLoadRequest> RequestProps;
        };
 
-       bool PDF_IsPDFX();
-       bool PDF_IsPDFX(const PDFVersion& ver);
+       bool PDF_IsPDFX() const;
+       bool PDF_IsPDFX(const PDFVersion& ver) const;
 
        bool PDF_Begin_Doc(const QString& fn, SCFonts &AllFonts, const 
QMap<QString, QMap<uint, QString> >& DocFonts, BookmarkView* vi);
        void PDF_Begin_Catalog();
@@ -150,7 +150,6 @@
        void PDF_Error_MaskLoadFailure(const QString& fileName);
        void PDF_Error_InsufficientMemory();
 
-//     QByteArray EncodeUTF16(const QString &in);
        QByteArray EncStream(const QByteArray & in, PdfId ObjNum);
        QByteArray EncString(const QByteArray & in, PdfId ObjNum);
        QByteArray EncStringUTF16(const QString & in, PdfId ObjNum);
@@ -165,15 +164,15 @@
 //     void    CalcUserKey(const QString & User, int Permission);
 //     QString FitKey(const QString & pass);
 
-       QByteArray SetClipPath(PageItem *ite, bool poly = true);
-       QByteArray SetClipPathArray(FPointArray *ite, bool poly = true);
-       QByteArray SetClipPathImage(PageItem *ite);
+       QByteArray SetClipPath(const PageItem *ite, bool poly = true);
+       QByteArray SetClipPathArray(const FPointArray *ite, bool poly = true);
+       QByteArray SetClipPathImage(const PageItem *ite);
 
        QByteArray SetImagePathAndClip(PageItem *item);
        QByteArray SetPathAndClip(PageItem *item);
        QByteArray SetPathAndClip(PageItem *item, bool fillRule);
        
-       QByteArray setStrokeMulti(struct SingleLine *sl);
+       QByteArray setStrokeMulti(const SingleLine *sl);
        QByteArray SetColor(const QString& farbe, double Shade);
        QByteArray SetColor(const ScColor& farbe, double Shade);
        QByteArray SetGradientColor(const QString& farbe, double Shade);
@@ -193,7 +192,6 @@
 //     void PutDoc(const std::string & in) { 
outStream.writeRawData(in.c_str(), in.length()); }
 
        void       PutPage(const QByteArray & in) { Content += in; }
-//     void       StartObj(PdfId nr);
 //     uint       newObject() { return ObjCounter++; }
        uint       WritePDFStream(const QByteArray& cc);
        uint       WritePDFStream(const QByteArray& cc, PdfId objId);
@@ -203,9 +201,6 @@
        uint       writeObject(const QByteArray& type, const QByteArray& 
dictionary);
        uint       writeGState(QByteArray dictionary) { return 
writeObject("/ExtGState", dictionary); }
        uint       writeActions(const Annotation&, uint annotationObj);
-//     QString    PDFEncode(const QString & in);
-//     QByteArray ComputeMD5(const QString& in);
-//     QByteArray ComputeRC4Key(PdfId ObjNum);
 
        QByteArray PDF_PutSoftShadow(PageItem* ite);
        bool    PDF_ProcessItem(QByteArray& output, PageItem* ite, const 
ScPage* pag, uint PNr, bool embedded = false, bool pattern = false);
@@ -224,19 +219,19 @@
 #endif
        void    PDF_RadioButtonGroups();
        uint    PDF_RadioButton(PageItem *ite, uint parent, const QString& 
parentName);
-       bool    PDF_Annotation(PageItem *ite, uint PNr);
+       bool    PDF_Annotation(PageItem *ite);
        void    PDF_Form(const QByteArray& im);
        void    PDF_xForm(uint objNr, double w, double h, const QByteArray& im);
        bool    PDF_Image(PageItem* c, const QString& fn, double sx, double sy, 
double x, double y, bool fromAN = false, const QString& Profil = "", bool 
Embedded = false, eRenderIntent Intent = Intent_Relative_Colorimetric, 
QByteArray* output = nullptr);
-       bool    PDF_EmbeddedPDF(PageItem* c, const QString& fn, double sx, 
double sy, double x, double y, bool fromAN, ShIm& imgInfo, bool &fatalError);
+       bool    PDF_EmbeddedPDF(PageItem* c, const QString& fn, double sx, 
double sy, double x, double y, ShIm& imgInfo, bool &fatalError);
 #if HAVE_PODOFO
        void copyPoDoFoObject(const PoDoFo::PdfObject* obj, uint scObjID, 
QMap<PoDoFo::PdfReference, uint>& importedObjects);
        void copyPoDoFoDirect(const PoDoFo::PdfVariant* obj, 
QList<PoDoFo::PdfReference>& referencedObjects, QMap<PoDoFo::PdfReference, 
uint>& importedObjects);
 #endif
 
-       quint32 encode32dVal(double val);
-       quint16 encode16dVal(double val);
-       void    encodeColor(QDataStream &vs, const QString& colName, int 
colShade, QStringList &spotColorSet, bool spotMode);
+       quint32 encode32dVal(double val) const;
+       quint16 encode16dVal(double val) const;
+       void    encodeColor(QDataStream &vs, const QString& colName, int 
colShade, const QStringList &spotColorSet, bool spotMode);
 
        QByteArray drawArrow(PageItem *ite, QTransform &arrowTrans, int 
arrowIndex);
        QByteArray createBorderAppearance(PageItem *ite);
@@ -256,9 +251,9 @@
        QByteArray Content;
        QString ErrorMessage;
        ScribusDoc & doc;
-       const ScPage * ActPageP;
+       const ScPage * ActPageP { nullptr };
        const PDFOptions & Options;
-       BookmarkView* Bvie;
+       BookmarkView* Bvie { nullptr };
        //int Dokument;
        QMap<QString,ShIm> SharedImages;
        QList<PdfDest> NamedDest;
@@ -268,35 +263,28 @@
        Pdf::ResourceMap Transpar;
        QMap<QString,PdfICCD> ICCProfiles;
        QHash<QString, PdfOCGInfo> OCGEntries;
-       QTextCodec* ucs2Codec;
-       QByteArray ResNam;
-       int ResCount;
-       QByteArray NDnam;
+       QTextCodec* ucs2Codec { nullptr };
+       QByteArray ResNam { "RE" };
+       int ResCount { 0 };
+       QByteArray NDnam { "LI" };
        QByteArray Datum;
-       int NDnum;
+       int NDnum { 0 };
        QMap<QString, PdfFont> UsedFontsP;
        QMap<QString, PdfFont> UsedFontsF;
-//     QByteArray KeyGen;
-//     QByteArray OwnerKey;
-//     QByteArray UserKey;
-//     QByteArray FileID;
-//     QByteArray EncryKey;
-//     PdfId Encrypt;
-//     int KeyLen;
        QByteArray HTName;
-       bool BookMinUse;
+       bool BookMinUse { false };
        ColorList colorsToUse;
        QMap<QString, PdfSpotC> spotMap;
        QMap<QString, PdfSpotC> spotMapReg;
-       QByteArray spotNam;
-       int spotCount;
-       int inPattern;
+       QByteArray spotNam { "Spot" };
+       int spotCount { 0 };
+       int inPattern { 0 };
        QMap<QString, QString> StdFonts;
-       MultiProgressDialog* progressDialog;
-       bool abortExport;
+       MultiProgressDialog* progressDialog { nullptr };
+       bool abortExport { false };
        bool usingGUI;
-       double bleedDisplacementX;
-       double bleedDisplacementY;
+       double bleedDisplacementX { 0.0 };
+       double bleedDisplacementY { 0.0 };
        QByteArray xmpPacket;
        QStack<QPointF> groupStackPos;
        QStack<QPointF> patternStackPos;

Modified: trunk/Scribus/scribus/pdfwriter.cpp
URL: 
http://scribus.net/websvn/diff.php?repname=Scribus&rev=24717&path=/trunk/Scribus/scribus/pdfwriter.cpp
==============================================================================
--- trunk/Scribus/scribus/pdfwriter.cpp (original)
+++ trunk/Scribus/scribus/pdfwriter.cpp Sat Oct  2 21:37:15 2021
@@ -65,29 +65,29 @@
                                switch (cell)
                                {
                                        case 0x92:
-                                               return (134);
+                                               return 134;
                                        case 0x41:
-                                               return (149);
+                                               return 149;
                                        case 0x52:
-                                               return (150);
+                                               return 150;
                                        case 0x60:
-                                               return (151);
+                                               return 151;
                                        case 0x78:
-                                               return (152);
+                                               return 152;
                                        case 0x7d:
-                                               return (153);
+                                               return 153;
                                        case 0x31:
-                                               return (154);
+                                               return 154;
                                        case 0x42:
-                                               return (155);
+                                               return 155;
                                        case 0x53:
-                                               return (156);
+                                               return 156;
                                        case 0x61:
-                                               return (157);
+                                               return 157;
                                        case 0x7e:
-                                               return (158);
+                                               return 158;
                                        default:
-                                               return (0);
+                                               return 0;
                                                break;
                                }
                                break;
@@ -96,23 +96,23 @@
                                switch (cell)
                                {
                                        case 0xc7:
-                                               return (25);
+                                               return 25;
                                        case 0xc6:
-                                               return (26);
+                                               return 26;
                                        case 0xd8:
-                                               return (24);
+                                               return 24;
                                        case 0xd9:
-                                               return (27);
+                                               return 27;
                                        case 0xda:
-                                               return (30);
+                                               return 30;
                                        case 0xdb:
-                                               return (29);
+                                               return 29;
                                        case 0xdc:
-                                               return (31);
+                                               return 31;
                                        case 0xdd:
-                                               return (28);
+                                               return 28;
                                        default:
-                                               return (0);
+                                               return 0;
                                                break;
                                }
                                break;
@@ -121,42 +121,42 @@
                                switch (cell)
                                {
                                        case 0x13:
-                                               return (133);
+                                               return 133;
                                        case 0x14:
-                                               return (132);
+                                               return 132;
                                        case 0x18:
-                                               return (143);
+                                               return 143;
                                        case 0x19:
-                                               return (144);
+                                               return 144;
                                        case 0x1a:
-                                               return (145);
+                                               return 145;
                                        case 0x1c:
-                                               return (141);
+                                               return 141;
                                        case 0x1d:
-                                               return (142);
+                                               return 142;
                                        case 0x1e:
-                                               return (140);
+                                               return 140;
                                        case 0x20:
-                                               return (129);
+                                               return 129;
                                        case 0x21:
-                                               return (130);
+                                               return 130;
                                        case 0x22:
-                                               return (128);
+                                               return 128;
                                        case 0x26:
-                                               return (131);
+                                               return 131;
                                        case 0x30:
-                                               return (139);
+                                               return 139;
                                        case 0x39:
-                                               return (136);
+                                               return 136;
                                        case 0x3a:
-                                               return (137);
+                                               return 137;
                                        case 0x44:
-                                               return (135);
+                                               return 135;
                                        case 0xac:
-                                               return (160);
+                                               return 160;
                                                
                                        default:
-                                               return (0);
+                                               return 0;
                                                break;
                                }
                                break;
@@ -165,9 +165,9 @@
                                switch (cell)
                                {
                                        case 0x22:
-                                               return (146);
+                                               return 146;
                                        default:
-                                               return (0);
+                                               return 0;
                                                break;
                                }
                                break;
@@ -176,9 +176,9 @@
                                switch (cell)
                                {
                                        case 0x12:
-                                               return (138);
+                                               return 138;
                                        default:
-                                               return (0);
+                                               return 0;
                                                break;
                                }
                                break;
@@ -187,11 +187,11 @@
                                switch (cell)
                                {
                                        case 0x01:
-                                               return (147);
+                                               return 147;
                                        case 0x02:
-                                               return (148);
+                                               return 148;
                                        default:
-                                               return (0);
+                                               return 0;
                                                break;
                                }
                                break;
@@ -470,26 +470,6 @@
 
        Writer::Writer()
        {
-               CatalogObj = 1;
-               InfoObj = 2;
-               PagesObj = 3;
-               AcroFormObj = 0;
-               DestsObj = 0;
-               OutlinesObj = 0;
-               NamesObj = 0;
-               ThreadsObj = 0;
-               
-               OCPropertiesObj = 0;
-               OutputIntentObj = 0;
-               EncryptObj = 0;
-               MetaDataObj = 0;
-               ResourcesObj = 0;
-               OpenActionObj = 0;
-               
-               m_ObjCounter = 0;
-               m_CurrentObj = 0;
-               
-               m_KeyLen = 5;
                m_KeyGen.resize(32);
                m_OwnerKey.resize(32);
                m_UserKey.resize(32);
@@ -718,15 +698,6 @@
                }
        }
        
-//     QByteArray PDFLibCore::ComputeMD5(const QString& in)
-//     {
-//             uint inlen=in.length();
-//             QByteArray TBytes(inlen, ' ');
-//             for (uint a = 0; a < inlen; ++a)
-//                     TBytes[a] = static_cast<uchar>(QChar(in.at(a)).cell());
-//             return QCryptographicHash::hash(TBytes, 
QCryptographicHash::Md5);
-//     }
-       
        void Writer::writeHeader(const PDFVersion& Version)
        {
                switch (Version)

Modified: trunk/Scribus/scribus/pdfwriter.h
URL: 
http://scribus.net/websvn/diff.php?repname=Scribus&rev=24717&path=/trunk/Scribus/scribus/pdfwriter.h
==============================================================================
--- trunk/Scribus/scribus/pdfwriter.h   (original)
+++ trunk/Scribus/scribus/pdfwriter.h   Sat Oct  2 21:37:15 2021
@@ -171,18 +171,12 @@
        QByteArray encryptBytes(const QByteArray& in, PdfId objNum);
        
        QByteArray ComputeRC4Key(PdfId ObjNum);
-private:
-       void CalcOwnerKey(const QByteArray & Owner, const QByteArray & User);
-       void CalcUserKey(const QByteArray & User, int Permission);
-       QByteArray FitKey(const QByteArray & pass);
-public:
        
        // writing
        void writeHeader(const PDFVersion& vers);
        void writeXrefAndTrailer();
        void write(const QByteArray& bytes);
        void write(const Pdf::ResourceDictionary& dict);
-       void write(const PdfFont font);
 
        // objects
        PdfId objectCounter() const { return m_ObjCounter; }
@@ -202,24 +196,24 @@
        
        
        // private:
-       PdfId CatalogObj; // 1
-       PdfId InfoObj; // 2
-       PdfId PagesObj; // 3
-       PdfId AcroFormObj;
-       PdfId DestsObj; 
-       PdfId OutlinesObj;
-       PdfId NamesObj;
-       PdfId ThreadsObj;
-       PdfId OCPropertiesObj; // (9)
-       PdfId OutputIntentObj; // (9 or 10)
-       PdfId EncryptObj; 
-       PdfId MetaDataObj;
-       PdfId ResourcesObj;
-       PdfId OpenActionObj;
+       PdfId CatalogObj { 1 }; // 1
+       PdfId InfoObj { 2 }; // 2
+       PdfId PagesObj { 3 }; // 3
+       PdfId AcroFormObj { 0 };
+       PdfId DestsObj { 0 };
+       PdfId OutlinesObj { 0 };
+       PdfId NamesObj { 0 };
+       PdfId ThreadsObj { 0 };
+       PdfId OCPropertiesObj { 0 }; // (9)
+       PdfId OutputIntentObj { 0 }; // (9 or 10)
+       PdfId EncryptObj { 0 }; 
+       PdfId MetaDataObj { 0 };
+       PdfId ResourcesObj { 0 };
+       PdfId OpenActionObj { 0 };
        
 private:
-       PdfId m_ObjCounter;
-       PdfId m_CurrentObj;
+       PdfId m_ObjCounter { 0 };
+       PdfId m_CurrentObj { 0 };
        
        QFile m_Spool;
        QDataStream m_outStream;
@@ -231,8 +225,11 @@
        QByteArray m_UserKey;
        QByteArray m_FileID;
        QByteArray m_EncryKey;
-       int m_KeyLen;
-
+       int m_KeyLen { 5 };
+
+       void CalcOwnerKey(const QByteArray& Owner, const QByteArray& User);
+       void CalcUserKey(const QByteArray& User, int Permission);
+       QByteArray FitKey(const QByteArray& pass);
 };
 
 }


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

Reply via email to