diff --git a/content/content.c b/content/content.c index 2e5bd5086..1a675c3c4 100644 --- a/content/content.c +++ b/content/content.c @@ -43,7 +43,9 @@ #include "image/bmp.h" #include "image/ico.h" #endif +#ifdef WITH_NS_SVG #include "image/svg.h" +#endif #ifdef WITH_SPRITE #include "riscos/sprite.h" #endif @@ -134,8 +136,10 @@ static const struct mime_entry mime_map[] = { #ifdef WITH_MNG {"image/png", CONTENT_PNG}, #endif +#ifdef WITH_NS_SVG {"image/svg", CONTENT_SVG}, {"image/svg+xml", CONTENT_SVG}, +#endif #ifdef WITH_BMP {"image/x-bitmap", CONTENT_BMP}, {"image/x-bmp", CONTENT_BMP}, @@ -302,8 +306,10 @@ static const struct handler_entry handler_map[] = { {0, 0, artworks_convert, 0, artworks_destroy, 0, artworks_redraw, 0, 0, 0, false}, #endif +#ifdef WITH_NS_SVG {svg_create, 0, svg_convert, 0, svg_destroy, 0, svg_redraw, 0, 0, 0, false}, +#endif {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, false} }; #define HANDLER_MAP_COUNT (sizeof(handler_map) / sizeof(handler_map[0])) diff --git a/content/content.h b/content/content.h index 7d543d49a..8cec5a3e7 100644 --- a/content/content.h +++ b/content/content.h @@ -46,7 +46,9 @@ #ifdef WITH_ARTWORKS #include "riscos/artworks.h" #endif +#ifdef WITH_NS_SVG #include "image/svg.h" +#endif struct bitmap; @@ -166,7 +168,9 @@ struct content { #ifdef WITH_ARTWORKS struct content_artworks_data artworks; #endif +#ifdef WITH_NS_SVG struct content_svg_data svg; +#endif } data; /**< URL for refresh request, in standard form as from url_join. */ diff --git a/content/content_type.h b/content/content_type.h index 949712c45..844a5723b 100644 --- a/content/content_type.h +++ b/content/content_type.h @@ -53,7 +53,9 @@ typedef enum { #ifdef WITH_ARTWORKS CONTENT_ARTWORKS, #endif +#ifdef WITH_NS_SVG CONTENT_SVG, +#endif /* these must be the last two */ CONTENT_OTHER, CONTENT_UNKNOWN /**< content-type not received yet */ diff --git a/image/svg.c b/image/svg.c index ae465ccbb..91a4ce40f 100644 --- a/image/svg.c +++ b/image/svg.c @@ -14,9 +14,10 @@ #include #include #include +#include "utils/config.h" +#ifdef WITH_NS_SVG #include #include -#include "utils/config.h" #include "content/content.h" #include "css/css.h" #include "desktop/plotters.h" @@ -676,3 +677,5 @@ void svg_destroy(struct content *c) if (c->data.svg.doc) xmlFreeDoc(c->data.svg.doc); } + +#endif /* WITH_NS_SVG */ diff --git a/utils/config.h b/utils/config.h index afb7fa298..2ca645aa2 100644 --- a/utils/config.h +++ b/utils/config.h @@ -39,6 +39,7 @@ char *strndup(const char *s, size_t n); #define WITH_JPEG #define WITH_MNG #define WITH_GIF +#define WITH_NS_SVG /* internal SVG renderer */ #if defined(riscos) || defined(ncos) #define WITH_DRAW #define WITH_SPRITE