comparison src/redisplay-output.c @ 438:84b14dcb0985 r21-2-27

Import from CVS: tag r21-2-27
author cvs
date Mon, 13 Aug 2007 11:32:25 +0200
parents 9d177e8d4150
children 8de8e3f6228a
comparison
equal deleted inserted replaced
437:e2a4e8b94b82 438:84b14dcb0985
1232 f->windows_changed || 1232 f->windows_changed ||
1233 f->windows_structure_changed); 1233 f->windows_structure_changed);
1234 1234
1235 XSETWINDOW (window, w); 1235 XSETWINDOW (window, w);
1236 1236
1237 layout_height = glyph_height (image_instance, Qnil, findex, window); 1237 layout_height = glyph_height (image_instance, window);
1238 layout_width = glyph_width (image_instance, Qnil, findex, window); 1238 layout_width = glyph_width (image_instance, window);
1239 1239
1240 dga->height = layout_height; 1240 dga->height = layout_height;
1241 dga->width = layout_width; 1241 dga->width = layout_width;
1242 1242
1243 /* This makes the glyph area fit into the display area. */ 1243 /* This makes the glyph area fit into the display area. */
1317 struct Lisp_Image_Instance* childii = XIMAGE_INSTANCE (child); 1317 struct Lisp_Image_Instance* childii = XIMAGE_INSTANCE (child);
1318 /* The enclosing layout offsets are +ve at this point */ 1318 /* The enclosing layout offsets are +ve at this point */
1319 struct display_glyph_area cdga; 1319 struct display_glyph_area cdga;
1320 cdga.xoffset = IMAGE_INSTANCE_XOFFSET (childii) - dga->xoffset; 1320 cdga.xoffset = IMAGE_INSTANCE_XOFFSET (childii) - dga->xoffset;
1321 cdga.yoffset = IMAGE_INSTANCE_YOFFSET (childii) - dga->yoffset; 1321 cdga.yoffset = IMAGE_INSTANCE_YOFFSET (childii) - dga->yoffset;
1322 cdga.width = glyph_width (child, Qnil, findex, window); 1322 cdga.width = glyph_width (child, window);
1323 cdga.height = glyph_height (child, Qnil, findex, window); 1323 cdga.height = glyph_height (child, window);
1324 1324
1325 /* Although normalization is done by the output routines 1325 /* Although normalization is done by the output routines
1326 we have to do it here so that they don't try and 1326 we have to do it here so that they don't try and
1327 clear all of db. This is true below also. */ 1327 clear all of db. This is true below also. */
1328 if (redisplay_normalize_glyph_area (&cdb, &cdga)) 1328 if (redisplay_normalize_glyph_area (&cdb, &cdga))
1360 /* Offsets are now +ve again so be careful 1360 /* Offsets are now +ve again so be careful
1361 when fixing up the display line. */ 1361 when fixing up the display line. */
1362 xzero (dl); 1362 xzero (dl);
1363 /* Munge boxes into display lines. */ 1363 /* Munge boxes into display lines. */
1364 dl.ypos = (cdb.ypos - cdga.yoffset) 1364 dl.ypos = (cdb.ypos - cdga.yoffset)
1365 + glyph_ascent (child, Qnil, findex, window); 1365 + glyph_ascent (child, window);
1366 dl.ascent = glyph_ascent (child, Qnil, findex, window); 1366 dl.ascent = glyph_ascent (child, window);
1367 dl.descent = glyph_descent (child, Qnil, findex, window); 1367 dl.descent = glyph_descent (child, window);
1368 dl.top_clip = cdga.yoffset; 1368 dl.top_clip = cdga.yoffset;
1369 dl.clip = (dl.ypos + dl.descent) - (cdb.ypos + cdb.height); 1369 dl.clip = (dl.ypos + dl.descent) - (cdb.ypos + cdb.height);
1370 /* output_string doesn't understand offsets in 1370 /* output_string doesn't understand offsets in
1371 the same way as other routines - we have to 1371 the same way as other routines - we have to
1372 add the offset to the width so that we 1372 add the offset to the width so that we