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.
This commit is contained in:
Gerd Möllmann 2024-08-08 08:19:56 +02:00
parent 16462b1a62
commit bd6dfb97ff
2 changed files with 3 additions and 19 deletions

View file

@ -1069,22 +1069,6 @@ struct x_output
styleMask:[[FRAME_NS_VIEW (f) window] styleMask]]) \ styleMask:[[FRAME_NS_VIEW (f) window] styleMask]]) \
- NSHeight([[[FRAME_NS_VIEW (f) window] contentView] frame]))) - NSHeight([[[FRAME_NS_VIEW (f) window] contentView] frame])))
/* Compute pixel size for vertical scroll bars. */
#define NS_SCROLL_BAR_WIDTH(f) \
(FRAME_HAS_VERTICAL_SCROLL_BARS (f) \
? rint (FRAME_CONFIG_SCROLL_BAR_WIDTH (f) > 0 \
? FRAME_CONFIG_SCROLL_BAR_WIDTH (f) \
: (FRAME_SCROLL_BAR_COLS (f) * FRAME_COLUMN_WIDTH (f))) \
: 0)
/* Compute pixel size for horizontal scroll bars. */
#define NS_SCROLL_BAR_HEIGHT(f) \
(FRAME_HAS_HORIZONTAL_SCROLL_BARS (f) \
? rint (FRAME_CONFIG_SCROLL_BAR_HEIGHT (f) > 0 \
? FRAME_CONFIG_SCROLL_BAR_HEIGHT (f) \
: (FRAME_SCROLL_BAR_LINES (f) * FRAME_LINE_HEIGHT (f))) \
: 0)
/* Difference between char-column-calculated and actual SB widths. /* Difference between char-column-calculated and actual SB widths.
This is only a concern for rendering when SB on left. */ This is only a concern for rendering when SB on left. */
#define NS_SCROLL_BAR_ADJUST(w, f) \ #define NS_SCROLL_BAR_ADJUST(w, f) \

View file

@ -5067,7 +5067,7 @@ ns_set_vertical_scroll_bar (struct window *window,
window_box (window, ANY_AREA, 0, &window_y, 0, &window_height); window_box (window, ANY_AREA, 0, &window_y, 0, &window_height);
top = window_y; top = window_y;
height = window_height; height = window_height;
width = NS_SCROLL_BAR_WIDTH (f); width = WINDOW_SCROLL_BAR_AREA_WIDTH (window);
left = WINDOW_SCROLL_BAR_AREA_X (window); left = WINDOW_SCROLL_BAR_AREA_X (window);
r = NSMakeRect (left, top, width, height); r = NSMakeRect (left, top, width, height);
@ -5161,7 +5161,7 @@ ns_set_horizontal_scroll_bar (struct window *window,
window_box (window, ANY_AREA, &window_x, 0, &window_width, 0); window_box (window, ANY_AREA, &window_x, 0, &window_width, 0);
left = window_x; left = window_x;
width = window_width; width = window_width;
height = NS_SCROLL_BAR_HEIGHT (f); height = WINDOW_SCROLL_BAR_AREA_HEIGHT (window);
top = WINDOW_SCROLL_BAR_AREA_Y (window); top = WINDOW_SCROLL_BAR_AREA_Y (window);
r = NSMakeRect (left, top, width, height); r = NSMakeRect (left, top, width, height);
@ -5199,7 +5199,7 @@ ns_set_horizontal_scroll_bar (struct window *window,
it fills with junk. */ it fills with junk. */
if (!NILP (window->vertical_scroll_bar)) if (!NILP (window->vertical_scroll_bar))
ns_clear_frame_area (f, WINDOW_SCROLL_BAR_AREA_X (window), top, ns_clear_frame_area (f, WINDOW_SCROLL_BAR_AREA_X (window), top,
NS_SCROLL_BAR_HEIGHT (f), height); WINDOW_SCROLL_BAR_AREA_WIDTH (window), height);
if (update_p) if (update_p)
[bar setPosition: position portion: portion whole: whole]; [bar setPosition: position portion: portion whole: whole];