Mercurial > hg > xemacs-beta
comparison src/redisplay-output.c @ 430:a5df635868b2 r21-2-23
Import from CVS: tag r21-2-23
author | cvs |
---|---|
date | Mon, 13 Aug 2007 11:29:08 +0200 |
parents | 3ecd8885ac67 |
children | 9d177e8d4150 |
comparison
equal
deleted
inserted
replaced
429:8305706cbb93 | 430:a5df635868b2 |
---|---|
1221 struct device *d = XDEVICE (f->device); | 1221 struct device *d = XDEVICE (f->device); |
1222 int layout_height, layout_width; | 1222 int layout_height, layout_width; |
1223 /* We bogusly don't take f->extents_changed and f->glyphs_changed | 1223 /* We bogusly don't take f->extents_changed and f->glyphs_changed |
1224 into account. This is because if we do we always redisplay the | 1224 into account. This is because if we do we always redisplay the |
1225 entire layout. So far I have seen no ill effects to we'll see. */ | 1225 entire layout. So far I have seen no ill effects to we'll see. */ |
1226 int frame_changed = (f->buffers_changed || | 1226 int frame_really_changed = (f->buffers_changed || |
1227 f->clip_changed || | 1227 f->clip_changed || |
1228 f->faces_changed || | 1228 f->faces_changed || |
1229 f->frame_changed || | 1229 f->frame_changed || |
1230 f->modeline_changed || | 1230 f->modeline_changed || |
1231 f->subwindows_changed || | 1231 f->subwindows_changed || |
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, Qnil, findex, window); |
1238 layout_width = glyph_width (image_instance, Qnil, findex, window); | 1238 layout_width = glyph_width (image_instance, Qnil, findex, window); |
1244 if (!redisplay_normalize_glyph_area (db, dga)) | 1244 if (!redisplay_normalize_glyph_area (db, dga)) |
1245 return; | 1245 return; |
1246 | 1246 |
1247 /* Highly dodgy optimization. We want to only output the whole | 1247 /* Highly dodgy optimization. We want to only output the whole |
1248 layout if we really have to. */ | 1248 layout if we really have to. */ |
1249 if (frame_changed || IMAGE_INSTANCE_DIRTYP (p)) | 1249 if (frame_really_changed || IMAGE_INSTANCE_DIRTYP (p)) |
1250 { | 1250 { |
1251 /* First clear the area we are drawing into. This is the easiest | 1251 /* First clear the area we are drawing into. This is the easiest |
1252 thing to do since we have many gaps that we have to make sure are | 1252 thing to do since we have many gaps that we have to make sure are |
1253 filled in. */ | 1253 filled in. */ |
1254 redisplay_clear_clipped_region (window, findex, db, dga, 1, Qnil); | 1254 redisplay_clear_clipped_region (window, findex, db, dga, 1, Qnil); |
1346 { | 1346 { |
1347 /* #### This is well hacked and could use some | 1347 /* #### This is well hacked and could use some |
1348 generalisation.*/ | 1348 generalisation.*/ |
1349 if (redisplay_normalize_glyph_area (&cdb, &cdga) | 1349 if (redisplay_normalize_glyph_area (&cdb, &cdga) |
1350 && | 1350 && |
1351 (frame_changed || IMAGE_INSTANCE_DIRTYP (childii))) | 1351 (frame_really_changed || IMAGE_INSTANCE_DIRTYP (childii))) |
1352 { | 1352 { |
1353 struct display_line dl; /* this is fake */ | 1353 struct display_line dl; /* this is fake */ |
1354 Lisp_Object string = | 1354 Lisp_Object string = |
1355 IMAGE_INSTANCE_TEXT_STRING (childii); | 1355 IMAGE_INSTANCE_TEXT_STRING (childii); |
1356 convert_bufbyte_string_into_emchar_dynarr | 1356 convert_bufbyte_string_into_emchar_dynarr |
1380 } | 1380 } |
1381 break; | 1381 break; |
1382 | 1382 |
1383 case IMAGE_MONO_PIXMAP: | 1383 case IMAGE_MONO_PIXMAP: |
1384 case IMAGE_COLOR_PIXMAP: | 1384 case IMAGE_COLOR_PIXMAP: |
1385 if (frame_changed || IMAGE_INSTANCE_DIRTYP (childii)) | 1385 if (frame_really_changed || IMAGE_INSTANCE_DIRTYP (childii)) |
1386 redisplay_output_pixmap (w, child, &cdb, &cdga, findex, | 1386 redisplay_output_pixmap (w, child, &cdb, &cdga, findex, |
1387 0, 0, 0, 0); | 1387 0, 0, 0, 0); |
1388 break; | 1388 break; |
1389 | 1389 |
1390 case IMAGE_WIDGET: | 1390 case IMAGE_WIDGET: |
1391 case IMAGE_SUBWINDOW: | 1391 case IMAGE_SUBWINDOW: |
1392 if (frame_changed || IMAGE_INSTANCE_DIRTYP (childii)) | 1392 if (frame_really_changed || IMAGE_INSTANCE_DIRTYP (childii)) |
1393 redisplay_output_subwindow (w, child, &cdb, &cdga, findex, | 1393 redisplay_output_subwindow (w, child, &cdb, &cdga, findex, |
1394 0, 0, 0); | 1394 0, 0, 0); |
1395 break; | 1395 break; |
1396 | 1396 |
1397 case IMAGE_LAYOUT: | 1397 case IMAGE_LAYOUT: |