Annotation of OpenXM_contrib/gnuplot/term/be.trm, Revision 1.1.1.2
1.1 maekawa 1: /*
1.1.1.2 ! ohara 2: * $Id: be.trm,v 1.6.2.3 2002/12/04 19:31:08 lhecking Exp $
1.1 maekawa 3: *
4: */
5:
6: /*[
7: * Copyright 1986 - 1993, 1998 Thomas Williams, Colin Kelley
8: *
9: * Permission to use, copy, and distribute this software and its
10: * documentation for any purpose with or without fee is hereby granted,
11: * provided that the above copyright notice appear in all copies and
12: * that both that copyright notice and this permission notice appear
13: * in supporting documentation.
14: *
15: * Permission to modify the software is granted, but not the right to
16: * distribute the complete modified source code. Modifications are to
17: * be distributed as patches to the released version. Permission to
18: * distribute binaries produced by compiling modified sources is granted,
19: * provided you
20: * 1. distribute the corresponding source modifications from the
21: * released version in the form of a patch file along with the binaries,
22: * 2. add special version identification to distinguish your version
23: * in addition to the base release version number,
24: * 3. provide your name and address as the primary contact for the
25: * support of your modified version, and
26: * 4. retain our contact information in regard to use of the base
27: * software.
28: * Permission to distribute the released version of the source code along
29: * with corresponding source modifications in the form of a patch file is
30: * granted with same provisions 2 through 4 for binary distributions.
31: *
32: * This software is provided "as is" without express or implied warranty
33: * to the extent permitted by applicable law.
34: ]*/
35:
36: /*
37: * This file is included by ../term.c.
38: *
39: * be.trm --- inboard terminal driver for BE
40: *
41: * AUTHOR
42: * Xavier Pianet
43: *
44: */
45:
46: #include "driver.h"
47:
48: #ifdef TERM_REGISTER
49: register_term(be)
50: #endif
51:
52: #ifdef TERM_PROTO
53: int BE_args __PROTO((int argc, char *argv[]));
54: TERM_PUBLIC void BE_options __PROTO((void));
55: TERM_PUBLIC void BE_init __PROTO((void));
56: TERM_PUBLIC void BE_graphics __PROTO((void));
57: TERM_PUBLIC void BE_text __PROTO((void));
58: TERM_PUBLIC void BE_reset __PROTO((void));
59: TERM_PUBLIC void BE_move __PROTO((unsigned int x, unsigned int y));
60: TERM_PUBLIC void BE_vector __PROTO((unsigned int x, unsigned int y));
61: TERM_PUBLIC void BE_linewidth __PROTO((double lw));
62: TERM_PUBLIC void BE_pointsize __PROTO((double ps));
63: TERM_PUBLIC void BE_linetype __PROTO((int lt));
64: TERM_PUBLIC void BE_put_text __PROTO((unsigned int x, unsigned int y, const char str[]));
65: TERM_PUBLIC int BE_justify_text __PROTO((enum JUSTIFY mode));
66: TERM_PUBLIC void BE_point __PROTO((unsigned int x, unsigned int y, int number));
67: TERM_PUBLIC void BE_fillbox __PROTO((int style, unsigned int x, unsigned y, unsigned int width, unsigned int height));
68: #define BE_XMAX 4096
69: #define BE_YMAX 4096
70:
71: /* approximations for typical font/screen sizes */
72: #define BE_VCHAR (BE_YMAX/25)
73: #define BE_HCHAR (BE_XMAX/100)
74: #define BE_VTIC (BE_YMAX/100)
75: #define BE_HTIC (BE_XMAX/150)
76: #endif
77:
78:
79: #ifndef TERM_PROTO_ONLY
80:
81: #ifdef TERM_BODY
82:
83: /* non-zero if '-display' found on command line */
84: int BE_Display = 0;
85:
86: static void BE_atexit __PROTO((void));
87:
88: typedef enum { hasNoArg, hasArg } OptionArg;
89:
90: static struct beopt {
91: const char *option; /* Name of option */
92: OptionArg arg; /* Whether option has argument */
93: } BE_opts[] =
94: {
95: { "-mono", hasNoArg }, { "-gray", hasNoArg }, { "-clear", hasNoArg },
96: { "-pointsize", hasArg },
97: { "-iconic", hasNoArg }, { "-rv", hasNoArg },
98: { "-reverse", hasNoArg }, { "+rv", hasNoArg },
99: { "-synchronous", hasNoArg },
100: { "-display", hasArg }, { "-geometry", hasArg }, { "-bg", hasArg },
101: { "-background", hasArg }, { "-bd", hasArg },
102: { "-bordercolor", hasArg }, { "-bw", hasArg },
103: { "-borderwidth", hasArg }, { "-fg", hasArg },
104: { "-foreground", hasArg }, { "-fn", hasArg }, { "-font", hasArg },
105: { "-name", hasArg },
106: { "-title", hasArg },
107: // { "-xnllanguage", hasArg }, { "-xrm", hasArg },
108: { "-raise", hasNoArg }, { "-noraise", hasNoArg },
109: { "-persist", hasNoArg }
110: };
111:
112: #define BE_nopts (sizeof(BE_opts) / sizeof(BE_opts[0]))
113:
114: static FILE *BE_ipc;
115:
116: static char **xargv = (char **)NULL;
117: static char *optvec[2*BE_nopts+1];
118:
119: static char BE_command[] = "gnuplot_be";
120:
121: /* BE_args - scan gnuplot command line for standard Toolkit options (to be done)
122: * called from plot.c so must not be TERM_PUBLIC (which may be static)
123: */
124:
125: int
126: BE_args(argc, argv)
127: int argc;
128: char *argv[];
129: {
130: int nbe = 0, i = 0, n;
131:
132: xargv = (char **) gp_alloc (argc*sizeof(char *), "<xargv>");
133:
134: if (!xargv) {
135: fputs ("not enough memory to copy argv - quitting\n", stderr);
136: exit (EXIT_FAILURE);
137: }
138:
139: /* We make a copy of the argument vector because
140: * argv is modified later. */
141: memcpy (xargv, argv, argc*sizeof(char *));
142: optvec[i++] = BE_command;
143:
144: while (++argv, --argc > 0) {
145: for (n = 0; n < BE_nopts; n++) {
146: if (strcmp(*argv, BE_opts[n].option) == 0) {
147: optvec[i++] = *xargv;
148: if (strcmp(*argv, "-display") == 0)
149: BE_Display++;
150: if (BE_opts[n].arg == hasArg) {
151: if (--argc <= 0)
152: return nbe;
153: optvec[i++] = *++xargv, ++argv;
154: nbe++;
155: }
156: nbe++;
157: break;
158: }
159: }
160: if (n == BE_nopts)
161: break;
162: }
163: return nbe;
164: }
165:
166:
167: static unsigned int BE_plot_number;
168:
169: TERM_PUBLIC void
170: BE_options()
171: {
172: if (almost_equals(c_token, "res$et")) {
173: BE_atexit (); /* tell gnuplot_be to shut down */
174: ++c_token;
175: }
176: if (!END_OF_COMMAND) {
177: struct value a;
178: BE_plot_number = (int) real(const_express(&a));
179: /* let gnuplot_be check range */
180: }
181: sprintf(term_options, "%d", BE_plot_number);
182: }
183:
184: /* we do not want to have to duplicate all the code, so we
185: * do most of it with macros.
186: * PRINT0(format), PRINT1(format, p1), PRINT2(format, p1, p2) etc
187: * also FLUSH0(format), etc, which do an additional flush
188: */
189:
190:
191: /*
192: * The Be terminal driver uses popen() pipe IPC
193: */
194: static void
195: BE_atexit ()
196: {
197: if (BE_ipc) {
198: fputs("R\n", BE_ipc);
199: fclose(BE_ipc);
200: /* dont wait(), since they might be -persist */
201: BE_ipc = NULL;
202: }
203: }
204:
205: TERM_PUBLIC void
206: BE_init()
207: {
208: if (!BE_ipc) {
209: /* first time through or after a reset */
210: int fdes[2];
211: pipe(fdes);
212: if (fork() == 0) {
213: /* child */
214: close(fdes[1]);
215: dup2(fdes[0], 0); /* stdin from pipe */
216: execvp(BE_command, optvec);
217: /* if we get here, something went wrong */
218: perror("exec failed");
219: exit(1);
220: }
221: /* parent */
222: close(fdes[0]); /* read end of pipe */
223: BE_ipc = fdopen(fdes[1], "w");
224: } {
225: static int been_here = 0;
226: if (!been_here) {
227: atexit(BE_atexit);
228: been_here = 1;
229: }
230: }
231: }
232:
233: TERM_PUBLIC void
234: BE_reset()
235: {
236: /* leave the pipe alone, until exit or set term be reset */
237: }
238:
239: #define PRINT0(fmt) fprintf(BE_ipc, fmt)
240: #define PRINT1(fmt,p1) fprintf(BE_ipc, fmt,p1)
241: #define PRINT2(fmt,p1,p2) fprintf(BE_ipc, fmt,p1,p2)
242: #define PRINT3(fmt,p1,p2,p3) fprintf(BE_ipc, fmt,p1,p2,p3)
243: #define PRINT4(fmt,p1,p2,p3,p4) fprintf(BE_ipc, fmt,p1,p2,p3,p4)
244: #define PRINT5(fmt,p1,p2,p3,p4,p5) fprintf(BE_ipc, fmt,p1,p2,p3,p4,p5)
245:
246: #define FFLUSH() fflush(BE_ipc)
247:
248: #define BEFORE_GRAPHICS /* nowt */
249: #define AFTER_TEXT /* nowt */
250:
251:
252: /* common stuff, using macros defined above */
253:
254:
255: TERM_PUBLIC void
256: BE_graphics()
257: {
258: BEFORE_GRAPHICS; /* kludge for crippled select */
259: PRINT1("G%d\n", BE_plot_number); /* for VMS sake, keep as separate prints */
260: }
261:
262: TERM_PUBLIC void
263: BE_text()
264: {
265: PRINT0("E\n");
266: FFLUSH();
267: AFTER_TEXT; /* kludge for crippled select */
268: }
269:
270:
271: TERM_PUBLIC void
272: BE_move(x, y)
273: unsigned int x, y;
274: {
275: PRINT2("M%04d%04d\n", x, y);
276: }
277:
278: TERM_PUBLIC void
279: BE_vector(x, y)
280: unsigned int x, y;
281: {
282: PRINT2("V%04d%04d\n", x, y);
283: }
284:
285: TERM_PUBLIC void
286: BE_pointsize(ps)
287: double ps;
288: {
289: PRINT2("P7%04d%04d\n", /* size of point symbols */
290: (int) (term->h_tic * ps * 0.5), (int) (term->v_tic * ps * 0.5));
291: }
292:
293: TERM_PUBLIC void
294: BE_linewidth(lw)
295: double lw;
296: {
297: PRINT1("W%04d\n", (int) lw);
298: }
299:
300: TERM_PUBLIC void
301: BE_linetype(lt)
302: int lt;
303: {
304: PRINT1("L%04d\n", lt);
305: }
306:
307: TERM_PUBLIC void
308: BE_put_text(x, y, str)
309: unsigned int x, y;
310: const char str[];
311: {
312: /* badly outrange labels can overflow into text field */
313: if (x < 10000 && y < 10000) {
314: PRINT3("T%04d%04d%s\n", x, y, str);
315: }
316: }
317:
318: TERM_PUBLIC int
319: BE_justify_text(mode)
320: enum JUSTIFY mode;
321: {
322: PRINT1("J%04d\n", mode);
323: return (TRUE);
324: }
325:
326: TERM_PUBLIC void
327: BE_point(x, y, number)
328: unsigned int x, y;
329: int number;
330: {
331: if (number >= 0)
332: number %= POINT_TYPES;
333: number += 1;
334: PRINT3("P%01d%04d%04d\n", number, x, y);
335: }
336:
337: TERM_PUBLIC void
338: BE_fillbox(style, x, y, w, h)
339: int style;
340: unsigned int x, y, w, h;
341: {
342: PRINT5("F%04d%04u%04u%04u%04u\n", style, x, y, w, h);
343: }
344:
345: #endif /* TERM_BODY */
346:
347: #ifdef TERM_TABLE
348:
349: TERM_TABLE_START(be_driver)
350: "be", "BeOS Window System",
351: BE_XMAX, BE_YMAX, BE_VCHAR, BE_HCHAR,
352: BE_VTIC, BE_HTIC, BE_options, BE_init, BE_reset,
353: BE_text, null_scale, BE_graphics, BE_move, BE_vector,
354: BE_linetype, BE_put_text, null_text_angle,
355: BE_justify_text, BE_point, do_arrow, set_font_null,
356: BE_pointsize, TERM_CAN_MULTIPLOT,
357: BE_text /* suspend can use same routine */ , 0 /* resume */ ,
358: BE_fillbox, BE_linewidth
359: TERM_TABLE_END(be_driver)
360:
361: #undef LAST_TERM
362: #define LAST_TERM be_driver
363:
364: TERM_TABLE_START(BE_driver)
365: "BE", "BE Window System (identical to be)",
366: BE_XMAX, BE_YMAX, BE_VCHAR, BE_HCHAR,
367: BE_VTIC, BE_HTIC, BE_options, BE_init, BE_reset,
368: BE_text, null_scale, BE_graphics, BE_move, BE_vector,
369: BE_linetype, BE_put_text, null_text_angle,
370: BE_justify_text, BE_point, do_arrow, set_font_null,
371: BE_pointsize, TERM_CAN_MULTIPLOT,
372: BE_text /* suspend can use same routine */ , 0 /* resume */ ,
373: BE_fillbox, BE_linewidth
374: TERM_TABLE_END(BE_driver)
375:
376: #undef LAST_TERM
377: #define LAST_TERM be_driver
378:
379: #endif /* TERM_TABLE */
380: #endif /* TERM_PROTO_ONLY */
381:
382:
383: #ifdef TERM_HELP
384: START_HELP(be)
385: "1 be",
386: "?commands set terminal be",
387: "?set terminal be",
388: "?set term be",
389: "?terminal be",
390: "?term be",
391: "?be",
392: "?BE",
393: " `gnuplot` provides the `be` terminal type for use with X servers. This",
394: " terminal type is set automatically at startup if the `DISPLAY` environment",
395: " variable is set, if the `TERM` environment variable is set to `xterm`, or",
396: " if the `-display` command line option is used.",
397: "",
398: " Syntax:",
399: " set terminal be {reset} {<n>}",
400: "",
401: " Multiple plot windows are supported: `set terminal be <n>` directs the",
402: " output to plot window number n. If n>0, the terminal number will be",
403: " appended to the window title and the icon will be labeled `gplt <n>`.",
404: " The active window may distinguished by a change in cursor (from default",
405: " to crosshair.)",
406: "",
407: " Plot windows remain open even when the `gnuplot` driver is changed to a",
408: " different device. A plot window can be closed by pressing the letter q",
409: " while that window has input focus, or by choosing `close` from a window",
410: " manager menu. All plot windows can be closed by specifying `reset`, which",
411: " actually terminates the subprocess which maintains the windows (unless",
412: " `-persist` was specified).",
413: "",
414: " Plot windows will automatically be closed at the end of the session",
415: " unless the `-persist` option was given.",
416: "",
417: " The size or aspect ratio of a plot may be changed by resizing the `gnuplot`",
418: " window.",
419: "",
420: " Linewidths and pointsizes may be changed from within `gnuplot` with",
421: " `set linestyle`.",
422: "",
423: " For terminal type `be`, `gnuplot` accepts (when initialized) the standard",
424: " X Toolkit options and resources such as geometry, font, and name from the",
425: " command line arguments or a configuration file. See the X(1) man page",
426: " (or its equivalent) for a description of such options.",
427: "",
428: " A number of other `gnuplot` options are available for the `be` terminal.",
429: " These may be specified either as command-line options when `gnuplot` is",
1.1.1.2 ! ohara 430: " invoked or as resources in the configuration file \".Xdefaults\". They are",
1.1 maekawa 431: " set upon initialization and cannot be altered during a `gnuplot` session.",
432: "2 command-line_options",
433: "?commands set terminal be command-line-options",
434: "?set terminal be command-line-options",
435: "?set term be command-line-options",
436: "?be command-line-options",
437: "?command-line-options",
438: " In addition to the X Toolkit options, the following options may be specified",
439: " on the command line when starting `gnuplot` or as resources in your",
440: " \".Xdefaults\" file:",
441: "@start table - first is interactive cleartext form",
1.1.1.2 ! ohara 442: " `-mono` forces monochrome rendering on color displays.",
1.1 maekawa 443: " `-gray` requests grayscale rendering on grayscale or color displays.",
444: " (Grayscale displays receive monochrome rendering by default.)",
1.1.1.2 ! ohara 445: " `-clear` requests that the window be cleared momentarily before a",
! 446: " new plot is displayed.",
! 447: " `-raise` raises plot window after each plot",
! 448: " `-noraise` does not raise plot window after each plot",
! 449: " `-persist` plots windows survive after main gnuplot program exits",
1.1 maekawa 450: "#\\begin{tabular}{|cl|} \\hline",
451: "#`-mono` & forces monochrome rendering on color displays.\\\\",
452: "#`-gray` & requests grayscale rendering on grayscale or color displays.\\\\",
453: "# & (Grayscale displays receive monochrome rendering by default.) \\\\",
454: "#`-clear` & requests that the window be cleared momentarily before a\\\\",
455: "# & new plot is displayed. \\\\",
1.1.1.2 ! ohara 456: "#`-raise` & raises plot window after each plot. \\\\",
! 457: "#`-noraise` & does not raise plot window after each plot. \\\\",
! 458: "#`-persist`&plots windows survive after main gnuplot program exits. \\\\",
1.1 maekawa 459: "%c l .",
460: "%`-mono`@forces monochrome rendering on color displays.",
461: "%`-gray`@requests grayscale rendering on grayscale or color displays.",
462: "% @(Grayscale displays receive monochrome rendering by default.)",
463: "%`-clear`@requests that the window be cleared momentarily before a",
464: "% @new plot is displayed.",
1.1.1.2 ! ohara 465: "%`-raise`@raises plot window after each plot",
! 466: "%`-noraise`@does not raise plot window after each plot",
! 467: "%`-persist`@plots windows survive after main gnuplot program exits",
1.1 maekawa 468: "@end table",
469: " The options are shown above in their command-line syntax. When entered as",
470: " resources in \".Xdefaults\", they require a different syntax.",
471: "",
472: " Example:",
473: " gnuplot*gray: on",
474: "",
475: " `gnuplot` also provides a command line option (`-pointsize <v>`) and a",
476: " resource, `gnuplot*pointsize: <v>`, to control the size of points plotted",
477: " with the `points` plotting style. The value `v` is a real number (greater",
478: " than 0 and less than or equal to ten) used as a scaling factor for point",
479: " sizes. For example, `-pointsize 2` uses points twice the default size, and",
480: " `-pointsize 0.5` uses points half the normal size.",
1.1.1.2 ! ohara 481: "2 monochrome_options",
1.1 maekawa 482: "?commands set terminal be monochrome_options",
483: "?set terminal be monochrome_options",
484: "?set term be monochrome_options",
485: "?be monochrome_options",
486: "?monochrome_options",
487: " For monochrome displays, `gnuplot` does not honor foreground or background",
488: " colors. The default is black-on-white. `-rv` or `gnuplot*reverseVideo: on`",
489: " requests white-on-black.",
490: "",
491: "2 color_resources",
492: "?commands set terminal be color_resources",
493: "?set terminal be color_resources",
494: "?set term be color_resources",
495: "?be color_resources",
496: "?color_resources",
497: " For color displays, `gnuplot` honors the following resources (shown here",
498: " with their default values) or the greyscale resources. The values may be",
499: " color names as listed in the BE rgb.txt file on your system, hexadecimal",
500: " RGB color specifications (see BE documentation), or a color name followed",
501: " by a comma and an `intensity` value from 0 to 1. For example, `blue, 0.5`",
502: " means a half intensity blue.",
503: "@start table - first is interactive cleartext form",
504: " gnuplot*background: white",
505: " gnuplot*textColor: black",
506: " gnuplot*borderColor: black",
507: " gnuplot*axisColor: black",
508: " gnuplot*line1Color: red",
509: " gnuplot*line2Color: green",
510: " gnuplot*line3Color: blue",
511: " gnuplot*line4Color: magenta",
512: " gnuplot*line5Color: cyan",
513: " gnuplot*line6Color: sienna",
514: " gnuplot*line7Color: orange",
515: " gnuplot*line8Color: coral",
516: "#\\begin{tabular}{|cl|} \\hline",
517: "#&gnuplot*background: white\\\\",
518: "#&gnuplot*textColor: black\\\\",
519: "#&gnuplot*borderColor: black\\\\",
520: "#&gnuplot*axisColor: black\\\\",
521: "#&gnuplot*line1Color: red\\\\",
522: "#&gnuplot*line2Color: green\\\\",
523: "#&gnuplot*line3Color: blue\\\\",
524: "#&gnuplot*line4Color: magenta\\\\",
525: "#&gnuplot*line5Color: cyan\\\\",
526: "#&gnuplot*line6Color: sienna\\\\",
527: "#&gnuplot*line7Color: orange\\\\",
528: "#&gnuplot*line8Color: coral\\\\",
529: "%c l .",
530: "%@gnuplot*background: white",
531: "%@gnuplot*textColor: black",
532: "%@gnuplot*borderColor: black",
533: "%@gnuplot*axisColor: black",
534: "%@gnuplot*line1Color: red",
535: "%@gnuplot*line2Color: green",
536: "%@gnuplot*line3Color: blue",
537: "%@gnuplot*line4Color: magenta",
538: "%@gnuplot*line5Color: cyan",
539: "%@gnuplot*line6Color: sienna",
540: "%@gnuplot*line7Color: orange",
541: "%@gnuplot*line8Color: coral",
542: "@end table",
543: "",
544: " The command-line syntax for these is, for example,",
545: "",
546: " Example:",
547: " gnuplot -background coral",
548: "",
549: "2 grayscale_resources",
550: "?commands set terminal be grayscale_resources",
551: "?set terminal be grayscale_resources",
552: "?set term be grayscale_resources",
553: "?be grayscale_resources",
554: "?grayscale_resources",
555: " When `-gray` is selected, `gnuplot` honors the following resources for",
556: " grayscale or color displays (shown here with their default values). Note",
557: " that the default background is black.",
558: "@start table - first is interactive cleartext form",
559: " gnuplot*background: black",
560: " gnuplot*textGray: white",
561: " gnuplot*borderGray: gray50",
562: " gnuplot*axisGray: gray50",
563: " gnuplot*line1Gray: gray100",
564: " gnuplot*line2Gray: gray60",
565: " gnuplot*line3Gray: gray80",
566: " gnuplot*line4Gray: gray40",
567: " gnuplot*line5Gray: gray90",
568: " gnuplot*line6Gray: gray50",
569: " gnuplot*line7Gray: gray70",
570: " gnuplot*line8Gray: gray30",
571: "#\\begin{tabular}{|cl|} \\hline",
572: "#&gnuplot*background: black\\\\",
573: "#&gnuplot*textGray: white\\\\",
574: "#&gnuplot*borderGray: gray50\\\\",
575: "#&gnuplot*axisGray: gray50\\\\",
576: "#&gnuplot*line1Gray: gray100\\\\",
577: "#&gnuplot*line2Gray: gray60\\\\",
578: "#&gnuplot*line3Gray: gray80\\\\",
579: "#&gnuplot*line4Gray: gray40\\\\",
580: "#&gnuplot*line5Gray: gray90\\\\",
581: "#&gnuplot*line6Gray: gray50\\\\",
582: "#&gnuplot*line7Gray: gray70\\\\",
583: "#&gnuplot*line8Gray: gray30\\\\",
584: "%c l .",
585: "%@gnuplot*background: black",
586: "%@gnuplot*textGray: white",
587: "%@gnuplot*borderGray: gray50",
588: "%@gnuplot*axisGray: gray50",
589: "%@gnuplot*line1Gray: gray100",
590: "%@gnuplot*line2Gray: gray60",
591: "%@gnuplot*line3Gray: gray80",
592: "%@gnuplot*line4Gray: gray40",
593: "%@gnuplot*line5Gray: gray90",
594: "%@gnuplot*line6Gray: gray50",
595: "%@gnuplot*line7Gray: gray70",
596: "%@gnuplot*line8Gray: gray30",
597: "@end table",
598: "",
599: "2 line_resources",
600: "?commands set terminal be line_resources",
601: "?set terminal be line_resources",
602: "?set term be line_resources",
603: "?be line_resources",
604: "?line_resources",
605: " `gnuplot` honors the following resources for setting the width (in pixels) of",
606: " plot lines (shown here with their default values.) 0 or 1 means a minimal",
607: " width line of 1 pixel width. A value of 2 or 3 may improve the appearance of",
608: " some plots.",
609: "@start table - first is interactive cleartext form",
610: " gnuplot*borderWidth: 2",
611: " gnuplot*axisWidth: 0",
612: " gnuplot*line1Width: 0",
613: " gnuplot*line2Width: 0",
614: " gnuplot*line3Width: 0",
615: " gnuplot*line4Width: 0",
616: " gnuplot*line5Width: 0",
617: " gnuplot*line6Width: 0",
618: " gnuplot*line7Width: 0",
619: " gnuplot*line8Width: 0",
620: "#\\begin{tabular}{|cl|} \\hline",
621: "#&gnuplot*borderWidth: 2\\\\",
622: "#&gnuplot*axisWidth: 0\\\\",
623: "#&gnuplot*line1Width: 0\\\\",
624: "#&gnuplot*line2Width: 0\\\\",
625: "#&gnuplot*line3Width: 0\\\\",
626: "#&gnuplot*line4Width: 0\\\\",
627: "#&gnuplot*line5Width: 0\\\\",
628: "#&gnuplot*line6Width: 0\\\\",
629: "#&gnuplot*line7Width: 0\\\\",
630: "#&gnuplot*line8Width: 0\\\\",
631: "%c l .",
632: "%@gnuplot*borderWidth: 2",
633: "%@gnuplot*axisWidth: 0",
634: "%@gnuplot*line1Width: 0",
635: "%@gnuplot*line2Width: 0",
636: "%@gnuplot*line3Width: 0",
637: "%@gnuplot*line4Width: 0",
638: "%@gnuplot*line5Width: 0",
639: "%@gnuplot*line6Width: 0",
640: "%@gnuplot*line7Width: 0",
641: "%@gnuplot*line8Width: 0",
642: "@end table",
643: "",
644: " `gnuplot` honors the following resources for setting the dash style used for",
645: " plotting lines. 0 means a solid line. A two-digit number `jk` (`j` and `k`",
646: " are >= 1 and <= 9) means a dashed line with a repeated pattern of `j` pixels",
647: " on followed by `k` pixels off. For example, '16' is a \"dotted\" line with one",
648: " pixel on followed by six pixels off. More elaborate on/off patterns can be",
649: " specified with a four-digit value. For example, '4441' is four on, four off,",
650: " four on, one off. The default values shown below are for monochrome displays",
651: " or monochrome rendering on color or grayscale displays. For color displays,",
652: " the default for each is 0 (solid line) except for `axisDashes` which defaults",
653: " to a '16' dotted line.",
654: "@start table - first is interactive cleartext form",
655: " gnuplot*borderDashes: 0",
656: " gnuplot*axisDashes: 16",
657: " gnuplot*line1Dashes: 0",
658: " gnuplot*line2Dashes: 42",
659: " gnuplot*line3Dashes: 13",
660: " gnuplot*line4Dashes: 44",
661: " gnuplot*line5Dashes: 15",
662: " gnuplot*line6Dashes: 4441",
663: " gnuplot*line7Dashes: 42",
664: " gnuplot*line8Dashes: 13",
665: "#\\begin{tabular}{|cl|} \\hline",
666: "#&gnuplot*borderDashes: 0\\\\",
667: "#&gnuplot*axisDashes: 16\\\\",
668: "#&gnuplot*line1Dashes: 0\\\\",
669: "#&gnuplot*line2Dashes: 42\\\\",
670: "#&gnuplot*line3Dashes: 13\\\\",
671: "#&gnuplot*line4Dashes: 44\\\\",
672: "#&gnuplot*line5Dashes: 15\\\\",
673: "#&gnuplot*line6Dashes: 4441\\\\",
674: "#&gnuplot*line7Dashes: 42\\\\",
675: "#&gnuplot*line8Dashes: 13\\\\",
676: "%c l .",
677: "%@gnuplot*borderDashes: 0",
678: "%@gnuplot*axisDashes: 16",
679: "%@gnuplot*line1Dashes: 0",
680: "%@gnuplot*line2Dashes: 42",
681: "%@gnuplot*line3Dashes: 13",
682: "%@gnuplot*line4Dashes: 44",
683: "%@gnuplot*line5Dashes: 15",
684: "%@gnuplot*line6Dashes: 4441",
685: "%@gnuplot*line7Dashes: 42",
686: "%@gnuplot*line8Dashes: 13",
687: "@end table"
688: END_HELP(be)
689: #endif /* TERM_HELP */
FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>