Author: jghali
Date: Tue Dec 10 08:02:16 2019
New Revision: 23413

URL: http://scribus.net/websvn/listing.php?repname=Scribus&sc=1&rev=23413
Log:
Move clip update code for line items to a proper PageItem_Line function 

Modified:
    trunk/Scribus/scribus/pageitem.cpp
    trunk/Scribus/scribus/pageitem_line.cpp
    trunk/Scribus/scribus/pageitem_line.h
    trunk/Scribus/scribus/plugins/fileloader/scribus12format/scribus12format.cpp
    
trunk/Scribus/scribus/plugins/fileloader/scribus134format/scribus134format.cpp
    trunk/Scribus/scribus/plugins/fileloader/scribus13format/scribus13format.cpp
    
trunk/Scribus/scribus/plugins/fileloader/scribus150format/scribus150format.cpp
    trunk/Scribus/scribus/scribusdoc.cpp

Modified: trunk/Scribus/scribus/pageitem.cpp
URL: 
http://scribus.net/websvn/diff.php?repname=Scribus&rev=23413&path=/trunk/Scribus/scribus/pageitem.cpp
==============================================================================
--- trunk/Scribus/scribus/pageitem.cpp  (original)
+++ trunk/Scribus/scribus/pageitem.cpp  Tue Dec 10 08:02:16 2019
@@ -50,6 +50,7 @@
 #include "pageitem_arc.h"
 #include "pageitem_group.h"
 #include "pageitem_latexframe.h"
+#include "pageitem_line.h"
 #include "pageitem_noteframe.h"
 #include "pageitem_regularpolygon.h"
 #include "pageitem_spiral.h"
@@ -537,11 +538,11 @@
        switch (m_itemType)
        {
                case Polygon:
-                       Clip.setPoints(4, static_cast<int>(w/2), 0, 
static_cast<int>(w), static_cast<int>(h/2),
-                                                               
static_cast<int>(w/2), static_cast<int>(h), 0,static_cast<int>(h/2));
+                       Clip.setPoints(4, static_cast<int>(w / 2), 0, 
static_cast<int>(w), static_cast<int>(h / 2),
+                                                               
static_cast<int>(w / 2), static_cast<int>(h), 0, static_cast<int>(h / 2));
                        break;
                default:
-                       Clip.setPoints(4, 0,0, static_cast<int>(w),0, 
static_cast<int>(w), static_cast<int>(h), 0,static_cast<int>(h));
+                       Clip.setPoints(4, 0, 0, static_cast<int>(w), 0, 
static_cast<int>(w), static_cast<int>(h), 0, static_cast<int>(h));
                        break;
        }
        PoLine.resize(0);
@@ -10271,9 +10272,11 @@
        switch (itemType())
        {
        case PageItem::Line:
-               Clip.setPoints(4, -ph,-ph, static_cast<int>(width() + ph),-ph,
-                                 static_cast<int>(width() + ph), 
static_cast<int>(height() + ph),
-                                 -ph, static_cast<int>(height() + ph));
+               {
+                       PageItem_Line* lineItem = asLine();
+                       if (lineItem)
+                               lineItem->setLineClip();
+               }
                break;
        default:
                if (((!ClipEdited) || (FrameType < 3)) && !(asPathText()))

Modified: trunk/Scribus/scribus/pageitem_line.cpp
URL: 
http://scribus.net/websvn/diff.php?repname=Scribus&rev=23413&path=/trunk/Scribus/scribus/pageitem_line.cpp
==============================================================================
--- trunk/Scribus/scribus/pageitem_line.cpp     (original)
+++ trunk/Scribus/scribus/pageitem_line.cpp     Tue Dec 10 08:02:16 2019
@@ -174,6 +174,15 @@
        return QPointF(x, y);
 }
 
