diff options
| author | Kim F. Storm | 2004-07-21 21:09:43 +0000 |
|---|---|---|
| committer | Kim F. Storm | 2004-07-21 21:09:43 +0000 |
| commit | cf4a901e95b7559410771886507fe7de2b75a54f (patch) | |
| tree | 3c9c07d5577ef24e459eac13f6b90055363b153a /src | |
| parent | 71a0ff9a80ffda4ac6ea695460c461bcb6d79687 (diff) | |
| download | emacs-cf4a901e95b7559410771886507fe7de2b75a54f.tar.gz emacs-cf4a901e95b7559410771886507fe7de2b75a54f.zip | |
(display_line): Increment nrows_scale_factor and set
fonts_changed_p if past last allocated row.
(append_glyph, append_composite_glyph, produce_image_glyph)
(append_stretch_glyph): Increment ncols_scale_factor and set
fonts_changed_p if current area is full.
Diffstat (limited to 'src')
| -rw-r--r-- | src/xdisp.c | 30 |
1 files changed, 27 insertions, 3 deletions
diff --git a/src/xdisp.c b/src/xdisp.c index d273de74847..4083ce7a438 100644 --- a/src/xdisp.c +++ b/src/xdisp.c | |||
| @@ -14462,9 +14462,13 @@ display_line (it) | |||
| 14462 | /* We always start displaying at hpos zero even if hscrolled. */ | 14462 | /* We always start displaying at hpos zero even if hscrolled. */ |
| 14463 | xassert (it->hpos == 0 && it->current_x == 0); | 14463 | xassert (it->hpos == 0 && it->current_x == 0); |
| 14464 | 14464 | ||
| 14465 | /* We must not display in a row that's not a text row. */ | 14465 | if (MATRIX_ROW_VPOS (row, it->w->desired_matrix) |
| 14466 | xassert (MATRIX_ROW_VPOS (row, it->w->desired_matrix) | 14466 | >= it->w->desired_matrix->nrows) |
| 14467 | < it->w->desired_matrix->nrows); | 14467 | { |
| 14468 | it->w->nrows_scale_factor++; | ||
| 14469 | fonts_changed_p = 1; | ||
| 14470 | return 0; | ||
| 14471 | } | ||
| 14468 | 14472 | ||
| 14469 | /* Is IT->w showing the region? */ | 14473 | /* Is IT->w showing the region? */ |
| 14470 | it->w->region_showing = it->region_beg_charpos > 0 ? Qt : Qnil; | 14474 | it->w->region_showing = it->region_beg_charpos > 0 ? Qt : Qnil; |
| @@ -18135,6 +18139,11 @@ append_glyph (it) | |||
| 18135 | glyph->font_type = FONT_TYPE_UNKNOWN; | 18139 | glyph->font_type = FONT_TYPE_UNKNOWN; |
| 18136 | ++it->glyph_row->used[area]; | 18140 | ++it->glyph_row->used[area]; |
| 18137 | } | 18141 | } |
| 18142 | else if (!fonts_changed_p) | ||
| 18143 | { | ||
| 18144 | it->w->ncols_scale_factor++; | ||
| 18145 | fonts_changed_p = 1; | ||
| 18146 | } | ||
| 18138 | } | 18147 | } |
| 18139 | 18148 | ||
| 18140 | /* Store one glyph for the composition IT->cmp_id in IT->glyph_row. | 18149 | /* Store one glyph for the composition IT->cmp_id in IT->glyph_row. |
| @@ -18172,6 +18181,11 @@ append_composite_glyph (it) | |||
| 18172 | glyph->font_type = FONT_TYPE_UNKNOWN; | 18181 | glyph->font_type = FONT_TYPE_UNKNOWN; |
| 18173 | ++it->glyph_row->used[area]; | 18182 | ++it->glyph_row->used[area]; |
| 18174 | } | 18183 | } |
| 18184 | else if (!fonts_changed_p) | ||
| 18185 | { | ||
| 18186 | it->w->ncols_scale_factor++; | ||
| 18187 | fonts_changed_p = 1; | ||
| 18188 | } | ||
| 18175 | } | 18189 | } |
| 18176 | 18190 | ||
| 18177 | 18191 | ||
| @@ -18341,6 +18355,11 @@ produce_image_glyph (it) | |||
| 18341 | glyph->font_type = FONT_TYPE_UNKNOWN; | 18355 | glyph->font_type = FONT_TYPE_UNKNOWN; |
| 18342 | ++it->glyph_row->used[area]; | 18356 | ++it->glyph_row->used[area]; |
| 18343 | } | 18357 | } |
| 18358 | else if (!fonts_changed_p) | ||
| 18359 | { | ||
| 18360 | it->w->ncols_scale_factor++; | ||
| 18361 | fonts_changed_p = 1; | ||
| 18362 | } | ||
| 18344 | } | 18363 | } |
| 18345 | } | 18364 | } |
| 18346 | 18365 | ||
| @@ -18384,6 +18403,11 @@ append_stretch_glyph (it, object, width, height, ascent) | |||
| 18384 | glyph->font_type = FONT_TYPE_UNKNOWN; | 18403 | glyph->font_type = FONT_TYPE_UNKNOWN; |
| 18385 | ++it->glyph_row->used[area]; | 18404 | ++it->glyph_row->used[area]; |
| 18386 | } | 18405 | } |
| 18406 | else if (!fonts_changed_p) | ||
| 18407 | { | ||
| 18408 | it->w->ncols_scale_factor++; | ||
| 18409 | fonts_changed_p = 1; | ||
| 18410 | } | ||
| 18387 | } | 18411 | } |
| 18388 | 18412 | ||
| 18389 | 18413 | ||