Mercurial > emacs
annotate src/fringe.c @ 53879:e3771c262410
New file. Move original fringe related declarations
and code from dispextern.h and xdisp.c here.
Rework code to support user defined fringe bitmaps, redefining
standard bitmaps, ability to overlay user defined bitmap with
overlay arrow bitmap, and add faces to bitmaps.
(Voverflow_newline_into_fringe): Declare here.
(enum fringe_bitmap_align): New enum.
(..._bits): All bitmaps are now defined without bitswapping; that
is now done in init_fringe_once (if necessary).
(standard_bitmaps): New array with specifications for the
standard fringe bitmaps.
(fringe_faces): New array.
(valid_fringe_bitmap_id_p): New function.
(draw_fringe_bitmap_1): Rename from draw_fringe_bitmap.
(draw_fringe_bitmap): New function which draws fringe bitmap,
possibly overlaying bitmap with cursor in right fringe or the
overlay arrow in the left fringe.
(update_window_fringes): Do not handle overlay arrow here.
Compare and copy fringe bitmap faces.
(init_fringe_bitmap): New function.
(Fdefine_fringe_bitmap, Fdestroy_fringe_bitmap): New DEFUNs to
define and destroy user defined fringe bitmaps.
(Fset_fringe_bitmap_face): New DEFUN to set face for a fringe bitmap.
(Ffringe_bitmaps_at_pos): New DEFUN to read current fringe bitmaps.
(syms_of_fringe): New function. Defsubr new DEFUNs.
DEFVAR_LISP Voverflow_newline_into_fringe.
(init_fringe_once, init_fringe): New functions.
(w32_init_fringe, w32_reset_fringes) [WINDOWS_NT]: New functions.
author | Kim F. Storm <storm@cua.dk> |
---|---|
date | Sun, 08 Feb 2004 23:18:16 +0000 |
parents | |
children | 5d607f751ba3 |
rev | line source |
---|---|
53879
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
1 /* Fringe handling (split from xdisp.c). |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
2 Copyright (C) 1985,86,87,88,93,94,95,97,98,99,2000,01,02,03,04 |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
3 Free Software Foundation, Inc. |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
4 |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
5 This file is part of GNU Emacs. |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
6 |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
7 GNU Emacs is free software; you can redistribute it and/or modify |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
8 it under the terms of the GNU General Public License as published by |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
9 the Free Software Foundation; either version 2, or (at your option) |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
10 any later version. |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
11 |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
12 GNU Emacs is distributed in the hope that it will be useful, |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
13 but WITHOUT ANY WARRANTY; without even the implied warranty of |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
14 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
15 GNU General Public License for more details. |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
16 |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
17 You should have received a copy of the GNU General Public License |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
18 along with GNU Emacs; see the file COPYING. If not, write to |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
19 the Free Software Foundation, Inc., 59 Temple Place - Suite 330, |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
20 Boston, MA 02111-1307, USA. */ |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
21 |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
22 #include <config.h> |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
23 #include <stdio.h> |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
24 |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
25 #include "lisp.h" |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
26 #include "frame.h" |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
27 #include "window.h" |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
28 #include "dispextern.h" |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
29 #include "buffer.h" |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
30 #include "blockinput.h" |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
31 |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
32 #ifdef HAVE_WINDOW_SYSTEM |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
33 |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
34 extern Lisp_Object Qtop, Qbottom, Qcenter; |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
35 |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
36 /* Non-nil means that newline may flow into the right fringe. */ |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
37 |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
38 Lisp_Object Voverflow_newline_into_fringe; |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
39 |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
40 |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
41 enum fringe_bitmap_type |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
42 { |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
43 NO_FRINGE_BITMAP = 0, |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
44 UNDEF_FRINGE_BITMAP, |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
45 LEFT_TRUNCATION_BITMAP, |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
46 RIGHT_TRUNCATION_BITMAP, |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
47 UP_ARROW_BITMAP, |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
48 DOWN_ARROW_BITMAP, |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
49 CONTINUED_LINE_BITMAP, |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
50 CONTINUATION_LINE_BITMAP, |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
51 OVERLAY_ARROW_BITMAP, |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
52 TOP_LEFT_ANGLE_BITMAP, |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
53 TOP_RIGHT_ANGLE_BITMAP, |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
54 BOTTOM_LEFT_ANGLE_BITMAP, |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
55 BOTTOM_RIGHT_ANGLE_BITMAP, |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
56 LEFT_BRACKET_BITMAP, |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
57 RIGHT_BRACKET_BITMAP, |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
58 FILLED_BOX_CURSOR_BITMAP, |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
59 HOLLOW_BOX_CURSOR_BITMAP, |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
60 HOLLOW_SQUARE_BITMAP, |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
61 BAR_CURSOR_BITMAP, |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
62 HBAR_CURSOR_BITMAP, |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
63 ZV_LINE_BITMAP, |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
64 MAX_STANDARD_FRINGE_BITMAPS |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
65 }; |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
66 |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
67 enum fringe_bitmap_align |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
68 { |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
69 ALIGN_BITMAP_CENTER = 0, |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
70 ALIGN_BITMAP_TOP, |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
71 ALIGN_BITMAP_BOTTOM |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
72 }; |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
73 |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
74 struct fringe_bitmap |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
75 { |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
76 unsigned char *bits; |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
77 unsigned height : 8; |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
78 unsigned width : 8; |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
79 unsigned period : 8; |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
80 unsigned align : 2; |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
81 unsigned dynamic : 1; |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
82 }; |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
83 |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
84 |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
85 /*********************************************************************** |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
86 Fringe bitmaps |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
87 ***********************************************************************/ |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
88 |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
89 /* Undefined bitmap. A question mark. */ |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
90 /* |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
91 ..xxxx.. |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
92 .xxxxxx. |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
93 xx....xx |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
94 xx....xx |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
95 ....xx.. |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
96 ...xx... |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
97 ...xx... |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
98 ........ |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
99 ...xx... |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
100 ...xx... |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
101 */ |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
102 static unsigned char unknown_bits[] = { |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
103 0x3c, 0x7e, 0x7e, 0x0c, 0x18, 0x18, 0x00, 0x18, 0x18}; |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
104 |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
105 /* An arrow like this: `<-'. */ |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
106 /* |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
107 ...xx... |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
108 ..xx.... |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
109 .xx..... |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
110 xxxxxx.. |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
111 xxxxxx.. |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
112 .xx..... |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
113 ..xx.... |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
114 ...xx... |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
115 */ |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
116 static unsigned char left_arrow_bits[] = { |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
117 0x18, 0x30, 0x60, 0xfc, 0xfc, 0x60, 0x30, 0x18}; |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
118 |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
119 |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
120 /* Right truncation arrow bitmap `->'. */ |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
121 /* |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
122 ...xx... |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
123 ....xx.. |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
124 .....xx. |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
125 ..xxxxxx |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
126 ..xxxxxx |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
127 .....xx. |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
128 ....xx.. |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
129 ...xx... |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
130 */ |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
131 static unsigned char right_arrow_bits[] = { |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
132 0x18, 0x0c, 0x06, 0x3f, 0x3f, 0x06, 0x0c, 0x18}; |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
133 |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
134 |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
135 /* Up arrow bitmap. */ |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
136 /* |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
137 ...xx... |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
138 ..xxxx.. |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
139 .xxxxxx. |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
140 xxxxxxxx |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
141 ...xx... |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
142 ...xx... |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
143 ...xx... |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
144 ...xx... |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
145 */ |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
146 static unsigned char up_arrow_bits[] = { |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
147 0x18, 0x3c, 0x7e, 0xff, 0x18, 0x18, 0x18, 0x18}; |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
148 |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
149 |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
150 /* Down arrow bitmap. */ |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
151 /* |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
152 ...xx... |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
153 ...xx... |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
154 ...xx... |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
155 ...xx... |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
156 xxxxxxxx |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
157 .xxxxxx. |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
158 ..xxxx.. |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
159 ...xx... |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
160 */ |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
161 static unsigned char down_arrow_bits[] = { |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
162 0x18, 0x18, 0x18, 0x18, 0xff, 0x7e, 0x3c, 0x18}; |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
163 |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
164 /* Marker for continued lines. */ |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
165 /* |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
166 ..xxxx.. |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
167 ..xxxxx. |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
168 ......xx |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
169 ..x..xxx |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
170 ..xxxxxx |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
171 ..xxxxx. |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
172 ..xxxx.. |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
173 ..xxxxx. |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
174 */ |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
175 static unsigned char continued_bits[] = { |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
176 0x3c, 0x3e, 0x03, 0x27, 0x3f, 0x3e, 0x3c, 0x3e}; |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
177 |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
178 /* Marker for continuation lines. */ |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
179 /* |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
180 ..xxxx.. |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
181 .xxxxx.. |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
182 xx...... |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
183 xxx..x.. |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
184 xxxxxx.. |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
185 .xxxxx.. |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
186 ..xxxx.. |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
187 .xxxxx.. |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
188 */ |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
189 static unsigned char continuation_bits[] = { |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
190 0x3c, 0x7c, 0xc0, 0xe4, 0xfc, 0x7c, 0x3c, 0x7c}; |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
191 |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
192 /* Overlay arrow bitmap. A triangular arrow. */ |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
193 /* |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
194 xx...... |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
195 xxxx.... |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
196 xxxxx... |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
197 xxxxxx.. |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
198 xxxxxx.. |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
199 xxxxx... |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
200 xxxx.... |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
201 xx...... |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
202 */ |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
203 static unsigned char ov_bits[] = { |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
204 0xc0, 0xf0, 0xf8, 0xfc, 0xfc, 0xf8, 0xf0, 0xc0}; |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
205 |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
206 #if 0 |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
207 /* Reverse Overlay arrow bitmap. A triangular arrow. */ |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
208 /* |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
209 ......xx |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
210 ....xxxx |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
211 ...xxxxx |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
212 ..xxxxxx |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
213 ..xxxxxx |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
214 ...xxxxx |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
215 ....xxxx |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
216 ......xx |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
217 */ |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
218 static unsigned char rev_ov_bits[] = { |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
219 0x03, 0x0f, 0x1f, 0x3f, 0x3f, 0x1f, 0x0f, 0x03}; |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
220 #endif |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
221 |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
222 /* First line bitmap. An top-left angle. */ |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
223 /* |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
224 xxxxxx.. |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
225 xxxxxx.. |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
226 xx...... |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
227 xx...... |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
228 xx...... |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
229 xx...... |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
230 xx...... |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
231 ........ |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
232 */ |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
233 static unsigned char top_left_angle_bits[] = { |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
234 0xfc, 0xfc, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0x00}; |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
235 |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
236 /* First line bitmap. An right-up angle. */ |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
237 /* |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
238 ..xxxxxx |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
239 ..xxxxxx |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
240 ......xx |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
241 ......xx |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
242 ......xx |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
243 ......xx |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
244 ......xx |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
245 ........ |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
246 */ |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
247 static unsigned char top_right_angle_bits[] = { |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
248 0x3f, 0x3f, 0x03, 0x03, 0x03, 0x03, 0x03, 0x00}; |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
249 |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
250 /* Last line bitmap. An left-down angle. */ |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
251 /* |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
252 ........ |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
253 xx...... |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
254 xx...... |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
255 xx...... |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
256 xx...... |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
257 xx...... |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
258 xxxxxx.. |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
259 xxxxxx.. |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
260 */ |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
261 static unsigned char bottom_left_angle_bits[] = { |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
262 0x00, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xfc, 0xfc}; |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
263 |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
264 /* Last line bitmap. An right-down angle. */ |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
265 /* |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
266 ........ |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
267 ......xx |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
268 ......xx |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
269 ......xx |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
270 ......xx |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
271 ......xx |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
272 ..xxxxxx |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
273 ..xxxxxx |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
274 */ |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
275 static unsigned char bottom_right_angle_bits[] = { |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
276 0x00, 0x03, 0x03, 0x03, 0x03, 0x03, 0x3f, 0x3f}; |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
277 |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
278 /* First/last line bitmap. An left bracket. */ |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
279 /* |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
280 xxxxxx.. |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
281 xxxxxx.. |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
282 xx...... |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
283 xx...... |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
284 xx...... |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
285 xx...... |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
286 xx...... |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
287 xx...... |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
288 xxxxxx.. |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
289 xxxxxx.. |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
290 */ |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
291 static unsigned char left_bracket_bits[] = { |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
292 0xfc, 0xfc, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xfc, 0xfc}; |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
293 |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
294 /* First/last line bitmap. An right bracket. */ |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
295 /* |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
296 ..xxxxxx |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
297 ..xxxxxx |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
298 ......xx |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
299 ......xx |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
300 ......xx |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
301 ......xx |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
302 ......xx |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
303 ......xx |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
304 ..xxxxxx |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
305 ..xxxxxx |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
306 */ |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
307 static unsigned char right_bracket_bits[] = { |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
308 0x3f, 0x3f, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x3f, 0x3f}; |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
309 |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
310 /* Filled box cursor bitmap. A filled box; max 13 pixels high. */ |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
311 /* |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
312 xxxxxxx. |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
313 xxxxxxx. |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
314 xxxxxxx. |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
315 xxxxxxx. |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
316 xxxxxxx. |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
317 xxxxxxx. |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
318 xxxxxxx. |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
319 xxxxxxx. |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
320 xxxxxxx. |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
321 xxxxxxx. |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
322 xxxxxxx. |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
323 xxxxxxx. |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
324 xxxxxxx. |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
325 */ |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
326 static unsigned char filled_box_cursor_bits[] = { |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
327 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe}; |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
328 |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
329 /* Hollow box cursor bitmap. A hollow box; max 13 pixels high. */ |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
330 /* |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
331 xxxxxxx. |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
332 x.....x. |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
333 x.....x. |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
334 x.....x. |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
335 x.....x. |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
336 x.....x. |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
337 x.....x. |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
338 x.....x. |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
339 x.....x. |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
340 x.....x. |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
341 x.....x. |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
342 x.....x. |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
343 xxxxxxx. |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
344 */ |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
345 static unsigned char hollow_box_cursor_bits[] = { |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
346 0xfe, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0xfe}; |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
347 |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
348 /* Bar cursor bitmap. A vertical bar; max 13 pixels high. */ |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
349 /* |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
350 xx...... |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
351 xx...... |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
352 xx...... |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
353 xx...... |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
354 xx...... |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
355 xx...... |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
356 xx...... |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
357 xx...... |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
358 xx...... |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
359 xx...... |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
360 xx...... |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
361 xx...... |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
362 xx...... |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
363 */ |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
364 static unsigned char bar_cursor_bits[] = { |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
365 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0}; |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
366 |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
367 /* HBar cursor bitmap. A horisontal bar; 2 pixels high. */ |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
368 /* |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
369 xxxxxxx. |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
370 xxxxxxx. |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
371 */ |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
372 static unsigned char hbar_cursor_bits[] = { |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
373 0xfe, 0xfe}; |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
374 |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
375 |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
376 /* Bitmap drawn to indicate lines not displaying text if |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
377 `indicate-empty-lines' is non-nil. */ |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
378 /* |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
379 ........ |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
380 ..xxxx.. |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
381 ........ |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
382 ........ |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
383 ..xxxx.. |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
384 ........ |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
385 */ |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
386 static unsigned char zv_bits[] = { |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
387 0x00, 0x3c, 0x00, 0x00, 0x3c, 0x00, 0x00, 0x3c, 0x00, |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
388 0x00, 0x3c, 0x00, 0x00, 0x3c, 0x00, 0x00, 0x3c, 0x00, |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
389 0x00, 0x3c, 0x00, 0x00, 0x3c, 0x00, 0x00, 0x3c, 0x00, |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
390 0x00, 0x3c, 0x00, 0x00, 0x3c, 0x00, 0x00, 0x3c, 0x00, |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
391 0x00, 0x3c, 0x00, 0x00, 0x3c, 0x00, 0x00, 0x3c, 0x00, |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
392 0x00, 0x3c, 0x00, 0x00, 0x3c, 0x00, 0x00, 0x3c, 0x00, |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
393 0x00, 0x3c, 0x00, 0x00, 0x3c, 0x00, 0x00, 0x3c, 0x00, |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
394 0x00, 0x3c, 0x00, 0x00, 0x3c, 0x00, 0x00, 0x3c, 0x00}; |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
395 |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
396 /* Hollow square bitmap. */ |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
397 /* |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
398 .xxxxxx. |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
399 .x....x. |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
400 .x....x. |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
401 .x....x. |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
402 .x....x. |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
403 .xxxxxx. |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
404 */ |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
405 static unsigned char hollow_square_bits[] = { |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
406 0x7e, 0x42, 0x42, 0x42, 0x42, 0x7e}; |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
407 |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
408 |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
409 |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
410 #define FRBITS(bits) bits, sizeof bits |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
411 struct fringe_bitmap standard_bitmaps[MAX_STANDARD_FRINGE_BITMAPS] = |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
412 { |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
413 { NULL, 0, 0, 0, 0, 0 }, /* NO_FRINGE_BITMAP */ |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
414 { FRBITS (unknown_bits), 8, 0, ALIGN_BITMAP_CENTER, 0 }, |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
415 { FRBITS (left_arrow_bits), 8, 0, ALIGN_BITMAP_CENTER, 0 }, |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
416 { FRBITS (right_arrow_bits), 8, 0, ALIGN_BITMAP_CENTER, 0 }, |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
417 { FRBITS (up_arrow_bits), 8, 0, ALIGN_BITMAP_TOP, 0 }, |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
418 { FRBITS (down_arrow_bits), 8, 0, ALIGN_BITMAP_BOTTOM, 0 }, |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
419 { FRBITS (continued_bits), 8, 0, ALIGN_BITMAP_CENTER, 0 }, |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
420 { FRBITS (continuation_bits), 8, 0, ALIGN_BITMAP_CENTER, 0 }, |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
421 { FRBITS (ov_bits), 8, 0, ALIGN_BITMAP_CENTER, 0 }, |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
422 { FRBITS (top_left_angle_bits), 8, 0, ALIGN_BITMAP_TOP, 0 }, |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
423 { FRBITS (top_right_angle_bits), 8, 0, ALIGN_BITMAP_TOP, 0 }, |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
424 { FRBITS (bottom_left_angle_bits), 8, 0, ALIGN_BITMAP_BOTTOM, 0 }, |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
425 { FRBITS (bottom_right_angle_bits), 8, 0, ALIGN_BITMAP_BOTTOM, 0 }, |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
426 { FRBITS (left_bracket_bits), 8, 0, ALIGN_BITMAP_CENTER, 0 }, |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
427 { FRBITS (right_bracket_bits), 8, 0, ALIGN_BITMAP_CENTER, 0 }, |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
428 { FRBITS (filled_box_cursor_bits), 8, 0, ALIGN_BITMAP_CENTER, 0 }, |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
429 { FRBITS (hollow_box_cursor_bits), 8, 0, ALIGN_BITMAP_CENTER, 0 }, |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
430 { FRBITS (hollow_square_bits), 8, 0, ALIGN_BITMAP_CENTER, 0 }, |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
431 { FRBITS (bar_cursor_bits), 8, 0, ALIGN_BITMAP_CENTER, 0 }, |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
432 { FRBITS (hbar_cursor_bits), 8, 0, ALIGN_BITMAP_BOTTOM, 0 }, |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
433 { FRBITS (zv_bits), 8, 3, ALIGN_BITMAP_TOP, 0 }, |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
434 }; |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
435 |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
436 static struct fringe_bitmap *fringe_bitmaps[MAX_FRINGE_BITMAPS]; |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
437 static unsigned fringe_faces[MAX_FRINGE_BITMAPS]; |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
438 |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
439 static int max_used_fringe_bitmap = MAX_STANDARD_FRINGE_BITMAPS; |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
440 |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
441 /* Return 1 if FRINGE_ID is a valid fringe bitmap id. */ |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
442 |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
443 int |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
444 valid_fringe_bitmap_id_p (fringe_id) |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
445 int fringe_id; |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
446 { |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
447 return (fringe_id >= NO_FRINGE_BITMAP |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
448 && fringe_id < max_used_fringe_bitmap |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
449 && (fringe_id < MAX_STANDARD_FRINGE_BITMAPS |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
450 || fringe_bitmaps[fringe_id] != NULL)); |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
451 } |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
452 |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
453 /* Draw the bitmap WHICH in one of the left or right fringes of |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
454 window W. ROW is the glyph row for which to display the bitmap; it |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
455 determines the vertical position at which the bitmap has to be |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
456 drawn. |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
457 LEFT_P is 1 for left fringe, 0 for right fringe. |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
458 */ |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
459 |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
460 void |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
461 draw_fringe_bitmap_1 (w, row, left_p, overlay, which) |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
462 struct window *w; |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
463 struct glyph_row *row; |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
464 int left_p, overlay; |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
465 enum fringe_bitmap_type which; |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
466 { |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
467 struct frame *f = XFRAME (WINDOW_FRAME (w)); |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
468 struct draw_fringe_bitmap_params p; |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
469 struct fringe_bitmap *fb; |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
470 int period; |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
471 int face_id = DEFAULT_FACE_ID; |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
472 |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
473 p.cursor_p = 0; |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
474 p.overlay_p = (overlay & 1) == 1; |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
475 p.cursor_p = (overlay & 2) == 2; |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
476 |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
477 if (which != NO_FRINGE_BITMAP) |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
478 { |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
479 } |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
480 else if (left_p) |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
481 { |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
482 which = row->left_fringe_bitmap; |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
483 face_id = row->left_fringe_face_id; |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
484 } |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
485 else |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
486 { |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
487 which = row->right_fringe_bitmap; |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
488 face_id = row->right_fringe_face_id; |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
489 } |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
490 |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
491 if (face_id == DEFAULT_FACE_ID) |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
492 face_id = fringe_faces[which]; |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
493 |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
494 fb = fringe_bitmaps[which]; |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
495 if (fb == NULL) |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
496 fb = &standard_bitmaps[which < MAX_STANDARD_FRINGE_BITMAPS |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
497 ? which : UNDEF_FRINGE_BITMAP]; |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
498 |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
499 period = fb->period; |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
500 |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
501 /* Convert row to frame coordinates. */ |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
502 p.y = WINDOW_TO_FRAME_PIXEL_Y (w, row->y); |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
503 |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
504 p.which = which; |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
505 p.bits = fb->bits; |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
506 p.wd = fb->width; |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
507 |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
508 p.h = fb->height; |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
509 p.dh = (period > 0 ? (p.y % period) : 0); |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
510 p.h -= p.dh; |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
511 /* Clip bitmap if too high. */ |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
512 if (p.h > row->height) |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
513 p.h = row->height; |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
514 |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
515 p.face = FACE_FROM_ID (f, face_id); |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
516 |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
517 if (p.face == NULL) |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
518 { |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
519 /* Why does this happen? ++kfs */ |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
520 return; |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
521 } |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
522 |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
523 PREPARE_FACE_FOR_DISPLAY (f, p.face); |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
524 |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
525 /* Clear left fringe if no bitmap to draw or if bitmap doesn't fill |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
526 the fringe. */ |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
527 p.bx = -1; |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
528 if (left_p) |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
529 { |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
530 int wd = WINDOW_LEFT_FRINGE_WIDTH (w); |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
531 int x = window_box_left (w, (WINDOW_HAS_FRINGES_OUTSIDE_MARGINS (w) |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
532 ? LEFT_MARGIN_AREA |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
533 : TEXT_AREA)); |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
534 if (p.wd > wd) |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
535 p.wd = wd; |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
536 p.x = x - p.wd - (wd - p.wd) / 2; |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
537 |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
538 if (p.wd < wd || row->height > p.h) |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
539 { |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
540 /* If W has a vertical border to its left, don't draw over it. */ |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
541 wd -= ((!WINDOW_LEFTMOST_P (w) |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
542 && !WINDOW_HAS_VERTICAL_SCROLL_BAR (w)) |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
543 ? 1 : 0); |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
544 p.bx = x - wd; |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
545 p.nx = wd; |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
546 } |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
547 } |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
548 else |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
549 { |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
550 int x = window_box_right (w, |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
551 (WINDOW_HAS_FRINGES_OUTSIDE_MARGINS (w) |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
552 ? RIGHT_MARGIN_AREA |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
553 : TEXT_AREA)); |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
554 int wd = WINDOW_RIGHT_FRINGE_WIDTH (w); |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
555 if (p.wd > wd) |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
556 p.wd = wd; |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
557 p.x = x + (wd - p.wd) / 2; |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
558 /* Clear right fringe if no bitmap to draw of if bitmap doesn't fill |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
559 the fringe. */ |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
560 if (p.wd < wd || row->height > p.h) |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
561 { |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
562 p.bx = x; |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
563 p.nx = wd; |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
564 } |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
565 } |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
566 |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
567 if (p.bx >= 0) |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
568 { |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
569 int header_line_height = WINDOW_HEADER_LINE_HEIGHT (w); |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
570 |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
571 p.by = WINDOW_TO_FRAME_PIXEL_Y (w, max (header_line_height, row->y)); |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
572 p.ny = row->visible_height; |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
573 } |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
574 |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
575 /* Adjust y to the offset in the row to start drawing the bitmap. */ |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
576 switch (fb->align) |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
577 { |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
578 case ALIGN_BITMAP_CENTER: |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
579 p.y += (row->height - p.h) / 2; |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
580 break; |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
581 case ALIGN_BITMAP_BOTTOM: |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
582 p.h = fb->height; |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
583 p.y += (row->visible_height - p.h); |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
584 break; |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
585 case ALIGN_BITMAP_TOP: |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
586 break; |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
587 } |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
588 |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
589 rif->draw_fringe_bitmap (w, row, &p); |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
590 } |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
591 |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
592 void |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
593 draw_fringe_bitmap (w, row, left_p) |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
594 struct window *w; |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
595 struct glyph_row *row; |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
596 int left_p; |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
597 { |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
598 int overlay = 0; |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
599 |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
600 if (!left_p && row->cursor_in_fringe_p) |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
601 { |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
602 int cursor = NO_FRINGE_BITMAP; |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
603 |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
604 switch (w->phys_cursor_type) |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
605 { |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
606 case HOLLOW_BOX_CURSOR: |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
607 if (row->visible_height >= sizeof(hollow_box_cursor_bits)) |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
608 cursor = HOLLOW_BOX_CURSOR_BITMAP; |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
609 else |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
610 cursor = HOLLOW_SQUARE_BITMAP; |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
611 break; |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
612 case FILLED_BOX_CURSOR: |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
613 cursor = FILLED_BOX_CURSOR_BITMAP; |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
614 break; |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
615 case BAR_CURSOR: |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
616 cursor = BAR_CURSOR_BITMAP; |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
617 break; |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
618 case HBAR_CURSOR: |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
619 cursor = HBAR_CURSOR_BITMAP; |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
620 break; |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
621 case NO_CURSOR: |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
622 default: |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
623 w->phys_cursor_on_p = 0; |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
624 row->cursor_in_fringe_p = 0; |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
625 break; |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
626 } |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
627 if (cursor != NO_FRINGE_BITMAP) |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
628 { |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
629 draw_fringe_bitmap_1 (w, row, 0, 2, cursor); |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
630 overlay = cursor == FILLED_BOX_CURSOR_BITMAP ? 3 : 1; |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
631 } |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
632 } |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
633 |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
634 draw_fringe_bitmap_1 (w, row, left_p, overlay, NO_FRINGE_BITMAP); |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
635 |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
636 if (left_p && row->overlay_arrow_p) |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
637 draw_fringe_bitmap_1 (w, row, 1, 1, OVERLAY_ARROW_BITMAP); |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
638 } |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
639 |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
640 |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
641 /* Draw fringe bitmaps for glyph row ROW on window W. Call this |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
642 function with input blocked. */ |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
643 |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
644 void |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
645 draw_row_fringe_bitmaps (w, row) |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
646 struct window *w; |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
647 struct glyph_row *row; |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
648 { |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
649 xassert (interrupt_input_blocked); |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
650 |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
651 /* If row is completely invisible, because of vscrolling, we |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
652 don't have to draw anything. */ |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
653 if (row->visible_height <= 0) |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
654 return; |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
655 |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
656 if (WINDOW_LEFT_FRINGE_WIDTH (w) != 0) |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
657 draw_fringe_bitmap (w, row, 1); |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
658 |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
659 if (WINDOW_RIGHT_FRINGE_WIDTH (w) != 0) |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
660 draw_fringe_bitmap (w, row, 0); |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
661 } |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
662 |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
663 /* Draw the fringes of window W. Only fringes for rows marked for |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
664 update in redraw_fringe_bitmaps_p are drawn. */ |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
665 |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
666 void |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
667 draw_window_fringes (w) |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
668 struct window *w; |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
669 { |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
670 struct glyph_row *row; |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
671 int yb = window_text_bottom_y (w); |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
672 int nrows = w->current_matrix->nrows; |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
673 int y = 0, rn; |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
674 |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
675 if (w->pseudo_window_p) |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
676 return; |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
677 |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
678 for (y = 0, rn = 0, row = w->current_matrix->rows; |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
679 y < yb && rn < nrows; |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
680 y += row->height, ++row, ++rn) |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
681 { |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
682 if (!row->redraw_fringe_bitmaps_p) |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
683 continue; |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
684 draw_row_fringe_bitmaps (w, row); |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
685 row->redraw_fringe_bitmaps_p = 0; |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
686 } |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
687 } |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
688 |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
689 |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
690 /* Recalculate the bitmaps to show in the fringes of window W. |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
691 If FORCE_P is 0, only mark rows with modified bitmaps for update in |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
692 redraw_fringe_bitmaps_p; else mark all rows for update. */ |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
693 |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
694 int |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
695 update_window_fringes (w, force_p) |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
696 struct window *w; |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
697 int force_p; |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
698 { |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
699 struct glyph_row *row, *cur = 0; |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
700 int yb = window_text_bottom_y (w); |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
701 int rn, nrows = w->current_matrix->nrows; |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
702 int y; |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
703 int redraw_p = 0; |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
704 Lisp_Object ind; |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
705 int boundary_pos = 0, arrow_pos = 0; |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
706 int empty_pos = 0; |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
707 |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
708 if (w->pseudo_window_p) |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
709 return 0; |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
710 |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
711 if (!MINI_WINDOW_P (w) |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
712 && (ind = XBUFFER (w->buffer)->indicate_buffer_boundaries, !NILP (ind))) |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
713 { |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
714 int do_eob = 1, do_bob = 1; |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
715 Lisp_Object arrows; |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
716 |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
717 if (CONSP (ind)) |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
718 arrows = XCDR (ind), ind = XCAR (ind); |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
719 else |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
720 arrows = ind; |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
721 |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
722 if (EQ (ind, Qleft)) |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
723 boundary_pos = -1; |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
724 else if (EQ (ind, Qright)) |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
725 boundary_pos = 1; |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
726 |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
727 if (EQ (arrows, Qleft)) |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
728 arrow_pos = -1; |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
729 else if (EQ (arrows, Qright)) |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
730 arrow_pos = 1; |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
731 |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
732 for (y = 0, rn = 0; |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
733 y < yb && rn < nrows; |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
734 y += row->height, ++rn) |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
735 { |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
736 unsigned indicate_bob_p, indicate_top_line_p; |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
737 unsigned indicate_eob_p, indicate_bottom_line_p; |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
738 |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
739 row = w->desired_matrix->rows + rn; |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
740 if (!row->enabled_p) |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
741 row = w->current_matrix->rows + rn; |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
742 |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
743 indicate_bob_p = row->indicate_bob_p; |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
744 indicate_top_line_p = row->indicate_top_line_p; |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
745 indicate_eob_p = row->indicate_eob_p; |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
746 indicate_bottom_line_p = row->indicate_bottom_line_p; |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
747 |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
748 row->indicate_bob_p = row->indicate_top_line_p = 0; |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
749 row->indicate_eob_p = row->indicate_bottom_line_p = 0; |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
750 |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
751 if (!NILP (ind) |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
752 && MATRIX_ROW_START_CHARPOS (row) <= BUF_BEGV (XBUFFER (w->buffer))) |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
753 row->indicate_bob_p = do_bob, do_bob = 0; |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
754 else if (!NILP (arrows) |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
755 && (WINDOW_WANTS_HEADER_LINE_P (w) ? 1 : 0) == rn) |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
756 row->indicate_top_line_p = 1; |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
757 |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
758 if (!NILP (ind) |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
759 && MATRIX_ROW_END_CHARPOS (row) >= BUF_ZV (XBUFFER (w->buffer))) |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
760 row->indicate_eob_p = do_eob, do_eob = 0; |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
761 else if (!NILP (arrows) |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
762 && y + row->height >= yb) |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
763 row->indicate_bottom_line_p = 1; |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
764 |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
765 if (indicate_bob_p != row->indicate_bob_p |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
766 || indicate_top_line_p != row->indicate_top_line_p |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
767 || indicate_eob_p != row->indicate_eob_p |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
768 || indicate_bottom_line_p != row->indicate_bottom_line_p) |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
769 row->redraw_fringe_bitmaps_p = 1; |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
770 } |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
771 } |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
772 |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
773 if (EQ (XBUFFER (w->buffer)->indicate_empty_lines, Qright)) |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
774 empty_pos = 1; |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
775 else if (EQ (XBUFFER (w->buffer)->indicate_empty_lines, Qleft)) |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
776 empty_pos = -1; |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
777 |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
778 for (y = 0, rn = 0; |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
779 y < yb && rn < nrows; |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
780 y += row->height, rn++) |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
781 { |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
782 enum fringe_bitmap_type left, right; |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
783 unsigned left_face_id, right_face_id; |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
784 |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
785 row = w->desired_matrix->rows + rn; |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
786 cur = w->current_matrix->rows + rn; |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
787 if (!row->enabled_p) |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
788 row = cur; |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
789 |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
790 left_face_id = right_face_id = DEFAULT_FACE_ID; |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
791 |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
792 /* Decide which bitmap to draw in the left fringe. */ |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
793 if (WINDOW_LEFT_FRINGE_WIDTH (w) == 0) |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
794 left = NO_FRINGE_BITMAP; |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
795 else if (row->left_user_fringe_bitmap != NO_FRINGE_BITMAP) |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
796 { |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
797 left = row->left_user_fringe_bitmap; |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
798 left_face_id = row->left_user_fringe_face_id; |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
799 } |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
800 #if 0 /* this is now done via an overlay */ |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
801 else if (row->overlay_arrow_p) |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
802 left = OVERLAY_ARROW_BITMAP; |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
803 #endif |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
804 else if (row->indicate_bob_p && boundary_pos <= 0) |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
805 left = ((row->indicate_eob_p && boundary_pos < 0) |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
806 ? LEFT_BRACKET_BITMAP : TOP_LEFT_ANGLE_BITMAP); |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
807 else if (row->indicate_eob_p && boundary_pos < 0) |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
808 left = BOTTOM_LEFT_ANGLE_BITMAP; |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
809 else if (row->truncated_on_left_p) |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
810 left = LEFT_TRUNCATION_BITMAP; |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
811 else if (MATRIX_ROW_CONTINUATION_LINE_P (row)) |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
812 left = CONTINUATION_LINE_BITMAP; |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
813 else if (row->indicate_empty_line_p && empty_pos <= 0) |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
814 left = ZV_LINE_BITMAP; |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
815 else if (row->indicate_top_line_p && arrow_pos <= 0) |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
816 left = UP_ARROW_BITMAP; |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
817 else if (row->indicate_bottom_line_p && arrow_pos < 0) |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
818 left = DOWN_ARROW_BITMAP; |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
819 else |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
820 left = NO_FRINGE_BITMAP; |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
821 |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
822 /* Decide which bitmap to draw in the right fringe. */ |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
823 if (WINDOW_RIGHT_FRINGE_WIDTH (w) == 0) |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
824 right = NO_FRINGE_BITMAP; |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
825 else if (row->right_user_fringe_bitmap != NO_FRINGE_BITMAP) |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
826 { |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
827 right = row->right_user_fringe_bitmap; |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
828 right_face_id = row->right_user_fringe_face_id; |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
829 } |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
830 else if (row->indicate_bob_p && boundary_pos > 0) |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
831 right = ((row->indicate_eob_p && boundary_pos >= 0) |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
832 ? RIGHT_BRACKET_BITMAP : TOP_RIGHT_ANGLE_BITMAP); |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
833 else if (row->indicate_eob_p && boundary_pos >= 0) |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
834 right = BOTTOM_RIGHT_ANGLE_BITMAP; |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
835 else if (row->truncated_on_right_p) |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
836 right = RIGHT_TRUNCATION_BITMAP; |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
837 else if (row->continued_p) |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
838 right = CONTINUED_LINE_BITMAP; |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
839 else if (row->indicate_top_line_p && arrow_pos > 0) |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
840 right = UP_ARROW_BITMAP; |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
841 else if (row->indicate_bottom_line_p && arrow_pos >= 0) |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
842 right = DOWN_ARROW_BITMAP; |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
843 else if (row->indicate_empty_line_p |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
844 && (empty_pos > 0 |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
845 || (WINDOW_LEFT_FRINGE_WIDTH (w) == 0 && empty_pos == 0))) |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
846 right = ZV_LINE_BITMAP; |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
847 else |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
848 right = NO_FRINGE_BITMAP; |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
849 |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
850 if (force_p |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
851 || row->y != cur->y |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
852 || row->visible_height != cur->visible_height |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
853 || left != cur->left_fringe_bitmap |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
854 || right != cur->right_fringe_bitmap |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
855 || left_face_id != cur->left_fringe_face_id |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
856 || right_face_id != cur->right_fringe_face_id |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
857 || cur->redraw_fringe_bitmaps_p) |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
858 { |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
859 redraw_p = row->redraw_fringe_bitmaps_p = cur->redraw_fringe_bitmaps_p = 1; |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
860 cur->left_fringe_bitmap = left; |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
861 cur->right_fringe_bitmap = right; |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
862 cur->left_fringe_face_id = left_face_id; |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
863 cur->right_fringe_face_id = right_face_id; |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
864 } |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
865 |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
866 if (row->overlay_arrow_p != cur->overlay_arrow_p) |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
867 { |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
868 redraw_p = row->redraw_fringe_bitmaps_p = cur->redraw_fringe_bitmaps_p = 1; |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
869 cur->overlay_arrow_p = row->overlay_arrow_p; |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
870 } |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
871 |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
872 row->left_fringe_bitmap = left; |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
873 row->right_fringe_bitmap = right; |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
874 row->left_fringe_face_id = left_face_id; |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
875 row->right_fringe_face_id = right_face_id; |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
876 } |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
877 |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
878 return redraw_p; |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
879 } |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
880 |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
881 |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
882 /* Compute actual fringe widths for frame F. |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
883 |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
884 If REDRAW is 1, redraw F if the fringe settings was actually |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
885 modified and F is visible. |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
886 |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
887 Since the combined left and right fringe must occupy an integral |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
888 number of columns, we may need to add some pixels to each fringe. |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
889 Typically, we add an equal amount (+/- 1 pixel) to each fringe, |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
890 but a negative width value is taken literally (after negating it). |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
891 |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
892 We never make the fringes narrower than specified. It is planned |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
893 to make fringe bitmaps customizable and expandable, and at that |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
894 time, the user will typically specify the minimum number of pixels |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
895 needed for his bitmaps, so we shouldn't select anything less than |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
896 what is specified. |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
897 */ |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
898 |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
899 void |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
900 compute_fringe_widths (f, redraw) |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
901 struct frame *f; |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
902 int redraw; |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
903 { |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
904 int o_left = FRAME_LEFT_FRINGE_WIDTH (f); |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
905 int o_right = FRAME_RIGHT_FRINGE_WIDTH (f); |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
906 int o_cols = FRAME_FRINGE_COLS (f); |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
907 |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
908 Lisp_Object left_fringe = Fassq (Qleft_fringe, f->param_alist); |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
909 Lisp_Object right_fringe = Fassq (Qright_fringe, f->param_alist); |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
910 int left_fringe_width, right_fringe_width; |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
911 |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
912 if (!NILP (left_fringe)) |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
913 left_fringe = Fcdr (left_fringe); |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
914 if (!NILP (right_fringe)) |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
915 right_fringe = Fcdr (right_fringe); |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
916 |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
917 left_fringe_width = ((NILP (left_fringe) || !INTEGERP (left_fringe)) ? 8 : |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
918 XINT (left_fringe)); |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
919 right_fringe_width = ((NILP (right_fringe) || !INTEGERP (right_fringe)) ? 8 : |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
920 XINT (right_fringe)); |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
921 |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
922 if (left_fringe_width || right_fringe_width) |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
923 { |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
924 int left_wid = left_fringe_width >= 0 ? left_fringe_width : -left_fringe_width; |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
925 int right_wid = right_fringe_width >= 0 ? right_fringe_width : -right_fringe_width; |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
926 int conf_wid = left_wid + right_wid; |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
927 int font_wid = FRAME_COLUMN_WIDTH (f); |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
928 int cols = (left_wid + right_wid + font_wid-1) / font_wid; |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
929 int real_wid = cols * font_wid; |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
930 if (left_wid && right_wid) |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
931 { |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
932 if (left_fringe_width < 0) |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
933 { |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
934 /* Left fringe width is fixed, adjust right fringe if necessary */ |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
935 FRAME_LEFT_FRINGE_WIDTH (f) = left_wid; |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
936 FRAME_RIGHT_FRINGE_WIDTH (f) = real_wid - left_wid; |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
937 } |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
938 else if (right_fringe_width < 0) |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
939 { |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
940 /* Right fringe width is fixed, adjust left fringe if necessary */ |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
941 FRAME_LEFT_FRINGE_WIDTH (f) = real_wid - right_wid; |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
942 FRAME_RIGHT_FRINGE_WIDTH (f) = right_wid; |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
943 } |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
944 else |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
945 { |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
946 /* Adjust both fringes with an equal amount. |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
947 Note that we are doing integer arithmetic here, so don't |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
948 lose a pixel if the total width is an odd number. */ |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
949 int fill = real_wid - conf_wid; |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
950 FRAME_LEFT_FRINGE_WIDTH (f) = left_wid + fill/2; |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
951 FRAME_RIGHT_FRINGE_WIDTH (f) = right_wid + fill - fill/2; |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
952 } |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
953 } |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
954 else if (left_fringe_width) |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
955 { |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
956 FRAME_LEFT_FRINGE_WIDTH (f) = real_wid; |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
957 FRAME_RIGHT_FRINGE_WIDTH (f) = 0; |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
958 } |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
959 else |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
960 { |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
961 FRAME_LEFT_FRINGE_WIDTH (f) = 0; |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
962 FRAME_RIGHT_FRINGE_WIDTH (f) = real_wid; |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
963 } |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
964 FRAME_FRINGE_COLS (f) = cols; |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
965 } |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
966 else |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
967 { |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
968 FRAME_LEFT_FRINGE_WIDTH (f) = 0; |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
969 FRAME_RIGHT_FRINGE_WIDTH (f) = 0; |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
970 FRAME_FRINGE_COLS (f) = 0; |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
971 } |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
972 |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
973 if (redraw && FRAME_VISIBLE_P (f)) |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
974 if (o_left != FRAME_LEFT_FRINGE_WIDTH (f) || |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
975 o_right != FRAME_RIGHT_FRINGE_WIDTH (f) || |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
976 o_cols != FRAME_FRINGE_COLS (f)) |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
977 redraw_frame (f); |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
978 } |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
979 |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
980 DEFUN ("destroy-fringe-bitmap", Fdestroy_fringe_bitmap, Sdestroy_fringe_bitmap, |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
981 1, 1, 0, |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
982 doc: /* Destroy fringe bitmap WHICH. |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
983 If WHICH overrides a standard fringe bitmap, the original bitmap is restored. */) |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
984 (which) |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
985 Lisp_Object which; |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
986 { |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
987 int n; |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
988 struct fringe_bitmap **fbp; |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
989 |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
990 CHECK_NUMBER (which); |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
991 if (n = XINT (which), n >= max_used_fringe_bitmap) |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
992 return Qnil; |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
993 |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
994 fringe_faces[n] = FRINGE_FACE_ID; |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
995 |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
996 fbp = &fringe_bitmaps[n]; |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
997 if (*fbp && (*fbp)->dynamic) |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
998 { |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
999 if (rif->destroy_fringe_bitmap) |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
1000 rif->destroy_fringe_bitmap (n); |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
1001 xfree (*fbp); |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
1002 *fbp = NULL; |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
1003 } |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
1004 |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
1005 while (max_used_fringe_bitmap > MAX_STANDARD_FRINGE_BITMAPS |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
1006 && fringe_bitmaps[max_used_fringe_bitmap - 1] == NULL) |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
1007 max_used_fringe_bitmap--; |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
1008 |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
1009 return Qnil; |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
1010 } |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
1011 |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
1012 |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
1013 /* Initialize bitmap bit. |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
1014 On X and MAC, we bit-swap the built-in bitmaps. |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
1015 On W32, there's no need to do this. |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
1016 */ |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
1017 |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
1018 void |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
1019 init_fringe_bitmap (which, fb, once_p) |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
1020 enum fringe_bitmap_type which; |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
1021 struct fringe_bitmap *fb; |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
1022 int once_p; |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
1023 { |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
1024 if (once_p || fb->dynamic) |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
1025 { |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
1026 #if defined (HAVE_X_WINDOWS) || defined (MAC_OS) |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
1027 unsigned char *bits = fb->bits; |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
1028 int j; |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
1029 for (j = 0; j < fb->height; j++) |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
1030 { |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
1031 static unsigned char swap_nibble[16] |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
1032 = { 0x0, 0x8, 0x4, 0xc, /* 0000 1000 0100 1100 */ |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
1033 0x2, 0xa, 0x6, 0xe, /* 0010 1010 0110 1110 */ |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
1034 0x1, 0x9, 0x5, 0xd, /* 0001 1001 0101 1101 */ |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
1035 0x3, 0xb, 0x7, 0xf }; /* 0011 1011 0111 1111 */ |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
1036 |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
1037 unsigned char b = *bits; |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
1038 *bits++ = (unsigned short)((swap_nibble[b & 0xf]<<4) |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
1039 | (swap_nibble[(b>>4) & 0xf])); |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
1040 } |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
1041 #endif |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
1042 } |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
1043 |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
1044 if (!once_p) |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
1045 { |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
1046 Fdestroy_fringe_bitmap (make_number (which)); |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
1047 |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
1048 if (rif->define_fringe_bitmap) |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
1049 rif->define_fringe_bitmap (which, fb->bits, fb->height, fb->width); |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
1050 |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
1051 fringe_bitmaps[which] = fb; |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
1052 if (which >= max_used_fringe_bitmap) |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
1053 max_used_fringe_bitmap = which + 1; |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
1054 } |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
1055 } |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
1056 |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
1057 |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
1058 DEFUN ("define-fringe-bitmap", Fdefine_fringe_bitmap, Sdefine_fringe_bitmap, |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
1059 1, 5, 0, |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
1060 doc: /* Define a fringe bitmap from BITS of height HEIGHT and width WIDTH. |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
1061 BITS is either a string or a vector. If HEIGHT is nil, use number of bytes |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
1062 in BITS. If WIDTH is zero, default to 8. Optional forth arg ALIGN may be |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
1063 one of `top', `center', or `bottom', indicating the positioning of the |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
1064 bitmap relative to the rows where it is used; the default is to center the |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
1065 bitmap. Fourth arg may also be a list (ALIGN PERIODIC) where |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
1066 PERIODIC non-nil specifies that the bitmap should be repeated. |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
1067 Optional fifth argument WHICH is bitmap number to redefine. |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
1068 Return new bitmap number, or nil of no more free bitmap slots. */) |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
1069 (bits, height, width, align, which) |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
1070 Lisp_Object bits, height, width, align, which; |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
1071 { |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
1072 Lisp_Object len; |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
1073 int n, h, i, j; |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
1074 unsigned char *b; |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
1075 struct fringe_bitmap fb, *xfb; |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
1076 int fill1 = 0, fill2 = 0; |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
1077 |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
1078 if (!STRINGP (bits) && !VECTORP (bits)) |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
1079 bits = wrong_type_argument (Qstringp, bits); |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
1080 |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
1081 len = Flength (bits); |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
1082 |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
1083 if (NILP (height)) |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
1084 h = fb.height = XINT (len); |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
1085 else |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
1086 { |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
1087 CHECK_NUMBER (height); |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
1088 fb.height = min (XINT (height), 255); |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
1089 if (fb.height > XINT (len)) |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
1090 { |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
1091 h = XINT (len); |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
1092 fill1 = (fb.height - h) / 2; |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
1093 fill2 = fb.height - h - fill1; |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
1094 } |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
1095 } |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
1096 |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
1097 if (NILP (width)) |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
1098 fb.width = 8; |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
1099 else |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
1100 { |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
1101 CHECK_NUMBER (width); |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
1102 fb.width = min (XINT (width), 255); |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
1103 } |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
1104 |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
1105 fb.period = 0; |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
1106 fb.align = ALIGN_BITMAP_CENTER; |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
1107 |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
1108 if (CONSP (align)) |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
1109 { |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
1110 Lisp_Object period = XCDR (align); |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
1111 if (CONSP (period)) |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
1112 { |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
1113 period = XCAR (period); |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
1114 if (!NILP (period)) |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
1115 { |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
1116 fb.period = fb.height; |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
1117 fb.height = 255; |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
1118 } |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
1119 } |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
1120 align = XCAR (align); |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
1121 } |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
1122 if (EQ (align, Qtop)) |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
1123 fb.align = ALIGN_BITMAP_TOP; |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
1124 else if (EQ (align, Qbottom)) |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
1125 fb.align = ALIGN_BITMAP_BOTTOM; |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
1126 else if (!NILP (align) && !EQ (align, Qcenter)) |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
1127 error ("Bad align argument"); |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
1128 |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
1129 if (NILP (which)) |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
1130 { |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
1131 if (max_used_fringe_bitmap < MAX_FRINGE_BITMAPS) |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
1132 n = make_number (max_used_fringe_bitmap++); |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
1133 else |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
1134 { |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
1135 for (n = MAX_STANDARD_FRINGE_BITMAPS; |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
1136 n < MAX_FRINGE_BITMAPS; |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
1137 n++) |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
1138 if (fringe_bitmaps[n] == NULL) |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
1139 break; |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
1140 if (n == MAX_FRINGE_BITMAPS) |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
1141 return Qnil; |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
1142 } |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
1143 which = make_number (n); |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
1144 } |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
1145 else |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
1146 { |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
1147 CHECK_NUMBER (which); |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
1148 n = XINT (which); |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
1149 if (n <= NO_FRINGE_BITMAP || n >= MAX_FRINGE_BITMAPS) |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
1150 error ("Invalid fringe bitmap number"); |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
1151 } |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
1152 |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
1153 fb.dynamic = 1; |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
1154 |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
1155 xfb = (struct fringe_bitmap *)xmalloc (sizeof fb + fb.height); |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
1156 fb.bits = b = (unsigned char *)(xfb+1); |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
1157 bzero (b, fb.height); |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
1158 |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
1159 j = 0; |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
1160 while (j < fb.height) |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
1161 { |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
1162 for (i = 0; i < fill1 && j < fb.height; i++) |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
1163 b[j++] = 0; |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
1164 for (i = 0; i < h & j < fb.height; i++) |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
1165 { |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
1166 Lisp_Object elt = Faref (bits, make_number (i)); |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
1167 b[j++] = NUMBERP (elt) ? XINT (elt) : 0; |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
1168 } |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
1169 for (i = 0; i < fill2 && j < fb.height; i++) |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
1170 b[j++] = 0; |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
1171 } |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
1172 |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
1173 *xfb = fb; |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
1174 |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
1175 init_fringe_bitmap (n, xfb, 0); |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
1176 |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
1177 return which; |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
1178 } |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
1179 |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
1180 DEFUN ("set-fringe-bitmap-face", Fset_fringe_bitmap_face, Sset_fringe_bitmap_face, |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
1181 1, 2, 0, |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
1182 doc: /* Set face for fringe bitmap FRINGE-ID to FACE. |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
1183 If FACE is nil, reset face to default fringe face. */) |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
1184 (fringe_id, face) |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
1185 Lisp_Object fringe_id, face; |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
1186 { |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
1187 int face_id; |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
1188 |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
1189 CHECK_NUMBER (fringe_id); |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
1190 if (!valid_fringe_bitmap_id_p (XINT (fringe_id))) |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
1191 error ("Invalid fringe id"); |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
1192 |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
1193 if (!NILP (face)) |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
1194 { |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
1195 face_id = lookup_named_face (SELECTED_FRAME (), face, 'A'); |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
1196 if (face_id < 0) |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
1197 error ("No such face"); |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
1198 } |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
1199 else |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
1200 face_id = FRINGE_FACE_ID; |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
1201 |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
1202 fringe_faces [XINT (fringe_id)] = face_id; |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
1203 |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
1204 return Qnil; |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
1205 } |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
1206 |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
1207 DEFUN ("fringe-bitmaps-at-pos", Ffringe_bitmaps_at_pos, Sfringe_bitmaps_at_pos, |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
1208 0, 2, 0, |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
1209 doc: /* Return fringe bitmaps of row containing position POS in window WINDOW. |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
1210 If WINDOW is nil, use selected window. If POS is nil, use value of point |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
1211 in that window. Return value is a cons (LEFT . RIGHT) where LEFT and RIGHT |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
1212 are the fringe bitmap numbers for the bitmaps in the left and right fringe, |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
1213 resp. Return nil if POS is not visible in WINDOW. */) |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
1214 (pos, window) |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
1215 { |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
1216 struct window *w; |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
1217 struct buffer *old_buffer = NULL; |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
1218 struct glyph_row *row; |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
1219 int textpos; |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
1220 |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
1221 if (NILP (window)) |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
1222 window = selected_window; |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
1223 CHECK_WINDOW (window); |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
1224 w = XWINDOW (window); |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
1225 |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
1226 if (!NILP (pos)) |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
1227 { |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
1228 CHECK_NUMBER_COERCE_MARKER (pos); |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
1229 textpos = XINT (pos); |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
1230 } |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
1231 else if (w == XWINDOW (selected_window)) |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
1232 textpos = PT; |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
1233 else |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
1234 textpos = XMARKER (w->pointm)->charpos; |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
1235 |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
1236 row = MATRIX_FIRST_TEXT_ROW (w->current_matrix); |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
1237 row = row_containing_pos (w, textpos, row, NULL, 0); |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
1238 if (row) |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
1239 return Fcons (make_number (row->left_fringe_bitmap), |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
1240 make_number (row->right_fringe_bitmap)); |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
1241 else |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
1242 return Qnil; |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
1243 } |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
1244 |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
1245 |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
1246 /*********************************************************************** |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
1247 Initialization |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
1248 ***********************************************************************/ |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
1249 |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
1250 void |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
1251 syms_of_fringe () |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
1252 { |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
1253 |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
1254 defsubr (&Sdestroy_fringe_bitmap); |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
1255 defsubr (&Sdefine_fringe_bitmap); |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
1256 defsubr (&Sfringe_bitmaps_at_pos); |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
1257 defsubr (&Sset_fringe_bitmap_face); |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
1258 |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
1259 DEFVAR_LISP ("overflow-newline-into-fringe", &Voverflow_newline_into_fringe, |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
1260 doc: /* *Non-nil means that newline may flow into the right fringe. |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
1261 This means that display lines which are exactly as wide as the window |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
1262 (not counting the final newline) will only occupy one screen line, by |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
1263 showing (or hiding) the final newline in the right fringe; when point |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
1264 is at the final newline, the cursor is shown in the right fringe. |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
1265 If nil, also continue lines which are exactly as wide as the window. */); |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
1266 Voverflow_newline_into_fringe = Qt; |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
1267 |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
1268 } |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
1269 |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
1270 /* Initialize this module when Emacs starts. */ |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
1271 |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
1272 void |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
1273 init_fringe_once () |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
1274 { |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
1275 enum fringe_bitmap_type bt; |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
1276 |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
1277 for (bt = NO_FRINGE_BITMAP + 1; bt < MAX_STANDARD_FRINGE_BITMAPS; bt++) |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
1278 init_fringe_bitmap(bt, &standard_bitmaps[bt], 1); |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
1279 } |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
1280 |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
1281 void |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
1282 init_fringe () |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
1283 { |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
1284 int i; |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
1285 |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
1286 bzero (fringe_bitmaps, sizeof fringe_bitmaps); |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
1287 for (i = 0; i < MAX_FRINGE_BITMAPS; i++) |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
1288 fringe_faces[i] = FRINGE_FACE_ID; |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
1289 } |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
1290 |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
1291 #ifdef HAVE_NTGUI |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
1292 |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
1293 void |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
1294 w32_init_fringe () |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
1295 { |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
1296 enum fringe_bitmap_type bt; |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
1297 |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
1298 for (bt = NO_FRINGE_BITMAP + 1; bt < MAX_STANDARD_FRINGE_BITMAPS; bt++) |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
1299 { |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
1300 struct fringe_bitmap *fb = &standard_bitmaps[bt]; |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
1301 rif->define_fringe_bitmap (bt, fb->bits, fb->height, fb->width); |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
1302 } |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
1303 } |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
1304 |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
1305 void |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
1306 w32_reset_fringes () |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
1307 { |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
1308 /* Destroy row bitmaps. */ |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
1309 int bt; |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
1310 |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
1311 for (bt = NO_FRINGE_BITMAP + 1; bt < max_used_fringe_bitmap; bt++) |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
1312 rif->destroy_fringe_bitmap (bt); |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
1313 } |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
1314 |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
1315 #endif |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
1316 |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
1317 #endif /* HAVE_WINDOW_SYSTEM */ |
e3771c262410
New file. Move original fringe related declarations
Kim F. Storm <storm@cua.dk>
parents:
diff
changeset
|
1318 |