diff options
| author | Joakim Verona | 2015-01-16 21:38:42 +0100 |
|---|---|---|
| committer | Joakim Verona | 2015-01-16 21:38:42 +0100 |
| commit | d1ca98e3413ee8bbe94d03907a375b57f87e5329 (patch) | |
| tree | 5d97e43368ee80f20ce1cf46b0b9a67e7307de78 /src | |
| parent | 8a10c6833eaa96328cd548eca4073808abe5aedf (diff) | |
| download | emacs-d1ca98e3413ee8bbe94d03907a375b57f87e5329.tar.gz emacs-d1ca98e3413ee8bbe94d03907a375b57f87e5329.zip | |
Fill in some bidi values for xwidgets
Addes some bidi code for xwidget, but not complete yet
Diffstat (limited to 'src')
| -rw-r--r-- | src/xdisp.c | 24 |
1 files changed, 20 insertions, 4 deletions
diff --git a/src/xdisp.c b/src/xdisp.c index 120e810f445..a37575778e8 100644 --- a/src/xdisp.c +++ b/src/xdisp.c | |||
| @@ -25863,17 +25863,33 @@ produce_xwidget_glyph (struct it *it) | |||
| 25863 | glyph->descent = it->descent; | 25863 | glyph->descent = it->descent; |
| 25864 | glyph->voffset = it->voffset; | 25864 | glyph->voffset = it->voffset; |
| 25865 | glyph->type = XWIDGET_GLYPH; | 25865 | glyph->type = XWIDGET_GLYPH; |
| 25866 | 25866 | glyph->avoid_cursor_p = it->avoid_cursor_p; | |
| 25867 | glyph->multibyte_p = it->multibyte_p; | 25867 | glyph->multibyte_p = it->multibyte_p; |
| 25868 | glyph->left_box_line_p = it->start_of_box_run_p; | 25868 | if (it->glyph_row->reversed_p && area == TEXT_AREA) |
| 25869 | glyph->right_box_line_p = it->end_of_box_run_p; | 25869 | { |
| 25870 | glyph->overlaps_vertically_p = 0; | 25870 | /* In R2L rows, the left and the right box edges need to be |
| 25871 | drawn in reverse direction. */ | ||
| 25872 | glyph->right_box_line_p = it->start_of_box_run_p; | ||
| 25873 | glyph->left_box_line_p = it->end_of_box_run_p; | ||
| 25874 | } | ||
| 25875 | else | ||
| 25876 | { | ||
| 25877 | glyph->left_box_line_p = it->start_of_box_run_p; | ||
| 25878 | glyph->right_box_line_p = it->end_of_box_run_p; | ||
| 25879 | } | ||
| 25880 | glyph->overlaps_vertically_p = 0; | ||
| 25871 | glyph->padding_p = 0; | 25881 | glyph->padding_p = 0; |
| 25872 | glyph->glyph_not_available_p = 0; | 25882 | glyph->glyph_not_available_p = 0; |
| 25873 | glyph->face_id = it->face_id; | 25883 | glyph->face_id = it->face_id; |
| 25874 | glyph->u.xwidget = it->xwidget; | 25884 | glyph->u.xwidget = it->xwidget; |
| 25875 | //assert_valid_xwidget_id(glyph->u.xwidget_id,"produce_xwidget_glyph"); | 25885 | //assert_valid_xwidget_id(glyph->u.xwidget_id,"produce_xwidget_glyph"); |
| 25876 | glyph->font_type = FONT_TYPE_UNKNOWN; | 25886 | glyph->font_type = FONT_TYPE_UNKNOWN; |
| 25887 | if (it->bidi_p) | ||
| 25888 | { | ||
| 25889 | glyph->resolved_level = it->bidi_it.resolved_level; | ||
| 25890 | eassert ((it->bidi_it.type & 7) == it->bidi_it.type); | ||
| 25891 | glyph->bidi_type = it->bidi_it.type; | ||
| 25892 | } | ||
| 25877 | ++it->glyph_row->used[area]; | 25893 | ++it->glyph_row->used[area]; |
| 25878 | } | 25894 | } |
| 25879 | else | 25895 | else |