[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