X-Git-Url: http://git.mutantstargoat.com/user/nuclear/?p=visor;a=blobdiff_plain;f=libvisor%2Finclude%2Fvisor.h;h=c17e7d8af9f3cdf6494b4a65c36ddde7954e1ee6;hp=1e79aed5ea82c111f6829b9532ba4cce88db3fad;hb=HEAD;hpb=8cae8696beb7f1fa2dfc4e85be2fd5d9cf52a265 diff --git a/libvisor/include/visor.h b/libvisor/include/visor.h index 1e79aed..c17e7d8 100644 --- a/libvisor/include/visor.h +++ b/libvisor/include/visor.h @@ -77,8 +77,8 @@ enum { VI_SEEK_SET, VI_SEEK_CUR, VI_SEEK_END }; struct vi_fileops { vi_file *(*open)(const char *path, unsigned int flags); - long (*size)(vi_file *file); void (*close)(vi_file *file); + long (*size)(vi_file *file); void *(*map)(vi_file *file); void (*unmap)(vi_file *file); long (*read)(vi_file *file, void *buf, long count); @@ -97,6 +97,7 @@ struct vi_ttyops { void (*del_back)(void *cls); void (*del_fwd)(void *cls); void (*status)(char *s, void *cls); + void (*flush)(void *cls); }; /* Create a new instance of the visor editor. @@ -111,6 +112,9 @@ void vi_destroy(struct visor *vi); void vi_set_fileops(struct visor *vi, struct vi_fileops *fop); void vi_set_ttyops(struct visor *vi, struct vi_ttyops *tty); +void vi_term_size(struct visor *vi, int xsz, int ysz); +void vi_redraw(struct visor *vi); + /* vi_new_buf creates a new buffer and inserts it in the buffer list. If the * path pointer is null, the new buffer will be empty, otherwise it's as if it * was followed by a vi_buf_read call to read a file into the buffer. @@ -156,4 +160,8 @@ void vi_buf_ins_end(struct vi_buffer *vb); void vi_buf_del(struct vi_buffer *vb, vi_motion mot); void vi_buf_yank(struct vi_buffer *vb, vi_motion mot); + +/* high level user input handling */ +void vi_keypress(struct visor *vi, int key); + #endif /* LIB_VISOR_TEXTED_CORE_H_ */