aboutsummaryrefslogtreecommitdiff
path: root/libstorycode/narrative.c
diff options
context:
space:
mode:
Diffstat (limited to 'libstorycode/narrative.c')
-rw-r--r--libstorycode/narrative.c20
1 files changed, 20 insertions, 0 deletions
diff --git a/libstorycode/narrative.c b/libstorycode/narrative.c
index c0ae0d7..5dfe117 100644
--- a/libstorycode/narrative.c
+++ b/libstorycode/narrative.c
@@ -157,6 +157,15 @@ void narrative_add_slide(Narrative *n, Slide *slide)
}
+void narrative_insert_slide(Narrative *n, Slide *slide, int pos)
+{
+ struct narrative_item *item = insert_item(n, pos-1);
+ item->type = NARRATIVE_ITEM_SLIDE;
+ item->slide = slide;
+ item->slide_thumbnail = NULL;
+}
+
+
static void delete_item(Narrative *n, int del)
{
int i;
@@ -262,3 +271,14 @@ Slide *narrative_get_slide(Narrative *n, int para)
if ( n->items[para].type != NARRATIVE_ITEM_SLIDE ) return NULL;
return n->items[para].slide;
}
+
+
+int narrative_get_slide_number(Narrative *n, int para)
+{
+ int i;
+ int ns = 0;
+ for ( i=0; i<n->n_items; i++ ) {
+ if ( n->items[i].type == NARRATIVE_ITEM_SLIDE ) ns++;
+ }
+ return ns;
+}