Mercurial > emacs
comparison src/dispextern.h @ 108760:f528b6459bdd
merge trunk
author | Kenichi Handa <handa@etlken> |
---|---|
date | Tue, 25 May 2010 09:35:50 +0900 |
parents | 0bb727f1d547 60bc561d59c5 |
children | e16f43875a48 |
comparison
equal
deleted
inserted
replaced
108759:0bb727f1d547 | 108760:f528b6459bdd |
---|---|
746 is constructed, i.e. after a call to display_line. */ | 746 is constructed, i.e. after a call to display_line. */ |
747 unsigned hash; | 747 unsigned hash; |
748 | 748 |
749 /* First position in this row. This is the text position, including | 749 /* First position in this row. This is the text position, including |
750 overlay position information etc, where the display of this row | 750 overlay position information etc, where the display of this row |
751 started, and can thus be less the position of the first glyph | 751 started, and can thus be less than the position of the first |
752 (e.g. due to invisible text or horizontal scrolling). BIDI Note: | 752 glyph (e.g. due to invisible text or horizontal scrolling). |
753 This is the smallest character position in the row, but not | 753 BIDI Note: In R2L rows, that have its reversed_p flag set, this |
754 necessarily the character that is the leftmost on the display. */ | 754 position is at or beyond the right edge of the row. */ |
755 struct display_pos start; | 755 struct display_pos start; |
756 | 756 |
757 /* Text position at the end of this row. This is the position after | 757 /* Text position at the end of this row. This is the position after |
758 the last glyph on this row. It can be greater than the last | 758 the last glyph on this row. It can be greater than the last |
759 glyph position + 1, due to truncation, invisible text etc. In an | 759 glyph position + 1, due to a newline that ends the line, |
760 up-to-date display, this should always be equal to the start | 760 truncation, invisible text etc. In an up-to-date display, this |
761 position of the next row. BIDI Note: this is the character whose | 761 should always be equal to the start position of the next row. |
762 buffer position is the largest, but not necessarily the rightmost | 762 BIDI Note: In R2L rows, this position is at or beyond the left |
763 one on the display. */ | 763 edge of the row. */ |
764 struct display_pos end; | 764 struct display_pos end; |
765 | |
766 /* The smallest and the largest buffer positions that contributed to | |
767 glyphs in this row. Note that due to bidi reordering, these are | |
768 in general different from the text positions stored in `start' | |
769 and `end' members above, and also different from the buffer | |
770 positions recorded in the glyphs displayed the leftmost and | |
771 rightmost on the screen. */ | |
772 struct text_pos minpos, maxpos; | |
765 | 773 |
766 /* Non-zero means the overlay arrow bitmap is on this line. | 774 /* Non-zero means the overlay arrow bitmap is on this line. |
767 -1 means use default overlay arrow bitmap, else | 775 -1 means use default overlay arrow bitmap, else |
768 it specifies actual fringe bitmap number. */ | 776 it specifies actual fringe bitmap number. */ |
769 int overlay_arrow_bitmap; | 777 int overlay_arrow_bitmap; |
945 starts. BIDI Note: this is the smallest character/byte position | 953 starts. BIDI Note: this is the smallest character/byte position |
946 among characters in ROW, i.e. the first logical-order character | 954 among characters in ROW, i.e. the first logical-order character |
947 displayed by ROW, which is not necessarily the smallest horizontal | 955 displayed by ROW, which is not necessarily the smallest horizontal |
948 position. */ | 956 position. */ |
949 | 957 |
950 #define MATRIX_ROW_START_CHARPOS(ROW) ((ROW)->start.pos.charpos) | 958 #define MATRIX_ROW_START_CHARPOS(ROW) ((ROW)->minpos.charpos) |
951 #define MATRIX_ROW_START_BYTEPOS(ROW) ((ROW)->start.pos.bytepos) | 959 #define MATRIX_ROW_START_BYTEPOS(ROW) ((ROW)->minpos.bytepos) |
952 | 960 |
953 /* Return the character/ byte position at which ROW ends. BIDI Note: | 961 /* Return the character/ byte position at which ROW ends. BIDI Note: |
954 this is the largest character/byte position among characters in | 962 this is the largest character/byte position among characters in |
955 ROW, i.e. the last logical-order character displayed by ROW, which | 963 ROW, i.e. the last logical-order character displayed by ROW, which |
956 is not necessarily the largest horizontal position. */ | 964 is not necessarily the largest horizontal position. */ |
957 | 965 |
958 #define MATRIX_ROW_END_CHARPOS(ROW) ((ROW)->end.pos.charpos) | 966 #define MATRIX_ROW_END_CHARPOS(ROW) ((ROW)->maxpos.charpos) |
959 #define MATRIX_ROW_END_BYTEPOS(ROW) ((ROW)->end.pos.bytepos) | 967 #define MATRIX_ROW_END_BYTEPOS(ROW) ((ROW)->maxpos.bytepos) |
960 | 968 |
961 /* Return the vertical position of ROW in MATRIX. */ | 969 /* Return the vertical position of ROW in MATRIX. */ |
962 | 970 |
963 #define MATRIX_ROW_VPOS(ROW, MATRIX) ((ROW) - (MATRIX)->rows) | 971 #define MATRIX_ROW_VPOS(ROW, MATRIX) ((ROW) - (MATRIX)->rows) |
964 | 972 |
1787 struct bidi_saved_info prev_for_neutral; /* ...resolving neutrals */ | 1795 struct bidi_saved_info prev_for_neutral; /* ...resolving neutrals */ |
1788 struct bidi_saved_info next_for_ws; /* character after sequence of ws */ | 1796 struct bidi_saved_info next_for_ws; /* character after sequence of ws */ |
1789 EMACS_INT next_en_pos; /* position of next EN char for ET */ | 1797 EMACS_INT next_en_pos; /* position of next EN char for ET */ |
1790 EMACS_INT ignore_bn_limit; /* position until which to ignore BNs */ | 1798 EMACS_INT ignore_bn_limit; /* position until which to ignore BNs */ |
1791 bidi_dir_t sor; /* direction of start-of-run in effect */ | 1799 bidi_dir_t sor; /* direction of start-of-run in effect */ |
1792 int scan_dir; /* direction of text scan */ | 1800 int scan_dir; /* direction of text scan, 1: forw, -1: back */ |
1793 int stack_idx; /* index of current data on the stack */ | 1801 int stack_idx; /* index of current data on the stack */ |
1794 /* Note: Everything from here on is not copied/saved when the bidi | 1802 /* Note: Everything from here on is not copied/saved when the bidi |
1795 iterator state is saved, pushed, or popped. So only put here | 1803 iterator state is saved, pushed, or popped. So only put here |
1796 stuff that is not part of the bidi iterator's state! */ | 1804 stuff that is not part of the bidi iterator's state! */ |
1797 struct bidi_stack level_stack[BIDI_MAXLEVEL]; /* stack of embedding levels */ | 1805 struct bidi_stack level_stack[BIDI_MAXLEVEL]; /* stack of embedding levels */ |
2911 | 2919 |
2912 void mark_window_display_accurate P_ ((Lisp_Object, int)); | 2920 void mark_window_display_accurate P_ ((Lisp_Object, int)); |
2913 void redisplay_preserve_echo_area P_ ((int)); | 2921 void redisplay_preserve_echo_area P_ ((int)); |
2914 int set_cursor_from_row P_ ((struct window *, struct glyph_row *, | 2922 int set_cursor_from_row P_ ((struct window *, struct glyph_row *, |
2915 struct glyph_matrix *, int, int, int, int)); | 2923 struct glyph_matrix *, int, int, int, int)); |
2916 void init_iterator P_ ((struct it *, struct window *, int, | 2924 void init_iterator P_ ((struct it *, struct window *, EMACS_INT, |
2917 int, struct glyph_row *, enum face_id)); | 2925 EMACS_INT, struct glyph_row *, enum face_id)); |
2918 void init_iterator_to_row_start P_ ((struct it *, struct window *, | 2926 void init_iterator_to_row_start P_ ((struct it *, struct window *, |
2919 struct glyph_row *)); | 2927 struct glyph_row *)); |
2920 int get_next_display_element P_ ((struct it *)); | 2928 int get_next_display_element P_ ((struct it *)); |
2921 void set_iterator_to_next P_ ((struct it *, int)); | 2929 void set_iterator_to_next P_ ((struct it *, int)); |
2922 void start_display P_ ((struct it *, struct window *, struct text_pos)); | 2930 void start_display P_ ((struct it *, struct window *, struct text_pos)); |