1*4882a593SmuzhiyunFrom 4d09ff324419fe4e671233044e424378da53969b Mon Sep 17 00:00:00 2001
2*4882a593SmuzhiyunFrom: Jussi Kukkonen <jussi.kukkonen@intel.com>
3*4882a593SmuzhiyunDate: Tue, 9 Jun 2015 14:20:30 +0300
4*4882a593SmuzhiyunSubject: [PATCH] Remove Gdk-dependency from gtk-encode-symbolic-svg
5*4882a593Smuzhiyun
6*4882a593SmuzhiyunBuilding gtk-encode-symbolic-svg without building Gdk is useful
7*4882a593Smuzhiyunas only the icon tools are needed on the native build: this makes
8*4882a593Smuzhiyunnative build much faster and requires much less dependencies.
9*4882a593Smuzhiyun
10*4882a593SmuzhiyunUpstream-Status: Pending
11*4882a593Smuzhiyun
12*4882a593SmuzhiyunSigned-off-by: Jussi Kukkonen <jussi.kukkonen@intel.com>
13*4882a593SmuzhiyunSigned-off-by: Gustavo Zacarias <gustavo@zacarias.com.ar>
14*4882a593Smuzhiyun---
15*4882a593SmuzhiyunPatch status: taken from yocto, upstream pending
16*4882a593Smuzhiyun
17*4882a593Smuzhiyun gtk/encodesymbolic.c | 36 ++++++++++--------------------------
18*4882a593Smuzhiyun 1 file changed, 10 insertions(+), 26 deletions(-)
19*4882a593Smuzhiyun
20*4882a593Smuzhiyundiff --git a/gtk/encodesymbolic.c b/gtk/encodesymbolic.c
21*4882a593Smuzhiyunindex 9f7d015..1f07563 100644
22*4882a593Smuzhiyun--- a/gtk/encodesymbolic.c
23*4882a593Smuzhiyun+++ b/gtk/encodesymbolic.c
24*4882a593Smuzhiyun@@ -19,7 +19,6 @@
25*4882a593Smuzhiyun
26*4882a593Smuzhiyun #include <glib.h>
27*4882a593Smuzhiyun #include <gdk-pixbuf/gdk-pixdata.h>
28*4882a593Smuzhiyun-#include <gdk/gdk.h>
29*4882a593Smuzhiyun #include <glib/gi18n.h>
30*4882a593Smuzhiyun
31*4882a593Smuzhiyun #ifdef HAVE_UNISTD_H
32*4882a593Smuzhiyun@@ -43,30 +42,18 @@ static GdkPixbuf *
33*4882a593Smuzhiyun load_symbolic_svg (char *file_data, gsize file_len,
34*4882a593Smuzhiyun                    int width,
35*4882a593Smuzhiyun                    int height,
36*4882a593Smuzhiyun-                   const GdkRGBA  *fg,
37*4882a593Smuzhiyun-                   const GdkRGBA  *success_color,
38*4882a593Smuzhiyun-                   const GdkRGBA  *warning_color,
39*4882a593Smuzhiyun-                   const GdkRGBA  *error_color,
40*4882a593Smuzhiyun+                   const char *css_fg,
41*4882a593Smuzhiyun+                   const char *css_success,
42*4882a593Smuzhiyun+                   const char *css_warning,
43*4882a593Smuzhiyun+                   const char *css_error,
44*4882a593Smuzhiyun                    GError        **error)
45*4882a593Smuzhiyun {
46*4882a593Smuzhiyun   GInputStream *stream;
47*4882a593Smuzhiyun   GdkPixbuf *pixbuf;
48*4882a593Smuzhiyun-  gchar *css_fg;
49*4882a593Smuzhiyun-  gchar *css_success;
50*4882a593Smuzhiyun-  gchar *css_warning;
51*4882a593Smuzhiyun-  gchar *css_error;
52*4882a593Smuzhiyun   gchar *data;
53*4882a593Smuzhiyun   gchar *svg_width, *svg_height;
54*4882a593Smuzhiyun   gchar *escaped_file_data;
55*4882a593Smuzhiyun
56*4882a593Smuzhiyun-  css_fg = gdk_rgba_to_string (fg);
57*4882a593Smuzhiyun-
58*4882a593Smuzhiyun-  css_success = css_warning = css_error = NULL;
59*4882a593Smuzhiyun-
60*4882a593Smuzhiyun-  css_warning = gdk_rgba_to_string (warning_color);
61*4882a593Smuzhiyun-  css_error = gdk_rgba_to_string (error_color);
62*4882a593Smuzhiyun-  css_success = gdk_rgba_to_string (success_color);
63*4882a593Smuzhiyun-
64*4882a593Smuzhiyun   /* Fetch size from the original icon */
65*4882a593Smuzhiyun   stream = g_memory_input_stream_new_from_data (file_data, file_len, NULL);
66*4882a593Smuzhiyun   pixbuf = gdk_pixbuf_new_from_stream (stream, NULL, error);
67*4882a593Smuzhiyun@@ -105,10 +92,6 @@ load_symbolic_svg (char *file_data, gsize file_len,
68*4882a593Smuzhiyun                       "</svg>",
69*4882a593Smuzhiyun                       NULL);
70*4882a593Smuzhiyun   g_free (escaped_file_data);
71*4882a593Smuzhiyun-  g_free (css_fg);
72*4882a593Smuzhiyun-  g_free (css_warning);
73*4882a593Smuzhiyun-  g_free (css_error);
74*4882a593Smuzhiyun-  g_free (css_success);
75*4882a593Smuzhiyun   g_free (svg_width);
76*4882a593Smuzhiyun   g_free (svg_height);
77*4882a593Smuzhiyun
78*4882a593Smuzhiyun@@ -167,7 +150,8 @@ make_symbolic_pixbuf (char *file,
79*4882a593Smuzhiyun                       GError        **error)
80*4882a593Smuzhiyun
81*4882a593Smuzhiyun {
82*4882a593Smuzhiyun-  GdkRGBA r = { 1,0,0,1}, g = {0,1,0,1};
83*4882a593Smuzhiyun+  const char r[] = "rgba(255,0,0,1)";
84*4882a593Smuzhiyun+  const char g[] = "rgba(0,255,0,1)";
85*4882a593Smuzhiyun   GdkPixbuf *loaded;
86*4882a593Smuzhiyun   GdkPixbuf *pixbuf;
87*4882a593Smuzhiyun   int plane;
88*4882a593Smuzhiyun@@ -196,10 +180,10 @@ make_symbolic_pixbuf (char *file,
89*4882a593Smuzhiyun        * the "rest", as all color fractions should add up to 1.
90*4882a593Smuzhiyun        */
91*4882a593Smuzhiyun       loaded = load_symbolic_svg (file_data, file_len, width, height,
92*4882a593Smuzhiyun-                                  &g,
93*4882a593Smuzhiyun-                                  plane == 0 ? &r : &g,
94*4882a593Smuzhiyun-                                  plane == 1 ? &r : &g,
95*4882a593Smuzhiyun-                                  plane == 2 ? &r : &g,
96*4882a593Smuzhiyun+                                  g,
97*4882a593Smuzhiyun+                                  plane == 0 ? r : g,
98*4882a593Smuzhiyun+                                  plane == 1 ? r : g,
99*4882a593Smuzhiyun+                                  plane == 2 ? r : g,
100*4882a593Smuzhiyun                                   error);
101*4882a593Smuzhiyun       if (loaded == NULL)
102*4882a593Smuzhiyun         return NULL;
103*4882a593Smuzhiyun--
104*4882a593Smuzhiyun2.1.4
105*4882a593Smuzhiyun
106