Lines Matching +full:smp +full:- +full:offset
1 /*-
26 #define ISMOTION(vp) (vp->rkp != NULL && F_ISSET(vp->rkp, V_MOTION))
36 * otherwise. This is part of the off-by-1 schizophrenia that
62 #define VM_RCM_SETFNB 0x00000040 /* RCM: set to first non-blank (FNB). */
64 #define VM_RCM_SETNNB 0x00000100 /* RCM: set to next non-blank. */
94 * defined command-by-command. Every function has to roll its own
156 #define CS_EOF 2 /* End-of-file. */
157 #define CS_EOL 3 /* End-of-line. */
158 #define CS_SOF 4 /* Start-of-file. */
183 * the information is useful to keep information from being re-calculated.
190 * is the screen offset into the line. For example, the pair 2:1 would be
193 * 2:1, 3:1, etc. If doing left-right scrolling, the coff field is the screen
194 * column offset into the lines, and can take on any value, as it's adjusted
198 recno_t lno; /* 1-N: Physical file line number. */
199 size_t coff; /* 0-N: Column offset in the line. */
200 size_t soff; /* 1-N: Screen offset in the line. */
203 size_t c_sboff; /* 0-N: offset of first character on screen. */
204 size_t c_eboff; /* 0-N: offset of last character on screen. */
205 u_int8_t c_scoff; /* 0-N: offset into the first character. */
207 u_int8_t c_eclen; /* 1-N: columns from the last character. */
208 u_int8_t c_ecsize; /* 1-N: size of the last character. */
211 #define SMAP_CACHE(smp) ((smp)->c_ecsize != 0) argument
212 #define SMAP_FLUSH(smp) ((smp)->c_ecsize = 0) argument
220 /* Vi private, per-screen memory. */
245 size_t linecount; /* 1-N: Output overwrite count. */
246 size_t lcontinue; /* 1-N: Output line continue value. */
247 size_t totalcount; /* 1-N: Output overwrite count. */
280 #define SIZE_HMAP(sp) (VIP(sp)->srows + 1)
285 * the off-by-one errors that can result. If stepping through an SMAP
286 * and operating on each entry, use sp->t_rows as the count of slots,
289 #define _HMAP(sp) (VIP(sp)->h_smap)
291 #define _TMAP(sp) (VIP(sp)->t_smap)
294 recno_t ss_lno; /* 1-N: vi_opt_screens cached line number. */
296 #define VI_SCR_CFLUSH(vip) vip->ss_lno = OOBLNO
298 size_t srows; /* 1-N: rows in the terminal/window. */
299 recno_t olno; /* 1-N: old cursor file line. */
300 size_t ocno; /* 0-N: old file cursor column. */
301 size_t sc_col; /* 0-N: LOGICAL screen column. */
317 #define VIP(sp) ((VI_PRIVATE *)((sp)->vi_private))
322 ((O_ISSET(sp, O_NUMBER) ? (sp)->cols - O_NUMBER_LENGTH : (sp)->cols))
325 * LASTLINE is the zero-based, last line in the screen. Note that it is correct
330 ((sp)->t_maxrows < (sp)->rows ? (sp)->t_maxrows : (sp)->rows - 1)
333 * Small screen (see vs_refresh.c, section 6a) and one-line screen test.
336 #define IS_SMALL(sp) ((sp)->t_minrows != (sp)->t_maxrows)
337 #define IS_ONELINE(sp) ((sp)->rows == 1)
340 ((sp)->t_rows == 1 ? 1 : (sp)->t_rows / 2)
342 ((sp)->t_maxrows == 1 ? 1 : (sp)->t_maxrows / 2)
345 * Next tab offset.
358 ((sp)->rows != O_VAL(sp, O_LINES))
361 ((sp)->cols != O_VAL(sp, O_COLUMNS))