diff options
author | Eli Zaretskii <eliz@gnu.org> | 2019-03-09 19:45:13 +0200 |
---|---|---|
committer | Eli Zaretskii <eliz@gnu.org> | 2019-03-09 19:45:13 +0200 |
commit | 9fe7f233597d8a6ac72a61e1fb197e45a8c73370 (patch) | |
tree | 8e12bcd6870f8c546cee6dbe609e205ed8c20614 /src | |
parent | 21f54feee8c83e2c5fd8eeb6741cbd479a7b19eb (diff) | |
download | emacs-9fe7f233597d8a6ac72a61e1fb197e45a8c73370.tar.gz |
Consult 'face-remapping-alist' for 'internal-border' face
* src/xterm.c (x_clear_under_internal_border)
(x_after_update_window_line):
* src/w32fns.c (x_clear_under_internal_border):
* src/w32term.c (x_after_update_window_line): Consult
'face-remapping-alist' when using the 'internal-border' face.
Diffstat (limited to 'src')
-rw-r--r-- | src/w32fns.c | 8 | ||||
-rw-r--r-- | src/w32term.c | 41 | ||||
-rw-r--r-- | src/xterm.c | 12 |
3 files changed, 38 insertions, 23 deletions
diff --git a/src/w32fns.c b/src/w32fns.c index 4a32d496350..4f53d93d8b4 100644 --- a/src/w32fns.c +++ b/src/w32fns.c @@ -1650,12 +1650,16 @@ x_clear_under_internal_border (struct frame *f) /* Clear border if it's larger than before. */ if (border != 0) { - HDC hdc = get_frame_dc (f); int width = FRAME_PIXEL_WIDTH (f); int height = FRAME_PIXEL_HEIGHT (f); - struct face *face = FACE_FROM_ID_OR_NULL (f, INTERNAL_BORDER_FACE_ID); + int face_id = + !NILP (Vface_remapping_alist) + ? lookup_basic_face (NULL, f, INTERNAL_BORDER_FACE_ID) + : INTERNAL_BORDER_FACE_ID; + struct face *face = FACE_FROM_ID_OR_NULL (f, face_id); block_input (); + HDC hdc = get_frame_dc (f); if (face) { /* Fill border with internal border face. */ diff --git a/src/w32term.c b/src/w32term.c index bdd02d05400..0f0d6482fc3 100644 --- a/src/w32term.c +++ b/src/w32term.c @@ -800,29 +800,32 @@ x_after_update_window_line (struct window *w, struct glyph_row *desired_row) height > 0)) { int y = WINDOW_TO_FRAME_PIXEL_Y (w, max (0, desired_row->y)); + int face_id = + !NILP (Vface_remapping_alist) + ? lookup_basic_face (NULL, f, INTERNAL_BORDER_FACE_ID) + : INTERNAL_BORDER_FACE_ID; + struct face *face = FACE_FROM_ID_OR_NULL (f, face_id); block_input (); - { - HDC hdc = get_frame_dc (f); - struct face *face = FACE_FROM_ID_OR_NULL (f, INTERNAL_BORDER_FACE_ID); - if (face) - { - /* Fill border with internal border face. */ - unsigned long color = face->background; + HDC hdc = get_frame_dc (f); + if (face) + { + /* Fill border with internal border face. */ + unsigned long color = face->background; + + w32_fill_area (f, hdc, color, 0, y, width, height); + w32_fill_area (f, hdc, color, FRAME_PIXEL_WIDTH (f) - width, + y, width, height); + } + else + { + w32_clear_area (f, hdc, 0, y, width, height); + w32_clear_area (f, hdc, FRAME_PIXEL_WIDTH (f) - width, + y, width, height); + } + release_frame_dc (f, hdc); - w32_fill_area (f, hdc, color, 0, y, width, height); - w32_fill_area (f, hdc, color, FRAME_PIXEL_WIDTH (f) - width, - y, width, height); - } - else - { - w32_clear_area (f, hdc, 0, y, width, height); - w32_clear_area (f, hdc, FRAME_PIXEL_WIDTH (f) - width, - y, width, height); - } - release_frame_dc (f, hdc); - } unblock_input (); } } diff --git a/src/xterm.c b/src/xterm.c index 73a38de3719..1b0c2f5ec50 100644 --- a/src/xterm.c +++ b/src/xterm.c @@ -1302,7 +1302,11 @@ x_clear_under_internal_border (struct frame *f) #else int margin = FRAME_TOP_MARGIN_HEIGHT (f); #endif - struct face *face = FACE_FROM_ID_OR_NULL (f, INTERNAL_BORDER_FACE_ID); + int face_id = + !NILP (Vface_remapping_alist) + ? lookup_basic_face (NULL, f, INTERNAL_BORDER_FACE_ID) + : INTERNAL_BORDER_FACE_ID; + struct face *face = FACE_FROM_ID_OR_NULL (f, face_id); block_input (); @@ -1365,7 +1369,11 @@ x_after_update_window_line (struct window *w, struct glyph_row *desired_row) height > 0)) { int y = WINDOW_TO_FRAME_PIXEL_Y (w, max (0, desired_row->y)); - struct face *face = FACE_FROM_ID_OR_NULL (f, INTERNAL_BORDER_FACE_ID); + int face_id = + !NILP (Vface_remapping_alist) + ? lookup_basic_face (NULL, f, INTERNAL_BORDER_FACE_ID) + : INTERNAL_BORDER_FACE_ID; + struct face *face = FACE_FROM_ID_OR_NULL (f, face_id); block_input (); if (face) |