This file is indexed.

/usr/include/gmt/gmt_plot.h is in libgmt-dev 4.5.12-1.

This file is owned by root:root, with mode 0o644.

The actual contents of the file can be viewed below.

  1
  2
  3
  4
  5
  6
  7
  8
  9
 10
 11
 12
 13
 14
 15
 16
 17
 18
 19
 20
 21
 22
 23
 24
 25
 26
 27
 28
 29
 30
 31
 32
 33
 34
 35
 36
 37
 38
 39
 40
 41
 42
 43
 44
 45
 46
 47
 48
 49
 50
 51
 52
 53
 54
 55
 56
 57
 58
 59
 60
 61
 62
 63
 64
 65
 66
 67
 68
 69
 70
 71
 72
 73
 74
 75
 76
 77
 78
 79
 80
 81
 82
 83
 84
 85
 86
 87
 88
 89
 90
 91
 92
 93
 94
 95
 96
 97
 98
 99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
/*--------------------------------------------------------------------
 *	$Id: gmt_plot.h 10173 2014-01-01 09:52:34Z pwessel $
 *
 *	Copyright (c) 1991-2014 by P. Wessel and W. H. F. Smith
 *	See LICENSE.TXT file for copying and redistribution conditions.
 *
 *	This program is free software; you can redistribute it and/or modify
 *	it under the terms of the GNU General Public License as published by
 *	the Free Software Foundation; version 2 or any later version.
 *
 *	This program is distributed in the hope that it will be useful,
 *	but WITHOUT ANY WARRANTY; without even the implied warranty of
 *	MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 *	GNU General Public License for more details.
 *
 *	Contact info: gmt.soest.hawaii.edu
 *--------------------------------------------------------------------*/

#ifndef _GMT_PLOT_H
#define _GMT_PLOT_H

/* GMT symbol identifiers */

#define GMT_SYMBOL_NONE		99
#define GMT_SYMBOL_NOT_SET	999

#define GMT_SYMBOL_LINE		0
#define GMT_SYMBOL_BARX		1
#define GMT_SYMBOL_BARY		2
#define GMT_SYMBOL_CROSS	3
#define GMT_SYMBOL_POINT	4
#define GMT_SYMBOL_CIRCLE	5
#define GMT_SYMBOL_SQUARE	6
#define GMT_SYMBOL_TRIANGLE	7
#define GMT_SYMBOL_DIAMOND	8
#define GMT_SYMBOL_STAR		9
#define GMT_SYMBOL_HEXAGON	10
#define GMT_SYMBOL_ITRIANGLE	11
#define GMT_SYMBOL_CUBE		12
#define GMT_SYMBOL_COLUMN	13
#define GMT_SYMBOL_ELLIPSE	14
#define GMT_SYMBOL_VECTOR	15
#define GMT_SYMBOL_VECTOR2	16
#define GMT_SYMBOL_PIE		17
#define GMT_SYMBOL_RECT		18
#define GMT_SYMBOL_XDASH	19
#define GMT_SYMBOL_YDASH	20
#define GMT_SYMBOL_ZDASH	21
#define GMT_SYMBOL_TEXT		22
#define GMT_SYMBOL_PENTAGON	23
#define GMT_SYMBOL_OCTAGON	24
#define GMT_SYMBOL_CUSTOM	25
#define GMT_SYMBOL_ROTATERECT	26
#define GMT_SYMBOL_PLUS		27
#define GMT_SYMBOL_MANGLE	28

#define GMT_SYMBOL_FRONT	-100
#define GMT_SYMBOL_QUOTED_LINE	-200

#define GMT_POINT_SIZE 0.005	/* Size of a "dot" on a GMT PS map */

/* FRONT symbols */

#define GMT_FRONT_FAULT		0
#define GMT_FRONT_TRIANGLE	1
#define GMT_FRONT_SLIP		2
#define GMT_FRONT_CIRCLE	3
#define GMT_FRONT_BOX		4

/* Direction of FRONT symbols: */

#define GMT_FRONT_LEFT		+1
#define GMT_FRONT_CENTERED	0
#define GMT_FRONT_RIGHT		-1

