DataMuseum.dk

Presents historical artifacts from the history of:

DKUUG/EUUG Conference tapes

This is an automatic "excavation" of a thematic subset of
artifacts from Datamuseum.dk's BitArchive.

See our Wiki for more about DKUUG/EUUG Conference tapes

Excavated with: AutoArchaeologist - Free & Open Source Software.


top - metrics - download
Index: T p

⟦b42c2e915⟧ TextFile

    Length: 7071 (0x1b9f)
    Types: TextFile
    Names: »plot3.h«

Derivation

└─⟦a05ed705a⟧ Bits:30007078 DKUUG GNU 2/12/89
    └─⟦148e64aa4⟧ »./plot2ps.tar.Z« 
        └─⟦ff7617d1d⟧ 
            └─⟦this⟧ »plot3.h« 

TextFile

/* plot2ps, a utility for converting Unix plot files into postscript.
   Copyright (C) 1989 Free Software Foundation, Inc.

Plot2ps is distributed in the hope that it will be useful, but WITHOUT ANY
WARRANTY.  No author or distributor accepts responsibility to anyone for the
consequences of using it or for whether it serves any particular purpose or
works at all, unless he says so in writing.  Refer to the GNU General Public
License for full details.

Everyone is granted permission to copy, modify and redistribute plot2ps, but
only under the conditions described in the GNU General Public License.  A copy
of this license is supposed to have been given to you along with plot2ps so
you can know your rights and responsibilities.  It should be in a file named
COPYING.  Among other things, the copyright notice and this notice must be
preserved on all copies.  */

/* plot2ps, a utility for converting Unix plot files into postscript.
   Copyright (C) 1989 Free Software Foundation, Inc.

Plot2ps is distributed in the hope that it will be useful, but WITHOUT ANY
WARRANTY.  No author or distributor accepts responsibility to anyone for the
consequences of using it or for whether it serves any particular purpose or
works at all, unless he says so in writing.  Refer to the GNU General Public
License for full details.

Everyone is granted permission to copy, modify and redistribute plot2ps, but
only under the conditions described in the GNU General Public License.  A copy
of this license is supposed to have been given to you along with plot2ps so
you can know your rights and responsibilities.  It should be in a file named
COPYING.  Among other things, the copyright notice and this notice must be
preserved on all copies.  */

#ifndef _plot3_defines_
#define _plot3_defines_ 1

/* the standard library of plot functions */
/* we should add some prototypes here */
extern int arc ();
extern int box ();
extern int circle ();
extern int closepl ();
extern int cont ();
extern int erase ();
extern int label ();
extern int line ();
extern int linemod ();
extern int move ();
extern int openpl ();
extern int point ();
extern int space ();

/* Extensions to the library for postscript */
extern int alabel ();
extern int color ();
extern int fill ();
extern int fontname ();
extern int fontsize ();
extern int rotate ();

/* Internal routines: */
extern int draw_line ();

/* Global variables which affect the output: */
extern double x_input_min; /* minimum input x coordinate */
extern double y_input_min; /* minimum input y coordinate */
extern double x_output_min; /* minimum output x coordinate */
extern double y_output_min; /* minimum output y coordinate */
extern double x_output_max; /* maximum output x coordinate */
extern double y_output_max; /* maximum output y coordinate */
extern double scaleup; /* input to output scaleing for both x and y */

extern int last_x, last_y; /* location of the last coordinates used */

/* The scaling and rotation part of a postscript transformation matrix */
extern double text_transformation_matrix[4];

/* Note: define MAX_NO_OF_POINTS according to the number of
   points the postscript device can handle.  Experimentation has
   shown 150 to be reasonable. */

#define MAX_NO_OF_POINTS 150
extern int line_x[MAX_NO_OF_POINTS];
extern int line_y[MAX_NO_OF_POINTS];

/* We accumulate coordinates untill we either have enought points
   or the line is broken.  This counter tells us whether we have
   accumulated points and how many there are. */

extern int PointsInLine;

/* This bit vector represents the line style (eg. dashed) for
   idraw. We intitialize it to all ones which represents a solid
   line. */

extern long line_type_bit_vector;

/* This is a string that should conatain a postscript vector
   argument for the postscript setdash command.  This is allocted
   in the OPENPL function. */

extern char *line_type_setdash;

/* The current length of the above buffer */

extern int line_type_setdash_length;

/* LINE_TYPE_SETDASH_BITS is one greater than the length in number of bits in
   the dash pattern.  It can be computed as the sum of the integers contained
   in LINE_TYPE_SETDASH plus one.  If the string is empty, then the value should
   be zero. */

extern int line_type_setdash_bits;

/* Idraw puts the upper left corner of the tex at the current */

/* TEXT_ROTATION is the angle in degress counterclockwise from the
   horizontal for rotation of labels. */

extern int text_rotation;

/* FONT_SIZE is the font size in printer's points (-f option). */

extern double font_size;

/* FONT_SCALING takes into account the font scaling by idraw.  Version 2.4
   of idraw scales the whole drawing down by a factor of 0.8, we must
   scale the fonts back up by 1.25 so that a 14 point fonts appears as
   a 14 point font on the hardcopy. Version 2.5 of idraw does not seem
   to need this adjustment, but it is left here for compatibility. */

extern double font_scaling;

/* USER_HAS_PROLOGUE is a flag. If it is non-zero then the OPENPL routine
   should output the user specified prologue contained in the file specified
   in the string USERS_PROLOGUE */

extern int user_has_prologue;

/* USERS_PROLOGUE is a string containing the file name for any user specified
   postscript prologue.  This file is a substitute for the prologue contained
   in the file header.c. */

char *users_prologue;


struct font_info_struct {
  char *name;			/* the name the user specifies the font by */
  char *X_name;			/* the X windows font name */
  char *ps_name;		/* the postscript font name */
  int width[256];		/* the font width information */
};

#define NO_OF_FONTS 13

extern struct font_info_struct font_info[NO_OF_FONTS];


/* CURRENT_FONT is a string containing the name of the current font.  Since
   postscript symbols must generally be less that 256 characters long, we can
   reasonably assume that the name will fit in a string this long. */

#define current_font_length 256

extern char current_font[];

/* DEFAULT_FONT is a string containing the name of the default font.
   This string should be a valid match for one of the font names. */

extern char default_font[];

/* FIND_FONT takes a string argument S containing a font name and returns the
   index of the font structure FONT_INFO corresponding to that name. If no match
   is found for the font name, an error message is printed and the index of the
   default font is returned. */

extern int find_font();


/* FGCOLOR_RED, FGCOLOR_GREEN and FGCOLOR_BLUE indicate the foreground
   color of all plot. For each the range of intensity is from 0 to 1 so
   that a value of (0,0,0) represents black and a value of (1,1,1)
   indicates white. */

extern double fgcolor_red, fgcolor_green, fgcolor_blue;

/* FILL_LEVEL is the intensity of the filler for closed paths.  Intensity
   ranges from 0 to 1. A value of 0 represents black and a value of 1 indicates
   white. */

extern double fill_level;

/* some machines do not define M_PI. */
#ifndef M_PI
#define M_PI 3.14159265358979323846264
#endif

#endif /* _plot3_defines_ */