aboutsummaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorJoakim Verona2015-01-16 21:38:42 +0100
committerJoakim Verona2015-01-16 21:38:42 +0100
commitd1ca98e3413ee8bbe94d03907a375b57f87e5329 (patch)
tree5d97e43368ee80f20ce1cf46b0b9a67e7307de78 /src
parent8a10c6833eaa96328cd548eca4073808abe5aedf (diff)
downloademacs-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.c24
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