Lines Matching refs:cursor
138 run->cursor = ~0; in _add_run()
338 str->visual_first = str->visual_last = str->cursor = 0; in ucstring_create()
435 str->cursor = str->logical_first; in ucstring_create()
437 str->cursor->cursor = (str->cursor->direction == UCPGBA_RTL) ? in ucstring_create()
438 str->cursor->end - str->cursor->start : 0; in ucstring_create()
482 ucrun_t *cursor; in _ucstring_visual_cursor_right() local
487 cursor = str->cursor; in _ucstring_visual_cursor_right()
489 size = cursor->end - cursor->start; in _ucstring_visual_cursor_right()
490 if ((cursor->direction == UCPGBA_RTL && cursor->cursor + 1 == size) || in _ucstring_visual_cursor_right()
491 cursor->cursor + 1 > size) { in _ucstring_visual_cursor_right()
496 if (cursor->visual_next == 0) in _ucstring_visual_cursor_right()
505 str->cursor = cursor = cursor->visual_next; in _ucstring_visual_cursor_right()
506 cursor->cursor = (cursor->direction == UCPGBA_RTL) ? -1 : 0; in _ucstring_visual_cursor_right()
507 size = cursor->end - cursor->start; in _ucstring_visual_cursor_right()
509 cursor->cursor++; in _ucstring_visual_cursor_right()
520 ucrun_t *cursor; in _ucstring_logical_cursor_right() local
525 cursor = str->cursor; in _ucstring_logical_cursor_right()
527 size = cursor->end - cursor->start; in _ucstring_logical_cursor_right()
529 if (cursor->direction == UCPGBA_RTL) { in _ucstring_logical_cursor_right()
530 if (cursor->cursor + 1 == size) { in _ucstring_logical_cursor_right()
531 if (cursor == str->logical_first) in _ucstring_logical_cursor_right()
537 str->cursor = cursor = cursor->logical_prev; in _ucstring_logical_cursor_right()
538 size = cursor->end - cursor->start; in _ucstring_logical_cursor_right()
539 cursor->cursor = (cursor->direction == UCPGBA_LTR) ? in _ucstring_logical_cursor_right()
542 cursor->cursor++; in _ucstring_logical_cursor_right()
544 if (cursor->cursor == 0) { in _ucstring_logical_cursor_right()
545 if (cursor == str->logical_first) in _ucstring_logical_cursor_right()
551 str->cursor = cursor = cursor->logical_prev; in _ucstring_logical_cursor_right()
552 size = cursor->end - cursor->start; in _ucstring_logical_cursor_right()
553 cursor->cursor = (cursor->direction == UCPGBA_LTR) ? in _ucstring_logical_cursor_right()
556 cursor->cursor--; in _ucstring_logical_cursor_right()
559 if (cursor->direction == UCPGBA_RTL) { in _ucstring_logical_cursor_right()
560 if (cursor->cursor == 0) { in _ucstring_logical_cursor_right()
561 if (cursor == str->logical_last) in _ucstring_logical_cursor_right()
567 str->cursor = cursor = cursor->logical_next; in _ucstring_logical_cursor_right()
568 size = cursor->end - cursor->start; in _ucstring_logical_cursor_right()
569 cursor->cursor = (cursor->direction == UCPGBA_LTR) ? in _ucstring_logical_cursor_right()
572 cursor->cursor--; in _ucstring_logical_cursor_right()
574 if (cursor->cursor + 1 > size) { in _ucstring_logical_cursor_right()
575 if (cursor == str->logical_last) in _ucstring_logical_cursor_right()
581 str->cursor = cursor = cursor->logical_next; in _ucstring_logical_cursor_right()
582 cursor->cursor = (cursor->direction == UCPGBA_LTR) ? in _ucstring_logical_cursor_right()
585 cursor->cursor++; in _ucstring_logical_cursor_right()
608 ucrun_t *cursor; in _ucstring_visual_cursor_left() local
613 cursor = str->cursor; in _ucstring_visual_cursor_left()
615 size = cursor->end - cursor->start; in _ucstring_visual_cursor_left()
616 if ((cursor->direction == UCPGBA_LTR && cursor->cursor == 0) || in _ucstring_visual_cursor_left()
617 cursor->cursor - 1 < -1) { in _ucstring_visual_cursor_left()
622 if (cursor->visual_prev == 0) in _ucstring_visual_cursor_left()
631 str->cursor = cursor = cursor->visual_prev; in _ucstring_visual_cursor_left()
632 size = cursor->end - cursor->start; in _ucstring_visual_cursor_left()
633 cursor->cursor = (cursor->direction == UCPGBA_RTL) ? in _ucstring_visual_cursor_left()
636 cursor->cursor--; in _ucstring_visual_cursor_left()
647 ucrun_t *cursor; in _ucstring_logical_cursor_left() local
652 cursor = str->cursor; in _ucstring_logical_cursor_left()
654 size = cursor->end - cursor->start; in _ucstring_logical_cursor_left()
656 if (cursor->direction == UCPGBA_RTL) { in _ucstring_logical_cursor_left()
657 if (cursor->cursor == -1) { in _ucstring_logical_cursor_left()
658 if (cursor == str->logical_last) in _ucstring_logical_cursor_left()
664 str->cursor = cursor = cursor->logical_next; in _ucstring_logical_cursor_left()
665 size = cursor->end - cursor->start; in _ucstring_logical_cursor_left()
666 cursor->cursor = (cursor->direction == UCPGBA_LTR) ? in _ucstring_logical_cursor_left()
669 cursor->cursor--; in _ucstring_logical_cursor_left()
671 if (cursor->cursor + 1 > size) { in _ucstring_logical_cursor_left()
672 if (cursor == str->logical_last) in _ucstring_logical_cursor_left()
678 str->cursor = cursor = cursor->logical_next; in _ucstring_logical_cursor_left()
679 size = cursor->end - cursor->start; in _ucstring_logical_cursor_left()
680 cursor->cursor = (cursor->direction == UCPGBA_LTR) ? in _ucstring_logical_cursor_left()
683 cursor->cursor++; in _ucstring_logical_cursor_left()
686 if (cursor->direction == UCPGBA_RTL) { in _ucstring_logical_cursor_left()
687 if (cursor->cursor + 1 == size) { in _ucstring_logical_cursor_left()
688 if (cursor == str->logical_first) in _ucstring_logical_cursor_left()
694 str->cursor = cursor = cursor->logical_prev; in _ucstring_logical_cursor_left()
695 size = cursor->end - cursor->start; in _ucstring_logical_cursor_left()
696 cursor->cursor = (cursor->direction == UCPGBA_LTR) ? in _ucstring_logical_cursor_left()
699 cursor->cursor++; in _ucstring_logical_cursor_left()
701 if (cursor->cursor == 0) { in _ucstring_logical_cursor_left()
702 if (cursor == str->logical_first) in _ucstring_logical_cursor_left()
708 str->cursor = cursor = cursor->logical_prev; in _ucstring_logical_cursor_left()
709 cursor->cursor = (cursor->direction == UCPGBA_LTR) ? in _ucstring_logical_cursor_left()
712 cursor->cursor--; in _ucstring_logical_cursor_left()
735 ucrun_t *cursor; in ucstring_cursor_info() local
740 cursor = str->cursor; in ucstring_cursor_info()
742 *direction = cursor->direction; in ucstring_cursor_info()
744 c = cursor->cursor; in ucstring_cursor_info()
745 size = cursor->end - cursor->start; in ucstring_cursor_info()
748 *position = (cursor->direction == UCPGBA_RTL) ? in ucstring_cursor_info()
749 cursor->start : cursor->positions[c - 1]; in ucstring_cursor_info()
751 *position = (cursor->direction == UCPGBA_RTL) ? in ucstring_cursor_info()
752 cursor->end : cursor->start; in ucstring_cursor_info()
754 *position = cursor->positions[c]; in ucstring_cursor_info()