+void PageItem_Line::setLineClip()
+{
+       int ph = static_cast<int>(qMax(1.0, m_lineWidth / 2.0));
+       Clip.setPoints(4, -ph,-ph,
+                         static_cast<int>(width() + ph), -ph,
+                         static_cast<int>(width() + ph), 
static_cast<int>(height() + ph),
+                         -ph, static_cast<int>(height() + ph));
+}
+
 void PageItem_Line::getBoundingRect(double *x1, double *y1, double *x2, double 
*y2) const
 {
        double minx =  std::numeric_limits<double>::max();

Modified: trunk/Scribus/scribus/pageitem_line.h
URL: 
http://scribus.net/websvn/diff.php?repname=Scribus&rev=23413&path=/trunk/Scribus/scribus/pageitem_line.h
==============================================================================
--- trunk/Scribus/scribus/pageitem_line.h       (original)
+++ trunk/Scribus/scribus/pageitem_line.h       Tue Dec 10 08:02:16 2019
@@ -49,6 +49,8 @@
        QPointF startPoint();
        QPointF endPoint();
 
+       void setLineClip();
+
        void getBoundingRect(double *x1, double *y1, double *x2, double *y2) 
const override;
        void getOldBoundingRect(double *x1, double *y1, double *x2, double *y2) 
const override;
        void getVisualBoundingRect(double *x1, double *y1, double *x2, double 
*y2) const override;

Modified: 
trunk/Scribus/scribus/plugins/fileloader/scribus12format/scribus12format.cpp
URL: 
http://scribus.net/websvn/diff.php?repname=Scribus&rev=23413&path=/trunk/Scribus/scribus/plugins/fileloader/scribus12format/scribus12format.cpp
==============================================================================
--- 
trunk/Scribus/scribus/plugins/fileloader/scribus12format/scribus12format.cpp    
    (original)
+++ 
trunk/Scribus/scribus/plugins/fileloader/scribus12format/scribus12format.cpp    
    Tue Dec 10 08:02:16 2019
@@ -13,6 +13,7 @@
 #include "ui/missing.h"
 #include "prefsmanager.h"
 #include "pageitem_latexframe.h"
+#include "pageitem_line.h"
 #include "pageitem_group.h"
 #include "qtiocompressor.h"
 #include "scconfig.h"
@@ -543,10 +544,8 @@
                int ph = static_cast<int>(qMax(1.0, currItem->lineWidth() / 
2.0));
                currItem->Segments.clear();
                currItem->PoLine.resize(0);
-               currItem->Clip.setPoints(4, -ph,-ph, 
static_cast<int>(currItem->width()+ph),-ph,
-                                 
static_cast<int>(currItem->width()+ph),static_cast<int>(currItem->height()+ph),
-                                 -ph,static_cast<int>(currItem->height()+ph));
                currItem->setHeight(1.0);
+               currItem->asLine()->setLineClip();
        }
        // OBSOLETE CR 2005-02-06
        if (currItem->itemType() == PageItem::ItemType1)

Modified: 
trunk/Scribus/scribus/plugins/fileloader/scribus134format/scribus134format.cpp
URL: 
http://scribus.net/websvn/diff.php?repname=Scribus&rev=23413&path=/trunk/Scribus/scribus/plugins/fileloader/scribus134format/scribus134format.cpp
==============================================================================
--- 
trunk/Scribus/scribus/plugins/fileloader/scribus134format/scribus134format.cpp  
    (original)
+++ 
trunk/Scribus/scribus/plugins/fileloader/scribus134format/scribus134format.cpp  
    Tue Dec 10 08:02:16 2019
@@ -15,6 +15,7 @@
 #include "ui/missing.h"
 #include "hyphenator.h"
 #include "pageitem_latexframe.h"
+#include "pageitem_line.h"
 #include "pageitem_table.h"
 #include "prefsmanager.h"
 #include "qtiocompressor.h"
@@ -3011,10 +3012,8 @@
                int ph = static_cast<int>(qMax(1.0, currItem->lineWidth() / 
2.0));
                currItem->Segments.clear();
                currItem->PoLine.resize(0);
-               currItem->Clip.setPoints(4, -ph,-ph, 
static_cast<int>(currItem->width()+ph),-ph,
-                                 
static_cast<int>(currItem->width()+ph),static_cast<int>(currItem->height()+ph),
-                                 -ph,static_cast<int>(currItem->height()+ph));
                currItem->setHeight(1.0);
+               currItem->asLine()->setLineClip();
        }
 
        if (currItem->asPathText())

Modified: 
trunk/Scribus/scribus/plugins/fileloader/scribus13format/scribus13format.cpp
URL: 
http://scribus.net/websvn/diff.php?repname=Scribus&rev=23413&path=/trunk/Scribus/scribus/plugins/fileloader/scribus13format/scribus13format.cpp
==============================================================================
--- 
trunk/Scribus/scribus/plugins/fileloader/scribus13format/scribus13format.cpp    
    (original)
+++ 
trunk/Scribus/scribus/plugins/fileloader/scribus13format/scribus13format.cpp    
    Tue Dec 10 08:02:16 2019
@@ -10,16 +10,17 @@
 #include "../../formatidlist.h"
 #include "commonstrings.h"
 #include "langmgr.h"
-#include "ui/missing.h"
 #include "pageitem_group.h"
+#include "pageitem_line.h"
 #include "prefsmanager.h"
 #include "qtiocompressor.h"
+
 #include "scconfig.h"
+#include "scclocale.h"
+#include "sccolorengine.h"
+#include "scribuscore.h"
 #include "scribusdoc.h"
-
 #include "sctextstream.h"
-#include "sccolorengine.h"
-#include "ui/scmessagebox.h"
 #include "undomanager.h"
 #include "units.h"
 #include "util.h"
