diff options
| author | Gerd Möllmann | 2024-08-08 08:19:56 +0200 |
|---|---|---|
| committer | Gerd Möllmann | 2024-08-09 07:21:28 +0200 |
| commit | bd6dfb97ff0d712dc02c0542a51b00ce41022012 (patch) | |
| tree | d6bbd019cc526a9691e1c5667a6d9dbd02e108d5 | |
| parent | 16462b1a62d04a726f99f275b37fd3e6fd512202 (diff) | |
| download | emacs-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.h | 16 | ||||
| -rw-r--r-- | src/nsterm.m | 6 |
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]; |