diff options
| author | Karl Heuer | 1994-09-28 00:59:24 +0000 |
|---|---|---|
| committer | Karl Heuer | 1994-09-28 00:59:24 +0000 |
| commit | b2cad826343465d7228a54c84c13b85ee0bc8455 (patch) | |
| tree | f8cf133b3a61480732ccc1257082021ac0d035a8 /src | |
| parent | dff9a5389039725dd67023610cf150f243298baa (diff) | |
| download | emacs-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.c | 31 |
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 | ||