https://bugs.kde.org/show_bug.cgi?id=445476

Dmitry Kazakov <dimul...@gmail.com> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
         Resolution|---                         |FIXED
      Latest Commit|                            |https://invent.kde.org/grap
                   |                            |hics/krita/commit/a8e0e4f40
                   |                            |37f8998ba01a33e3dad7e87046e
                   |                            |2b33
             Status|REPORTED                    |RESOLVED

--- Comment #19 from Dmitry Kazakov <dimul...@gmail.com> ---
Git commit a8e0e4f4037f8998ba01a33e3dad7e87046e2b33 by Dmitry Kazakov.
Committed on 23/11/2021 at 13:36.
Pushed by dkazakov into branch 'master'.

[not for 5.0] Fix flickering of tilt-controlled brushes on tablet release

When the stylus leaves the tablet surface a pair of
KisToolPaint::activatePrimaryAction()/deactivatePrimaryAction() events
is delivered to the tool. They request update of the tool outline, but
since there is no pointer event available, this outline was generated
via a non-tilted/non-rotated fallback case. It caused a visible flickering
while painting.

The patch implements multiple things:

1) It severely refactors KoPointerEvent to allow copying and storage
   of such events. Now the class became "much more simple and
   understandable" (c) due to the usage of boost::variant2 (which
   is technically a C++17's std::variant).

2) Now the tool can request the last delivered pointer event from the
   canvas via KoToolBase::lastDeliveredPointerEvent().

M  +277  -130  libs/flake/KoPointerEvent.cpp
M  +48   -47   libs/flake/KoPointerEvent.h
M  +11   -0    libs/flake/KoToolBase.cpp
M  +7    -0    libs/flake/KoToolBase.h
M  +13   -8    libs/flake/KoToolProxy.cpp
M  +2    -0    libs/flake/KoToolProxy.h
M  +4    -1    libs/flake/KoToolProxy_p.h
M  +0    -1    libs/ui/canvas/kis_tool_proxy.cpp
M  +3    -43   libs/ui/input/kis_input_manager.cpp
M  +4    -1    libs/ui/tool/kis_tool_freehand_helper.cpp
M  +1    -1    libs/ui/tool/kis_tool_paint.cc
M  +1    -5    libs/ui/widgets/kis_scratch_pad_event_filter.cpp

https://invent.kde.org/graphics/krita/commit/a8e0e4f4037f8998ba01a33e3dad7e87046e2b33

-- 
You are receiving this mail because:
You are watching all bug changes.

Reply via email to