From 49fc5e3034f2fb5e8d1ee1f4bf48794cccb2e64f Mon Sep 17 00:00:00 2001 From: Jehan Date: Mon, 20 Aug 2018 17:52:22 +0200 Subject: [PATCH] tools: invert-svg build tool no longer necessary. This tool has been outdated for some time now as we don't generate an "inverted icons" theme anymore. This is all done through CSS from a single symbolic icon theme. --- tools/.gitignore | 2 - tools/Makefile.am | 11 ++--- tools/invert-svg.c | 107 --------------------------------------------- 3 files changed, 3 insertions(+), 117 deletions(-) delete mode 100644 tools/invert-svg.c diff --git a/tools/.gitignore b/tools/.gitignore index 150c61ceb3..e6ead216b6 100644 --- a/tools/.gitignore +++ b/tools/.gitignore @@ -7,7 +7,5 @@ /gimptool-2.00.exe /gimp-test-clipboard-2.99 /gimp-test-clipboard-2.99.exe -/invert-svg -/invert-svg.exe /compute-svg-viewbox /compute-svg-viewbox.exe diff --git a/tools/Makefile.am b/tools/Makefile.am index 84568cb535..2dbcb89fd6 100644 --- a/tools/Makefile.am +++ b/tools/Makefile.am @@ -45,10 +45,6 @@ kernelgen_SOURCES = kernelgen.c if ENABLE_VECTOR_ICONS -invert-svg$(BUILD_EXEEXT): invert-svg.c - $(CC_FOR_BUILD) -fPIC -o $@ $< $(NATIVE_GLIB_LIBS) $(CPPFLAGS_FOR_BUILD) $(CFLAGS_FOR_BUILD) $(LDFLAGS_FOR_BUILD) $(NATIVE_GLIB_CFLAGS) - - # compute_svg_viewbox is not built or used because librsvg is just too buggy # right now. But we keep the code around. The goal of this build tool will be # to be able to extract SVG icons from a single SVG file at build time, rather @@ -60,9 +56,9 @@ invert-svg$(BUILD_EXEEXT): invert-svg.c #compute_svg_viewbox_LDADD = $(SVG_LIBS) # Build tools which must be built for the host platform. -all-local: invert-svg$(BUILD_EXEEXT) +#all-local: compute-svg-viewbox$(BUILD_EXEEXT) -DISTCLEANFILES = invert-svg$(BUILD_EXEEXT) +#DISTCLEANFILES = compute-svg-viewbox$(BUILD_EXEEXT) endif AM_CPPFLAGS = \ @@ -102,5 +98,4 @@ AM_LDFLAGS = \ EXTRA_DIST = \ defcheck.py \ gimp-mkenums \ - gimppath2svg.py \ - invert-svg.c + gimppath2svg.py diff --git a/tools/invert-svg.c b/tools/invert-svg.c deleted file mode 100644 index 551a438017..0000000000 --- a/tools/invert-svg.c +++ /dev/null @@ -1,107 +0,0 @@ -/* invert-svg-grey.c - * Copyright (C) 2016 Jehan - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ - -#include -#include -#include -#include - -/* This tool inverts grey colors in a SVG image. - * Non-grey colors are not touched, since they are considered - * exceptions that we would want to keep the same (for instance - * Red, Blue or Green channel representations). - * - * It is not based off XML knowledge since colors could appear in - * various fields. Instead we just assume that a color has the XML - * format "#RRGGBB" and we use regular expression to update these. - */ -static gboolean -invert_rgb_color (const GMatchInfo *info, - GString *res, - gpointer data) -{ - gchar *match; - gchar *inverted; - gint value; - - /* We only invert grey colors, so we just need the first channel. */ - match = g_match_info_fetch (info, 1); - value = strtol (match, NULL, 16); - value = 255 - value; - inverted = g_strdup_printf ("#%02x%02x%02x", - value, value, value); - - g_string_append (res, inverted); - g_free (inverted); - g_free (match); - - return FALSE; -} - -int main (int argc, char **argv) -{ - gchar *input; - gchar *output; - GFile *file; - gchar *contents; - gchar *replaced; - GRegex *regex; - gint retval = 0; - - if (argc != 3) - { - g_fprintf (stderr, "Usage: invert-svg svg-image inverted-svg-output\n"); - return 1; - } - input = argv[1]; - output = argv[2]; - - file = g_file_new_for_path (input); - if (! g_file_load_contents (file, NULL, &contents, NULL, NULL, NULL)) - { - g_fprintf (stderr, - "Error: invert-svg could not load contents of file %s.\n", - input); - g_object_unref (file); - return 1; - } - g_object_unref (file); - - /* Replace grey colors only. */ - regex = g_regex_new ("#([0-9a-fA-F]{2}){3}\\b", 0, 0, NULL); - replaced = g_regex_replace_eval (regex, contents, -1, 0, 0, - invert_rgb_color, NULL, NULL); - - file = g_file_new_for_path (output); - if (! g_file_replace_contents (file, replaced, strlen (replaced), - NULL, FALSE, - G_FILE_CREATE_REPLACE_DESTINATION, - NULL, NULL, NULL)) - { - g_fprintf (stderr, - "Error: invert-svg could not save file %s.\n", - output); - retval = 1; - } - - g_object_unref (file); - g_free (contents); - g_free (replaced); - g_regex_unref (regex); - - return retval; -}