Struct usvg_parser::ImageHrefResolver
source · pub struct ImageHrefResolver {
pub resolve_data: Box<dyn Fn(&str, Arc<Vec<u8>>, &Options) -> Option<ImageKind> + Send + Sync>,
pub resolve_string: Box<dyn Fn(&str, &Options) -> Option<ImageKind> + Send + Sync>,
}
Expand description
An xlink:href
resolver for <image>
elements.
This type can be useful if you want to have an alternative xlink:href
handling
to the default one. For example, you can forbid access to local files (which is allowed by default)
or add support for resolving actual URLs (usvg doesn’t do any network requests).
Fields§
§resolve_data: Box<dyn Fn(&str, Arc<Vec<u8>>, &Options) -> Option<ImageKind> + Send + Sync>
Resolver function that will be used when xlink:href
contains a
Data URL.
A function would be called with mime, decoded base64 data and parsing options.
resolve_string: Box<dyn Fn(&str, &Options) -> Option<ImageKind> + Send + Sync>
Resolver function that will be used to handle an arbitrary string in xlink:href
.
Implementations§
source§impl ImageHrefResolver
impl ImageHrefResolver
sourcepub fn default_data_resolver(
) -> Box<dyn Fn(&str, Arc<Vec<u8>>, &Options) -> Option<ImageKind> + Send + Sync>
pub fn default_data_resolver( ) -> Box<dyn Fn(&str, Arc<Vec<u8>>, &Options) -> Option<ImageKind> + Send + Sync>
Creates a default Data URL resolver closure.
base64 encoded data is already decoded.
The default implementation would try to load JPEG, PNG, GIF, SVG and SVGZ types.
Note that it will simply match the mime
or data’s magic.
The actual images would not be decoded. It’s up to the renderer.
sourcepub fn default_string_resolver(
) -> Box<dyn Fn(&str, &Options) -> Option<ImageKind> + Send + Sync>
pub fn default_string_resolver( ) -> Box<dyn Fn(&str, &Options) -> Option<ImageKind> + Send + Sync>
Creates a default string resolver.
The default implementation treats an input string as a file path and tries to open. If a string is an URL or something else it would be ignored.
Paths have to be absolute or relative to the input SVG file or relative to Options::resources_dir.