aboutsummaryrefslogtreecommitdiff
path: root/libstorycode/narrative.c
diff options
context:
space:
mode:
authorThomas White <taw@bitwiz.me.uk>2019-03-30 16:18:46 +0100
committerThomas White <taw@bitwiz.me.uk>2019-03-30 16:18:46 +0100
commit96c903e0756e8a85649c1f7d8d6aa1b146b8c038 (patch)
treea75b3ed66b0815b08ccf225a8bba94d582dbab6a /libstorycode/narrative.c
parent94417175556e1938994a7a3a713e5fab0cd74f0c (diff)
Implement "add slide"
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;
+}