Icons are changed
[gnuplot] / src / misc.h
1 /*
2  * $Id: misc.h,v 1.22 2005/11/27 18:31:36 sfeam Exp $
3  */
4
5 /* GNUPLOT - misc.h */
6
7 /*[
8  * Copyright 1999, 2004   Thomas Williams, Colin Kelley
9  *
10  * Permission to use, copy, and distribute this software and its
11  * documentation for any purpose with or without fee is hereby granted,
12  * provided that the above copyright notice appear in all copies and
13  * that both that copyright notice and this permission notice appear
14  * in supporting documentation.
15  *
16  * Permission to modify the software is granted, but not the right to
17  * distribute the complete modified source code.  Modifications are to
18  * be distributed as patches to the released version.  Permission to
19  * distribute binaries produced by compiling modified sources is granted,
20  * provided you
21  *   1. distribute the corresponding source modifications from the
22  *    released version in the form of a patch file along with the binaries,
23  *   2. add special version identification to distinguish your version
24  *    in addition to the base release version number,
25  *   3. provide your name and address as the primary contact for the
26  *    support of your modified version, and
27  *   4. retain our contact information in regard to use of the base
28  *    software.
29  * Permission to distribute the released version of the source code along
30  * with corresponding source modifications in the form of a patch file is
31  * granted with same provisions 2 through 4 for binary distributions.
32  *
33  * This software is provided "as is" without express or implied warranty
34  * to the extent permitted by applicable law.
35 ]*/
36
37 #ifndef GNUPLOT_MISC_H
38 # define GNUPLOT_MISC_H
39
40 #include "syscfg.h"
41 #include "gp_types.h"
42 #include "stdfn.h"
43
44 #include "graphics.h"
45 #include "graph3d.h"
46
47
48 /* Variables of misc.c needed by other modules: */
49
50 extern char *infile_name;
51
52 /* Prototypes from file "misc.c" */
53
54 struct iso_curve * iso_alloc __PROTO((int num));
55 void iso_extend __PROTO((struct iso_curve *ip, int num));
56 void iso_free __PROTO((struct iso_curve *ip));
57 void load_file __PROTO((FILE *fp, char *name, TBOOLEAN subst_args));
58 FILE *lf_top __PROTO((void));
59 void load_file_error __PROTO((void));
60 FILE *loadpath_fopen __PROTO((const char *, const char *));
61 char *fontpath_fullname __PROTO((const char *));
62 void push_terminal __PROTO((int is_interactive));
63 void pop_terminal __PROTO((void));
64
65 /* moved here, from setshow */
66 enum PLOT_STYLE get_style __PROTO((void));
67 void get_filledcurves_style_options __PROTO((filledcurves_opts *));
68 void filledcurves_options_tofile __PROTO((filledcurves_opts *, FILE *));
69 void lp_parse __PROTO((struct lp_style_type *, TBOOLEAN, TBOOLEAN));
70 void lp_use_properties __PROTO((struct lp_style_type *lp, int tag, int pointflag));
71 void arrow_parse __PROTO((struct arrow_style_type *, TBOOLEAN));
72
73 void parse_fillstyle __PROTO((struct fill_style_type *fs, int def_style,
74                               int def_density, int def_pattern, int def_border ));
75 void parse_colorspec __PROTO((struct t_colorspec *tc, int option));
76
77
78 /* State information for load_file(), to recover from errors
79  * and properly handle recursive load_file calls
80  */
81 typedef struct lf_state_struct {
82     FILE *fp;                   /* file pointer for load file */
83     char *name;                 /* name of file */
84     TBOOLEAN interactive;       /* value of interactive flag on entry */
85     TBOOLEAN do_load_arg_substitution;  /* likewise ... */
86     int inline_num;             /* inline_num on entry */
87     struct lf_state_struct *prev;                       /* defines a stack */
88     char *call_args[10];        /* args when file is 'call'ed instead of 'load'ed */
89 }  LFS;
90 extern LFS *lf_head;
91
92 #endif /* GNUPLOT_MISC_H */