1 #if !defined( GRF_INCLUDED ) /* Include this file only once */
2 #define GRF_INCLUDED
3 /*
4 *+
5 *  Name:
6 *     grf.h
7 
8 *  Type:
9 *     C include file.
10 
11 *  Purpose:
12 *     Define the interface to the grf module
13 
14 *  Invocation:
15 *     #include "grf.h"
16 
17 *  Description:
18 *     This include file defines the interface to the grf module and
19 *     provides the type definitions, function prototypes and macros, etc.
20 *     needed to use this module.
21 
22 *  Inheritance:
23 *     The grf module is not a class and does not inherit.
24 
25 *  Copyright:
26 *     Copyright (C) 1997-2006 Council for the Central Laboratory of the
27 *     Research Councils
28 
29 *  Licence:
30 *     This program is free software; you can redistribute it and/or
31 *     modify it under the terms of the GNU General Public Licence as
32 *     published by the Free Software Foundation; either version 2 of
33 *     the Licence, or (at your option) any later version.
34 *
35 *     This program is distributed in the hope that it will be
36 *     useful,but WITHOUT ANY WARRANTY; without even the implied
37 *     warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
38 *     PURPOSE. See the GNU General Public Licence for more details.
39 *
40 *     You should have received a copy of the GNU General Public Licence
41 *     along with this program; if not, write to the Free Software
42 *     Foundation, Inc., 51 Franklin Street,Fifth Floor, Boston, MA
43 *     02110-1301, USA
44 
45 *  Authors:
46 *     DSB: David S. Berry (Starlink)
47 
48 *  History:
49 *     27-JUN-1996 (DSB):
50 *        Original version.
51 *     25-OCT-1996 (DSB):
52 *        Primatives macros defined, extra parameter added to astGAttr.
53 *     17-FEB-2006 (DSB):
54 *        Added GRF__ESH and GRF__ESG.
55 *-
56 */
57 
58 /* Constant Values. */
59 /* ================ */
60 /* Values identifying different graphics attributes. */
61 #define GRF__STYLE  0
62 #define GRF__WIDTH  1
63 #define GRF__SIZE   2
64 #define GRF__FONT   3
65 #define GRF__COLOUR 4
66 
67 /* Values identifying different graphics primatives. */
68 #define GRF__TEXT 0
69 #define GRF__LINE 1
70 #define GRF__MARK 2
71 
72 /* The number of different graphics attributes */
73 #define GRF__NATTR 5
74 
75 /* Values identifying capabilities */
76 #define GRF__ESC     0
77 #define GRF__MJUST   1
78 #define GRF__SCALES  2
79 
80 /* Values identifying types of graphics escape sequence */
81 #define GRF__ESPER 1
82 #define GRF__ESSUP 2
83 #define GRF__ESSUB 3
84 #define GRF__ESGAP 4
85 #define GRF__ESBAC 5
86 #define GRF__ESSIZ 6
87 #define GRF__ESWID 7
88 #define GRF__ESFON 8
89 #define GRF__ESCOL 9
90 #define GRF__ESSTY 10
91 #define GRF__ESPOP 11
92 #define GRF__ESPSH 12
93 #define GRF__ESH   13
94 #define GRF__ESG   14
95 
96 /* Function prototypes. */
97 /* ==================== */
98 int astGAttr( int, double, double *, int );
99 int astGScales( float *, float * );
100 int astGBBuf( void );
101 int astGEBuf( void );
102 int astGFlush( void );
103 int astGLine( int, const float *, const float * );
104 int astGMark( int, const float *, const float *, int );
105 int astGQch( float *, float * );
106 int astGText( const char *, float, float, const char *, float, float );
107 int astGTxExt( const char *, float, float, const char *, float, float, float *, float * );
108 int astGCap( int, int );
109 
110 /* internal prototypes required for module */
111 void Perl_storeGrfObject ( SV * plotobject );
112 void Perl_clearGrfObject( void );
113 
114 #endif
115