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

List:       kde-commits
Subject:    koffice/krita
From:       Boudewijn Rempt <boud () valdyas ! org>
Date:       2010-12-01 10:19:19
Message-ID: 20101201101919.63721AC8A3 () svn ! kde ! org
[Download RAW message or body]

SVN commit 1202552 by rempt:

Fix usage of histograms in brightness/contrast filter

Patch by William Steidtmann
CCMAIL:billstei@hbci.com

 M  +0 -15     image/kis_histogram.cc  
 M  +0 -4      image/kis_histogram.h  
 M  +3 -1      image/tests/kis_histogram_test.cpp  
 M  +2 -1      plugins/extensions/dockers/defaultdockers/histogramdock.cpp  
 M  +1 -1      plugins/extensions/scripting/kritacore/krs_histogram.cpp  
 M  +1 -1      plugins/filters/colorsfilters/colorsfilters.cpp  
 M  +3 -4      plugins/filters/colorsfilters/kis_brightness_contrast_filter.cpp  
 M  +1 -1      plugins/filters/colorsfilters/kis_brightness_contrast_filter.h  
 M  +1 -1      plugins/filters/colorsfilters/kis_perchannel_filter.cpp  


--- trunk/koffice/krita/image/kis_histogram.cc #1202551:1202552
@@ -43,22 +43,7 @@
     updateHistogram();
 }
 
-// TODO: get rid of this, make all Histogram clients pass bounds (they can pass paintdev->exactBounds() \
if they want)  KisHistogram::KisHistogram(const KisPaintDeviceSP paintdev,
-                           KoHistogramProducerSP producer,
-                           const enumHistogramType type)
-{
-    m_paintDevice = paintdev;
-    m_bounds = m_paintDevice->exactBounds();
-    m_type = type;
-    m_producer = producer;
-    m_selection = false;
-    m_channel = 0;
-
-    updateHistogram();
-}
-
-KisHistogram::KisHistogram(const KisPaintDeviceSP paintdev,
                            const QRect &bounds,
                            KoHistogramProducerSP producer,
                            const enumHistogramType type)
--- trunk/koffice/krita/image/kis_histogram.h #1202551:1202552
@@ -109,10 +109,6 @@
                  const enumHistogramType type);
 
     KisHistogram(KisPaintDeviceSP paintdev,
-                 KoHistogramProducerSP producer,
-                 const enumHistogramType type);
-
-    KisHistogram(KisPaintDeviceSP paintdev,
                  const QRect &bounds,
                  KoHistogramProducerSP producer,
                  const enumHistogramType type);
--- trunk/koffice/krita/image/tests/kis_histogram_test.cpp #1202551:1202552
@@ -24,6 +24,8 @@
 #include <KoHistogramProducer.h>
 #include "kis_paint_device.h"
 #include "kis_histogram.h"
+#include "kis_paint_layer.h"
+#include "kis_types.h"
 
 void KisHistogramTest::testCreation()
 {
@@ -32,7 +34,7 @@
     QList<QString> producers = KoHistogramProducerFactoryRegistry::instance()->keysCompatibleWith(cs);
     foreach (const QString &id, producers) {
         KoHistogramProducerSP producer = \
                KoHistogramProducerFactoryRegistry::instance()->get(id)->generate();
-        KisHistogram test(dev, producer, LINEAR);
+        KisHistogram test(dev, QRect(0, 0, 100, 100), producer, LINEAR);
     }
 }
 
--- trunk/koffice/krita/plugins/extensions/dockers/defaultdockers/histogramdock.cpp #1202551:1202552
@@ -172,7 +172,8 @@
 
     // use dummy layer as a source; we are not going to actually use or need it
     // All of these are SP, no need to delete them afterwards
