forked from AuroraMiddleware/gtk
Merge branch 'encode-symbolic-debug' into 'master'
gtk4-encode-symbolic: Add debug output See merge request GNOME/gtk!3017
This commit is contained in:
commit
bdde41e290
@ -61,6 +61,13 @@
|
|||||||
<listitem><para>Write png files to <replaceable>DIRECTORY</replaceable>
|
<listitem><para>Write png files to <replaceable>DIRECTORY</replaceable>
|
||||||
instead of the current working directory.</para></listitem>
|
instead of the current working directory.</para></listitem>
|
||||||
</varlistentry>
|
</varlistentry>
|
||||||
|
<varlistentry>
|
||||||
|
<term>--debug</term>
|
||||||
|
<listitem><para>Generate png files of the various channels during
|
||||||
|
the conversion. If these files are not monochrome green, they
|
||||||
|
are often helpful in pinpointing the problematic parts of
|
||||||
|
the source svg.</para></listitem>
|
||||||
|
</varlistentry>
|
||||||
</variablelist>
|
</variablelist>
|
||||||
</refsect1>
|
</refsect1>
|
||||||
|
|
||||||
|
@ -63,6 +63,7 @@ GdkPixbuf *gtk_make_symbolic_pixbuf_from_data (const char *data,
|
|||||||
int width,
|
int width,
|
||||||
int height,
|
int height,
|
||||||
double scale,
|
double scale,
|
||||||
|
const char *debug_output_to,
|
||||||
GError **error);
|
GError **error);
|
||||||
GdkPixbuf *gtk_make_symbolic_pixbuf_from_file (GFile *file,
|
GdkPixbuf *gtk_make_symbolic_pixbuf_from_file (GFile *file,
|
||||||
int width,
|
int width,
|
||||||
|
@ -35,8 +35,11 @@
|
|||||||
|
|
||||||
static char *output_dir = NULL;
|
static char *output_dir = NULL;
|
||||||
|
|
||||||
|
static gboolean debug;
|
||||||
|
|
||||||
static GOptionEntry args[] = {
|
static GOptionEntry args[] = {
|
||||||
{ "output", 'o', 0, G_OPTION_ARG_FILENAME, &output_dir, N_("Output to this directory instead of cwd"), NULL },
|
{ "output", 'o', 0, G_OPTION_ARG_FILENAME, &output_dir, N_("Output to this directory instead of cwd"), NULL },
|
||||||
|
{ "debug", 0, 0, G_OPTION_ARG_NONE, &debug, N_("Generate debug output") },
|
||||||
{ NULL }
|
{ NULL }
|
||||||
};
|
};
|
||||||
|
|
||||||
@ -65,7 +68,7 @@ main (int argc, char **argv)
|
|||||||
|
|
||||||
g_set_prgname ("gtk-encode-symbolic-svg");
|
g_set_prgname ("gtk-encode-symbolic-svg");
|
||||||
|
|
||||||
context = g_option_context_new ("PATH WIDTHxHEIGHT");
|
context = g_option_context_new ("[OPTION…] PATH WIDTHxHEIGHT");
|
||||||
g_option_context_add_main_entries (context, args, GETTEXT_PACKAGE);
|
g_option_context_add_main_entries (context, args, GETTEXT_PACKAGE);
|
||||||
|
|
||||||
g_option_context_parse (context, &argc, &argv, NULL);
|
g_option_context_parse (context, &argc, &argv, NULL);
|
||||||
@ -104,7 +107,9 @@ main (int argc, char **argv)
|
|||||||
return 1;
|
return 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
symbolic = gtk_make_symbolic_pixbuf_from_data (data, len, width, height, 1.0, &error);
|
basename = g_path_get_basename (path);
|
||||||
|
|
||||||
|
symbolic = gtk_make_symbolic_pixbuf_from_data (data, len, width, height, 1.0, debug ? basename : NULL, &error);
|
||||||
if (symbolic == NULL)
|
if (symbolic == NULL)
|
||||||
{
|
{
|
||||||
g_printerr (_("Can’t load file: %s\n"), error->message);
|
g_printerr (_("Can’t load file: %s\n"), error->message);
|
||||||
@ -113,8 +118,6 @@ main (int argc, char **argv)
|
|||||||
|
|
||||||
g_free (data);
|
g_free (data);
|
||||||
|
|
||||||
basename = g_path_get_basename (path);
|
|
||||||
|
|
||||||
dot = strrchr (basename, '.');
|
dot = strrchr (basename, '.');
|
||||||
if (dot != NULL)
|
if (dot != NULL)
|
||||||
*dot = 0;
|
*dot = 0;
|
||||||
|
@ -429,6 +429,7 @@ gtk_make_symbolic_pixbuf_from_data (const char *file_data,
|
|||||||
int width,
|
int width,
|
||||||
int height,
|
int height,
|
||||||
double scale,
|
double scale,
|
||||||
|
const char *debug_output_basename,
|
||||||
GError **error)
|
GError **error)
|
||||||
|
|
||||||
{
|
{
|
||||||
@ -491,6 +492,16 @@ gtk_make_symbolic_pixbuf_from_data (const char *file_data,
|
|||||||
if (loaded == NULL)
|
if (loaded == NULL)
|
||||||
goto out;
|
goto out;
|
||||||
|
|
||||||
|
if (debug_output_basename)
|
||||||
|
{
|
||||||
|
char *filename;
|
||||||
|
|
||||||
|
filename = g_strdup_printf ("%s.debug%d.png", debug_output_basename, plane);
|
||||||
|
g_print ("Writing %s\n", filename);
|
||||||
|
gdk_pixbuf_save (loaded, filename, "png", NULL, NULL);
|
||||||
|
g_free (filename);
|
||||||
|
}
|
||||||
|
|
||||||
if (pixbuf == NULL)
|
if (pixbuf == NULL)
|
||||||
{
|
{
|
||||||
pixbuf = gdk_pixbuf_new (GDK_COLORSPACE_RGB, TRUE, 8,
|
pixbuf = gdk_pixbuf_new (GDK_COLORSPACE_RGB, TRUE, 8,
|
||||||
@ -534,7 +545,7 @@ gtk_make_symbolic_pixbuf_from_resource (const char *path,
|
|||||||
|
|
||||||
data = g_bytes_get_data (bytes, &size);
|
data = g_bytes_get_data (bytes, &size);
|
||||||
|
|
||||||
pixbuf = gtk_make_symbolic_pixbuf_from_data (data, size, width, height, scale, error);
|
pixbuf = gtk_make_symbolic_pixbuf_from_data (data, size, width, height, scale, NULL, error);
|
||||||
|
|
||||||
g_bytes_unref (bytes);
|
g_bytes_unref (bytes);
|
||||||
|
|
||||||
@ -555,7 +566,7 @@ gtk_make_symbolic_pixbuf_from_path (const char *path,
|
|||||||
if (!g_file_get_contents (path, &data, &size, error))
|
if (!g_file_get_contents (path, &data, &size, error))
|
||||||
return NULL;
|
return NULL;
|
||||||
|
|
||||||
pixbuf = gtk_make_symbolic_pixbuf_from_data (data, size, width, height, scale, error);
|
pixbuf = gtk_make_symbolic_pixbuf_from_data (data, size, width, height, scale, NULL, error);
|
||||||
|
|
||||||
g_free (data);
|
g_free (data);
|
||||||
|
|
||||||
@ -576,7 +587,7 @@ gtk_make_symbolic_pixbuf_from_file (GFile *file,
|
|||||||
if (!g_file_load_contents (file, NULL, &data, &size, NULL, error))
|
if (!g_file_load_contents (file, NULL, &data, &size, NULL, error))
|
||||||
return NULL;
|
return NULL;
|
||||||
|
|
||||||
pixbuf = gtk_make_symbolic_pixbuf_from_data (data, size, width, height, scale, error);
|
pixbuf = gtk_make_symbolic_pixbuf_from_data (data, size, width, height, scale, NULL, error);
|
||||||
|
|
||||||
g_free (data);
|
g_free (data);
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user