[prev in list] [next in list] [prev in thread] [next in thread] 

List:       kde-commits
Subject:    koffice/krita/plugins/paintops
From:       Lukáš Tvrdý <lukast.dev () gmail ! com>
Date:       2010-10-14 13:19:02
Message-ID: 20101014131902.D4408AC895 () svn ! kde ! org
[Download RAW message or body]

SVN commit 1185884 by lukast:

Show circle/rectangular brush outline for autobrush when density is different from 100%

CCBUG:252159

 M  +20 -0     libbrush/kis_auto_brush.cpp  
 M  +2 -0      libbrush/kis_auto_brush.h  
 M  +5 -0      libbrush/kis_brush.cpp  
 M  +1 -0      libbrush/kis_brush.h  
 M  +1 -1      libpaintop/kis_brush_based_paintop_settings.cpp  


--- trunk/koffice/krita/plugins/paintops/libbrush/kis_auto_brush.cpp #1185883:1185884
@@ -32,6 +32,7 @@
 #include "kis_paint_device.h"
 
 #include "kis_mask_generator.h"
+#include "kis_boundary.h"
 
 struct KisAutoBrush::Private {
     KisMaskGenerator* shape;
@@ -340,3 +341,22 @@
     m_image = image;
     clearScaledBrushes();
 }
+
+QPainterPath KisAutoBrush::outline() const
+{
+    bool simpleOutline = (d->density < 1.0);
+    if (simpleOutline){
+        QPainterPath path;
+        QRectF brushBoundingbox(0,0,width(), height());
+        if (maskGenerator()->type() == KisMaskGenerator::CIRCLE){
+            path.addEllipse(brushBoundingbox);
+        }else // if (maskGenerator()->type() == KisMaskGenerator::RECTANGLE)
+        {
+            path.addRect(brushBoundingbox);
+        }
+        
+        return path;
+    }
+    
+    return KisBrush::boundary()->path();
+}
--- trunk/koffice/krita/plugins/paintops/libbrush/kis_auto_brush.h #1185883:1185884
@@ -52,6 +52,8 @@
             double subPixelX = 0, double subPixelY = 0,
             qreal softnessFactor = DEFAULT_SOFTNESS_FACTOR) const;
 
+    virtual QPainterPath outline() const;
+            
 protected:
     virtual void setImage(const QImage& image);
 
--- trunk/koffice/krita/plugins/paintops/libbrush/kis_brush.cpp #1185883:1185884
@@ -1206,3 +1206,8 @@
 {
   return d->angle;
 }
+
+QPainterPath KisBrush::outline() const
+{
+    return boundary()->path();
+}
--- trunk/koffice/krita/plugins/paintops/libbrush/kis_brush.h #1185883:1185884
@@ -264,6 +264,7 @@
     static KisBrushSP fromXML(const QDomElement& element);
 
     virtual const KisBoundary* boundary() const;
+    virtual QPainterPath outline() const;
 
     virtual void setScale(qreal _scale);
     qreal scale() const;
--- trunk/koffice/krita/plugins/paintops/libpaintop/kis_brush_based_paintop_settings.cpp #1185883:1185884
@@ -96,7 +96,7 @@
         m.translate(-hotSpot.x(), -hotSpot.y());
         
         
-        path = brush->boundary()->path();
+        path = brush->outline();
         path = m.map(path);
         
         path.translate(pos);
[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic