summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorGravatar Dirk Hohndel <dirk@hohndel.org>2013-02-01 17:25:41 +1100
committerGravatar Dirk Hohndel <dirk@hohndel.org>2013-02-01 17:25:41 +1100
commitcf3c0266c2bf0f6fbbd532ef4e0c9bdd0a7b37a7 (patch)
treee1200262f40aead51403aab1e665392892d0298f
parent393c88f087d40578558b104dd42ff2076e198188 (diff)
downloadsubsurface-cf3c0266c2bf0f6fbbd532ef4e0c9bdd0a7b37a7.tar.gz
Move flag icon to include file
Just like with the satellite icon we are creating a pixdata structure for the flag. The Makefile cleanup in commit df6a9ddd8a21 ("Auto-generate C file dependencies, and make the build more quiet") removed the rules for generating the .h file by mistake (I hope). This adds a more generic rule back in and also makes sure that the data structures get more useful names. Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
-rw-r--r--Makefile10
-rw-r--r--divelist.c2
-rw-r--r--flag.h76
-rw-r--r--gps.c7
-rw-r--r--satellite.h2
5 files changed, 93 insertions, 4 deletions
diff --git a/Makefile b/Makefile
index 93a893687..07c76052c 100644
--- a/Makefile
+++ b/Makefile
@@ -249,6 +249,16 @@ share/locale/%.UTF-8/LC_MESSAGES/subsurface.mo: po/%.po po/%.aliases
done; \
fi
+# this should work but it doesn't preserve the transparancy - so I manually converted with gimp
+# satellite.png: satellite.svg
+# convert -resize 11x16 -depth 8 satellite.svg satellite.png
+#
+# the following creates the pixbuf data in .h files with the basename followed by '_pixmap'
+# as name of the data structure
+%.h: %.png
+ @echo ' gdk-pixbuf-csource' $<
+ @gdk-pixbuf-csource --struct --name $*_pixbuf $< > $@
+
doc:
$(MAKE) -C Documentation doc
diff --git a/divelist.c b/divelist.c
index 1463ef942..d8c760db9 100644
--- a/divelist.c
+++ b/divelist.c
@@ -870,7 +870,7 @@ static void get_suit(struct dive *dive, char **str)
GdkPixbuf *get_gps_icon(void)
{
- return gdk_pixbuf_from_pixdata(&my_pixbuf, TRUE, NULL);
+ return gdk_pixbuf_from_pixdata(&satellite_pixbuf, TRUE, NULL);
}
static GdkPixbuf *get_gps_icon_for_dive(struct dive *dive)
diff --git a/flag.h b/flag.h
new file mode 100644
index 000000000..d3bd59455
--- /dev/null
+++ b/flag.h
@@ -0,0 +1,76 @@
+/* GdkPixbuf RGBA C-Source image dump 1-byte-run-length-encoded */
+
+static const GdkPixdata flag_pixbuf = {
+ 0x47646b50, /* Pixbuf magic: 'GdkP' */
+ 24 + 1383, /* header length + pixel_data length */
+ 0x2010002, /* pixdata_type */
+ 96, /* rowstride */
+ 24, /* width */
+ 24, /* height */
+ /* pixel_data: */
+ "\206\377\377\377\0\5\274\236\255\"t\217\236\314\234\206\234\211\306\211"
+ "\2276\377\314\314\5\223\377\377\377\0\7\305\225\237`\271\241\255\375"
+ "\271\226\245\372\313\225\240\366\275}y\265\355\247\235c\377\315\315$"
+ "\221\377\377\377\0\12\277ei\257\253`h\377\360\302\313\377\340\300\307"
+ "\377\225cd\372x,*\364\305bj\335\355\221\251\236\377\323\356K\377\377"
+ "\377\12\215\377\377\377\0\16\377\277\277\30\276TV\353n\30\33\377\344"
+ "\232\262\377\374\347\370\377\351\316\341\377\220\"@\377}\33\30\376\256"
+ ",G\367\255Qh\355\313\205\227\314\373\326\342{\377\377\377.\377\377\377"
+ "\1\212\377\377\377\0\20\377\263\304Z\252;K\376\205\0\4\377\262\77]\377"
+ "\373\314\350\377\376\362\375\377\355\267\333\377\253\0\36\377\255\0\25"
+ "\377\234\25(\377\2250=\375\245P_\360\276q\200\343\350\254\271\257\377"
+ "\311\327_\377\323\345\35\210\377\377\377\0\23\343\216\261\243\217\26"
+ "4\377\301\0(\377\254\0\32\377\275n\205\377\377\377\377\377\377\367\374"
+ "\377\344\243\274\377\241\0\0\377\273\0\33\377\307\0(\377\263\0\35\377"
+ "\245+6\377\247HT\371\266Sd\347\311q\207\316\321\215\246\217\275\232\257"
+ "I\264\226\264\21\204\377\377\377\0\24\377\266\333\16\310d\215\340\213"
+ "\0\"\377\330\0,\377\323\0\23\377\212\22\37\377\312\265\262\377\377\377"
+ "\377\377\374\362\367\377\310{\215\377\235\0\0\377\313\0\"\377\334\0'"
+ "\377\327\0\35\377\277\0\14\377\253\12\"\377\2422D\377\233AZ\362\220P"
+ "l\336\216k\202\221\204\377\377\377\0\24\377\246\265H\263:[\374\230\0"
+ "\31\377\320\0$\377\344\0\30\377\264\0\0\377\221D\77\377\361\337\344\377"
+ "\377\377\377\377\365\352\355\377\242#A\377\241\0\0\377\334\0,\377\341"
+ "\1#\377\321\4\33\377\301\2\34\377\272\0\35\377\263\0&\377\242\36:\377"
+ "\216\77W\231\204\377\377\377\0\24\366\204\213\225\243\23&\377\251\2\34"
+ "\377\275\4!\377\321\2\32\377\333\1\24\377\263\0\0\377\301w\205\377\377"
+ "\365\376\377\377\377\377\377\345\312\320\377\217\0\0\377\275\0!\377\335"
+ "\3,\377\313\6!\377\270\14\35\377\273\11\37\377\307\0\36\377\316\0\35"
+ "\373\245\0(G\203\377\377\377\0\25\377\225\252\14\326S_\334\227\0\3\377"
+ "\270\6\"\377\262\11(\377\260\13)\377\320\4%\377\331\1!\377\241\0\0\377"
+ "\326\243\271\377\377\377\377\377\377\374\375\377\315\237\256\377\225"
+ "\0\0\377\312\1+\377\320\4-\377\261\13\35\377\251\15\30\377\267\6\25\377"
+ "\320\2\33\327\321\0.\13\203\377\377\377\0\24\362\231\256<\244\25""1\375"
+ "z\0\0\377\256\0\30\377\270\6'\377\263\15""0\377\274\11,\377\320\2'\377"
+ "\262\0\15\377\227\36C\377\353\320\331\377\377\377\377\377\370\356\362"
+ "\377\257On\377\233\0\4\377\320\2""1\377\312\7*\377\266\6\32\377\272\7"
+ "\32\377\275\5\24\227\204\377\377\377\0\24\256\200\220\212\275t\211\377"
+ "\262Kc\377\237\0\34\377\245\0\0\377\254\0\26\377\265\4\"\377\300\3!\377"
+ "\306\6\37\377\234\0\0\377\271^t\377\375\356\366\377\377\377\377\377\352"
+ "\322\333\377\223\0""4\377\256\0\40\377\333\6""4\377\322\2!\377\325\4"
+ "#\377\277\6\26P\203\377\377\377\0\25$$7\16OGR\326\314\224\252\253\333"
+ "\207\242\241\306h\203\326\263Le\377\247$:\377\243\0\0\377\253\0\0\377"
+ "\275\1\31\377\300\0\34\377\246\0\0\377\334\235\257\377\377\374\377\377"
+ "\377\377\377\377\323\242\257\377\215\0\0\377\311\3+\377\333\5+\377\334"
+ "\2#\343\331\0\32\24\203\377\377\377\0\24""62@L\0\12\23\355{{\204\37\377"
+ "\377\377\20\377\255\321N\337|\236\216\310s\214\301\274dy\351\255=U\377"
+ "\254\0'\377\265\0\6\377\246\0\0\377\237\0\1\377\352\301\313\377\377\377"
+ "\377\377\374\360\364\377\276bt\377\240\0\0\377\305\11)\377\315\3!\242"
+ "\204\377\377\377\0\2""85@\237)*6\307\203\377\377\377\0\17\377\377\377"
+ "\1\377\333\3721\366\250\304l\322v\224\251\301ax\322\260[c\361\2556C\377"
+ "\200\0\0\377\230\0/\377\347\334\336\377\377\377\377\377\364\317\327\377"
+ "\2340;\377\223\0\4\377\262\11!V\203\377\377\377\0\3""999\11""53=\334"
+ "22<\200\206\377\377\377\0\14\377\377\377\22\377\302\333G\345\244\256"
+ "\201\311~\213\303\252v}\336rSV\372\231`l\377\367\362\360\377\377\377"
+ "\377\377\331\250\260\377~(1\351z\12\12\31\203\377\377\377\0\3""51>>5"
+ "2=\37211</\211\377\377\377\0\10\377\377\377\37\377\364\377Z\307\244\254"
+ "\237\217wu\322\336\312\305\355\372\361\354\377\377\355\361\377\304\203"
+ "\214\250\204\377\377\377\0\2""32>\22052=\351\215\377\377\377\0\5\377"
+ "\377\3774\355\337\327\177\350\316\306\277\352\305\304\342\377\323\330"
+ "\\\203\377\377\377\0\3@@@\4""32=\32531<\214\217\377\377\377\0\3\327\274"
+ "\274\23\261\213\202X\256\224\206\23\203\377\377\377\0\3""5/;+42=\377"
+ "33=2\225\377\377\377\0\3""53<\20342=\334\0\0\0\1\225\377\377\377\0\2"
+ "42=\34131<\214\226\377\377\377\0\2""42=\25751=\77\226\377\377\377\0\2"
+ "53>t44;'\226\377\377\377\0",
+};
+
+
diff --git a/gps.c b/gps.c
index d6eeaf98e..bb6826898 100644
--- a/gps.c
+++ b/gps.c
@@ -2,7 +2,6 @@
/* Creates the UI displaying the dives locations on a map.
*/
#include <glib/gi18n.h>
-#include <gdk-pixbuf/gdk-pixbuf.h>
#include "osm-gps-map.h"
@@ -11,6 +10,10 @@
#include "display-gtk.h"
#include "divelist.h"
+#include <gdk-pixbuf/gdk-pixbuf.h>
+#include <gdk-pixbuf/gdk-pixdata.h>
+#include "flag.h"
+
/* Several map providers are available, such as OSM_GPS_MAP_SOURCE_OPENSTREETMAP
and OSM_GPS_MAP_SOURCE_VIRTUAL_EARTH_SATELLITE. We should make more of
them available from e.g. a pull-down menu */
@@ -219,7 +222,7 @@ void show_gps_location(struct dive *dive, void (*callback)(float, float))
if (lat != 0 || lng != 0) {
add_gps_point(map, lat, lng);
osm_gps_map_set_center_and_zoom(map, lat, lng, 9);
- picture = gdk_pixbuf_new_from_file("./flag.png", &gerror);
+ picture = gdk_pixbuf_from_pixdata(&flag_pixbuf, TRUE, NULL);
if (picture) {
osm_gps_map_image_add_with_alignment(map, lat, lng, picture, 0, 1);
} else {
diff --git a/satellite.h b/satellite.h
index 629a91f08..0e9e228c2 100644
--- a/satellite.h
+++ b/satellite.h
@@ -1,6 +1,6 @@
/* GdkPixbuf RGBA C-Source image dump 1-byte-run-length-encoded */
-static const GdkPixdata my_pixbuf = {
+static const GdkPixdata satellite_pixbuf = {
0x47646b50, /* Pixbuf magic: 'GdkP' */
24 + 445, /* header length + pixel_data length */
0x2010002, /* pixdata_type */