emacs-diffs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Emacs-diffs] Changes to emacs/src/dispextern.h


From: Kim F. Storm
Subject: [Emacs-diffs] Changes to emacs/src/dispextern.h
Date: Wed, 12 Mar 2003 07:09:39 -0500

Index: emacs/src/dispextern.h
diff -c emacs/src/dispextern.h:1.143 emacs/src/dispextern.h:1.144
*** emacs/src/dispextern.h:1.143        Mon Feb 17 19:16:03 2003
--- emacs/src/dispextern.h      Wed Mar 12 07:09:39 2003
***************
*** 1482,1487 ****
--- 1482,1531 ----
  
  
  /***********************************************************************
+                              Fringes
+  ***********************************************************************/
+ 
+ enum fringe_bitmap_type
+ {
+   NO_FRINGE_BITMAP = 0,
+   LEFT_TRUNCATION_BITMAP,
+   RIGHT_TRUNCATION_BITMAP,
+   CONTINUED_LINE_BITMAP,
+   CONTINUATION_LINE_BITMAP,
+   OVERLAY_ARROW_BITMAP,
+   ZV_LINE_BITMAP,
+   MAX_FRINGE_BITMAPS
+ };
+ 
+ struct fringe_bitmap
+ {
+   int width;
+   int height;
+   int period;
+   unsigned char *bits;
+ };
+ 
+ /* Structure used to describe where and how to draw a fringe bitmap.
+    WHICH is the fringe bitmap to draw.  WD and H is the (adjusted)
+    width and height of the bitmap, DH is the height adjustment (if
+    bitmap is periodic).  X and Y are frame coordinates of the area to
+    display the bitmap, DY is relative offset of the bitmap into that
+    area.  BX, NX, BY, NY specifies the area to clear if the bitmap 
+    does not fill the entire area.  FACE is the fringe face.  */
+ 
+ struct draw_fringe_bitmap_params
+ {
+   enum fringe_bitmap_type which;
+   int wd, h, dh;
+   int x, y;
+   int bx, nx, by, ny;
+   struct face *face;
+ };
+ 
+ extern struct fringe_bitmap fringe_bitmaps[MAX_FRINGE_BITMAPS];
+ 
+ 
+ /***********************************************************************
                            Display Iterator
   ***********************************************************************/
  
***************
*** 1977,1982 ****
--- 2021,2031 ----
       desired rows have been made current.  */
    void (*fix_overlapping_area) P_ ((struct window *w, struct glyph_row *row,
                                    enum glyph_row_area area));
+ 
+   /* Draw a fringe bitmap in window W of row ROW using parameters P.  */
+   void (*draw_fringe_bitmap) P_ ((struct window *w, struct glyph_row *row,
+                                 struct draw_fringe_bitmap_params *p));
+ 
  };
  
  /* The current interface for window-based redisplay.  */
***************
*** 2283,2288 ****
--- 2332,2339 ----
  int frame_mode_line_height P_ ((struct frame *));
  void highlight_trailing_whitespace P_ ((struct frame *, struct glyph_row *));
  int tool_bar_item_info P_ ((struct frame *, struct glyph *, int *));
+ void draw_row_fringe_bitmaps P_ ((struct window *, struct glyph_row *));
+ void compute_fringe_widths P_ ((struct frame *, int));
  extern Lisp_Object Qtool_bar;
  extern Lisp_Object Vshow_trailing_whitespace;
  extern int mode_line_in_non_selected_windows;




reply via email to

[Prev in Thread] Current Thread [Next in Thread]