[gimp] plug-ins: put the pagecurl icons into a resource
- From: Michael Natterer <mitch src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gimp] plug-ins: put the pagecurl icons into a resource
- Date: Mon, 28 Dec 2015 22:55:15 +0000 (UTC)
commit ed042c540afd04e5c198a826d30bac0bea90e543
Author: Michael Natterer <mitch gimp org>
Date: Mon Dec 28 23:54:30 2015 +0100
plug-ins: put the pagecurl icons into a resource
plug-ins/pagecurl/.gitignore | 4 ++--
plug-ins/pagecurl/Makefile.am | 32 ++++++++++++++++++--------------
plug-ins/pagecurl/pagecurl.c | 21 +++++++--------------
3 files changed, 27 insertions(+), 30 deletions(-)
---
diff --git a/plug-ins/pagecurl/.gitignore b/plug-ins/pagecurl/.gitignore
index 7f988c3..a83f494 100644
--- a/plug-ins/pagecurl/.gitignore
+++ b/plug-ins/pagecurl/.gitignore
@@ -5,5 +5,5 @@
/.libs
/pagecurl
/pagecurl.exe
-/pagecurl-icons.h
-/pagecurl-icons.list
+/pagecurl-icons.c
+/pagecurl-icons.gresource.xml
diff --git a/plug-ins/pagecurl/Makefile.am b/plug-ins/pagecurl/Makefile.am
index 5aa6d90..415476a 100644
--- a/plug-ins/pagecurl/Makefile.am
+++ b/plug-ins/pagecurl/Makefile.am
@@ -26,9 +26,8 @@ libexecdir = $(gimpplugindir)/plug-ins
libexec_PROGRAMS = pagecurl
pagecurl_SOURCES = pagecurl.c
-nodist_pagecurl_SOURCES = pagecurl-icons.h
-BUILT_SOURCES = pagecurl-icons.h
+BUILT_SOURCES = pagecurl-icons.c
AM_CPPFLAGS = \
-I$(top_srcdir) \
@@ -63,15 +62,20 @@ PAGECURL_IMAGES = \
EXTRA_DIST = $(PAGECURL_IMAGES)
-CLEANFILES = $(BUILT_SOURCES) pagecurl-icons.list
-
-pagecurl-icons.list: $(PAGECURL_IMAGES) Makefile.am
- ( rm -f $@; \
- for image in $(PAGECURL_IMAGES); do \
- echo $$image | \
- sed -e 's|.*/||' -e 's|-|_|g' -e 's|\.png$$||' >> $@; \
- echo " $(srcdir)/$$image" >> $@; \
- done )
-
-$(srcdir)/pagecurl-icons.h: pagecurl-icons.list
- $(GDK_PIXBUF_CSOURCE) --raw --build-list `cat pagecurl-icons.list` > $(@F)
+CLEANFILES = $(BUILT_SOURCES) pagecurl-icons.gresource.xml
+
+pagecurl-icons.gresource.xml: $(PAGECURL_IMAGES) Makefile.am
+ $(AM_V_GEN) ( rm -f $@; \
+ echo '<?xml version="1.0" encoding="UTF-8"?>' > $@; \
+ echo '<gresources>' >> $@; \
+ echo ' <gresource prefix="/org/gimp/pagecurl-icons">' >> $@; \
+ for image in $(PAGECURL_IMAGES); do \
+ echo " <file preprocess=\"to-pixdata\">$$image</file>" >> $@; \
+ done; \
+ echo ' </gresource>' >> $@; \
+ echo '</gresources>' >> $@ )
+
+$(srcdir)/pagecurl-icons.c: pagecurl-icons.gresource.xml
+ $(AM_V_GEN) $(GLIB_COMPILE_RESOURCES) \
+ --sourcedir=$(srcdir) --generate-source \
+ --target=$@ pagecurl-icons.gresource.xml
diff --git a/plug-ins/pagecurl/pagecurl.c b/plug-ins/pagecurl/pagecurl.c
index af942d0..bb7debc 100644
--- a/plug-ins/pagecurl/pagecurl.c
+++ b/plug-ins/pagecurl/pagecurl.c
@@ -47,7 +47,7 @@
#include "libgimp/stdplugins-intl.h"
-#include "pagecurl-icons.h"
+#include "pagecurl-icons.c"
#define PLUG_IN_PROC "plug-in-pagecurl"
@@ -145,18 +145,6 @@ static CurlParams curl;
static gint32 image_id;
static GimpDrawable *curl_layer;
-static const guint8 *curl_pixbufs[] =
-{
- curl0,
- curl1,
- curl2,
- curl3,
- curl4,
- curl5,
- curl6,
- curl7
-};
-
static GtkWidget *curl_image = NULL;
static gint sel_x, sel_y;
@@ -403,6 +391,7 @@ curl_pixbuf_update (void)
{
GdkPixbuf *pixbuf;
gint index;
+ gchar *resource;
switch (curl.edge)
{
@@ -416,7 +405,11 @@ curl_pixbuf_update (void)
index += curl.orientation * 4;
- pixbuf = gdk_pixbuf_new_from_inline (-1, curl_pixbufs[index], FALSE, NULL);
+ resource = g_strdup_printf ("/org/gimp/pagecurl-icons/curl%c.png",
+ '0' + index);
+ pixbuf = gdk_pixbuf_new_from_resource (resource, NULL);
+ g_free (resource);
+
gtk_image_set_from_pixbuf (GTK_IMAGE (curl_image), pixbuf);
g_object_unref (pixbuf);
}
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]