struct GMT_FRONTLINE {		/* A sub-symbol for symbols along a front */
	double f_gap;		/* Gap between front symbols in inches */
	double f_len;		/* Length of front symbols in inches */
	double f_off;		/* Offset of first symbol from start of front in inches */
	GMT_LONG f_sense;	/* Draw symbols to left (+1), centered (0), or right (-1) of line */
	GMT_LONG f_symbol;	/* Which symbol to draw along the front line */
};

struct GMT_SYMBOL {
	GMT_LONG symbol;	/* Symbol id */
	GMT_LONG n_required;	/* Number of additional columns necessary to decode chosen symbol */
	GMT_LONG u;		/* Measure unit id (0 = cm, 1 = inch, 2 = m, 3 = point */
	GMT_LONG u_set;		/* TRUE if a unit was specified */
	double size_x;		/* Current symbol size in x */
	double size_y;		/* Current symbol size in y */
	double size_x2;		/* Half size in x */
	double size_y2;		/* Half size in y */
	double given_size_x;	/* Symbol size read from file or command line */
	double given_size_y;	/* Symbol size read from file or command line */
	GMT_LONG equal_area;	/* Symbol should be scaled to give same area as circle */
	GMT_LONG read_size;	/* TRUE when we must read symbol size from file */
	GMT_LONG shade3D;	/* TRUE when we should simulate shading of 3D symbols cube and column */
	GMT_LONG font_no;	/* font to use for the -Sl symbol */
	GMT_LONG n_nondim;	/* Number of columns that has angles or km (and not dimensions with units) */
	GMT_LONG nondim_col[6];	/* Which columns has angles or km for this symbol */

	/* These apply to bar symbols */

	double base;		/* From what level to draw the bar */
	GMT_LONG user_unit;	/* if TRUE */
	GMT_LONG base_set;	/* TRUE if user provided a custom base [otherwise default to bottom axis */

	/* These apply to vectors */

	GMT_LONG convert_angles;	/* If 2, convert azimuth to angle on map, 1 special case for -JX, 0 plain case */
	GMT_LONG read_vector;	/* if TRUE must read vector attributes */
	GMT_LONG shrink;		/* If TRUE, shrink vector attributes for small lengths */
	double v_norm;		/* shrink when lengths are smaller than this */
	double v_shrink;	/* Required scale factor */
	double v_width;		/* Width of vector stem in inches */
	double h_length;	/* Length of vector head in inches */
	double h_width;		/* Width of vector head in inches */
	GMT_LONG v_just;		/* How to justify vector: head point given (3), head (2), center(1), tail (0 - Default) */
	GMT_LONG v_double_heads;		/* If TRUE, Add 8 (|= 8) to outline to specify double-headed vector (FALSE is single-headed) */

	char string[GMT_TEXT_LEN];	/* Character code to plot (could be octal) */

	struct GMT_FRONTLINE f;	/* parameters needed for a front */
	struct GMT_CUSTOM_SYMBOL *custom;	/* pointer to a custom symbol */

	struct GMT_CONTOUR G;	/* For labelled lines */
};

EXTERN_MSC struct GMT_PS GMT_ps;

