-/* gltext, Copyright (c) 2001, 2002 Jamie Zawinski <jwz@jwz.org>
+/* gltext, Copyright (c) 2001, 2002, 2003, 2004 Jamie Zawinski <jwz@jwz.org>
*
* Permission to use, copy, modify, distribute, and sell this software and its
* documentation for any purpose is hereby granted without fee, provided that
#define DEF_SPIN "XYZ"
#define DEF_WANDER "True"
-#define DEFAULTS "*delay: 10000 \n" \
+#define DEFAULTS "*delay: 20000 \n" \
"*showFPS: False \n" \
"*wireframe: False \n" \
"*spin: " DEF_SPIN "\n" \
};
static argtype vars[] = {
- {(caddr_t *) &text_fmt, "text", "Text", DEF_TEXT, t_String},
- {(caddr_t *) &do_spin, "spin", "Spin", DEF_SPIN, t_String},
- {(caddr_t *) &do_wander, "wander", "Wander", DEF_WANDER, t_Bool},
+ {&text_fmt, "text", "Text", DEF_TEXT, t_String},
+ {&do_spin, "spin", "Spin", DEF_SPIN, t_String},
+ {&do_wander, "wander", "Wander", DEF_WANDER, t_Bool},
};
ModeSpecOpt sws_opts = {countof(opts), opts, countof(vars), vars, NULL};
}
+/* The GLUT font only has ASCII characters in them, so do what we can to
+ convert Latin1 characters to the nearest ASCII equivalent...
+ */
+static void
+latin1_to_ascii (char *s)
+{
+ unsigned char *us = (unsigned char *) s;
+ const unsigned char ascii[95] = {
+ '!', 'C', '#', '#', 'Y', '|', 'S', '_', 'C', '?', '<', '=', '-', 'R', '_',
+ '?', '?', '2', '3', '\'','u', 'P', '.', ',', '1', 'o', '>', '?', '?', '?',
+ '?', 'A', 'A', 'A', 'A', 'A', 'A', 'E', 'C', 'E', 'E', 'E', 'E', 'I', 'I',
+ 'I', 'I', 'D', 'N', 'O', 'O', 'O', 'O', 'O', 'x', '0', 'U', 'U', 'U', 'U',
+ 'Y', 'p', 'S', 'a', 'a', 'a', 'a', 'a', 'a', 'e', 'c', 'e', 'e', 'e', 'e',
+ 'i', 'i', 'i', 'i', 'o', 'n', 'o', 'o', 'o', 'o', 'o', '/', 'o', 'u', 'u',
+ 'u', 'u', 'y', 'p', 'y' };
+ while (*us)
+ {
+ if (*us >= 161)
+ *us = ascii[*us - 161];
+ else if (*us > 127)
+ *us = '?';
+ us++;
+ }
+}
+
+
static void
parse_text (ModeInfo *mi)
{
strlen(uts.sysname) +
strlen(uts.version) +
strlen(uts.release) + 10);
-# ifdef _AIX
+# if defined(_AIX)
sprintf(tp->text, "%s\n%s %s.%s",
uts.nodename, uts.sysname, uts.version, uts.release);
-# else /* !_AIX */
+# elif defined(__APPLE__) /* MacOS X + XDarwin */
+ sprintf(tp->text, "%s\n%s %s\n%s",
+ uts.nodename, uts.sysname, uts.release, uts.machine);
+# else
sprintf(tp->text, "%s\n%s %s",
uts.nodename, uts.sysname, uts.release);
-# endif /* !_AIX */
+# endif /* special system types */
}
# else /* !HAVE_UNAME */
# ifdef VMS
if (!*tp->text)
sprintf (tp->text, "strftime error:\n%s", text_fmt);
}
+
+ latin1_to_ascii (tp->text);
}
{
Bool spinx=False, spiny=False, spinz=False;
- double spin_speed = 1.0;
- double wander_speed = 0.05;
- double spin_accel = 1.0;
+ double spin_speed = 0.5;
+ double wander_speed = 0.02;
+ double spin_accel = 0.5;
char *s = do_spin;
while (*s)
coord->x, coord->y, 0,
tube_width,
tube_width * 0.15,
- TUBE_FACES, smooth, wire);
+ TUBE_FACES, smooth, True, wire);
lx = coord->x;
ly = coord->y;
}
if (w > *wP) *wP = w;
*hP += line_height;
- s++;
lines++;
if (*s == 0) break;
+ s++;
}
else
s++;