asan report:
../src/lib/tvgShapeImpl.h:94:15: runtime error: null pointer passed as argument 2, which is declared to never be null
../src/lib/tvgShapeImpl.h:101:15: runtime error: null pointer passed as argument 2, which is declared to never be null
apply fast track to fast up the image rasterization.
only shifted image doesn't need to have the matrix-transform computation,
we can avoid it by just shifting offset xy by simple caculating.
@Issue: https://github.com/Samsung/thorvg/issues/206
revert d520da2db8
After considered the scneario seriously,
this doesn't helpful for the performance at all...
just increased code complexity. earlier bad decision... revert it.
applying fast track approach to the alpha mask when its condition is matched.
(simple rectangle alpha masking which isn't half-translucent)
From time to time, designers brutally use the alpha masking to clip simple region,
thorvg can help the situation by avoiding masking usage internally.
This can reduce the 1-step render pass composition.
@Issue: https://github.com/Samsung/thorvg/issues/344
current image interpolation method is a bit awkward,
because xy scale different scale factor is not allowed.
we must improve the algorithm,
but now considering floating point precision,
we allow the interpolation by less ratio floating fraction.
Tasks can be disposed while the renderer referencing it.
Now, we can delete the tasks with lazy approach by introducing some tags.
@Issue: https://github.com/Samsung/thorvg/issues/995
In the cae when Result::InsufficientCondition was retured by the save()
api, the user had to remember to delete the passed paint - fixed.
Also path was not released.
delete dangling object properly in the corner case.
Unfortunately, this brings to correct the capi test cases.
we assume the paints is deleted whenever its result is successful or not.
@Issue: https://github.com/Samsung/thorvg/issues/995
To preserve the naming convention function '_rasterTranslucentImageRle'
is reanmed to '_translucentImageRle'. The '_rasterTranslucentImageRle'
function is though created - it checks the composition method and calls
the corresponding function. Missing functions are marked, but not implemented
(separate commit).
Introducing the gradient transform() apis and changing the grad
algorithms made it possible to apply the shape's transformation
before saving the tvg file, in case the shape (or its stroke)
has a fill.