[prev in list] [next in list] [prev in thread] [next in thread]
List: kde-kimageshop
Subject: Re: [calligra] libs/pigment/compositeops: Fix Erase composite op to handle the selections properly
From: Boudewijn Rempt <boud () valdyas ! org>
Date: 2014-07-03 8:03:30
Message-ID: 3974979.DtmTHZgl4E () linux-ixka ! site
[Download RAW message or body]
Does this by any chance also fix the bug with painting with the shape brush on a \
mask? https://bugs.kde.org/show_bug.cgi?id=318882
On Thursday 03 July 2014 Jul 07:52:43 Dmitry Kazakov wrote:
> Git commit db5b27198e29370da8df4b8674cea8c107fa1396 by Dmitry Kazakov.
> Committed on 02/07/2014 at 06:42.
> Pushed by dkazakov into branch 'master'.
>
> Fix Erase composite op to handle the selections properly
>
> Using blend() for applying a mask is surely a bad idea. Don't know why it
> was used, but it was dated to 2007. Thanks Timothee for pointing out this
> bug.
>
> <Animtim> dmitryK: hey yesterday I noticed a nasty bug, and just took time to \
> understand what trigger it : if I have a "transparent" selection, and try to paint \
> in erase mode inside, it makes bad tip tiles artifacts <Animtim> (to reproduce: \
> create paint something at low opacity, do select opaque, and try to erase..) \
> <Animtim> erasing with any kind of brush engine makes the bug
> CCMAIL:kimageshop@kde.org
>
> M +2 -3 libs/pigment/compositeops/KoCompositeOpErase.h
>
> http://commits.kde.org/calligra/db5b27198e29370da8df4b8674cea8c107fa1396
>
> diff --git a/libs/pigment/compositeops/KoCompositeOpErase.h \
> b/libs/pigment/compositeops/KoCompositeOpErase.h index 3391ebb..d6968c6 100644
> --- a/libs/pigment/compositeops/KoCompositeOpErase.h
> +++ b/libs/pigment/compositeops/KoCompositeOpErase.h
> @@ -71,9 +71,8 @@ public:
> quint8 U8_mask = *mask;
>
> if (U8_mask != OPACITY_TRANSPARENT_U8) {
> - srcAlpha = KoColorSpaceMaths< channels_type, channels_type \
> >::blend(srcAlpha,
> - NATIVE_OPACITY_OPAQUE,
> - KoColorSpaceMaths<quint8, \
> channels_type>::scaleToA(U8_mask)); + srcAlpha = \
> KoColorSpaceMaths<channels_type>:: + multiply(srcAlpha, \
> KoColorSpaceMaths<quint8, channels_type>::scaleToA(U8_mask)); } else {
> srcAlpha = 0;
> }
>
--
Boudewijn Rempt
http://www.valdyas.org, http://www.krita.org, http://www.boudewijnrempt.nl
_______________________________________________
Krita mailing list
kimageshop@kde.org
https://mail.kde.org/mailman/listinfo/kimageshop
[prev in list] [next in list] [prev in thread] [next in thread]
Configure |
About |
News |
Add a list |
Sponsored by KoreLogic