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

--- Comment #6 from Alvin Wong <al...@alvinhc.com> ---
Git commit 85d5143c0c33f0b8e4f4ee3b5b83b88a7c2f0844 by Alvin Wong.
Committed on 04/08/2023 at 17:57.
Pushed by alvinwong into branch 'master'.

Pass image dpi to shapes, fix text shape not updating dpi properly

Funnel the image resolution from KisShapeLayer through
ShapeLayerContainerModel to the KoShape instances. This allows KoSvgTextShape
to get the image resolution outside of paintComponent.

The previous approach of calculating the resolution in paintComponent
did not work well because shapes are cloned to be painted in an update
job. This meant the original shape never actually gets the proper dpi
and layout, which causes the shape outline to become out of sync with
the painted shape. This had significant issues for fonts containing
bitmap glyphs, which gives drastically different metrics under different
dpi. (It also meant text shapes always do a relayout whenever they are
painted.)

M  +4    -0    libs/flake/KoShape.cpp
M  +9    -0    libs/flake/KoShape.h
M  +10   -22   libs/flake/text/KoSvgTextShape.cpp
M  +2    -0    libs/flake/text/KoSvgTextShape.h
M  +34   -0    libs/ui/flake/kis_shape_layer.cc
M  +1    -0    libs/ui/flake/kis_shape_layer.h

https://invent.kde.org/graphics/krita/-/commit/85d5143c0c33f0b8e4f4ee3b5b83b88a7c2f0844

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

Reply via email to