aboutsummaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/ChangeLog14
-rw-r--r--src/frame.c3
-rw-r--r--src/nsterm.h4
-rw-r--r--src/w32fns.c15
-rw-r--r--src/w32term.c3
-rw-r--r--src/w32term.h8
-rw-r--r--src/xfns.c5
-rw-r--r--src/xterm.c76
-rw-r--r--src/xterm.h8
9 files changed, 36 insertions, 100 deletions
diff --git a/src/ChangeLog b/src/ChangeLog
index 1e50b4391ba..5f28dc3d7df 100644
--- a/src/ChangeLog
+++ b/src/ChangeLog
@@ -1,5 +1,19 @@
12013-09-15 Dmitry Antipov <dmantipov@yandex.ru> 12013-09-15 Dmitry Antipov <dmantipov@yandex.ru>
2 2
3 Drop VERTICAL_SCROLL_BAR_WIDTH_TRIM. For X, it is zero since 1999,
4 and it is always zero for others, so I assume that this is an ancient
5 leftover which nobody will want to change any more.
6 * xterm.h, w32term.h, nsterm.h (VERTICAL_SCROLL_BAR_WIDTH_TRIM): Remove.
7 (VERTICAL_SCROLL_BAR_INSIDE_WIDTH):
8 * frame.c (x_set_scroll_bar_width):
9 * w32fns.c (w32_createscrollbar):
10 * w32term.c (w32_set_vertical_scroll_bar):
11 * xfns.c (x_set_scroll_bar_default_width):
12 * xterm.c (XTflash, x_scroll_bar_create, XTset_vertical_scroll_bar)
13 (x_scroll_bar_expose): Related users changed.
14
152013-09-15 Dmitry Antipov <dmantipov@yandex.ru>
16
3 * xterm.h (FRAME_X_SCREEN_NUMBER): Add comment. 17 * xterm.h (FRAME_X_SCREEN_NUMBER): Add comment.
4 (BLACK_PIX_DEFAULT, WHITE_PIX_DEFAULT): Use FRAME_X_SCREEN_NUMBER. 18 (BLACK_PIX_DEFAULT, WHITE_PIX_DEFAULT): Use FRAME_X_SCREEN_NUMBER.
5 (SCROLL_BAR_X_WIDGET, SET_SCROLL_BAR_X_WIDGET) [USE_X_TOOLKIT]: 19 (SCROLL_BAR_X_WIDGET, SET_SCROLL_BAR_X_WIDGET) [USE_X_TOOLKIT]:
diff --git a/src/frame.c b/src/frame.c
index fde2a131548..8eabef55d1b 100644
--- a/src/frame.c
+++ b/src/frame.c
@@ -3369,9 +3369,6 @@ x_set_scroll_bar_width (struct frame *f, Lisp_Object arg, Lisp_Object oldval)
3369 else if (RANGED_INTEGERP (1, arg, INT_MAX) 3369 else if (RANGED_INTEGERP (1, arg, INT_MAX)
3370 && XFASTINT (arg) != FRAME_CONFIG_SCROLL_BAR_WIDTH (f)) 3370 && XFASTINT (arg) != FRAME_CONFIG_SCROLL_BAR_WIDTH (f))
3371 { 3371 {
3372 if (XFASTINT (arg) <= 2 * VERTICAL_SCROLL_BAR_WIDTH_TRIM)
3373 XSETINT (arg, 2 * VERTICAL_SCROLL_BAR_WIDTH_TRIM + 1);
3374
3375 FRAME_CONFIG_SCROLL_BAR_WIDTH (f) = XFASTINT (arg); 3372 FRAME_CONFIG_SCROLL_BAR_WIDTH (f) = XFASTINT (arg);
3376 FRAME_CONFIG_SCROLL_BAR_COLS (f) = (XFASTINT (arg) + wid-1) / wid; 3373 FRAME_CONFIG_SCROLL_BAR_COLS (f) = (XFASTINT (arg) + wid-1) / wid;
3377 if (FRAME_X_WINDOW (f)) 3374 if (FRAME_X_WINDOW (f))
diff --git a/src/nsterm.h b/src/nsterm.h
index 5f89267be53..d8482cebbb0 100644
--- a/src/nsterm.h
+++ b/src/nsterm.h
@@ -900,8 +900,4 @@ extern char gnustep_base_version[]; /* version tracking */
900 ? (min) : (((x)>(max)) ? (max) : (x))) 900 ? (min) : (((x)>(max)) ? (max) : (x)))
901#define SCREENMAXBOUND(x) (IN_BOUND (-SCREENMAX, x, SCREENMAX)) 901#define SCREENMAXBOUND(x) (IN_BOUND (-SCREENMAX, x, SCREENMAX))
902 902
903/* needed somewhere... */
904#define VERTICAL_SCROLL_BAR_WIDTH_TRIM (0)
905
906
907#endif /* HAVE_NS */ 903#endif /* HAVE_NS */
diff --git a/src/w32fns.c b/src/w32fns.c
index 0e8b8ab5a5b..4cbbe1d5a80 100644
--- a/src/w32fns.c
+++ b/src/w32fns.c
@@ -1890,16 +1890,11 @@ w32_init_class (HINSTANCE hinst)
1890static HWND 1890static HWND
1891w32_createscrollbar (struct frame *f, struct scroll_bar * bar) 1891w32_createscrollbar (struct frame *f, struct scroll_bar * bar)
1892{ 1892{
1893 return (CreateWindow ("SCROLLBAR", "", SBS_VERT | WS_CHILD | WS_VISIBLE, 1893 return CreateWindow ("SCROLLBAR", "", SBS_VERT | WS_CHILD | WS_VISIBLE,
1894 /* Position and size of scroll bar. */ 1894 /* Position and size of scroll bar. */
1895 XINT (bar->left) + VERTICAL_SCROLL_BAR_WIDTH_TRIM, 1895 XINT (bar->left), XINT (bar->top),
1896 XINT (bar->top), 1896 XINT (bar->width), XINT (bar->height),
1897 XINT (bar->width) - VERTICAL_SCROLL_BAR_WIDTH_TRIM * 2, 1897 FRAME_W32_WINDOW (f), NULL, hinst, NULL);
1898 XINT (bar->height),
1899 FRAME_W32_WINDOW (f),
1900 NULL,
1901 hinst,
1902 NULL));
1903} 1898}
1904 1899
1905static void 1900static void
diff --git a/src/w32term.c b/src/w32term.c
index cb7327b21b7..af73e66d882 100644
--- a/src/w32term.c
+++ b/src/w32term.c
@@ -3866,8 +3866,7 @@ w32_set_vertical_scroll_bar (struct window *w,
3866 /* Make sure scroll bar is "visible" before moving, to ensure the 3866 /* Make sure scroll bar is "visible" before moving, to ensure the
3867 area of the parent window now exposed will be refreshed. */ 3867 area of the parent window now exposed will be refreshed. */
3868 my_show_window (f, hwnd, SW_HIDE); 3868 my_show_window (f, hwnd, SW_HIDE);
3869 MoveWindow (hwnd, sb_left + VERTICAL_SCROLL_BAR_WIDTH_TRIM, 3869 MoveWindow (hwnd, sb_left, top, sb_width,
3870 top, sb_width - VERTICAL_SCROLL_BAR_WIDTH_TRIM * 2,
3871 max (height, 1), TRUE); 3870 max (height, 1), TRUE);
3872 3871
3873 si.cbSize = sizeof (si); 3872 si.cbSize = sizeof (si);
diff --git a/src/w32term.h b/src/w32term.h
index 6a49753a70a..1cbadadc84e 100644
--- a/src/w32term.h
+++ b/src/w32term.h
@@ -478,8 +478,7 @@ struct scroll_bar {
478#define VERTICAL_SCROLL_BAR_INSIDE_WIDTH(f,width) \ 478#define VERTICAL_SCROLL_BAR_INSIDE_WIDTH(f,width) \
479 ((width) \ 479 ((width) \
480 - VERTICAL_SCROLL_BAR_LEFT_BORDER \ 480 - VERTICAL_SCROLL_BAR_LEFT_BORDER \
481 - VERTICAL_SCROLL_BAR_RIGHT_BORDER \ 481 - VERTICAL_SCROLL_BAR_RIGHT_BORDER)
482 - VERTICAL_SCROLL_BAR_WIDTH_TRIM * 2)
483 482
484/* Return the length of the rectangle within which the top of the 483/* Return the length of the rectangle within which the top of the
485 handle must stay. This isn't equivalent to the inside height, 484 handle must stay. This isn't equivalent to the inside height,
@@ -516,11 +515,6 @@ struct scroll_bar {
516/* Minimum lengths for scroll bar handles, in pixels. */ 515/* Minimum lengths for scroll bar handles, in pixels. */
517#define VERTICAL_SCROLL_BAR_MIN_HANDLE (vertical_scroll_bar_min_handle) 516#define VERTICAL_SCROLL_BAR_MIN_HANDLE (vertical_scroll_bar_min_handle)
518 517
519/* Trimming off a few pixels from each side prevents
520 text from glomming up against the scroll bar */
521#define VERTICAL_SCROLL_BAR_WIDTH_TRIM (0)
522
523
524struct frame; /* from frame.h */ 518struct frame; /* from frame.h */
525 519
526extern void w32_fill_rect (struct frame *, HDC, COLORREF, RECT *); 520extern void w32_fill_rect (struct frame *, HDC, COLORREF, RECT *);
diff --git a/src/xfns.c b/src/xfns.c
index d455b2f21e4..38aa5b3bbfe 100644
--- a/src/xfns.c
+++ b/src/xfns.c
@@ -1468,9 +1468,8 @@ x_set_scroll_bar_default_width (struct frame *f)
1468 int minw = 16; 1468 int minw = 16;
1469#endif 1469#endif
1470 /* A minimum width of 14 doesn't look good for toolkit scroll bars. */ 1470 /* A minimum width of 14 doesn't look good for toolkit scroll bars. */
1471 int width = minw + 2 * VERTICAL_SCROLL_BAR_WIDTH_TRIM; 1471 FRAME_CONFIG_SCROLL_BAR_COLS (f) = (minw + wid - 1) / wid;
1472 FRAME_CONFIG_SCROLL_BAR_COLS (f) = (width + wid - 1) / wid; 1472 FRAME_CONFIG_SCROLL_BAR_WIDTH (f) = minw;
1473 FRAME_CONFIG_SCROLL_BAR_WIDTH (f) = width;
1474#else 1473#else
1475 /* Make the actual width at least 14 pixels and a multiple of a 1474 /* Make the actual width at least 14 pixels and a multiple of a
1476 character width. */ 1475 character width. */
diff --git a/src/xterm.c b/src/xterm.c
index 05766341cbc..4086d913c8a 100644
--- a/src/xterm.c
+++ b/src/xterm.c
@@ -3019,26 +3019,7 @@ XTflash (struct frame *f)
3019 /* These will be the left and right margins of the rectangles. */ 3019 /* These will be the left and right margins of the rectangles. */
3020 int flash_left = FRAME_INTERNAL_BORDER_WIDTH (f); 3020 int flash_left = FRAME_INTERNAL_BORDER_WIDTH (f);
3021 int flash_right = FRAME_PIXEL_WIDTH (f) - FRAME_INTERNAL_BORDER_WIDTH (f); 3021 int flash_right = FRAME_PIXEL_WIDTH (f) - FRAME_INTERNAL_BORDER_WIDTH (f);
3022 3022 int width = flash_right - flash_left;
3023 int width;
3024
3025 /* Don't flash the area between a scroll bar and the frame
3026 edge it is next to. */
3027 switch (FRAME_VERTICAL_SCROLL_BAR_TYPE (f))
3028 {
3029 case vertical_scroll_bar_left:
3030 flash_left += VERTICAL_SCROLL_BAR_WIDTH_TRIM;
3031 break;
3032
3033 case vertical_scroll_bar_right:
3034 flash_right -= VERTICAL_SCROLL_BAR_WIDTH_TRIM;
3035 break;
3036
3037 default:
3038 break;
3039 }
3040
3041 width = flash_right - flash_left;
3042 3023
3043 /* If window is tall, flash top and bottom line. */ 3024 /* If window is tall, flash top and bottom line. */
3044 if (height > 3 * FRAME_LINE_HEIGHT (f)) 3025 if (height > 3 * FRAME_LINE_HEIGHT (f))
@@ -5053,12 +5034,9 @@ x_scroll_bar_create (struct window *w, int top, int left, int width, int height)
5053 5034
5054 window = XCreateWindow (FRAME_X_DISPLAY (f), FRAME_X_WINDOW (f), 5035 window = XCreateWindow (FRAME_X_DISPLAY (f), FRAME_X_WINDOW (f),
5055 /* Position and size of scroll bar. */ 5036 /* Position and size of scroll bar. */
5056 left + VERTICAL_SCROLL_BAR_WIDTH_TRIM, 5037 left, top, width, height,
5057 top,
5058 width - VERTICAL_SCROLL_BAR_WIDTH_TRIM * 2,
5059 height,
5060 /* Border width, depth, class, and visual. */ 5038 /* Border width, depth, class, and visual. */
5061 0, 5039 0,
5062 CopyFromParent, 5040 CopyFromParent,
5063 CopyFromParent, 5041 CopyFromParent,
5064 CopyFromParent, 5042 CopyFromParent,
@@ -5093,19 +5071,11 @@ x_scroll_bar_create (struct window *w, int top, int left, int width, int height)
5093#ifdef USE_TOOLKIT_SCROLL_BARS 5071#ifdef USE_TOOLKIT_SCROLL_BARS
5094 { 5072 {
5095#ifdef USE_GTK 5073#ifdef USE_GTK
5096 xg_update_scrollbar_pos (f, 5074 xg_update_scrollbar_pos (f, bar->x_window, top,
5097 bar->x_window, 5075 left,width, max (height, 1));
5098 top,
5099 left + VERTICAL_SCROLL_BAR_WIDTH_TRIM,
5100 width - VERTICAL_SCROLL_BAR_WIDTH_TRIM * 2,
5101 max (height, 1));
5102#else /* not USE_GTK */ 5076#else /* not USE_GTK */
5103 Widget scroll_bar = SCROLL_BAR_X_WIDGET (FRAME_X_DISPLAY (f), bar); 5077 Widget scroll_bar = SCROLL_BAR_X_WIDGET (FRAME_X_DISPLAY (f), bar);
5104 XtConfigureWidget (scroll_bar, 5078 XtConfigureWidget (scroll_bar, left, top, width, max (height, 1), 0);
5105 left + VERTICAL_SCROLL_BAR_WIDTH_TRIM,
5106 top,
5107 width - VERTICAL_SCROLL_BAR_WIDTH_TRIM * 2,
5108 max (height, 1), 0);
5109 XtMapWidget (scroll_bar); 5079 XtMapWidget (scroll_bar);
5110#endif /* not USE_GTK */ 5080#endif /* not USE_GTK */
5111 } 5081 }
@@ -5353,33 +5323,15 @@ XTset_vertical_scroll_bar (struct window *w, int portion, int whole, int positio
5353 left, top, width, height); 5323 left, top, width, height);
5354 } 5324 }
5355#ifdef USE_GTK 5325#ifdef USE_GTK
5356 xg_update_scrollbar_pos (f, 5326 xg_update_scrollbar_pos (f, bar->x_window, top,
5357 bar->x_window, 5327 sb_left, sb_width, max (height, 1));
5358 top,
5359 sb_left + VERTICAL_SCROLL_BAR_WIDTH_TRIM,
5360 sb_width - VERTICAL_SCROLL_BAR_WIDTH_TRIM *2,
5361 max (height, 1));
5362#else /* not USE_GTK */ 5328#else /* not USE_GTK */
5363 XtConfigureWidget (SCROLL_BAR_X_WIDGET (FRAME_X_DISPLAY (f), bar), 5329 XtConfigureWidget (SCROLL_BAR_X_WIDGET (FRAME_X_DISPLAY (f), bar),
5364 sb_left + VERTICAL_SCROLL_BAR_WIDTH_TRIM, 5330 sb_left, top, sb_width, max (height, 1), 0);
5365 top,
5366 sb_width - VERTICAL_SCROLL_BAR_WIDTH_TRIM * 2,
5367 max (height, 1), 0);
5368#endif /* not USE_GTK */ 5331#endif /* not USE_GTK */
5369 } 5332 }
5370#else /* not USE_TOOLKIT_SCROLL_BARS */ 5333#else /* not USE_TOOLKIT_SCROLL_BARS */
5371 5334
5372 /* Clear areas not covered by the scroll bar because of
5373 VERTICAL_SCROLL_BAR_WIDTH_TRIM. */
5374 if (VERTICAL_SCROLL_BAR_WIDTH_TRIM)
5375 {
5376 x_clear_area (FRAME_X_DISPLAY (f), FRAME_X_WINDOW (f),
5377 left, top, VERTICAL_SCROLL_BAR_WIDTH_TRIM, height);
5378 x_clear_area (FRAME_X_DISPLAY (f), FRAME_X_WINDOW (f),
5379 left + width - VERTICAL_SCROLL_BAR_WIDTH_TRIM,
5380 top, VERTICAL_SCROLL_BAR_WIDTH_TRIM, height);
5381 }
5382
5383 /* Clear areas not covered by the scroll bar because it's not as 5335 /* Clear areas not covered by the scroll bar because it's not as
5384 wide as the area reserved for it. This makes sure a 5336 wide as the area reserved for it. This makes sure a
5385 previous mode line display is cleared after C-x 2 C-x 1, for 5337 previous mode line display is cleared after C-x 2 C-x 1, for
@@ -5403,9 +5355,9 @@ XTset_vertical_scroll_bar (struct window *w, int portion, int whole, int positio
5403 { 5355 {
5404 XWindowChanges wc; 5356 XWindowChanges wc;
5405 5357
5406 wc.x = sb_left + VERTICAL_SCROLL_BAR_WIDTH_TRIM; 5358 wc.x = sb_left;
5407 wc.y = top; 5359 wc.y = top;
5408 wc.width = sb_width - VERTICAL_SCROLL_BAR_WIDTH_TRIM * 2; 5360 wc.width = sb_width;
5409 wc.height = height; 5361 wc.height = height;
5410 XConfigureWindow (FRAME_X_DISPLAY (f), bar->x_window, 5362 XConfigureWindow (FRAME_X_DISPLAY (f), bar->x_window,
5411 mask, &wc); 5363 mask, &wc);
@@ -5568,7 +5520,6 @@ x_scroll_bar_expose (struct scroll_bar *bar, XEvent *event)
5568 Window w = bar->x_window; 5520 Window w = bar->x_window;
5569 struct frame *f = XFRAME (WINDOW_FRAME (XWINDOW (bar->window))); 5521 struct frame *f = XFRAME (WINDOW_FRAME (XWINDOW (bar->window)));
5570 GC gc = f->output_data.x->normal_gc; 5522 GC gc = f->output_data.x->normal_gc;
5571 int width_trim = VERTICAL_SCROLL_BAR_WIDTH_TRIM;
5572 5523
5573 block_input (); 5524 block_input ();
5574 5525
@@ -5581,11 +5532,8 @@ x_scroll_bar_expose (struct scroll_bar *bar, XEvent *event)
5581 5532
5582 /* Draw a one-pixel border just inside the edges of the scroll bar. */ 5533 /* Draw a one-pixel border just inside the edges of the scroll bar. */
5583 XDrawRectangle (FRAME_X_DISPLAY (f), w, gc, 5534 XDrawRectangle (FRAME_X_DISPLAY (f), w, gc,
5584
5585 /* x, y, width, height */ 5535 /* x, y, width, height */
5586 0, 0, 5536 0, 0, bar->width - 1, bar->height - 1);
5587 bar->width - 1 - width_trim - width_trim,
5588 bar->height - 1);
5589 5537
5590 /* Restore the foreground color of the GC if we changed it above. */ 5538 /* Restore the foreground color of the GC if we changed it above. */
5591 if (f->output_data.x->scroll_bar_foreground_pixel != -1) 5539 if (f->output_data.x->scroll_bar_foreground_pixel != -1)
diff --git a/src/xterm.h b/src/xterm.h
index b7efee4b6cc..2703c743292 100644
--- a/src/xterm.h
+++ b/src/xterm.h
@@ -820,8 +820,7 @@ struct scroll_bar
820#define VERTICAL_SCROLL_BAR_INSIDE_WIDTH(f, width) \ 820#define VERTICAL_SCROLL_BAR_INSIDE_WIDTH(f, width) \
821 ((width) \ 821 ((width) \
822 - VERTICAL_SCROLL_BAR_LEFT_BORDER \ 822 - VERTICAL_SCROLL_BAR_LEFT_BORDER \
823 - VERTICAL_SCROLL_BAR_RIGHT_BORDER \ 823 - VERTICAL_SCROLL_BAR_RIGHT_BORDER)
824 - VERTICAL_SCROLL_BAR_WIDTH_TRIM * 2)
825 824
826/* Return the length of the rectangle within which the top of the 825/* Return the length of the rectangle within which the top of the
827 handle must stay. This isn't equivalent to the inside height, 826 handle must stay. This isn't equivalent to the inside height,
@@ -858,11 +857,6 @@ struct scroll_bar
858/* Minimum lengths for scroll bar handles, in pixels. */ 857/* Minimum lengths for scroll bar handles, in pixels. */
859#define VERTICAL_SCROLL_BAR_MIN_HANDLE (5) 858#define VERTICAL_SCROLL_BAR_MIN_HANDLE (5)
860 859
861/* Trimming off a few pixels from each side prevents
862 text from glomming up against the scroll bar */
863#define VERTICAL_SCROLL_BAR_WIDTH_TRIM (0)
864
865
866/* If a struct input_event has a kind which is SELECTION_REQUEST_EVENT 860/* If a struct input_event has a kind which is SELECTION_REQUEST_EVENT
867 or SELECTION_CLEAR_EVENT, then its contents are really described 861 or SELECTION_CLEAR_EVENT, then its contents are really described
868 by this structure. */ 862 by this structure. */