@@ -27,8 +28,10 @@
 #include "util_layer.h"
 #include "util_math.h"
 #include "util_text.h"
-#include "scclocale.h"
-#include "scribuscore.h"
+
+#include "ui/missing.h"
+#include "ui/scmessagebox.h"
+
 #include <QCursor>
 // #include <QDebug>
 #include <QFileInfo>
@@ -36,7 +39,6 @@
 #include <QDataStream>
 #include <QApplication>
 #include <QMessageBox>
-
 
 // See scplugin.h and pluginmanager.{cpp,h} for detail on what these methods
 // do. That documentatation is not duplicated here.
@@ -1941,10 +1943,8 @@
                int ph = static_cast<int>(qMax(1.0, currItem->lineWidth() / 
2.0));
                currItem->Segments.clear();
                currItem->PoLine.resize(0);
-               currItem->Clip.setPoints(4, -ph,-ph, 
static_cast<int>(currItem->width()+ph),-ph,
-                                 
static_cast<int>(currItem->width()+ph),static_cast<int>(currItem->height()+ph),
-                                 -ph,static_cast<int>(currItem->height()+ph));
                currItem->setHeight(1.0);
+               currItem->asLine()->setLineClip();
        }
        if (currItem->asImageFrame())
                currItem->adjustPictScale();

Modified: 
trunk/Scribus/scribus/plugins/fileloader/scribus150format/scribus150format.cpp
URL: 
http://scribus.net/websvn/diff.php?repname=Scribus&rev=23413&path=/trunk/Scribus/scribus/plugins/fileloader/scribus150format/scribus150format.cpp
==============================================================================
--- 
trunk/Scribus/scribus/plugins/fileloader/scribus150format/scribus150format.cpp  
    (original)
+++ 
trunk/Scribus/scribus/plugins/fileloader/scribus150format/scribus150format.cpp  
    Tue Dec 10 08:02:16 2019
@@ -16,6 +16,7 @@
 #include "langmgr.h"
 #include "notesstyles.h"
 #include "pageitem_latexframe.h"
+#include "pageitem_line.h"
 #include "pageitem_noteframe.h"
 #include "pagesize.h"
 #include "prefsmanager.h"
@@ -5465,10 +5466,8 @@
                int ph = static_cast<int>(qMax(1.0, currItem->lineWidth() / 
2.0));
                currItem->Segments.clear();
                currItem->PoLine.resize(0);
-               currItem->Clip.setPoints(4, -ph,-ph, 
static_cast<int>(currItem->width()+ph),-ph,
-                                 
static_cast<int>(currItem->width()+ph),static_cast<int>(currItem->height()+ph),
-                                 -ph,static_cast<int>(currItem->height()+ph));
                currItem->setHeight(1.0);
+               currItem->asLine()->setLineClip();
        }
 
        if (currItem->asPathText())

Modified: trunk/Scribus/scribus/scribusdoc.cpp
URL: 
http://scribus.net/websvn/diff.php?repname=Scribus&rev=23413&path=/trunk/Scribus/scribus/scribusdoc.cpp
==============================================================================
--- trunk/Scribus/scribus/scribusdoc.cpp        (original)
+++ trunk/Scribus/scribus/scribusdoc.cpp        Tue Dec 10 08:02:16 2019
@@ -7716,12 +7716,7 @@
                if (currItem->asPolyLine() || currItem->asSpiral())
                        currItem->setPolyClip(qRound(qMax(currItem->lineWidth() 
/ 2, 1.0)));
                if (currItem->asLine())
-               {
-                       int ph = static_cast<int>(qMax(1.0, w / 2.0));
-                       currItem->Clip.setPoints(4, -ph,-ph, 
static_cast<int>(currItem->width() + ph),-ph,
-                                                                        
static_cast<int>(currItem->width() + ph),static_cast<int>(currItem->height() + 
ph),
-                                                                        -ph, 
static_cast<int>(currItem->height() + ph));
-               }
+                       currItem->asLine()->setLineClip();
                QRectF newRect = currItem->getVisualBoundingRect();
                //currItem->update();
                currItem->invalidateLayout();
@@ -14391,9 +14386,7 @@
                        currItem->setWidthHeight( sqrt(pow(t.x(), 2) + 
pow(t.y(), 2)), 1.0);
                        //currItem->setXYPos(currItem->xPos(), 
currItem->yPos());
                }
-               currItem->Clip.setPoints(4, -ph,-ph, 
static_cast<int>(currItem->width() + ph), -ph,
-                                 static_cast<int>(currItem->width() + ph), 
static_cast<int>(currItem->height() + ph),
-                                 -ph, static_cast<int>(currItem->height() + 
ph));
+               currItem->asLine()->setLineClip();
        }
        // In the future, it may be good to adjust embedded group items 
position here
        /*if (currItem->isGroup() || currItem->isSymbol())


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

Reply via email to