| 8 | namespace snap::imagetoolbox { |
| 9 | |
| 10 | static Valdi::Error svgErrorFromResult(int32_t result) { |
| 11 | switch (static_cast<resvg_error>(result)) { |
| 12 | case RESVG_OK: |
| 13 | return Valdi::Error("Everything is ok"); |
| 14 | case RESVG_ERROR_NOT_AN_UTF8_STR: |
| 15 | return Valdi::Error("Only UTF-8 content are supported"); |
| 16 | case RESVG_ERROR_FILE_OPEN_FAILED: |
| 17 | return Valdi::Error("Failed to open the provided file"); |
| 18 | case RESVG_ERROR_MALFORMED_GZIP: |
| 19 | return Valdi::Error("Compressed SVG must use the GZip algorithm"); |
| 20 | case RESVG_ERROR_ELEMENTS_LIMIT_REACHED: |
| 21 | return Valdi::Error("We do not allow SVG with more than 1_000_000 elements for security reasons"); |
| 22 | case RESVG_ERROR_INVALID_SIZE: |
| 23 | return Valdi::Error("SVG doesn't have a valid size"); |
| 24 | case RESVG_ERROR_PARSING_FAILED: |
| 25 | return Valdi::Error("Failed to parse an SVG data"); |
| 26 | } |
| 27 | } |
| 28 | |
| 29 | class ReSVGHandle : public Valdi::SimpleRefCountable { |
| 30 | public: |