EXTERN_MSC void GMT_color_image (double x0, double y0, double x_side, double y_side, unsigned char *image, GMT_LONG nx, GMT_LONG ny, GMT_LONG depth);
EXTERN_MSC void GMT_draw_map_rose (struct GMT_MAP_ROSE *mr);
EXTERN_MSC void GMT_draw_map_scale (struct GMT_MAP_SCALE *ms);
EXTERN_MSC void GMT_echo_command (int argc, char **argv);
EXTERN_MSC void GMT_setfill (struct GMT_FILL *fill, GMT_LONG outline);
EXTERN_MSC void GMT_fill (double x[], double y[], GMT_LONG n, struct GMT_FILL *fill, GMT_LONG outline);
EXTERN_MSC void GMT_fill_polygon (double *lon, double *lat, double z, GMT_LONG n, struct GMT_FILL *F, GMT_LONG outline);
EXTERN_MSC void GMT_plot_ellipse (double lon, double lat, double z, double major, double minor, double azimuth, struct GMT_FILL fill, GMT_LONG outline);
EXTERN_MSC void GMT_plot_rectangle (double lon, double lat, double z, double width, double height, double azimuth, struct GMT_FILL fill, GMT_LONG outline);
EXTERN_MSC void GMT_draw_fence (double x[], double y[], double z, GMT_LONG n, struct GMT_FRONTLINE *f, struct GMT_FILL *g, GMT_LONG outline);
EXTERN_MSC void GMT_linearx_grid (double w, double e, double s, double n, double dval);
EXTERN_MSC void GMT_map_basemap (void);
EXTERN_MSC void GMT_map_clip_off (void);
EXTERN_MSC void GMT_map_clip_on (int rgb[], GMT_LONG flag);
EXTERN_MSC void GMT_plot_line (double *x, double *y, int *pen, GMT_LONG n);
EXTERN_MSC void GMT_setpen (struct GMT_PEN *pen);
EXTERN_MSC void GMT_text3D (double x, double y, double z, double fsize, GMT_LONG fontno, char *text, double angle, GMT_LONG justify, GMT_LONG form);
EXTERN_MSC void GMT_textbox3D (double x, double y, double z, double size, GMT_LONG font, char *label, double angle, GMT_LONG just, GMT_LONG outline, double dx, double dy, int rgb[]);
EXTERN_MSC void GMT_timestamp (double x, double y, GMT_LONG justify, char *U_label);
EXTERN_MSC void GMT_vertical_axis (GMT_LONG mode);
EXTERN_MSC void GMT_xy_axis (double x0, double y0, double length, double val0, double val1, struct GMT_PLOT_AXIS *A, GMT_LONG below, GMT_LONG annotate);
EXTERN_MSC GMT_LONG *GMT_split_line (double **xx, double **yy, GMT_LONG *nn, GMT_LONG add_crossings);
EXTERN_MSC GMT_LONG GMT_plotend (void);
EXTERN_MSC GMT_LONG GMT_plotinit (int argc, char *argv[]);
EXTERN_MSC void GMT_square (double x, double y, double z, double size[], struct GMT_FILL *fill, GMT_LONG outline);
EXTERN_MSC void GMT_circle (double x, double y, double z, double size[], struct GMT_FILL *fill, GMT_LONG outline);
EXTERN_MSC void GMT_triangle (double x, double y, double z, double size[], struct GMT_FILL *fill, GMT_LONG outline);
EXTERN_MSC void GMT_itriangle (double x, double y, double z, double size[], struct GMT_FILL *fill, GMT_LONG outline);
EXTERN_MSC void GMT_diamond (double x, double y, double z, double size[], struct GMT_FILL *fill, GMT_LONG outline);
EXTERN_MSC void GMT_hexagon (double x, double y, double z, double size[], struct GMT_FILL *fill, GMT_LONG outline);
EXTERN_MSC void GMT_pentagon (double x, double y, double z, double size[], struct GMT_FILL *fill, GMT_LONG outline);
EXTERN_MSC void GMT_octagon (double x, double y, double z, double size[], struct GMT_FILL *fill, GMT_LONG outline);
EXTERN_MSC void GMT_star (double x, double y, double z, double size[], struct GMT_FILL *fill, GMT_LONG outline);
EXTERN_MSC void GMT_plus (double x, double y, double z, double size[], struct GMT_FILL *fill, GMT_LONG outline);
EXTERN_MSC void GMT_cross (double x, double y, double z, double size[], struct GMT_FILL *fill, GMT_LONG outline);
EXTERN_MSC void GMT_rect (double x, double y, double z, double size[], struct GMT_FILL *fill, GMT_LONG outline);
EXTERN_MSC void GMT_ellipse (double x, double y, double z, double size[], struct GMT_FILL *fill, GMT_LONG outline);
EXTERN_MSC void GMT_pie (double x, double y, double z, double size[], struct GMT_FILL *fill, GMT_LONG outline);
EXTERN_MSC void GMT_rotrect (double x, double y, double z, double size[], struct GMT_FILL *fill, GMT_LONG outline);
EXTERN_MSC void GMT_vector (double x0, double y0, double x1, double y1, double z0, double tailwidth, double headlength, double headwidth, double shape, struct GMT_FILL *fill, GMT_LONG outline);
EXTERN_MSC void GMT_matharc (double x, double y, double z, double size[], double shape, struct GMT_PEN *pen, GMT_LONG status);
EXTERN_MSC char *GMT_export2proj4(char *pStrOut);
EXTERN_MSC struct EPS *GMT_epsinfo (char *program);
#endif /* _GMT_PLOT_H */