diff options
author | Thomas White <taw@bitwiz.org.uk> | 2015-02-22 16:12:20 +0100 |
---|---|---|
committer | Thomas White <taw@bitwiz.org.uk> | 2015-02-22 16:12:20 +0100 |
commit | 24e5163fd377e860a62595d01b187be8df1d7a7d (patch) | |
tree | 14ee72c70fc6a7c7f4ab8c243f78d1b390c6b4b2 /src/sc_editor.c | |
parent | c12f041d4e151cf0bbbb4e2c92c4bbc45e5fa67a (diff) |
WIP on slide adding
Diffstat (limited to 'src/sc_editor.c')
-rw-r--r-- | src/sc_editor.c | 29 |
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; |