aboutsummaryrefslogtreecommitdiff
path: root/src/sc_editor.c
diff options
context:
space:
mode:
authorThomas White <taw@bitwiz.org.uk>2015-02-22 16:12:20 +0100
committerThomas White <taw@bitwiz.org.uk>2015-02-22 16:12:20 +0100
commit24e5163fd377e860a62595d01b187be8df1d7a7d (patch)
tree14ee72c70fc6a7c7f4ab8c243f78d1b390c6b4b2 /src/sc_editor.c
parentc12f041d4e151cf0bbbb4e2c92c4bbc45e5fa67a (diff)
WIP on slide adding
Diffstat (limited to 'src/sc_editor.c')
-rw-r--r--src/sc_editor.c29
1 files changed, 29 insertions, 0 deletions
diff --git a/src/sc_editor.c b/src/sc_editor.c
index da66ce4..d261e7c 100644
--- a/src/sc_editor.c
+++ b/src/sc_editor.c
@@ -506,6 +506,35 @@ static void move_cursor(SCEditor *e, signed int x, signed int y)
}
+void insert_scblock(SCBlock *scblock, SCEditor *e)
+{
+ int sln, sbx, sps;
+ struct wrap_box *sbox;
+ struct frame *fr = e->cursor_frame;
+
+ if ( fr == NULL ) return;
+
+ /* If this is, say, the top level frame, do nothing */
+ if ( fr->boxes == NULL ) return;
+
+ sln = e->cursor_line;
+ sbx = e->cursor_box;
+ sps = e->cursor_pos;
+ sbox = &e->cursor_frame->lines[sln].boxes[sbx];
+
+ sc_insert_block(sbox->scblock, sps+sbox->offs_char, scblock);
+
+ fr->empty = 0;
+
+ rerender(e);
+
+ fixup_cursor(e);
+ advance_cursor(e);
+
+ redraw_editor(e);
+}
+
+
static void insert_text(char *t, SCEditor *e)
{
int sln, sbx, sps;