Mercurial > vim
comparison src/libvterm/src/screen.c @ 20496:747a270eb1db v8.2.0802
patch 8.2.0802: libvterm code lags behind the upstream version
Commit: https://github.com/vim/vim/commit/d863728913801c8fa6d633f6580edfcada533fd0
Author: Bram Moolenaar <Bram@vim.org>
Date: Wed May 20 18:41:41 2020 +0200
patch 8.2.0802: libvterm code lags behind the upstream version
Problem: Libvterm code lags behind the upstream version.
Solution: Include revisions 759 - 762.
author | Bram Moolenaar <Bram@vim.org> |
---|---|
date | Wed, 20 May 2020 18:45:04 +0200 |
parents | 1d595fada804 |
children | 03826c672315 |
comparison
equal
deleted
inserted
replaced
20495:0736d3dc23ba | 20496:747a270eb1db |
---|---|
19 unsigned int bold : 1; | 19 unsigned int bold : 1; |
20 unsigned int underline : 2; | 20 unsigned int underline : 2; |
21 unsigned int italic : 1; | 21 unsigned int italic : 1; |
22 unsigned int blink : 1; | 22 unsigned int blink : 1; |
23 unsigned int reverse : 1; | 23 unsigned int reverse : 1; |
24 unsigned int conceal : 1; | |
24 unsigned int strike : 1; | 25 unsigned int strike : 1; |
25 unsigned int font : 4; // 0 to 9 | 26 unsigned int font : 4; // 0 to 9 |
26 | 27 |
27 // Extra state storage that isn't strictly pen-related | 28 // Extra state storage that isn't strictly pen-related |
28 unsigned int protected_cell : 1; | 29 unsigned int protected_cell : 1; |
418 screen->pen.blink = val->boolean; | 419 screen->pen.blink = val->boolean; |
419 return 1; | 420 return 1; |
420 case VTERM_ATTR_REVERSE: | 421 case VTERM_ATTR_REVERSE: |
421 screen->pen.reverse = val->boolean; | 422 screen->pen.reverse = val->boolean; |
422 return 1; | 423 return 1; |
424 case VTERM_ATTR_CONCEAL: | |
425 screen->pen.conceal = val->boolean; | |
426 return 1; | |
423 case VTERM_ATTR_STRIKE: | 427 case VTERM_ATTR_STRIKE: |
424 screen->pen.strike = val->boolean; | 428 screen->pen.strike = val->boolean; |
425 return 1; | 429 return 1; |
426 case VTERM_ATTR_FONT: | 430 case VTERM_ATTR_FONT: |
427 screen->pen.font = val->number; | 431 screen->pen.font = val->number; |
542 dst->pen.bold = src->attrs.bold; | 546 dst->pen.bold = src->attrs.bold; |
543 dst->pen.underline = src->attrs.underline; | 547 dst->pen.underline = src->attrs.underline; |
544 dst->pen.italic = src->attrs.italic; | 548 dst->pen.italic = src->attrs.italic; |
545 dst->pen.blink = src->attrs.blink; | 549 dst->pen.blink = src->attrs.blink; |
546 dst->pen.reverse = src->attrs.reverse ^ screen->global_reverse; | 550 dst->pen.reverse = src->attrs.reverse ^ screen->global_reverse; |
551 dst->pen.conceal = src->attrs.conceal; | |
547 dst->pen.strike = src->attrs.strike; | 552 dst->pen.strike = src->attrs.strike; |
548 dst->pen.font = src->attrs.font; | 553 dst->pen.font = src->attrs.font; |
549 | 554 |
550 dst->pen.fg = src->fg; | 555 dst->pen.fg = src->fg; |
551 dst->pen.bg = src->bg; | 556 dst->pen.bg = src->bg; |
552 | 557 |
553 if(src->width == 2 && pos.col < (new_cols-1)) | 558 if(src->width == 2 && pos.col < (new_cols-1)) |
554 (dst + 1)->chars[0] = (uint32_t) -1; | 559 (dst + 1)->chars[0] = (uint32_t) -1; |
555 } | 560 } |
561 for( ; pos.col < new_cols; pos.col++) | |
562 clearcell(screen, &new_buffer[pos.row * new_cols + pos.col]); | |
556 new_row--; | 563 new_row--; |
557 | 564 |
558 if(active) | 565 if(active) |
559 statefields->pos.row++; | 566 statefields->pos.row++; |
560 } | 567 } |
813 cell->attrs.bold = intcell->pen.bold; | 820 cell->attrs.bold = intcell->pen.bold; |
814 cell->attrs.underline = intcell->pen.underline; | 821 cell->attrs.underline = intcell->pen.underline; |
815 cell->attrs.italic = intcell->pen.italic; | 822 cell->attrs.italic = intcell->pen.italic; |
816 cell->attrs.blink = intcell->pen.blink; | 823 cell->attrs.blink = intcell->pen.blink; |
817 cell->attrs.reverse = intcell->pen.reverse ^ screen->global_reverse; | 824 cell->attrs.reverse = intcell->pen.reverse ^ screen->global_reverse; |
825 cell->attrs.conceal = intcell->pen.conceal; | |
818 cell->attrs.strike = intcell->pen.strike; | 826 cell->attrs.strike = intcell->pen.strike; |
819 cell->attrs.font = intcell->pen.font; | 827 cell->attrs.font = intcell->pen.font; |
820 | 828 |
821 cell->attrs.dwl = intcell->pen.dwl; | 829 cell->attrs.dwl = intcell->pen.dwl; |
822 cell->attrs.dhl = intcell->pen.dhl; | 830 cell->attrs.dhl = intcell->pen.dhl; |
888 void *vterm_screen_get_cbdata(VTermScreen *screen) | 896 void *vterm_screen_get_cbdata(VTermScreen *screen) |
889 { | 897 { |
890 return screen->cbdata; | 898 return screen->cbdata; |
891 } | 899 } |
892 | 900 |
893 void vterm_screen_set_unrecognised_fallbacks(VTermScreen *screen, const VTermParserCallbacks *fallbacks, void *user) | 901 void vterm_screen_set_unrecognised_fallbacks(VTermScreen *screen, const VTermStateFallbacks *fallbacks, void *user) |
894 { | 902 { |
895 vterm_state_set_unrecognised_fallbacks(screen->state, fallbacks, user); | 903 vterm_state_set_unrecognised_fallbacks(screen->state, fallbacks, user); |
896 } | 904 } |
897 | 905 |
898 void *vterm_screen_get_unrecognised_fbdata(VTermScreen *screen) | 906 void *vterm_screen_get_unrecognised_fbdata(VTermScreen *screen) |
932 if((attrs & VTERM_ATTR_ITALIC_MASK) && (a->pen.italic != b->pen.italic)) | 940 if((attrs & VTERM_ATTR_ITALIC_MASK) && (a->pen.italic != b->pen.italic)) |
933 return 1; | 941 return 1; |
934 if((attrs & VTERM_ATTR_BLINK_MASK) && (a->pen.blink != b->pen.blink)) | 942 if((attrs & VTERM_ATTR_BLINK_MASK) && (a->pen.blink != b->pen.blink)) |
935 return 1; | 943 return 1; |
936 if((attrs & VTERM_ATTR_REVERSE_MASK) && (a->pen.reverse != b->pen.reverse)) | 944 if((attrs & VTERM_ATTR_REVERSE_MASK) && (a->pen.reverse != b->pen.reverse)) |
945 return 1; | |
946 if((attrs & VTERM_ATTR_CONCEAL_MASK) && (a->pen.conceal != b->pen.conceal)) | |
937 return 1; | 947 return 1; |
938 if((attrs & VTERM_ATTR_STRIKE_MASK) && (a->pen.strike != b->pen.strike)) | 948 if((attrs & VTERM_ATTR_STRIKE_MASK) && (a->pen.strike != b->pen.strike)) |
939 return 1; | 949 return 1; |
940 if((attrs & VTERM_ATTR_FONT_MASK) && (a->pen.font != b->pen.font)) | 950 if((attrs & VTERM_ATTR_FONT_MASK) && (a->pen.font != b->pen.font)) |
941 return 1; | 951 return 1; |