aboutsummaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorKim F. Storm2003-03-12 12:09:39 +0000
committerKim F. Storm2003-03-12 12:09:39 +0000
commitf4e1400d40a45059b6cc54b67787da1792630e02 (patch)
tree6aa9930688b19dad0583ac25b6e6d3a6e93d6898 /src
parent9668be7cb01276c7e7a6b24544d7fe912fe885b5 (diff)
downloademacs-f4e1400d40a45059b6cc54b67787da1792630e02.tar.gz
emacs-f4e1400d40a45059b6cc54b67787da1792630e02.zip
(enum fringe_bitmap_type): Define here.
(struct fringe_bitmap, struct draw_fringe_bitmap_params): New. (fringe_bitmaps): Declare extern. (struct redisplay_interface): New member draw_fringe_bitmap. (draw_row_fringe_bitmaps, compute_fringe_widths): Declare extern.
Diffstat (limited to 'src')
-rw-r--r--src/dispextern.h51
1 files changed, 51 insertions, 0 deletions
diff --git a/src/dispextern.h b/src/dispextern.h
index 27c24dd56de..37ef222aa0f 100644
--- a/src/dispextern.h
+++ b/src/dispextern.h
@@ -1482,6 +1482,50 @@ extern int face_change_count;
1482 1482
1483 1483
1484/*********************************************************************** 1484/***********************************************************************
1485 Fringes
1486 ***********************************************************************/
1487
1488enum fringe_bitmap_type
1489{
1490 NO_FRINGE_BITMAP = 0,
1491 LEFT_TRUNCATION_BITMAP,
1492 RIGHT_TRUNCATION_BITMAP,
1493 CONTINUED_LINE_BITMAP,
1494 CONTINUATION_LINE_BITMAP,
1495 OVERLAY_ARROW_BITMAP,
1496 ZV_LINE_BITMAP,
1497 MAX_FRINGE_BITMAPS
1498};
1499
1500struct fringe_bitmap
1501{
1502 int width;
1503 int height;
1504 int period;
1505 unsigned char *bits;
1506};
1507
1508/* Structure used to describe where and how to draw a fringe bitmap.
1509 WHICH is the fringe bitmap to draw. WD and H is the (adjusted)
1510 width and height of the bitmap, DH is the height adjustment (if
1511 bitmap is periodic). X and Y are frame coordinates of the area to
1512 display the bitmap, DY is relative offset of the bitmap into that
1513 area. BX, NX, BY, NY specifies the area to clear if the bitmap
1514 does not fill the entire area. FACE is the fringe face. */
1515
1516struct draw_fringe_bitmap_params
1517{
1518 enum fringe_bitmap_type which;
1519 int wd, h, dh;
1520 int x, y;
1521 int bx, nx, by, ny;
1522 struct face *face;
1523};
1524
1525extern struct fringe_bitmap fringe_bitmaps[MAX_FRINGE_BITMAPS];
1526
1527
1528/***********************************************************************
1485 Display Iterator 1529 Display Iterator
1486 ***********************************************************************/ 1530 ***********************************************************************/
1487 1531
@@ -1977,6 +2021,11 @@ struct redisplay_interface
1977 desired rows have been made current. */ 2021 desired rows have been made current. */
1978 void (*fix_overlapping_area) P_ ((struct window *w, struct glyph_row *row, 2022 void (*fix_overlapping_area) P_ ((struct window *w, struct glyph_row *row,
1979 enum glyph_row_area area)); 2023 enum glyph_row_area area));
2024
2025 /* Draw a fringe bitmap in window W of row ROW using parameters P. */
2026 void (*draw_fringe_bitmap) P_ ((struct window *w, struct glyph_row *row,
2027 struct draw_fringe_bitmap_params *p));
2028
1980}; 2029};
1981 2030
1982/* The current interface for window-based redisplay. */ 2031/* The current interface for window-based redisplay. */
@@ -2283,6 +2332,8 @@ int in_display_vector_p P_ ((struct it *));
2283int frame_mode_line_height P_ ((struct frame *)); 2332int frame_mode_line_height P_ ((struct frame *));
2284void highlight_trailing_whitespace P_ ((struct frame *, struct glyph_row *)); 2333void highlight_trailing_whitespace P_ ((struct frame *, struct glyph_row *));
2285int tool_bar_item_info P_ ((struct frame *, struct glyph *, int *)); 2334int tool_bar_item_info P_ ((struct frame *, struct glyph *, int *));
2335void draw_row_fringe_bitmaps P_ ((struct window *, struct glyph_row *));
2336void compute_fringe_widths P_ ((struct frame *, int));
2286extern Lisp_Object Qtool_bar; 2337extern Lisp_Object Qtool_bar;
2287extern Lisp_Object Vshow_trailing_whitespace; 2338extern Lisp_Object Vshow_trailing_whitespace;
2288extern int mode_line_in_non_selected_windows; 2339extern int mode_line_in_non_selected_windows;