emacs-diffs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Emacs-diffs] master 9fe7f23 1/2: Consult 'face-remapping-alist' for 'in


From: Eli Zaretskii
Subject: [Emacs-diffs] master 9fe7f23 1/2: Consult 'face-remapping-alist' for 'internal-border' face
Date: Sat, 9 Mar 2019 12:49:35 -0500 (EST)

branch: master
commit 9fe7f233597d8a6ac72a61e1fb197e45a8c73370
Author: Eli Zaretskii <address@hidden>
Commit: Eli Zaretskii <address@hidden>

    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.
---
 src/w32fns.c  |  8 ++++++--
 src/w32term.c | 41 ++++++++++++++++++++++-------------------
 src/xterm.c   | 12 ++++++++++--
 3 files changed, 38 insertions(+), 23 deletions(-)

diff --git a/src/w32fns.c b/src/w32fns.c
index 4a32d49..4f53d93 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 bdd02d0..0f0d648 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 73a38de..1b0c2f5 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)



reply via email to

[Prev in Thread] Current Thread [Next in Thread]