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 1.1 by greg, Tue Dec 19 12:54:31 1989 UTC vs.
Revision 2.7 by greg, Fri Apr 11 16:01:26 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)
26 + #endif
27 +
28   #define checkcurs(t)            if ((t)->cursor) togglecurs(t)
29  
30   #define restorecurs             checkcurs
# Line 29 | Line 34 | static char SCCSid[] = "$SunId$ LBL";
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 *
41 < xt_open(dpy, gc, parent, x, y, width, height, bw, fontname)
42 < Display *dpy;
43 < GC gc;
44 < Window parent;
45 < int x, y;
46 < int width, height;
47 < int bw;
48 < char *fontname;
41 > xt_open(dpy, parent, x, y, width, height, bw, fore, back, fontname)
42 > Display  *dpy;
43 > Window  parent;
44 > int  x, y;
45 > int  width, height;
46 > int  bw;
47 > unsigned long  fore, back;
48 > char  *fontname;
49   {
50          register int  i;
51          register TEXTWIND  *t;
# Line 49 | Line 54 | char *fontname;
54                  return(NULL);
55  
56          t->dpy = dpy;
57 <        t->w = XCreateSimpleWindow(dpy, parent, x, y, width, height, bw,
58 <                                        BlackPixel(dpy,DefaultScreen(dpy)),
54 <                                        WhitePixel(dpy,DefaultScreen(dpy)));
55 <        /*
56 <        t->w = XCreateWindow(dpy, parent, x, y, width, height, bw, 0,
57 <                                CopyFromParent, CopyFromParent, 0, 0);
58 <        */
59 <
57 >        t->w = XCreateSimpleWindow(dpy, parent, x, y, width, height,
58 >                                        bw, fore, back);
59          if (t->w == 0)
60                  return(NULL);
61          XMapWindow(dpy, t->w);
# Line 66 | Line 65 | char *fontname;
65  
66          /* if (!t->f.fixedwidth)   check for fixedwidth later
67                  return(NULL); */
69        t->gc = XCreateGC(dpy,t->w,0,NULL);
68  
69 <        XCopyGC(dpy, gc, ~0L, t->gc);
70 <
69 >        t->gc = XCreateGC(dpy,t->w,0,NULL);
70 >        XSetState(dpy, t->gc, fore, back, GXcopy, AllPlanes);
71          XSetFont(dpy, t->gc, t->f->fid);
74        XSetFunction(dpy, t->gc, GXcopy);
72  
73          t->nc = (width - LEFTMAR) /
74                  Width(t->f);            /* number of columns */
# Line 91 | Line 88 | char *fontname;
88   }
89  
90  
91 < xt_puts(s, t)                           /* output a string */
95 < register char  *s;
96 < TEXTWIND  *t;
97 < {
98 <        int     oldcurs;
99 <
100 <        oldcurs = xt_cursor(t, TNOCURS);        /* for efficiency */
101 <        while (*s)
102 <                xt_putc(*s++, t);
103 <        xt_cursor(t, oldcurs);
104 < }
105 <
106 <
91 > void
92   xt_putc(c, t)                           /* output a character */
93 < char  c;
93 > int  c;
94   register TEXTWIND  *t;
95   {
96          checkcurs(t);
# Line 137 | Line 122 | register TEXTWIND  *t;
122   }
123  
124  
125 + void
126 + xt_puts(s, t)                           /* output a string */
127 + register char  *s;
128 + TEXTWIND  *t;
129 + {
130 +        int     oldcurs;
131 +
132 +        oldcurs = xt_cursor(t, TNOCURS);        /* for efficiency */
133 +        while (*s)
134 +                xt_putc(*s++, t);
135 +        xt_cursor(t, oldcurs);
136 + }
137 +
138 +
139 + void
140   xt_delete(t, r)                         /* delete a line */
141   register TEXTWIND  *t;
142   int  r;
# Line 164 | Line 164 | int  r;
164   }
165  
166  
167 + void
168   xt_insert(t, r)                         /* insert a line */
169   register TEXTWIND  *t;
170   int  r;
# Line 190 | Line 191 | int  r;
191   }
192  
193  
194 + void
195   xt_redraw(t)                            /* redraw text window */
196   register TEXTWIND  *t;
197   {
# Line 205 | Line 207 | register TEXTWIND  *t;
207   }
208  
209  
210 + void
211   xt_clear(t)                             /* clear text window */
212   register TEXTWIND  *t;
213   {
# Line 218 | Line 221 | register TEXTWIND  *t;
221   }
222  
223  
224 + void
225   xt_move(t, r, c)                        /* move to new position */
226   register TEXTWIND  *t;
227   int  r, c;
# Line 248 | Line 252 | register int  curs;
252   }
253  
254  
255 + void
256   xt_close(t)                             /* close text window */
257   register TEXTWIND  *t;
258   {
# Line 258 | Line 263 | register TEXTWIND  *t;
263          XDestroyWindow(t->dpy, t->w);
264          for (i = 0; i < t->nr; i++)
265                  free(t->lp[i]);
266 <        free((char *)t->lp);
267 <        free((char *)t);
266 >        free((void *)t->lp);
267 >        free((void *)t);
268   }
269  
270  
271 < static
271 > static void
272   togglecurs(t)
273   register TEXTWIND  *t;
274   {

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines