aboutsummaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorKarl Heuer1994-09-28 00:59:24 +0000
committerKarl Heuer1994-09-28 00:59:24 +0000
commitb2cad826343465d7228a54c84c13b85ee0bc8455 (patch)
treef8cf133b3a61480732ccc1257082021ac0d035a8 /src
parentdff9a5389039725dd67023610cf150f243298baa (diff)
downloademacs-b2cad826343465d7228a54c84c13b85ee0bc8455.tar.gz
emacs-b2cad826343465d7228a54c84c13b85ee0bc8455.zip
(x_new_font): New rule for computing column width. Factored out common code.
(XTset_vertical_scroll_bar): Use new width formula. [!USE_X_TOOLKIT] (x_set_window_size): Likewise.
Diffstat (limited to 'src')
-rw-r--r--src/xterm.c31
1 files changed, 18 insertions, 13 deletions
diff --git a/src/xterm.c b/src/xterm.c
index 6f128632759..88860538d80 100644
--- a/src/xterm.c
+++ b/src/xterm.c
@@ -2608,7 +2608,10 @@ XTset_vertical_scroll_bar (window, portion, whole, position)
2608 /* Where should this scroll bar be, pixelwise? */ 2608 /* Where should this scroll bar be, pixelwise? */
2609 int pixel_top = CHAR_TO_PIXEL_ROW (f, top); 2609 int pixel_top = CHAR_TO_PIXEL_ROW (f, top);
2610 int pixel_left = CHAR_TO_PIXEL_COL (f, left); 2610 int pixel_left = CHAR_TO_PIXEL_COL (f, left);
2611 int pixel_width = FRAME_SCROLL_BAR_PIXEL_WIDTH (f); 2611 int pixel_width
2612 = (FRAME_SCROLL_BAR_PIXEL_WIDTH (f) > 0
2613 ? FRAME_SCROLL_BAR_PIXEL_WIDTH (f)
2614 : (FRAME_SCROLL_BAR_COLS (f) * FONT_WIDTH (f->display.x->font)));
2612 int pixel_height = VERTICAL_SCROLL_BAR_PIXEL_HEIGHT (f, height); 2615 int pixel_height = VERTICAL_SCROLL_BAR_PIXEL_HEIGHT (f, height);
2613 2616
2614 struct scroll_bar *bar; 2617 struct scroll_bar *bar;
@@ -4497,12 +4500,7 @@ x_new_font (f, fontname)
4497 4500
4498 /* If we have, just return it from the table. */ 4501 /* If we have, just return it from the table. */
4499 if (already_loaded >= 0) 4502 if (already_loaded >= 0)
4500 { 4503 f->display.x->font = x_font_table[already_loaded].font;
4501 int wid;
4502 f->display.x->font = x_font_table[already_loaded].font;
4503 wid = FONT_WIDTH (f->display.x->font);
4504 f->scroll_bar_cols = (f->scroll_bar_pixel_width + wid-1) / wid;
4505 }
4506 /* Otherwise, load the font and add it to the table. */ 4504 /* Otherwise, load the font and add it to the table. */
4507 else 4505 else
4508 { 4506 {
@@ -4593,12 +4591,17 @@ x_new_font (f, fontname)
4593 4591
4594 if (full_name) 4592 if (full_name)
4595 fontname = full_name; 4593 fontname = full_name;
4596 {
4597 int wid = FONT_WIDTH (f->display.x->font);
4598 f->scroll_bar_cols = (f->scroll_bar_pixel_width + wid-1) / wid;
4599 }
4600 } 4594 }
4601 4595
4596 /* Compute the scroll bar width in character columns. */
4597 if (f->scroll_bar_pixel_width > 0)
4598 {
4599 int wid = FONT_WIDTH (f->display.x->font);
4600 f->scroll_bar_cols = (f->scroll_bar_pixel_width + wid-1) / wid;
4601 }
4602 else
4603 f->scroll_bar_cols = 2;
4604
4602 /* Now make the frame display the given font. */ 4605 /* Now make the frame display the given font. */
4603 if (FRAME_X_WINDOW (f) != 0) 4606 if (FRAME_X_WINDOW (f) != 0)
4604 { 4607 {
@@ -4745,9 +4748,11 @@ x_set_window_size (f, change_gravity, cols, rows)
4745 4748
4746 check_frame_size (f, &rows, &cols); 4749 check_frame_size (f, &rows, &cols);
4747 f->display.x->vertical_scroll_bar_extra 4750 f->display.x->vertical_scroll_bar_extra
4748 = (FRAME_HAS_VERTICAL_SCROLL_BARS (f) 4751 = (!FRAME_HAS_VERTICAL_SCROLL_BARS (f)
4752 ? 0
4753 : FRAME_SCROLL_BAR_PIXEL_WIDTH (f) > 0
4749 ? FRAME_SCROLL_BAR_PIXEL_WIDTH (f) 4754 ? FRAME_SCROLL_BAR_PIXEL_WIDTH (f)
4750 : 0); 4755 : (FRAME_SCROLL_BAR_COLS (f) * FONT_WIDTH (f->display.x->font)));
4751 pixelwidth = CHAR_TO_PIXEL_WIDTH (f, cols); 4756 pixelwidth = CHAR_TO_PIXEL_WIDTH (f, cols);
4752 pixelheight = CHAR_TO_PIXEL_HEIGHT (f, rows); 4757 pixelheight = CHAR_TO_PIXEL_HEIGHT (f, rows);
4753 4758