-    m_histogram = new KisHistogram(new KisPaintDevice(KoColorSpaceRegistry::instance()->alpha8()),
+    KisPaintDeviceSP paintDevice = new KisPaintDevice(KoColorSpaceRegistry::instance()->alpha8());
+    m_histogram = new KisHistogram(paintDevice, paintDevice->exactBounds(),
                                    KoHistogramProducerSP(m_producer), LOGARITHMIC);
 
     kDebug() << "created histogram " << m_histogram;
--- trunk/koffice/krita/plugins/extensions/scripting/kritacore/krs_histogram.cpp #1202551:1202552
@@ -38,7 +38,7 @@
         : QObject(layer)
 {
     setObjectName("KritaHistogram");
-    m_histogram = new KisHistogram(layer->paintDevice(), producer, type);
+    m_histogram = new KisHistogram(layer->paintDevice(), layer->paintDevice()->exactBounds(), producer, \
type);  }
 
 Histogram::~Histogram()
--- trunk/koffice/krita/plugins/filters/colorsfilters/colorsfilters.cpp #1202551:1202552
@@ -116,7 +116,7 @@
     Q_UNUSED(config);
     // initialize
     KoHistogramProducerSP producer = KoHistogramProducerSP(new KoGenericLabHistogramProducer());
-    KisHistogram histogram(src, producer, LINEAR);
+    KisHistogram histogram(src, src->exactBounds(), producer, LINEAR);
     int minvalue = int(255 * histogram.calculations().getMin() + 0.5);
     int maxvalue = int(255 * histogram.calculations().getMax() + 0.5);
 
--- trunk/koffice/krita/plugins/filters/colorsfilters/kis_brightness_contrast_filter.cpp #1202551:1202552
@@ -152,8 +152,7 @@
 
 KisConfigWidget * KisBrightnessContrastFilter::createConfigurationWidget(QWidget *parent, const \
KisPaintDeviceSP dev, const KisImageWSP image) const  {
-    Q_UNUSED(image);
-    return new KisBrightnessContrastConfigWidget(parent, dev);
+    return new KisBrightnessContrastConfigWidget(parent, dev, image->bounds());
 }
 
 KisFilterConfiguration* KisBrightnessContrastFilter::factoryConfiguration(const KisPaintDeviceSP)
@@ -177,7 +176,7 @@
     return adjustment;
 }
 
-KisBrightnessContrastConfigWidget::KisBrightnessContrastConfigWidget(QWidget * parent, KisPaintDeviceSP \
dev, Qt::WFlags f) +KisBrightnessContrastConfigWidget::KisBrightnessContrastConfigWidget(QWidget * \
parent, KisPaintDeviceSP dev, const QRect &bounds, Qt::WFlags f)  : KisConfigWidget(parent, f)
 {
     int i;
@@ -219,7 +218,7 @@
     m_page->vgradient->setPixmap(vgradientpix);
 
     KoHistogramProducerSP producer = KoHistogramProducerSP(new KoGenericLabHistogramProducer());
-    KisHistogram histogram(dev, producer, LINEAR);
+    KisHistogram histogram(dev, bounds, producer, LINEAR);
     QPixmap pix(256, height);
     pix.fill();
     QPainter p(&pix);
--- trunk/koffice/krita/plugins/filters/colorsfilters/kis_brightness_contrast_filter.h #1202551:1202552
@@ -98,7 +98,7 @@
 {
 
 public:
-    KisBrightnessContrastConfigWidget(QWidget * parent, KisPaintDeviceSP dev, Qt::WFlags f = 0);
+    KisBrightnessContrastConfigWidget(QWidget * parent, KisPaintDeviceSP dev, const QRect &bounds, \
Qt::WFlags f = 0);  virtual ~KisBrightnessContrastConfigWidget() {}
 
     virtual KisBrightnessContrastFilterConfiguration * configuration() const;
--- trunk/koffice/krita/plugins/filters/colorsfilters/kis_perchannel_filter.cpp #1202551:1202552
@@ -87,7 +87,7 @@
     {
         KoHistogramProducerFactory *hpf;
         hpf = KoHistogramProducerFactoryRegistry::instance()->get(keys.at(0));
-        m_histogram = new KisHistogram(m_dev, hpf->generate(), LINEAR);
+	m_histogram = new KisHistogram(m_dev, m_dev->exactBounds(), hpf->generate(), LINEAR);
     }
 
     connect(m_page->curveWidget, SIGNAL(modified()), this, SIGNAL(sigConfigurationItemChanged()));


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

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