aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorGerd Möllmann2024-08-08 08:19:56 +0200
committerGerd Möllmann2024-08-09 07:21:28 +0200
commitbd6dfb97ff0d712dc02c0542a51b00ce41022012 (patch)
treed6bbd019cc526a9691e1c5667a6d9dbd02e108d5
parent16462b1a62d04a726f99f275b37fd3e6fd512202 (diff)
downloademacs-bd6dfb97ff0d712dc02c0542a51b00ce41022012.tar.gz
emacs-bd6dfb97ff0d712dc02c0542a51b00ce41022012.zip
NS: Fix scroll-bar setting code (bug#72331)
* src/nsterm.m (ns_set_vertical_scroll_bar): Use WINDOW_SCROLL_AREA_WIDTH instead of NS_SCROLL_BAR_WIDTH. (ns_set_horizontal_scroll_bar): Use WINDOW_SCROLL_AREA_HEIGHT instead of NS_SCROLL_BAR_HEIGHT. Clear area differently if vertical scroll bars are present. * src/nsterm.h (NS_SCROLL_BAR_WIDTH, NS_SCROLL_BAR_HEIGHT): Remove.
-rw-r--r--src/nsterm.h16
-rw-r--r--src/nsterm.m6
2 files changed, 3 insertions, 19 deletions
diff --git a/src/nsterm.h b/src/nsterm.h
index a07829a36ec..6c67653705e 100644
--- a/src/nsterm.h
+++ b/src/nsterm.h
@@ -1069,22 +1069,6 @@ struct x_output
1069 styleMask:[[FRAME_NS_VIEW (f) window] styleMask]]) \ 1069 styleMask:[[FRAME_NS_VIEW (f) window] styleMask]]) \
1070 - NSHeight([[[FRAME_NS_VIEW (f) window] contentView] frame]))) 1070 - NSHeight([[[FRAME_NS_VIEW (f) window] contentView] frame])))
1071 1071
1072/* Compute pixel size for vertical scroll bars. */
1073#define NS_SCROLL_BAR_WIDTH(f) \
1074 (FRAME_HAS_VERTICAL_SCROLL_BARS (f) \
1075 ? rint (FRAME_CONFIG_SCROLL_BAR_WIDTH (f) > 0 \
1076 ? FRAME_CONFIG_SCROLL_BAR_WIDTH (f) \
1077 : (FRAME_SCROLL_BAR_COLS (f) * FRAME_COLUMN_WIDTH (f))) \
1078 : 0)
1079
1080/* Compute pixel size for horizontal scroll bars. */
1081#define NS_SCROLL_BAR_HEIGHT(f) \
1082 (FRAME_HAS_HORIZONTAL_SCROLL_BARS (f) \
1083 ? rint (FRAME_CONFIG_SCROLL_BAR_HEIGHT (f) > 0 \
1084 ? FRAME_CONFIG_SCROLL_BAR_HEIGHT (f) \
1085 : (FRAME_SCROLL_BAR_LINES (f) * FRAME_LINE_HEIGHT (f))) \
1086 : 0)
1087
1088/* Difference between char-column-calculated and actual SB widths. 1072/* Difference between char-column-calculated and actual SB widths.
1089 This is only a concern for rendering when SB on left. */ 1073 This is only a concern for rendering when SB on left. */
1090#define NS_SCROLL_BAR_ADJUST(w, f) \ 1074#define NS_SCROLL_BAR_ADJUST(w, f) \
diff --git a/src/nsterm.m b/src/nsterm.m
index b883e605a5b..905707dace4 100644
--- a/src/nsterm.m
+++ b/src/nsterm.m
@@ -5067,7 +5067,7 @@ ns_set_vertical_scroll_bar (struct window *window,
5067 window_box (window, ANY_AREA, 0, &window_y, 0, &window_height); 5067 window_box (window, ANY_AREA, 0, &window_y, 0, &window_height);
5068 top = window_y; 5068 top = window_y;
5069 height = window_height; 5069 height = window_height;
5070 width = NS_SCROLL_BAR_WIDTH (f); 5070 width = WINDOW_SCROLL_BAR_AREA_WIDTH (window);
5071 left = WINDOW_SCROLL_BAR_AREA_X (window); 5071 left = WINDOW_SCROLL_BAR_AREA_X (window);
5072 5072
5073 r = NSMakeRect (left, top, width, height); 5073 r = NSMakeRect (left, top, width, height);
@@ -5161,7 +5161,7 @@ ns_set_horizontal_scroll_bar (struct window *window,
5161 window_box (window, ANY_AREA, &window_x, 0, &window_width, 0); 5161 window_box (window, ANY_AREA, &window_x, 0, &window_width, 0);
5162 left = window_x; 5162 left = window_x;
5163 width = window_width; 5163 width = window_width;
5164 height = NS_SCROLL_BAR_HEIGHT (f); 5164 height = WINDOW_SCROLL_BAR_AREA_HEIGHT (window);
5165 top = WINDOW_SCROLL_BAR_AREA_Y (window); 5165 top = WINDOW_SCROLL_BAR_AREA_Y (window);
5166 5166
5167 r = NSMakeRect (left, top, width, height); 5167 r = NSMakeRect (left, top, width, height);
@@ -5199,7 +5199,7 @@ ns_set_horizontal_scroll_bar (struct window *window,
5199 it fills with junk. */ 5199 it fills with junk. */
5200 if (!NILP (window->vertical_scroll_bar)) 5200 if (!NILP (window->vertical_scroll_bar))
5201 ns_clear_frame_area (f, WINDOW_SCROLL_BAR_AREA_X (window), top, 5201 ns_clear_frame_area (f, WINDOW_SCROLL_BAR_AREA_X (window), top,
5202 NS_SCROLL_BAR_HEIGHT (f), height); 5202 WINDOW_SCROLL_BAR_AREA_WIDTH (window), height);
5203 5203
5204 if (update_p) 5204 if (update_p)
5205 [bar setPosition: position portion: portion whole: whole]; 5205 [bar setPosition: position portion: portion whole: whole];