ViewVC Help
View File | Revision Log | Show Annotations | Download File | Root Listing
root/radiance/ray/src/rt/x11twind.c
(Generate patch)

Comparing ray/src/rt/x11twind.c (file contents):
Revision 2.7 by greg, Fri Apr 11 16:01:26 2003 UTC vs.
Revision 2.10 by greg, Thu May 23 22:45:05 2024 UTC

# Line 14 | Line 14 | static const char      RCSid[] = "$Id$";
14   #include "copyright.h"
15  
16   #include  <stdio.h>
17
17   #include  <stdlib.h>
18 <
18 > #include  <string.h>
19   #include  <X11/Xlib.h>
20  
21   #include  "x11twind.h"
22  
24 #ifndef  BSD
25 #define  bzero(d,n)             (void)memset(d,0,n)
26 #endif
27
23   #define checkcurs(t)            if ((t)->cursor) togglecurs(t)
24  
25   #define restorecurs             checkcurs
# Line 38 | Line 33 | static void  togglecurs();
33  
34  
35   TEXTWIND *
36 < xt_open(dpy, parent, x, y, width, height, bw, fore, back, fontname)
37 < Display  *dpy;
38 < Window  parent;
39 < int  x, y;
40 < int  width, height;
41 < int  bw;
42 < unsigned long  fore, back;
43 < char  *fontname;
36 > xt_open(
37 > Display  *dpy,
38 > Window  parent,
39 > int  x, int y,
40 > int  width, int height,
41 > int  bw,
42 > unsigned long  fore, unsigned long  back,
43 > char  *fontname
44 > )
45   {
46 <        register int  i;
47 <        register TEXTWIND  *t;
46 >        int  i;
47 >        TEXTWIND  *t;
48  
49          if ((t = (TEXTWIND *)malloc(sizeof(TEXTWIND))) == NULL)
50                  return(NULL);
# Line 89 | Line 85 | char  *fontname;
85  
86  
87   void
88 < xt_putc(c, t)                           /* output a character */
89 < int  c;
90 < register TEXTWIND  *t;
88 > xt_putc(                                /* output a character */
89 > int  c,
90 > TEXTWIND  *t
91 > )
92   {
93 +        char    ch[2];
94 +
95          checkcurs(t);
96          switch (c) {
97          case '\n':
# Line 113 | Line 112 | register TEXTWIND  *t;
112          default:
113                  if (t->c >= t->nc)
114                          xt_putc('\n', t);
115 +                ch[0] = c; ch[1] = '\0';
116                  XDrawImageString(t->dpy, t->w, t->gc, LEFTMAR+t->c*Width(t->f),
117 <                        YStart(t->f)+t->r*Height(t->f), &c, 1);
117 >                        YStart(t->f)+t->r*Height(t->f), ch, 1);
118                  t->lp[t->r][t->c++] = c;
119                  break;
120          }
# Line 123 | Line 123 | register TEXTWIND  *t;
123  
124  
125   void
126 < xt_puts(s, t)                           /* output a string */
127 < register char  *s;
128 < TEXTWIND  *t;
126 > xt_puts(const char *s, TEXTWIND *t)                             /* output a string */
127   {
128          int     oldcurs;
129  
# Line 137 | Line 135 | TEXTWIND  *t;
135  
136  
137   void
138 < xt_delete(t, r)                         /* delete a line */
139 < register TEXTWIND  *t;
140 < int  r;
138 > xt_delete(                              /* delete a line */
139 > TEXTWIND  *t,
140 > int  r
141 > )
142   {
143          char  *cp;
144 <        register int  i;
144 >        int  i;
145  
146          if (r < 0 || r >= t->nr)
147                  return;
# Line 159 | Line 158 | int  r;
158          XClearArea(t->dpy, t->w, LEFTMAR, (t->nr-1)*Height(t->f),
159                          t->nc*Width(t->f), Height(t->f),(Bool) 0);
160  
161 <        bzero(cp, t->nc);
161 >        memset(cp, '\0', t->nc);
162          restorecurs(t);                 /* should we reposition cursor? */
163   }
164  
165  
166   void
167 < xt_insert(t, r)                         /* insert a line */
168 < register TEXTWIND  *t;
169 < int  r;
167 > xt_insert(                      /* insert a line */
168 > TEXTWIND  *t,
169 > int  r
170 > )
171   {
172          char  *cp;
173 <        register int  i;
173 >        int  i;
174  
175          if (r < 0 || r >= t->nr)
176                  return;
# Line 186 | Line 186 | int  r;
186                                          /* clear new line */
187          XClearArea(t->dpy, t->w, LEFTMAR, r*Height(t->f),
188                          t->nc*Width(t->f), Height(t->f), (Bool) 0);
189 <        bzero(cp, t->nc);
189 >        memset(cp, '\0', t->nc);
190          restorecurs(t);                 /* should we reposition cursor? */
191   }
192  
193  
194   void
195 < xt_redraw(t)                            /* redraw text window */
196 < register TEXTWIND  *t;
195 > xt_redraw(TEXTWIND  *t)                         /* redraw text window */
196   {
197 <        register int  i;
197 >        int  i;
198  
199          XClearWindow(t->dpy, t->w);
200          for (i = 0; i < t->nr; i++)
# Line 208 | Line 207 | register TEXTWIND  *t;
207  
208  
209   void
210 < xt_clear(t)                             /* clear text window */
212 < register TEXTWIND  *t;
210 > xt_clear(TEXTWIND  *t)                          /* clear text window */
211   {
212 <        register int  i;
212 >        int  i;
213  
214          XClearWindow(t->dpy, t->w);
215          for (i = 0; i < t->nr; i++)
216 <                bzero(t->lp[i], t->nc);
216 >                memset(t->lp[i], '\0', t->nc);
217          t->r = t->c = 0;
218          restorecurs(t);
219   }
220  
221  
222   void
223 < xt_move(t, r, c)                        /* move to new position */
224 < register TEXTWIND  *t;
225 < int  r, c;
223 > xt_move(                        /* move to new position */
224 > TEXTWIND  *t,
225 > int  r, int c
226 > )
227   {
228          if (r < 0 || c < 0 || r >= t->nr || c >= t->nc)
229                  return;
# Line 236 | Line 235 | int  r, c;
235  
236  
237   int
238 < xt_cursor(t, curs)                      /* change cursor */
239 < register TEXTWIND  *t;
240 < register int  curs;
238 > xt_cursor(                      /* change cursor */
239 > TEXTWIND  *t,
240 > int  curs
241 > )
242   {
243 <        register int    oldcurs;
243 >        int     oldcurs;
244  
245          if (curs != TNOCURS && curs != TBLKCURS)
246                  return(-1);
# Line 253 | Line 253 | register int  curs;
253  
254  
255   void
256 < xt_close(t)                             /* close text window */
257 < register TEXTWIND  *t;
256 > xt_close(TEXTWIND  *t)                          /* close text window */
257   {
258 <        register int  i;
258 >        int  i;
259  
260          XFreeFont(t->dpy, t->f);
261          XFreeGC(t->dpy,t->gc);
# Line 269 | Line 268 | register TEXTWIND  *t;
268  
269  
270   static void
271 < togglecurs(t)
273 < register TEXTWIND  *t;
271 > togglecurs(TEXTWIND  *t)
272   {
273          XSetFunction(t->dpy, t->gc, GXinvert);
274          XSetPlaneMask(t->dpy, t->gc, 1L);

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines