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.5 by greg, Sat Feb 22 02:07:29 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 + /* ====================================================================
15 + * The Radiance Software License, Version 1.0
16 + *
17 + * Copyright (c) 1990 - 2002 The Regents of the University of California,
18 + * through Lawrence Berkeley National Laboratory.   All rights reserved.
19 + *
20 + * Redistribution and use in source and binary forms, with or without
21 + * modification, are permitted provided that the following conditions
22 + * are met:
23 + *
24 + * 1. Redistributions of source code must retain the above copyright
25 + *         notice, this list of conditions and the following disclaimer.
26 + *
27 + * 2. Redistributions in binary form must reproduce the above copyright
28 + *       notice, this list of conditions and the following disclaimer in
29 + *       the documentation and/or other materials provided with the
30 + *       distribution.
31 + *
32 + * 3. The end-user documentation included with the redistribution,
33 + *           if any, must include the following acknowledgment:
34 + *             "This product includes Radiance software
35 + *                 (http://radsite.lbl.gov/)
36 + *                 developed by the Lawrence Berkeley National Laboratory
37 + *               (http://www.lbl.gov/)."
38 + *       Alternately, this acknowledgment may appear in the software itself,
39 + *       if and wherever such third-party acknowledgments normally appear.
40 + *
41 + * 4. The names "Radiance," "Lawrence Berkeley National Laboratory"
42 + *       and "The Regents of the University of California" must
43 + *       not be used to endorse or promote products derived from this
44 + *       software without prior written permission. For written
45 + *       permission, please contact [email protected].
46 + *
47 + * 5. Products derived from this software may not be called "Radiance",
48 + *       nor may "Radiance" appear in their name, without prior written
49 + *       permission of Lawrence Berkeley National Laboratory.
50 + *
51 + * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
52 + * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
53 + * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
54 + * DISCLAIMED.   IN NO EVENT SHALL Lawrence Berkeley National Laboratory OR
55 + * ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
56 + * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
57 + * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
58 + * USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
59 + * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
60 + * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
61 + * OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
62 + * SUCH DAMAGE.
63 + * ====================================================================
64 + *
65 + * This software consists of voluntary contributions made by many
66 + * individuals on behalf of Lawrence Berkeley National Laboratory.   For more
67 + * information on Lawrence Berkeley National Laboratory, please see
68 + * <http://www.lbl.gov/>.
69 + */
70 +
71   #include  <stdio.h>
72  
73 + #include  <stdlib.h>
74 +
75   #include  <X11/Xlib.h>
76  
77   #include  "x11twind.h"
78  
79 + #ifndef  BSD
80 + #define  bzero(d,n)             (void)memset(d,0,n)
81 + #endif
82 +
83   #define checkcurs(t)            if ((t)->cursor) togglecurs(t)
84  
85   #define restorecurs             checkcurs
# Line 29 | Line 89 | static char SCCSid[] = "$SunId$ LBL";
89   #define Height(f)               ((f)->ascent + (f)->descent)
90   #define YStart(f)               ((f)->ascent)
91  
92 < extern  char  *calloc(), *malloc();
92 > static void  togglecurs();
93  
94  
95   TEXTWIND *
96 < xt_open(dpy, gc, parent, x, y, width, height, bw, fontname)
97 < Display *dpy;
98 < GC gc;
99 < Window parent;
100 < int x, y;
101 < int width, height;
102 < int bw;
103 < char *fontname;
96 > xt_open(dpy, parent, x, y, width, height, bw, fore, back, fontname)
97 > Display  *dpy;
98 > Window  parent;
99 > int  x, y;
100 > int  width, height;
101 > int  bw;
102 > unsigned long  fore, back;
103 > char  *fontname;
104   {
105          register int  i;
106          register TEXTWIND  *t;
# Line 49 | Line 109 | char *fontname;
109                  return(NULL);
110  
111          t->dpy = dpy;
112 <        t->w = XCreateSimpleWindow(dpy, parent, x, y, width, height, bw,
113 <                                        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 <
112 >        t->w = XCreateSimpleWindow(dpy, parent, x, y, width, height,
113 >                                        bw, fore, back);
114          if (t->w == 0)
115                  return(NULL);
116          XMapWindow(dpy, t->w);
# Line 66 | Line 120 | char *fontname;
120  
121          /* if (!t->f.fixedwidth)   check for fixedwidth later
122                  return(NULL); */
69        t->gc = XCreateGC(dpy,t->w,0,NULL);
123  
124 <        XCopyGC(dpy, gc, ~0L, t->gc);
125 <
124 >        t->gc = XCreateGC(dpy,t->w,0,NULL);
125 >        XSetState(dpy, t->gc, fore, back, GXcopy, AllPlanes);
126          XSetFont(dpy, t->gc, t->f->fid);
74        XSetFunction(dpy, t->gc, GXcopy);
127  
128          t->nc = (width - LEFTMAR) /
129                  Width(t->f);            /* number of columns */
# Line 91 | Line 143 | char *fontname;
143   }
144  
145  
146 + void
147   xt_puts(s, t)                           /* output a string */
148   register char  *s;
149   TEXTWIND  *t;
# Line 104 | Line 157 | TEXTWIND  *t;
157   }
158  
159  
160 + void
161   xt_putc(c, t)                           /* output a character */
162   char  c;
163   register TEXTWIND  *t;
# Line 137 | Line 191 | register TEXTWIND  *t;
191   }
192  
193  
194 + void
195   xt_delete(t, r)                         /* delete a line */
196   register TEXTWIND  *t;
197   int  r;
# Line 164 | Line 219 | int  r;
219   }
220  
221  
222 + void
223   xt_insert(t, r)                         /* insert a line */
224   register TEXTWIND  *t;
225   int  r;
# Line 190 | Line 246 | int  r;
246   }
247  
248  
249 + void
250   xt_redraw(t)                            /* redraw text window */
251   register TEXTWIND  *t;
252   {
# Line 205 | Line 262 | register TEXTWIND  *t;
262   }
263  
264  
265 + void
266   xt_clear(t)                             /* clear text window */
267   register TEXTWIND  *t;
268   {
# Line 218 | Line 276 | register TEXTWIND  *t;
276   }
277  
278  
279 + void
280   xt_move(t, r, c)                        /* move to new position */
281   register TEXTWIND  *t;
282   int  r, c;
# Line 248 | Line 307 | register int  curs;
307   }
308  
309  
310 + void
311   xt_close(t)                             /* close text window */
312   register TEXTWIND  *t;
313   {
# Line 258 | Line 318 | register TEXTWIND  *t;
318          XDestroyWindow(t->dpy, t->w);
319          for (i = 0; i < t->nr; i++)
320                  free(t->lp[i]);
321 <        free((char *)t->lp);
322 <        free((char *)t);
321 >        free((void *)t->lp);
322 >        free((void *)t);
323   }
324  
325  
326 < static
326 > static void
327   togglecurs(t)
328   register TEXTWIND  *t;
329   {

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines