Allows PathWalker
to be used without creating a vtable
#101
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
This removes the creation of a vtable optional for
PathWalker
by making thePath::walk
method generic overPathWalker
. AsPathWalker
is implemented for all&mut PathWalker
passing&mut PathWalker
or&mut dyn PathWalker
to thewalk
method is still possible.It also adds the optional
curve_to_y
andrect
methods to the trait that default to calling the methods that mupdf would call as well if the function pointers in thefz_path_walker
struct wereNone
. This can sadly not be done forcurve_to_v
andquad_to
as both of them require knowledge of the start position to call the default, which is not available to as as the trait.This also changes the parameter type of the
Path::rect
function fromi32
tof32
as this is what the C API seems to pass to us.