Lines Matching refs:screen

296 __slk_attron(SCREEN *screen, const chtype attr)  in __slk_attron()  argument
299 if (screen == NULL || screen->slk_window == NULL) in __slk_attron()
301 return wattron(screen->slk_window, attr); in __slk_attron()
310 __slk_attr_on(SCREEN *screen, const attr_t attr, void *opt) in __slk_attr_on() argument
313 if (screen == NULL || screen->slk_window == NULL) in __slk_attr_on()
315 return wattr_on(screen->slk_window, attr, opt); in __slk_attr_on()
324 __slk_attroff(SCREEN *screen, const chtype attr) in __slk_attroff() argument
327 if (screen == NULL || screen->slk_window == NULL) in __slk_attroff()
329 return wattroff(screen->slk_window, attr); in __slk_attroff()
338 __slk_attr_off(SCREEN *screen, const attr_t attr, void *opt) in __slk_attr_off() argument
341 if (screen == NULL || screen->slk_window == NULL) in __slk_attr_off()
343 return wattr_off(screen->slk_window, attr, opt); in __slk_attr_off()
352 __slk_attrset(SCREEN *screen, const chtype attr) in __slk_attrset() argument
355 if (screen == NULL || screen->slk_window == NULL) in __slk_attrset()
357 return wattrset(screen->slk_window, attr); in __slk_attrset()
366 __slk_attr_set(SCREEN *screen, const attr_t attr, short pair, void *opt) in __slk_attr_set() argument
369 if (screen == NULL || screen->slk_window == NULL) in __slk_attr_set()
371 return wattr_set(screen->slk_window, attr, pair, opt); in __slk_attr_set()
380 __slk_clear(SCREEN *screen) in __slk_clear() argument
383 if (screen == NULL) in __slk_clear()
385 screen->slk_hidden = true; in __slk_clear()
386 if (screen->is_term_slk) { in __slk_clear()
387 if (t_label_off(screen->term) == NULL) in __slk_clear()
389 return ti_putp(screen->term, in __slk_clear()
390 ti_tiparm(screen->term, t_label_off(screen->term))); in __slk_clear()
392 if (screen->slk_window == NULL) in __slk_clear()
394 werase(screen->slk_window); in __slk_clear()
395 return wrefresh(screen->slk_window); in __slk_clear()
404 __slk_color(SCREEN *screen, short pair) in __slk_color() argument
407 if (screen == NULL || screen->slk_window == NULL) in __slk_color()
409 return wcolor_set(screen->slk_window, pair, NULL); in __slk_color()
418 __slk_label(SCREEN *screen, int labnum) in __slk_label() argument
421 if (screen == NULL || labnum < 1 || labnum > screen->slk_nlabels) in __slk_label()
423 return screen->slk_labels[--labnum].text; in __slk_label()
431 __slk_noutrefresh(SCREEN *screen) in __slk_noutrefresh() argument
434 if (screen == NULL || screen->slk_window == NULL) in __slk_noutrefresh()
436 return wnoutrefresh(screen->slk_window); in __slk_noutrefresh()
444 __slk_restore(SCREEN *screen) in __slk_restore() argument
447 if (screen == NULL) in __slk_restore()
449 screen->slk_hidden = false; in __slk_restore()
450 if (screen->is_term_slk) { in __slk_restore()
451 if (t_label_on(screen->term) == NULL) in __slk_restore()
453 return ti_putp(screen->term, in __slk_restore()
454 ti_tiparm(screen->term, t_label_on(screen->term))); in __slk_restore()
456 if (screen->slk_window == NULL) in __slk_restore()
458 if (__slk_redraw(screen) == ERR) in __slk_restore()
460 return wrefresh(screen->slk_window); in __slk_restore()
469 __slk_set(SCREEN *screen, int labnum, const char *label, int justify) in __slk_set() argument
481 if (screen == NULL || labnum < 1 || labnum > screen->slk_nlabels) in __slk_set()
503 wc_len = mbrtowc(&wc, end, endlen, &screen->sp); in __slk_set()
522 l = &screen->slk_labels[--labnum]; /* internal zero based index */ in __slk_set()
526 __slk_set_finalise(screen, labnum); in __slk_set()
535 __slk_touch(SCREEN *screen) in __slk_touch() argument
538 if (screen == NULL || screen->slk_window == NULL) in __slk_touch()
540 return touchwin(screen->slk_window); in __slk_touch()
551 __slk_wset(SCREEN *screen, int labnum, const wchar_t *label, int justify) in __slk_wset() argument
558 if (screen == NULL) in __slk_wset()
562 if ((len = wcsrtombs(NULL, &olabel, 0, &screen->sp)) == -1) { in __slk_wset()
574 if (wcsrtombs(str, &olabel, len, &screen->sp) == -1) in __slk_wset()
576 result = __slk_set(screen, labnum, str, justify); in __slk_wset()
591 __slk_init(SCREEN *screen) in __slk_init() argument
594 __slk_free(screen); /* safety */ in __slk_init()
596 screen->slk_format = slk_fmt; in __slk_init()
601 switch(screen->slk_format) { in __slk_init()
604 screen->slk_nlabels = 8; in __slk_init()
610 screen->slk_labels = calloc(screen->slk_nlabels, in __slk_init()
611 sizeof(*screen->slk_labels)); in __slk_init()
612 if (screen->slk_labels == NULL) in __slk_init()
615 screen->is_term_slk = in __slk_init()
616 t_plab_norm(screen->term) != NULL && in __slk_init()
617 t_num_labels(screen->term) > 0; in __slk_init()
618 if (screen->is_term_slk) { in __slk_init()
620 screen->slk_nlabels = t_num_labels(screen->term); in __slk_init()
621 screen->slk_label_len = t_label_width(screen->term); in __slk_init()
633 __slk_free(SCREEN *screen) in __slk_free() argument
637 if (screen->slk_window != NULL) in __slk_free()
638 delwin(screen->slk_window); in __slk_free()
639 for (i = 0; i < screen->slk_nlabels; i++) in __slk_free()
640 free(screen->slk_labels[i].text); in __slk_free()
641 free(screen->slk_labels); in __slk_free()
654 window->screen->slk_window = window; in __slk_ripoffline()
656 (t_no_color_video(window->screen->term) & 1) == 0 in __slk_ripoffline()
658 __slk_resize(window->screen, cols); in __slk_ripoffline()
667 __slk_resize(SCREEN *screen, int cols) in __slk_resize() argument
672 if (screen == NULL) in __slk_resize()
674 if (screen->is_term_slk || screen->slk_nlabels == 0) in __slk_resize()
677 screen->slk_label_len = (cols / screen->slk_nlabels) - 1; in __slk_resize()
678 if (screen->slk_label_len > SLK_SIZE) in __slk_resize()
679 screen->slk_label_len = SLK_SIZE; in __slk_resize()
681 l = screen->slk_labels; in __slk_resize()
683 switch(screen->slk_format) { in __slk_resize()
687 (l++)->x = (x += screen->slk_label_len + 1); in __slk_resize()
688 (l++)->x = (x += screen->slk_label_len + 1); in __slk_resize()
692 (l++)->x = x -(screen->slk_label_len + 1); in __slk_resize()
696 x = (cols - ((screen->slk_label_len + 1) * 3)) + 1; in __slk_resize()
698 (l++)->x = (x += screen->slk_label_len + 1); in __slk_resize()
699 (l++)->x = (x += screen->slk_label_len + 1); in __slk_resize()
706 half = screen->slk_nlabels / 2; in __slk_resize()
707 for (i = 0; i < screen->slk_nlabels; i++) { in __slk_resize()
709 x += screen->slk_label_len; in __slk_resize()
712 x = cols - (screen->slk_label_len * half) + 1; in __slk_resize()
719 for (x = 0; x < screen->slk_nlabels; x++) in __slk_resize()
720 __slk_set_finalise(screen, x); in __slk_resize()
722 return __slk_redraw(screen); in __slk_resize()
730 __slk_set_finalise(SCREEN *screen, int labnum) in __slk_set_finalise() argument
736 l = &screen->slk_labels[labnum]; in __slk_set_finalise()
737 spc = screen->slk_label_len; in __slk_set_finalise()
752 mblen = mbrtowc(&wc, p, plen, &screen->sp); in __slk_set_finalise()
804 return __slk_draw(screen, labnum); in __slk_set_finalise()
812 __slk_draw(SCREEN *screen, int labnum) in __slk_draw() argument
822 __CTRACE(__CTRACE_INPUT, "__slk_draw: screen %p, label %d\n", screen, in __slk_draw()
825 if (screen->slk_hidden) in __slk_draw()
830 l = &screen->slk_labels[labnum]; in __slk_draw()
831 if (screen->is_term_slk) in __slk_draw()
832 return ti_putp(screen->term, in __slk_draw()
833 ti_tiparm(screen->term, in __slk_draw()
834 t_plab_norm(screen->term), labnum + 1, l->label)); in __slk_draw()
835 else if (screen->slk_window != NULL) { in __slk_draw()
836 if ((labnum != screen->slk_nlabels - 1) || in __slk_draw()
837 (screen->slk_window->flags & __SCROLLOK) || in __slk_draw()
838 ((l->x + screen->slk_label_len) < screen->slk_window->maxx)) { in __slk_draw()
839 retval = mvwaddnstr(screen->slk_window, 0, l->x, in __slk_draw()
844 while (lcnt < screen->slk_label_len) { in __slk_draw()
856 screen->slk_label_len, wcwidth(l->label[lcnt])); in __slk_draw()
861 screen->slk_window->wattr, 0, in __slk_draw()
867 screen->slk_label_len) { in __slk_draw()
872 retval = mvwins_wch(screen->slk_window, in __slk_draw()
875 retval = mvwinsch(screen->slk_window, in __slk_draw()
880 retval = mvwadd_wch(screen->slk_window, in __slk_draw()
883 retval = mvwaddch(screen->slk_window, in __slk_draw()
902 __slk_redraw(SCREEN *screen) in __slk_redraw() argument
906 for (i = 0; i < screen->slk_nlabels; i++) { in __slk_redraw()
907 if (__slk_draw(screen, i) == ERR) in __slk_redraw()