/[emacs]/emacs/src/fringe.c
ViewVC logotype

Diff of /emacs/src/fringe.c

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 1.29 by ttn, Sun Aug 7 12:33:17 2005 UTC revision 1.30 by kfstorm, Sun Aug 21 20:57:42 2005 UTC
# Line 777  draw_window_fringes (w, no_fringe) Line 777  draw_window_fringes (w, no_fringe)
777    
778    
779  /* Recalculate the bitmaps to show in the fringes of window W.  /* Recalculate the bitmaps to show in the fringes of window W.
780     If FORCE_P is 0, only mark rows with modified bitmaps for update in     Only mark rows with modified bitmaps for update in redraw_fringe_bitmaps_p.
781     redraw_fringe_bitmaps_p; else mark all rows for update.  */  
782       If KEEP_CURRENT_P is 0, update current_matrix too.  */
783    
784  int  int
785  update_window_fringes (w, force_p)  update_window_fringes (w, keep_current_p)
786       struct window *w;       struct window *w;
787       int force_p;       int keep_current_p;
788  {  {
789    struct glyph_row *row, *cur = 0;    struct glyph_row *row, *cur = 0;
790    int yb = window_text_bottom_y (w);    int yb = window_text_bottom_y (w);
# Line 943  update_window_fringes (w, force_p) Line 944  update_window_fringes (w, force_p)
944        else        else
945          right = NO_FRINGE_BITMAP;          right = NO_FRINGE_BITMAP;
946    
947        if (force_p        if (row->y != cur->y
           || row->y != cur->y  
948            || row->visible_height != cur->visible_height            || row->visible_height != cur->visible_height
949            || row->ends_at_zv_p != cur->ends_at_zv_p            || row->ends_at_zv_p != cur->ends_at_zv_p
950            || left != cur->left_fringe_bitmap            || left != cur->left_fringe_bitmap
# Line 953  update_window_fringes (w, force_p) Line 953  update_window_fringes (w, force_p)
953            || right_face_id != cur->right_fringe_face_id            || right_face_id != cur->right_fringe_face_id
954            || cur->redraw_fringe_bitmaps_p)            || cur->redraw_fringe_bitmaps_p)
955          {          {
956            redraw_p = row->redraw_fringe_bitmaps_p = cur->redraw_fringe_bitmaps_p = 1;            redraw_p = row->redraw_fringe_bitmaps_p = 1;
957            cur->left_fringe_bitmap = left;            if (!keep_current_p)
958            cur->right_fringe_bitmap = right;              {
959            cur->left_fringe_face_id = left_face_id;                cur->redraw_fringe_bitmaps_p = 1;
960            cur->right_fringe_face_id = right_face_id;                cur->left_fringe_bitmap = left;
961                  cur->right_fringe_bitmap = right;
962                  cur->left_fringe_face_id = left_face_id;
963                  cur->right_fringe_face_id = right_face_id;
964                }
965          }          }
966    
967        if (row->overlay_arrow_bitmap != cur->overlay_arrow_bitmap)        if (row->overlay_arrow_bitmap != cur->overlay_arrow_bitmap)
# Line 975  update_window_fringes (w, force_p) Line 979  update_window_fringes (w, force_p)
979          row[-1].redraw_fringe_bitmaps_p = cur[-1].redraw_fringe_bitmaps_p = 1;          row[-1].redraw_fringe_bitmaps_p = cur[-1].redraw_fringe_bitmaps_p = 1;
980      }      }
981    
982    return redraw_p;    return redraw_p && !keep_current_p;
983  }  }
984    
985    

Legend:
Removed from v.1.29  
changed lines
  Added in v.1.30

savannah-hackers-public@gnu.org
ViewVC Help
Powered by ViewVC 1.1.26