summaryrefslogtreecommitdiffstats
path: root/core/selection.h
diff options
context:
space:
mode:
Diffstat (limited to 'core/selection.h')
-rw-r--r--core/selection.h26
1 files changed, 24 insertions, 2 deletions
diff --git a/core/selection.h b/core/selection.h
index 0fb226949..e990a697c 100644
--- a/core/selection.h
+++ b/core/selection.h
@@ -4,13 +4,35 @@
#ifndef SELECTION_H
#define SELECTION_H
+struct dive;
+
+extern int amount_selected;
+
+/*** C and C++ functions ***/
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+extern void select_dive(struct dive *dive);
+extern void deselect_dive(struct dive *dive);
+extern struct dive *first_selected_dive(void);
+extern struct dive *last_selected_dive(void);
+extern bool consecutive_selected(void);
+
+#if DEBUG_SELECTION_TRACKING
+extern void dump_selection(void);
+#endif
+
+#ifdef __cplusplus
+}
+#endif
+
/*** C++-only functions ***/
#ifdef __cplusplus
#include <vector>
-struct dive;
-
// Reset the selection to the dives of the "selection" vector and send the appropriate signals.
// Set the current dive to "currentDive". "currentDive" must be an element of "selection" (or
// null if "seletion" is empty).