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

--- Comment #4 from Dmitry Kazakov <dimul...@gmail.com> ---
Okay, the bug is related to bug 381925, but it is different and may be fixed
without rewriting Qt's paths code.

The problem is that we measure all our shapes (and vector selections) in 'pt'
units. And Qt has heuristic algorithm for linearization of the curves when
clipping, and this algorithm uses absolute measurements of the path to split
it.

The fix for the bug should include:

1) Make KisShapeSelection use image pixels instead of points
2) Make KisShapeLayer use image pixels as a base coordinate system instead of
points as well (the bug is reproducible with normal shapes as well)
3) Make KisShapeLayer::transform() actually transform shapes instead of
applying a higher-level matrix on the top of them.

As an alternative, we could just make a simple function for boolean
transformation of QPainterPath in the shapes, which would upscale them into a
proper scale. The only drawback is that we should locate all the places where
we use path-boolean-operations for that.

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

Reply via email to