/usr/lib/emboss/include/eplplot/disptab.h is in emboss-lib 6.6.0-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 | /* $Id: disptab.h,v 1.1 2007/05/08 10:40:21 rice Exp $
Defines the data structure which holds the driver functions.
*/
#ifndef __DISPATCH_H__
#define __DISPATCH_H__
#include "plConfig.h"
struct PLStream_struct;
enum {
plDevType_FileOriented = 0,
plDevType_Interactive = 1,
plDevType_Null = -1
};
/*--------------------------------------------------------------------------*\
* Define structure containing pointers to device dependent functions.
*
* pl_MenuStr Pointer to string that is printed in device menu.
*
* pl_DevName A short device "name" for device selection by name.
*
* pl_type 0 for file-oriented device, 1 for interactive
* (the null driver uses -1 here)
*
* pl_seq The sequence number for ordering the presentation list of the
* available drivers. This is an ordering only, not an absolute
* position in the list.
*
* pl_init Initialize device. This routine may also prompt the user
* for certain device parameters or open a graphics file
* (see note). Called only once to set things up. Certain
* options such as familying and resolution (dots/mm) should
* be set up before calling this routine (note: some drivers
* ignore these).
*
* pl_line Draws a line between two points.
*
* pl_polyline Draws a polyline (no broken segments).
*
* pl_eop Finishes out current page (see note).
*
* pl_bop Set up for plotting on a new page. May also open a new
* a new graphics file (see note).
*
* pl_tidy Tidy up. May close graphics file (see note).
*
* pl_state Handle change in PLStream state
* (color, pen width, fill attribute, etc).
*
* pl_esc Escape function for driver-specific commands.
*
*
* Notes:
*
* Most devices allow multi-page plots to be stored in a single graphics
* file, in which case the graphics file should be opened in the pl_init()
* routine, closed in pl_tidy(), and page advances done by calling pl_eop
* and pl_bop() in sequence. If multi-page plots need to be stored in
* different files then pl_bop() should open the file and pl_eop() should
* close it. Do NOT open files in both pl_init() and pl_bop() or close
* files in both pl_eop() and pl_tidy().
\*--------------------------------------------------------------------------*/
typedef void (*plD_init_fp) (struct PLStream_struct *);
typedef void (*plD_line_fp) (struct PLStream_struct *, short, short, short, short);
typedef void (*plD_polyline_fp)(struct PLStream_struct *, short *, short *, PLINT);
typedef void (*plD_eop_fp) (struct PLStream_struct *);
typedef void (*plD_bop_fp) (struct PLStream_struct *);
typedef void (*plD_tidy_fp) (struct PLStream_struct *);
typedef void (*plD_state_fp) (struct PLStream_struct *, PLINT);
typedef void (*plD_esc_fp) (struct PLStream_struct *, PLINT, void *);
typedef struct {
const char *pl_MenuStr; /* pmr: const */
const char *pl_DevName; /* pmr: const */
int pl_type;
int pl_seq;
plD_init_fp pl_init;
plD_line_fp pl_line;
plD_polyline_fp pl_polyline;
plD_eop_fp pl_eop;
plD_bop_fp pl_bop;
plD_tidy_fp pl_tidy;
plD_state_fp pl_state;
plD_esc_fp pl_esc;
} PLDispatchTable;
#endif /* __DISPATCH_H__ */
|