summaryrefslogtreecommitdiff
path: root/modules/svg/image_loader_svg.h
diff options
context:
space:
mode:
Diffstat (limited to 'modules/svg/image_loader_svg.h')
-rw-r--r--modules/svg/image_loader_svg.h34
1 files changed, 7 insertions, 27 deletions
diff --git a/modules/svg/image_loader_svg.h b/modules/svg/image_loader_svg.h
index 03307c319e..d0bd71d92d 100644
--- a/modules/svg/image_loader_svg.h
+++ b/modules/svg/image_loader_svg.h
@@ -32,38 +32,18 @@
#define IMAGE_LOADER_SVG_H
#include "core/io/image_loader.h"
-#include "core/string/ustring.h"
-
-// Forward declare and include thirdparty headers in .cpp.
-struct NSVGrasterizer;
-struct NSVGimage;
-
-class SVGRasterizer {
- NSVGrasterizer *rasterizer;
-
-public:
- void rasterize(NSVGimage *p_image, float p_tx, float p_ty, float p_scale, unsigned char *p_dst, int p_w, int p_h, int p_stride);
-
- SVGRasterizer();
- ~SVGRasterizer();
-};
class ImageLoaderSVG : public ImageFormatLoader {
- static struct ReplaceColors {
- List<uint32_t> old_colors;
- List<uint32_t> new_colors;
- } replace_colors;
- static SVGRasterizer rasterizer;
- static void _convert_colors(NSVGimage *p_svg_image);
- static Error _create_image(Ref<Image> p_image, const Vector<uint8_t> *p_data, float p_scale, bool upsample, bool convert_colors = false);
+ Dictionary replace_colors;
+ void _replace_color_property(const String &p_prefix, String &r_string);
public:
- static void set_convert_colors(Dictionary *p_replace_color = nullptr);
- static Error create_image_from_string(Ref<Image> p_image, const char *p_svg_str, float p_scale, bool upsample, bool convert_colors = false);
+ // Called by the editor to handle theme icon colors.
+ void set_replace_colors(Dictionary p_replace_colors) { replace_colors = p_replace_colors; }
+ void create_image_from_string(Ref<Image> p_image, String p_string, float p_scale, bool p_upsample, bool p_convert_color);
- virtual Error load_image(Ref<Image> p_image, FileAccess *f, bool p_force_linear, float p_scale);
- virtual void get_recognized_extensions(List<String> *p_extensions) const;
- ImageLoaderSVG();
+ virtual Error load_image(Ref<Image> p_image, FileAccess *p_fileaccess, bool p_force_linear, float p_scale) override;
+ virtual void get_recognized_extensions(List<String> *p_extensions) const override;
};
#endif // IMAGE_LOADER_SVG_H