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.5 by greg, Sat Feb 22 02:07:29 2003 UTC vs.
Revision 2.9 by schorsch, Mon Jun 30 14:59:13 2003 UTC

# Line 11 | Line 11 | static const char      RCSid[] = "$Id$";
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 < */
14 > #include "copyright.h"
15  
16   #include  <stdio.h>
72
17   #include  <stdlib.h>
18 <
18 > #include  <string.h>
19   #include  <X11/Xlib.h>
20  
21   #include  "x11twind.h"
22  
79 #ifndef  BSD
80 #define  bzero(d,n)             (void)memset(d,0,n)
81 #endif
82
23   #define checkcurs(t)            if ((t)->cursor) togglecurs(t)
24  
25   #define restorecurs             checkcurs
# Line 144 | Line 84 | char  *fontname;
84  
85  
86   void
147 xt_puts(s, t)                           /* output a string */
148 register char  *s;
149 TEXTWIND  *t;
150 {
151        int     oldcurs;
152
153        oldcurs = xt_cursor(t, TNOCURS);        /* for efficiency */
154        while (*s)
155                xt_putc(*s++, t);
156        xt_cursor(t, oldcurs);
157 }
158
159
160 void
87   xt_putc(c, t)                           /* output a character */
88 < char  c;
88 > int  c;
89   register TEXTWIND  *t;
90   {
91 +        char    ch[2];
92 +
93          checkcurs(t);
94          switch (c) {
95          case '\n':
# Line 182 | Line 110 | register TEXTWIND  *t;
110          default:
111                  if (t->c >= t->nc)
112                          xt_putc('\n', t);
113 +                ch[0] = c; ch[1] = '\0';
114                  XDrawImageString(t->dpy, t->w, t->gc, LEFTMAR+t->c*Width(t->f),
115 <                        YStart(t->f)+t->r*Height(t->f), &c, 1);
115 >                        YStart(t->f)+t->r*Height(t->f), ch, 1);
116                  t->lp[t->r][t->c++] = c;
117                  break;
118          }
# Line 192 | Line 121 | register TEXTWIND  *t;
121  
122  
123   void
124 + xt_puts(s, t)                           /* output a string */
125 + register char  *s;
126 + TEXTWIND  *t;
127 + {
128 +        int     oldcurs;
129 +
130 +        oldcurs = xt_cursor(t, TNOCURS);        /* for efficiency */
131 +        while (*s)
132 +                xt_putc(*s++, t);
133 +        xt_cursor(t, oldcurs);
134 + }
135 +
136 +
137 + void
138   xt_delete(t, r)                         /* delete a line */
139   register TEXTWIND  *t;
140   int  r;
# Line 214 | Line 157 | int  r;
157          XClearArea(t->dpy, t->w, LEFTMAR, (t->nr-1)*Height(t->f),
158                          t->nc*Width(t->f), Height(t->f),(Bool) 0);
159  
160 <        bzero(cp, t->nc);
160 >        memset(cp, '\0', t->nc);
161          restorecurs(t);                 /* should we reposition cursor? */
162   }
163  
# Line 241 | Line 184 | int  r;
184                                          /* clear new line */
185          XClearArea(t->dpy, t->w, LEFTMAR, r*Height(t->f),
186                          t->nc*Width(t->f), Height(t->f), (Bool) 0);
187 <        bzero(cp, t->nc);
187 >        memset(cp, '\0', t->nc);
188          restorecurs(t);                 /* should we reposition cursor? */
189   }
190  
# Line 270 | Line 213 | register TEXTWIND  *t;
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   }

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines