diff options
| author | Kenichi Handa | 2010-05-25 09:35:50 +0900 |
|---|---|---|
| committer | Kenichi Handa | 2010-05-25 09:35:50 +0900 |
| commit | 8a2b8c4f7c2a18254fc0b34f236d7487fc7917d4 (patch) | |
| tree | 48e379874bd0bf796a12a5f43b369e0d6691a125 /src/dispextern.h | |
| parent | 10f72a3793087770f131a0dc729f29ff50f08ad9 (diff) | |
| parent | 7eca871a82d582b986c638343f74d16b819a0f14 (diff) | |
| download | emacs-8a2b8c4f7c2a18254fc0b34f236d7487fc7917d4.tar.gz emacs-8a2b8c4f7c2a18254fc0b34f236d7487fc7917d4.zip | |
merge trunk
Diffstat (limited to 'src/dispextern.h')
| -rw-r--r-- | src/dispextern.h | 40 |
1 files changed, 24 insertions, 16 deletions
diff --git a/src/dispextern.h b/src/dispextern.h index a68bc3e9899..f0d14c0e487 100644 --- a/src/dispextern.h +++ b/src/dispextern.h | |||
| @@ -748,21 +748,29 @@ struct glyph_row | |||
| 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 | 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; | ||
| 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. */ |
| @@ -947,16 +955,16 @@ struct glyph_row *matrix_row P_ ((struct glyph_matrix *, int)); | |||
| 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 | ||
| @@ -1789,7 +1797,7 @@ struct bidi_it { | |||
| 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 |
| @@ -2913,8 +2921,8 @@ 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 *)); |