diff --git a/doc/changelog.dox b/doc/changelog.dox index 56bafcea2..cd146abc8 100644 --- a/doc/changelog.dox +++ b/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} diff --git a/src/MagnumPlugins/AnyImageImporter/AnyImageImporter.cpp b/src/MagnumPlugins/AnyImageImporter/AnyImageImporter.cpp index 8de30d057..916cd34f9 100644 --- a/src/MagnumPlugins/AnyImageImporter/AnyImageImporter.cpp +++ b/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; diff --git a/src/MagnumPlugins/AnyImageImporter/AnyImageImporter.h b/src/MagnumPlugins/AnyImageImporter/AnyImageImporter.h index 1a0bb476d..00312d993 100644 --- a/src/MagnumPlugins/AnyImageImporter/AnyImageImporter.h +++ b/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 diff --git a/src/MagnumPlugins/AnyImageImporter/Test/AnyImageImporterTest.cpp b/src/MagnumPlugins/AnyImageImporter/Test/AnyImageImporterTest.cpp index 7c16ed8f0..2186491bf 100644 --- a/src/MagnumPlugins/AnyImageImporter/Test/AnyImageImporterTest.cpp +++ b/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"},