Browse Source

AnyImageImporter: detect the *.svg and *.svgz extension.

Not file contents yet because the file can start with a XML preamble,
seven megabytes of comments and only then there's <svg. I'm not in a
mood for that today.
pull/674/head
Vladimír Vondruš 1 year ago
parent
commit
22ce4a75d2
  1. 1
      doc/changelog.dox
  2. 3
      src/MagnumPlugins/AnyImageImporter/AnyImageImporter.cpp
  3. 2
      src/MagnumPlugins/AnyImageImporter/AnyImageImporter.h
  4. 2
      src/MagnumPlugins/AnyImageImporter/Test/AnyImageImporterTest.cpp

1
doc/changelog.dox

@ -996,6 +996,7 @@ See also:
- Recognizing 3MF, VRM and USD files in @relativeref{Trade,AnySceneImporter}
- Recognizing OpenVDB files in @relativeref{Trade,AnyImageImporter} and
@relativeref{Trade,AnyImageConverter}
- Recognizing SVG file extension in @relativeref{Trade,AnyImageImporter}
- @ref Audio::AnyImporter "AnyAudioImporter",
@relativeref{Trade,AnyImageImporter}, @relativeref{Trade,AnyImageConverter},
@relativeref{Trade,AnySceneImporter}, @relativeref{Trade,AnySceneConverter}

3
src/MagnumPlugins/AnyImageImporter/AnyImageImporter.cpp

@ -141,6 +141,9 @@ void AnyImageImporter::doOpenFile(const Containers::StringView filename) {
normalizedExtension == ".rgb"_s ||
normalizedExtension == ".rgba"_s)
plugin = "SgiImporter"_s;
else if(normalizedExtension == ".svg"_s ||
normalizedExtension == ".svgz"_s)
plugin = "SvgImporter"_s;
else if(normalizedExtension == ".tif"_s ||
normalizedExtension == ".tiff"_s)
plugin = "TiffImporter"_s;

2
src/MagnumPlugins/AnyImageImporter/AnyImageImporter.h

@ -94,6 +94,8 @@ Supported formats:
- Adobe Photoshop (`*.psd`), loaded with any plugin that provides `PsdImporter`
- Silicon Graphics (`*.sgi`, `*.bw`, `*.rgb`, `*.rgba`), loaded with any
plugin that provides `SgiImporter`
- Scalable Vector Graphics (`*.svg`, `*.svgz`), loaded with any plugin that
provides `SvgImporter`
- Tagged Image File Format (`*.tif`, `*.tiff` or data with corresponding
signature), loaded with any plugin that provides `TiffImporter`
- Truevision TGA (`*.tga`, `*.vda`, `*.icb`, `*.vst` or data with

2
src/MagnumPlugins/AnyImageImporter/Test/AnyImageImporterTest.cpp

@ -125,6 +125,8 @@ constexpr struct {
{"Sillicon Graphics BW", "pixar.bw", false, "SgiImporter"},
{"Sillicon Graphics RGB", "pixar.rgb", false, "SgiImporter"},
{"Sillicon Graphics RGBA", "pixar.rgba", false, "SgiImporter"},
{"SVG", "lion.svg", false, "SvgImporter"},
{"SVGZ", "lion.svgz", false, "SvgImporter"},
{"TIFF", "image.tiff", false, "TiffImporter"},
{"TIFF, 3-character extension", "image.tif", false, "TiffImporter"},
{"TIFF data", "image.tiff", true, "TiffImporter"},

Loading…
Cancel
Save