diff src/libvterm/include/vterm.h @ 11761:7846efd291d7 v8.0.0763

patch 8.0.0763: libvterm can be improved commit https://github.com/vim/vim/commit/9cc5f75932b10f611d8b3f444d025053f9dbcab1 Author: Bram Moolenaar <Bram@vim.org> Date: Sun Jul 23 22:07:27 2017 +0200 patch 8.0.0763: libvterm can be improved Problem: Libvterm can be improved. Solution: Various small improvements, more comments.
author Christian Brabandt <cb@256bit.org>
date Sun, 23 Jul 2017 22:15:05 +0200
parents b8299e742f41
children c76b672df584
line wrap: on
line diff
--- a/src/libvterm/include/vterm.h
+++ b/src/libvterm/include/vterm.h
@@ -160,7 +160,9 @@ VTerm *vterm_new_with_allocator(int rows
 /* Free and cleanup a terminal and all its data. */
 void   vterm_free(VTerm* vt);
 
+/* Get the current size of the terminal and store in "rowsp" and "colsp". */
 void vterm_get_size(const VTerm *vt, int *rowsp, int *colsp);
+
 void vterm_set_size(VTerm *vt, int rows, int cols);
 
 int  vterm_get_utf8(const VTerm *vt);
@@ -195,14 +197,14 @@ void vterm_mouse_button(VTerm *vt, int b
  *
  * Don't confuse this with the final byte of the CSI escape; 'a' in this case.
  */
-#define CSI_ARG_FLAG_MORE (1<<31)
-#define CSI_ARG_MASK      (~(1<<31))
+#define CSI_ARG_FLAG_MORE (1<<30)
+#define CSI_ARG_MASK      (~(1<<30))
 
 #define CSI_ARG_HAS_MORE(a) ((a) & CSI_ARG_FLAG_MORE)
 #define CSI_ARG(a)          ((a) & CSI_ARG_MASK)
 
 /* Can't use -1 to indicate a missing argument; use this instead */
-#define CSI_ARG_MISSING ((1UL<<31)-1)
+#define CSI_ARG_MISSING ((1<<30)-1)
 
 #define CSI_ARG_IS_MISSING(a) (CSI_ARG(a) == CSI_ARG_MISSING)
 #define CSI_ARG_OR(a,def)     (CSI_ARG(a) == CSI_ARG_MISSING ? (def) : CSI_ARG(a))
@@ -248,7 +250,9 @@ void *vterm_state_get_cbdata(VTermState 
 void  vterm_state_set_unrecognised_fallbacks(VTermState *state, const VTermParserCallbacks *fallbacks, void *user);
 void *vterm_state_get_unrecognised_fbdata(VTermState *state);
 
+/* Initialize the state. */
 void vterm_state_reset(VTermState *state, int hard);
+
 void vterm_state_get_cursorpos(const VTermState *state, VTermPos *cursorpos);
 void vterm_state_get_default_colors(const VTermState *state, VTermColor *default_fg, VTermColor *default_bg);
 void vterm_state_get_palette_color(const VTermState *state, int index, VTermColor *col);
@@ -295,6 +299,7 @@ typedef struct {
   int (*sb_popline)(int cols, VTermScreenCell *cells, void *user);
 } VTermScreenCallbacks;
 
+/* Return the screen of the vterm. */
 VTermScreen *vterm_obtain_screen(VTerm *vt);
 
 /*
@@ -317,9 +322,15 @@ typedef enum {
   VTERM_DAMAGE_SCROLL   /* entire screen + scrollrect */
 } VTermDamageSize;
 
+/* Invoke the relevant callbacks to update the screen. */
 void vterm_screen_flush_damage(VTermScreen *screen);
+
 void vterm_screen_set_damage_merge(VTermScreen *screen, VTermDamageSize size);
 
+/*
+ * Reset the screen.  Also invokes vterm_state_reset().
+ * Must be called before the terminal can be used.
+ */
 void   vterm_screen_reset(VTermScreen *screen, int hard);
 
 /* Neither of these functions NUL-terminate the buffer */