R_API void r_print_cursor(RPrint *p, int cur, int set) { if (!p->cur_enabled) return; if (p->ocur != -1) { int from = p->ocur; int to = p->cur; r_num_minmax_swap_i (&from, &to); if (cur>=from && cur<=to) p->printf ("%s", R_CONS_INVERT (set, 1)); //r_cons_invert (set, 1); //p->flags&R_PRINT_FLAGS_COLOR); } else if (cur==p->cur) p->printf ("%s", R_CONS_INVERT (set, 1)); //r_cons_invert (set, 1); //p->flags&R_PRINT_FLAGS_COLOR); }
R_API void r_print_cursor(RPrint *p, int cur, int set) { if (!p || !p->cur_enabled) return; if (p->ocur != -1) { int from = p->ocur; int to = p->cur; r_num_minmax_swap_i (&from, &to); if (cur>=from && cur<=to) p->printf ("%s", R_CONS_INVERT (set, 1)); } else if (cur==p->cur) p->printf ("%s", R_CONS_INVERT (set, 1)); }
R_API bool r_print_have_cursor(RPrint *p, int cur, int len) { if (!p || !p->cur_enabled) { return false; } if (p->ocur != -1) { int from = p->ocur; int to = p->cur; r_num_minmax_swap_i (&from, &to); do { if (cur + len - 1 >= from && cur + len - 1 <= to) { return true; } } while (--len); } else if (p->cur >= cur && p->cur <= cur + len - 1) { return true; } return false; }