]> git.eshelyaron.com Git - emacs.git/commitdiff
Consult 'face-remapping-alist' for 'internal-border' face
authorEli Zaretskii <eliz@gnu.org>
Sat, 9 Mar 2019 17:45:13 +0000 (19:45 +0200)
committerEli Zaretskii <eliz@gnu.org>
Sat, 9 Mar 2019 17:45:13 +0000 (19:45 +0200)
* 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.

src/w32fns.c
src/w32term.c
src/xterm.c

index 4a32d49635098dc759f5e34c20a39047adc49ece..4f53d93d8b4b007e165f6282bac44e773e8ae542 100644 (file)
@@ -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.  */
index bdd02d054004bac7655a73305615f20f75a5e1ba..0f0d6482fc30ae2850061f232fc0ad3dde2ed50a 100644 (file)
@@ -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 ();
     }
 }
index 73a38de371992135a53dbb7b723806a93febd373..1b0c2f5ec500413ba32261c5ce4443adc0d46830 100644 (file)
@@ -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)