diff options
author | Thomas White <taw@bitwiz.org.uk> | 2017-01-13 23:07:09 +0100 |
---|---|---|
committer | Thomas White <taw@bitwiz.org.uk> | 2017-01-13 23:07:09 +0100 |
commit | eeff763f780c06f5421c60dc9e9820f13aca91f4 (patch) | |
tree | ccfe463133cdcd227aebece3e8e8077e3976a5d0 | |
parent | 4495f3ca17aed37702c0576226d1e88875c24fe9 (diff) |
Add a load of debug magic keys
-rw-r--r-- | src/frame.c | 2 | ||||
-rw-r--r-- | src/frame.h | 2 | ||||
-rw-r--r-- | src/sc_editor.c | 32 |
3 files changed, 34 insertions, 2 deletions
diff --git a/src/frame.c b/src/frame.c index c8a3a42..d654965 100644 --- a/src/frame.c +++ b/src/frame.c @@ -894,7 +894,7 @@ static char *run_text(struct text_run *run) } -static __attribute__((unused)) void show_para(Paragraph *p) +void show_para(Paragraph *p) { int i; printf("Paragraph %p\n", p); diff --git a/src/frame.h b/src/frame.h index f594d05..4f8be33 100644 --- a/src/frame.h +++ b/src/frame.h @@ -114,7 +114,7 @@ extern double total_height(struct frame *fr); extern Paragraph *last_open_para(struct frame *fr); extern Paragraph *current_para(struct frame *fr); extern void close_last_paragraph(struct frame *fr); - +extern void show_para(Paragraph *p); extern void set_para_spacing(Paragraph *para, float space[4]); extern double paragraph_height(Paragraph *para); diff --git a/src/sc_editor.c b/src/sc_editor.c index 83bb90b..52bd340 100644 --- a/src/sc_editor.c +++ b/src/sc_editor.c @@ -1279,6 +1279,26 @@ static void paste_selection(SCEditor *e) } +static void debug_paragraphs(SCEditor *e) +{ + struct frame *fr = e->cursor_frame; + int i; + + printf("Paragraphs in current frame:\n"); + for ( i=0; i<fr->n_paras; i++ ) { + show_para(fr->paras[i]); + } +} + + +static void show_cursor_pos(SCEditor *e) +{ + fprintf(stderr, "Cursor: fr %p, para %i, pos %li, trail %i\n", + e->cursor_frame, e->cursor_para, (long int)e->cursor_pos, + e->cursor_trail); +} + + static gboolean key_press_sig(GtkWidget *da, GdkEventKey *event, SCEditor *e) { @@ -1353,6 +1373,18 @@ static gboolean key_press_sig(GtkWidget *da, GdkEventKey *event, full_rerender(e); break; + case GDK_KEY_F6 : + show_cursor_pos(e); + break; + + case GDK_KEY_F7 : + debug_paragraphs(e); + break; + + case GDK_KEY_F8 : + show_sc_blocks(e->scblocks); + break; + case GDK_KEY_C : case GDK_KEY_c : if ( event->state == GDK_CONTROL_MASK ) { |