[prev in list] [next in list] [prev in thread] [next in thread]
List: kde-commits
Subject: koffice/krita/plugins/paintops/defaultpaintops/duplicate
From: Sven Langkamp <sven.langkamp () gmail ! com>
Date: 2010-02-16 11:34:36
Message-ID: 1266320076.232087.31721.nullmailer () svn ! kde ! org
[Download RAW message or body]
SVN commit 1090940 by langkamp:
fix duplicateop, needs testing
M +5 -4 kis_duplicateop.cpp
M +2 -0 kis_duplicateop.h
M +4 -4 kis_duplicateop_option.cpp
M +3 -0 kis_duplicateop_option.h
M +19 -29 kis_duplicateop_settings.cpp
M +0 -2 kis_duplicateop_settings.h
M +1 -2 kis_duplicateop_settings_widget.cpp
--- trunk/koffice/krita/plugins/paintops/defaultpaintops/duplicate/kis_duplicateop.cpp \
#1090939:1090940 @@ -61,6 +61,7 @@
#include "kis_duplicateop_settings.h"
#include "kis_duplicateop_settings_widget.h"
+#include "kis_duplicateop_option.h"
KisDuplicateOp::KisDuplicateOp(const KisDuplicateOpSettings *settings, KisPainter \
*painter) @@ -70,6 +71,8 @@
Q_ASSERT(settings);
Q_ASSERT(painter);
m_sizeOption.readOptionSetting(settings);
+ m_healing = settings->getBool(DUPLICATE_HEALING);
+ m_perspectiveCorrection = settings->getBool(DUPLICATE_CORRECT_PERSPECTIVE);
}
KisDuplicateOp::~KisDuplicateOp()
@@ -112,8 +115,6 @@
m_duplicateStart = info.pos();
}
- bool heal = settings->healing();
-
if (!source()) return;
KisBrushSP brush = m_brush;
@@ -159,7 +160,7 @@
// Perspective correction ?
KisImageWSP image = settings->m_image;
- if (settings->perspectiveCorrection() && image && \
image->perspectiveGrid()->countSubGrids() == 1) { + if (m_perspectiveCorrection && \
image && image->perspectiveGrid()->countSubGrids() == 1) { Matrix3qreal startM = \
Matrix3qreal::Identity(); Matrix3qreal endM = Matrix3qreal::Identity();
@@ -221,7 +222,7 @@
// heal ?
- if (heal) {
+ if (m_healing) {
quint16 dataDevice[4];
quint16 dataSrcDev[4];
double* matrix = new double[ 3 * sw * sh ];
--- trunk/koffice/krita/plugins/paintops/defaultpaintops/duplicate/kis_duplicateop.h \
#1090939:1090940 @@ -63,6 +63,8 @@
QPointF m_duplicateStart;
bool m_duplicateStartIsSet;
KisPressureSizeOption m_sizeOption;
+ bool m_healing;
+ bool m_perspectiveCorrection;
};
#endif // KIS_DUPLICATEOP_H_
--- trunk/koffice/krita/plugins/paintops/defaultpaintops/duplicate/kis_duplicateop_option.cpp \
#1090939:1090940 @@ -79,14 +79,14 @@
void KisDuplicateOpOption::writeOptionSetting(KisPropertiesConfiguration* setting) \
const {
- setting->setProperty("Duplicateop/Healing", healing());
- setting->setProperty("Duplicateop/CorrectPerspective", correctPerspective());
+ setting->setProperty(DUPLICATE_HEALING, healing());
+ setting->setProperty(DUPLICATE_CORRECT_PERSPECTIVE, correctPerspective());
}
void KisDuplicateOpOption::readOptionSetting(const KisPropertiesConfiguration* \
setting) {
- m_optionWidget->cbHealing->setChecked(setting->getBool("Duplicateop/Healing", \
false));
- m_optionWidget->cbPerspective->setChecked(setting->getBool("Duplicateop/CorrectPerspective", \
false)); + m_optionWidget->cbHealing->setChecked(setting->getBool(DUPLICATE_HEALING, \
false)); + m_optionWidget->cbPerspective->setChecked(setting->getBool(DUPLICATE_CORRECT_PERSPECTIVE, \
false)); emit sigSettingChanged();
}
--- trunk/koffice/krita/plugins/paintops/defaultpaintops/duplicate/kis_duplicateop_option.h \
#1090939:1090940 @@ -21,6 +21,9 @@
#include <kis_paintop_option.h>
#include <krita_export.h>
+const QString DUPLICATE_HEALING = "Duplicateop/Healing";
+const QString DUPLICATE_CORRECT_PERSPECTIVE = "Duplicateop/CorrectPerspective";
+
class KisDuplicateOpOptionsWidget;
class KisDuplicateOpOption : public KisPaintOpOption
--- trunk/koffice/krita/plugins/paintops/defaultpaintops/duplicate/kis_duplicateop_settings.cpp \
#1090939:1090940 @@ -41,8 +41,7 @@
KisDuplicateOpSettings::KisDuplicateOpSettings(KisImageWSP image)
- : m_options(0)
- , m_image(image)
+ : m_image(image)
, m_isOffsetNotUptodate(true)
{
}
@@ -80,24 +79,18 @@
void KisDuplicateOpSettings::activate()
{
+ KisDuplicateOpSettingsWidget* options = \
dynamic_cast<KisDuplicateOpSettingsWidget*>(optionsWidget()); + if(!options)
+ return;
+
if (m_image->perspectiveGrid()->countSubGrids() != 1) {
- m_options->m_duplicateOption->setHealing(false);
- m_options->m_duplicateOption->setPerspective(false);
+ options->m_duplicateOption->setHealing(false);
+ options->m_duplicateOption->setPerspective(false);
} else {
- m_options->m_duplicateOption->setPerspective(false);;
+ options->m_duplicateOption->setPerspective(false);;
}
}
-bool KisDuplicateOpSettings::healing() const
-{
- return m_options->m_duplicateOption->healing();
-}
-
-bool KisDuplicateOpSettings::perspectiveCorrection() const
-{
- return m_options->m_duplicateOption->correctPerspective();
-}
-
void KisDuplicateOpSettings::fromXML(const QDomElement& elt)
{
// First, call the parent class fromXML to make sure all the
@@ -107,26 +100,15 @@
m_offset.setX(elt.attribute("OffsetX", "0.0").toDouble());
m_offset.setY(elt.attribute("OffsetY", "0.0").toDouble());
m_isOffsetNotUptodate = false;
-
- // Then load the properties for all widgets
- m_options->setConfiguration(this);
}
void KisDuplicateOpSettings::toXML(QDomDocument& doc, QDomElement& rootElt) const
{
-
- // First, make sure all the option widgets have saved their state
- // to the property configuration
- KisPropertiesConfiguration * settings = m_options->configuration();
-
// Then call the parent class fromXML
- settings->KisPropertiesConfiguration::toXML(doc, rootElt);
+ KisPropertiesConfiguration::toXML(doc, rootElt);
rootElt.setAttribute("OffsetX", QString::number(m_offset.x()));
rootElt.setAttribute("OffsetY", QString::number(m_offset.y()));
-
-
- delete settings;
}
@@ -157,9 +139,13 @@
QRectF KisDuplicateOpSettings::paintOutlineRect(const QPointF& pos, KisImageWSP \
image, OutlineMode _mode) const {
+ KisDuplicateOpSettingsWidget* options = \
dynamic_cast<KisDuplicateOpSettingsWidget*>(optionsWidget()); + if(!options)
+ return QRectF();
+
QRectF dubRect = duplicateOutlineRect(pos, image);
if (_mode == CURSOR_IS_OUTLINE) {
- KisBrushSP brush = m_options->m_brushOption->brush();
+ KisBrushSP brush = options->m_brushOption->brush();
QPointF hotSpot = brush->hotSpot(1.0, 1.0);
QRectF rect = QRect(0, 0, brush->width(), brush->height());
rect.translate(pos - hotSpot - QPoint(0.5, 0.5));
@@ -171,7 +157,11 @@
void KisDuplicateOpSettings::paintOutline(const QPointF& pos, KisImageWSP image, \
QPainter &painter, const KoViewConverter &converter, OutlineMode _mode) const {
- KisBrushSP brush = m_options->m_brushOption->brush();
+ KisDuplicateOpSettingsWidget* options = \
dynamic_cast<KisDuplicateOpSettingsWidget*>(optionsWidget()); + if(!options)
+ return;
+
+ KisBrushSP brush = options->m_brushOption->brush();
painter.setPen(Qt::black);
painter.setBackground(Qt::black);
if (_mode == CURSOR_IS_OUTLINE) {
--- trunk/koffice/krita/plugins/paintops/defaultpaintops/duplicate/kis_duplicateop_settings.h \
#1090939:1090940 @@ -45,8 +45,6 @@
QPointF offset() const;
void mousePressEvent(KoPointerEvent *e);
void activate();
- bool healing() const;
- bool perspectiveCorrection() const;
void fromXML(const QDomElement& elt);
void toXML(QDomDocument& doc, QDomElement& rootElt) const;
--- trunk/koffice/krita/plugins/paintops/defaultpaintops/duplicate/kis_duplicateop_settings_widget.cpp \
#1090939:1090940 @@ -53,8 +53,7 @@
KisPropertiesConfiguration* KisDuplicateOpSettingsWidget::configuration() const
{
- KisDuplicateOpSettings *config =
- new KisDuplicateOpSettings(0);
+ KisDuplicateOpSettings *config = new KisDuplicateOpSettings(0);
config->setOptionsWidget(const_cast<KisDuplicateOpSettingsWidget*>(this));
config->setProperty("paintop", "duplicate"); // XXX: make this a const id string
writeConfiguration(config);
[prev in list] [next in list] [prev in thread] [next in thread]
Configure |
About |
News |
Add a list |
Sponsored by KoreLogic