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.2 by greg, Fri May 29 15:25:13 1992 UTC vs.
Revision 2.8 by greg, Fri Apr 11 19:32:00 2003 UTC

# Line 1 | Line 1
1   #ifndef lint
2 < static char SCCSid[] = "$SunId$ LBL";
2 > static const char       RCSid[] = "$Id$";
3   #endif
4
5 /* Copyright (c) 1989 Regents of the University of California */
6
4   /*
5   *  x11twind.c - routines for X11 text windows.
6   *
# Line 14 | Line 11 | static char SCCSid[] = "$SunId$ LBL";
11   *      9/26/88
12   */
13  
14 + #include "copyright.h"
15 +
16   #include  <stdio.h>
17  
18 + #include  <stdlib.h>
19 +
20   #include  <X11/Xlib.h>
21  
22   #include  "x11twind.h"
23  
24   #ifndef  BSD
25   #define  bzero(d,n)             (void)memset(d,0,n)
25 extern char  *memset();
26   #endif
27  
28   #define checkcurs(t)            if ((t)->cursor) togglecurs(t)
# Line 34 | Line 34 | extern char  *memset();
34   #define Height(f)               ((f)->ascent + (f)->descent)
35   #define YStart(f)               ((f)->ascent)
36  
37 < extern  char  *calloc(), *malloc();
37 > static void  togglecurs();
38  
39  
40   TEXTWIND *
# Line 88 | Line 88 | char  *fontname;
88   }
89  
90  
91 < xt_puts(s, t)                           /* output a string */
92 < register char  *s;
93 < TEXTWIND  *t;
94 < {
95 <        int     oldcurs;
96 <
97 <        oldcurs = xt_cursor(t, TNOCURS);        /* for efficiency */
98 <        while (*s)
99 <                xt_putc(*s++, t);
100 <        xt_cursor(t, oldcurs);
101 < }
102 <
103 <
91 > void
92   xt_putc(c, t)                           /* output a character */
93 < char  c;
93 > int  c;
94   register TEXTWIND  *t;
95   {
96 +        char    ch[2];
97 +
98          checkcurs(t);
99          switch (c) {
100          case '\n':
# Line 125 | Line 115 | register TEXTWIND  *t;
115          default:
116                  if (t->c >= t->nc)
117                          xt_putc('\n', t);
118 +                ch[0] = c; ch[1] = '\0';
119                  XDrawImageString(t->dpy, t->w, t->gc, LEFTMAR+t->c*Width(t->f),
120 <                        YStart(t->f)+t->r*Height(t->f), &c, 1);
120 >                        YStart(t->f)+t->r*Height(t->f), ch, 1);
121                  t->lp[t->r][t->c++] = c;
122                  break;
123          }
# Line 134 | Line 125 | register TEXTWIND  *t;
125   }
126  
127  
128 + void
129 + xt_puts(s, t)                           /* output a string */
130 + register char  *s;
131 + TEXTWIND  *t;
132 + {
133 +        int     oldcurs;
134 +
135 +        oldcurs = xt_cursor(t, TNOCURS);        /* for efficiency */
136 +        while (*s)
137 +                xt_putc(*s++, t);
138 +        xt_cursor(t, oldcurs);
139 + }
140 +
141 +
142 + void
143   xt_delete(t, r)                         /* delete a line */
144   register TEXTWIND  *t;
145   int  r;
# Line 161 | Line 167 | int  r;
167   }
168  
169  
170 + void
171   xt_insert(t, r)                         /* insert a line */
172   register TEXTWIND  *t;
173   int  r;
# Line 187 | Line 194 | int  r;
194   }
195  
196  
197 + void
198   xt_redraw(t)                            /* redraw text window */
199   register TEXTWIND  *t;
200   {
# Line 202 | Line 210 | register TEXTWIND  *t;
210   }
211  
212  
213 + void
214   xt_clear(t)                             /* clear text window */
215   register TEXTWIND  *t;
216   {
# Line 215 | Line 224 | register TEXTWIND  *t;
224   }
225  
226  
227 + void
228   xt_move(t, r, c)                        /* move to new position */
229   register TEXTWIND  *t;
230   int  r, c;
# Line 245 | Line 255 | register int  curs;
255   }
256  
257  
258 + void
259   xt_close(t)                             /* close text window */
260   register TEXTWIND  *t;
261   {
# Line 255 | Line 266 | register TEXTWIND  *t;
266          XDestroyWindow(t->dpy, t->w);
267          for (i = 0; i < t->nr; i++)
268                  free(t->lp[i]);
269 <        free((char *)t->lp);
270 <        free((char *)t);
269 >        free((void *)t->lp);
270 >        free((void *)t);
271   }
272  
273  
274 < static
274 > static void
275   togglecurs(t)
276   register TEXTWIND  *t;
277   {

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines