[prev in list] [next in list] [prev in thread] [next in thread]
List: kde-commits
Subject: [krita/krita-lazybrush-kazakov] libs/image/lazybrush: Let the user Color Pick from a Colorize Mask u
From: Dmitry Kazakov <dimula73 () gmail ! com>
Date: 2016-08-17 17:19:21
Message-ID: E1ba4Ur-0003Va-DZ () code ! kde ! org
[Download RAW message or body]
Git commit 7084ba2838a5cf64503d54725173d3be02c119bd by Dmitry Kazakov.
Committed on 17/08/2016 at 17:19.
Pushed by dkazakov into branch 'krita-lazybrush-kazakov'.
Let the user Color Pick from a Colorize Mask using Ctrl+Alt+Click
M +17 -18 libs/image/lazybrush/kis_colorize_mask.cpp
M +0 -2 libs/image/lazybrush/kis_colorize_mask.h
http://commits.kde.org/krita/7084ba2838a5cf64503d54725173d3be02c119bd
diff --git a/libs/image/lazybrush/kis_colorize_mask.cpp b/libs/image/lazybrush/kis_colorize_mask.cpp
index f869bd5..602d6ca 100644
--- a/libs/image/lazybrush/kis_colorize_mask.cpp
+++ b/libs/image/lazybrush/kis_colorize_mask.cpp
@@ -203,16 +203,6 @@ KisPaintDeviceSP KisColorizeMask::paintDevice() const
return m_d->showKeyStrokes ? m_d->fakePaintDevice : 0;
}
-KisPaintDeviceSP KisColorizeMask::original() const
-{
- return 0;
-}
-
-KisPaintDeviceSP KisColorizeMask::projection() const
-{
- return 0;
-}
-
QIcon KisColorizeMask::icon() const
{
return KisIconUtils::loadIcon("filterMask");
@@ -480,9 +470,10 @@ void KisColorizeMask::mergeToLayer(KisNodeSP layer, KisPostExecutionUndoAdapter
}
}
+ mergeToLayerImpl(m_d->fakePaintDevice, &fakeUndoAdapter, transactionText, timedID, false);
+
m_d->currentKeyStrokeDevice = 0;
m_d->currentColor = KoColor();
- m_d->fakePaintDevice->clear();
releaseResources();
/**
@@ -514,15 +505,23 @@ void KisColorizeMask::mergeToLayer(KisNodeSP layer, KisPostExecutionUndoAdapter
void KisColorizeMask::writeMergeData(KisPainter *painter, KisPaintDeviceSP src)
{
- KisSelectionSP conversionSelection = m_d->cachedConversionSelection.getSelection();
- KisPixelSelectionSP tempSelection = conversionSelection->pixelSelection();
+ const KoColorSpace *alpha8 = KoColorSpaceRegistry::instance()->alpha8();
+ const bool nonAlphaDst = !(*painter->device()->colorSpace() == *alpha8);
- Q_FOREACH (const QRect &rc, src->region().rects()) {
- tempSelection->copyAlphaFrom(src, rc);
- painter->bitBlt(rc.topLeft(), tempSelection, rc);
- }
+ if (nonAlphaDst) {
+ Q_FOREACH (const QRect &rc, src->region().rects()) {
+ painter->bitBlt(rc.topLeft(), src, rc);
+ }
+ } else {
+ KisSelectionSP conversionSelection = m_d->cachedConversionSelection.getSelection();
+ KisPixelSelectionSP tempSelection = conversionSelection->pixelSelection();
- m_d->cachedSelection.putSelection(conversionSelection);
+ Q_FOREACH (const QRect &rc, src->region().rects()) {
+ tempSelection->copyAlphaFrom(src, rc);
+ painter->bitBlt(rc.topLeft(), tempSelection, rc);
+ }
+ m_d->cachedSelection.putSelection(conversionSelection);
+ }
}
bool KisColorizeMask::showColoring() const
diff --git a/libs/image/lazybrush/kis_colorize_mask.h b/libs/image/lazybrush/kis_colorize_mask.h
index 5f87eff..e672563 100644
--- a/libs/image/lazybrush/kis_colorize_mask.h
+++ b/libs/image/lazybrush/kis_colorize_mask.h
@@ -38,8 +38,6 @@ public:
KisColorizeMask(const KisColorizeMask& rhs);
KisPaintDeviceSP paintDevice() const;
- KisPaintDeviceSP original() const;
- KisPaintDeviceSP projection() const;
KisNodeSP clone() const {
return KisNodeSP(new KisColorizeMask(*this));
[prev in list] [next in list] [prev in thread] [next in thread]
Configure |
About |
News |
Add a list |
Sponsored by KoreLogic