diff options
author | Dirk Hohndel <dirk@hohndel.org> | 2013-02-01 17:25:41 +1100 |
---|---|---|
committer | Dirk Hohndel <dirk@hohndel.org> | 2013-02-01 17:25:41 +1100 |
commit | cf3c0266c2bf0f6fbbd532ef4e0c9bdd0a7b37a7 (patch) | |
tree | e1200262f40aead51403aab1e665392892d0298f | |
parent | 393c88f087d40578558b104dd42ff2076e198188 (diff) | |
download | subsurface-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-- | Makefile | 10 | ||||
-rw-r--r-- | divelist.c | 2 | ||||
-rw-r--r-- | flag.h | 76 | ||||
-rw-r--r-- | gps.c | 7 | ||||
-rw-r--r-- | satellite.h | 2 |
5 files changed, 93 insertions, 4 deletions
@@ -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) @@ -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", +}; + + @@ -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 */ |