#ifndef _VIKING_AGGREGATELAYER_H
#define _VIKING_AGGREGATELAYER_H
+#include <glib.h>
+
#include "viklayer.h"
G_BEGIN_DECLS
typedef struct _VikAggregateLayer VikAggregateLayer;
VikAggregateLayer *vik_aggregate_layer_new ();
-void vik_aggregate_layer_add_layer ( VikAggregateLayer *val, VikLayer *l );
+void vik_aggregate_layer_add_layer ( VikAggregateLayer *val, VikLayer *l, gboolean allow_reordering );
void vik_aggregate_layer_insert_layer ( VikAggregateLayer *val, VikLayer *l, GtkTreeIter *replace_layer );
void vik_aggregate_layer_move_layer ( VikAggregateLayer *val, GtkTreeIter *child_iter, gboolean up );
void vik_aggregate_layer_draw ( VikAggregateLayer *val, VikViewport *vp );
void vik_aggregate_layer_free ( VikAggregateLayer *val );
void vik_aggregate_layer_clear ( VikAggregateLayer *val );
gboolean vik_aggregate_layer_delete ( VikAggregateLayer *val, GtkTreeIter *iter );
+gboolean vik_aggregate_layer_delete_layer ( VikAggregateLayer *val, VikLayer *vl );
VikAggregateLayer *vik_aggregate_layer_create (VikViewport *vp);
/* returns: 0 = success, 1 = none appl. found, 2 = found but rejected */
const GList *vik_aggregate_layer_get_children ( VikAggregateLayer *val );
GList *vik_aggregate_layer_get_all_layers_of_type(VikAggregateLayer *val, GList *layers, VikLayerTypeEnum type, gboolean include_invisible);
+guint vik_aggregate_layer_count ( VikAggregateLayer *val );
G_END_DECLS