summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJiří Techet <techet@gmail.com>2019-02-06 14:27:53 +0100
committerJiří Techet <techet@gmail.com>2019-02-06 14:35:07 +0100
commit7096f1a5bfccf73b17281325f7a97e89f68916c8 (patch)
tree58f4cefce7214b930eb9f8839c9ab11a961bc657
parent40cdc17b4f851b49f9112a2c467a738bb32d0db3 (diff)
downloadlibchamplain-7096f1a5bfccf73b17281325f7a97e89f68916c8.tar.gz
Build memphis demo in meson and move its resources to separate directory
-rw-r--r--configure.ac1
-rw-r--r--demos/Makefile.am4
-rw-r--r--demos/local-rendering.c22
-rw-r--r--demos/memphis/Makefile.am1
-rw-r--r--demos/memphis/default-rules.xml (renamed from demos/default-rules.xml)0
-rw-r--r--demos/memphis/high-contrast.xml (renamed from demos/high-contrast.xml)0
-rw-r--r--demos/memphis/las_palmas.osm (renamed from demos/las_palmas.osm)0
-rw-r--r--demos/memphis/meson.build14
-rw-r--r--demos/memphis/schaffhausen.osm (renamed from demos/schaffhausen.osm)0
-rw-r--r--demos/meson.build22
10 files changed, 57 insertions, 7 deletions
diff --git a/configure.ac b/configure.ac
index cfb3a78..90824ad 100644
--- a/configure.ac
+++ b/configure.ac
@@ -196,6 +196,7 @@ AC_CONFIG_FILES([Makefile
champlain/champlain-version.h
demos/Makefile
demos/icons/Makefile
+ demos/memphis/Makefile
docs/Makefile
docs/reference/Makefile
docs/reference/version.xml
diff --git a/demos/Makefile.am b/demos/Makefile.am
index bc210a1..b74823a 100644
--- a/demos/Makefile.am
+++ b/demos/Makefile.am
@@ -1,6 +1,6 @@
noinst_PROGRAMS = minimal launcher animated-marker polygons url-marker create-destroy-test
-SUBDIRS = icons
+SUBDIRS = icons memphis
AM_CPPFLAGS = $(DEPS_CFLAGS) $(WARN_CFLAGS) -I$(top_srcdir)
@@ -58,5 +58,5 @@ launcher_vala_LDADD = \
$(top_builddir)/champlain/libchamplain-@CHAMPLAIN_API_VERSION@.la
endif
-EXTRA_DIST = markers.h launcher.js minimal.py launcher-gtk.py polygons.py keyboard-mapping.py default-rules.xml high-contrast.xml las_palmas.osm schaffhausen.osm
+EXTRA_DIST = markers.h launcher.js minimal.py launcher-gtk.py polygons.py keyboard-mapping.py
diff --git a/demos/local-rendering.c b/demos/local-rendering.c
index d6d3058..8dd3c99 100644
--- a/demos/local-rendering.c
+++ b/demos/local-rendering.c
@@ -462,11 +462,15 @@ map_source_changed (GtkWidget *widget, ChamplainView *view)
ChamplainMapSource *src;
ChamplainRenderer *image_renderer;
guint tile_size;
+ gchar *rules_path, *map_path;
+
+ rules_path = g_build_path(G_DIR_SEPARATOR_S, "memphis", rules[rules_index], NULL);
+ map_path = g_build_path(G_DIR_SEPARATOR_S, "memphis", maps[map_index], NULL);
if (g_strcmp0 (id, "memphis-local") == 0)
{
- champlain_memphis_renderer_load_rules (CHAMPLAIN_MEMPHIS_RENDERER (renderer), rules[rules_index]);
- champlain_file_tile_source_load_map_data (CHAMPLAIN_FILE_TILE_SOURCE (source), maps[map_index]);
+ champlain_memphis_renderer_load_rules (CHAMPLAIN_MEMPHIS_RENDERER (renderer), rules_path);
+ champlain_file_tile_source_load_map_data (CHAMPLAIN_FILE_TILE_SOURCE (source), map_path);
gtk_widget_hide (memphis_box);
gtk_widget_set_no_show_all (memphis_box, FALSE);
gtk_widget_set_no_show_all (memphis_local_box, FALSE);
@@ -475,7 +479,7 @@ map_source_changed (GtkWidget *widget, ChamplainView *view)
}
else if (g_strcmp0 (id, "memphis-network") == 0)
{
- champlain_memphis_renderer_load_rules (CHAMPLAIN_MEMPHIS_RENDERER (renderer), rules[rules_index]);
+ champlain_memphis_renderer_load_rules (CHAMPLAIN_MEMPHIS_RENDERER (renderer), rules_path);
load_network_map_data (CHAMPLAIN_NETWORK_BBOX_TILE_SOURCE (source), view);
gtk_widget_hide (memphis_box);
gtk_widget_set_no_show_all (memphis_box, FALSE);
@@ -489,6 +493,9 @@ map_source_changed (GtkWidget *widget, ChamplainView *view)
gtk_widget_set_no_show_all (memphis_box, TRUE);
}
+ g_free (rules_path);
+ g_free (map_path);
+
tile_source = CHAMPLAIN_MAP_SOURCE (source);
source_chain = champlain_map_source_chain_new ();
@@ -540,8 +547,11 @@ map_data_changed (GtkWidget *widget, ChamplainView *view)
if (g_strcmp0 (champlain_map_source_get_id (tile_source), "memphis-local") == 0)
{
- champlain_file_tile_source_load_map_data (CHAMPLAIN_FILE_TILE_SOURCE (tile_source), maps[map_index]);
+ gchar *map_path = g_build_path(G_DIR_SEPARATOR_S, "memphis", maps[map_index], NULL);
+
+ champlain_file_tile_source_load_map_data (CHAMPLAIN_FILE_TILE_SOURCE (tile_source), map_path);
reload_tiles ();
+ g_free (map_path);
}
}
@@ -562,11 +572,13 @@ rules_changed (GtkWidget *widget, ChamplainView *view)
if (strncmp (champlain_map_source_get_id (tile_source), "memphis", 7) == 0)
{
ChamplainMemphisRenderer *renderer;
+ gchar *rules_path = g_build_path(G_DIR_SEPARATOR_S, "memphis", file, NULL);
renderer = CHAMPLAIN_MEMPHIS_RENDERER (champlain_map_source_get_renderer (CHAMPLAIN_MAP_SOURCE (tile_source)));
- champlain_memphis_renderer_load_rules (renderer, file);
+ champlain_memphis_renderer_load_rules (renderer, rules_path);
load_rules_into_gui (view);
reload_tiles ();
+ g_free (rules_path);
}
}
diff --git a/demos/memphis/Makefile.am b/demos/memphis/Makefile.am
new file mode 100644
index 0000000..73cc545
--- /dev/null
+++ b/demos/memphis/Makefile.am
@@ -0,0 +1 @@
+EXTRA_DIST = default-rules.xml high-contrast.xml las_palmas.osm schaffhausen.osm
diff --git a/demos/default-rules.xml b/demos/memphis/default-rules.xml
index 6aa625e..6aa625e 100644
--- a/demos/default-rules.xml
+++ b/demos/memphis/default-rules.xml
diff --git a/demos/high-contrast.xml b/demos/memphis/high-contrast.xml
index 3fbfe1f..3fbfe1f 100644
--- a/demos/high-contrast.xml
+++ b/demos/memphis/high-contrast.xml
diff --git a/demos/las_palmas.osm b/demos/memphis/las_palmas.osm
index cb32a5f..cb32a5f 100644
--- a/demos/las_palmas.osm
+++ b/demos/memphis/las_palmas.osm
diff --git a/demos/memphis/meson.build b/demos/memphis/meson.build
new file mode 100644
index 0000000..aa24ee1
--- /dev/null
+++ b/demos/memphis/meson.build
@@ -0,0 +1,14 @@
+libchamplain_memphis_data = [
+ 'default-rules.xml',
+ 'high-contrast.xml',
+ 'las_palmas.osm',
+ 'schaffhausen.osm',
+]
+
+custom_target(
+ 'libchamplain_memphis_data',
+ input: libchamplain_memphis_data,
+ output: libchamplain_memphis_data,
+ command: ['cp', '@INPUT@', '@OUTDIR@'],
+ build_by_default: true,
+)
diff --git a/demos/schaffhausen.osm b/demos/memphis/schaffhausen.osm
index 5e3c3c2..5e3c3c2 100644
--- a/demos/schaffhausen.osm
+++ b/demos/memphis/schaffhausen.osm
diff --git a/demos/meson.build b/demos/meson.build
index 0f49e5f..47c9979 100644
--- a/demos/meson.build
+++ b/demos/meson.build
@@ -22,6 +22,7 @@ foreach demo: libchamplain_demos
endforeach
subdir('icons')
+subdir('memphis')
if build_gtk_widgetry == true
libchamplain_gtk_demos = [
@@ -68,3 +69,24 @@ if generate_vapi == true and build_gtk_widgetry == true
)
endforeach
endif
+
+if build_with_memphis == true and build_gtk_widgetry == true
+ libchamplain_memphis_demos = [
+ ['local-rendering', 'local-rendering.c'],
+ ]
+
+ foreach demo: libchamplain_memphis_demos
+ demo_name = demo.get(0)
+ demo_sources = demo.get(1)
+
+ executable(
+ demo_name,
+ demo_sources,
+ install: false,
+ dependencies: [
+ libchamplain_dep,
+ libchamplain_gtk_dep,
+ ]
+ )
+ endforeach
+endif