1 //      Contains all prototypes for driver functions.
2 //
3 //  Copyright (C) 2004  Andrew Roach
4 //  Copyright (C) 2005  Thomas J. Duck
5 //  Copyright (C) 2006  Andrew Ross
6 //
7 //  This file is part of PLplot.
8 //
9 //  PLplot is free software; you can redistribute it and/or modify
10 //  it under the terms of the GNU Library General Public License as published
11 //  by the Free Software Foundation; either version 2 of the License, or
12 //  (at your option) any later version.
13 //
14 //  PLplot is distributed in the hope that it will be useful,
15 //  but WITHOUT ANY WARRANTY; without even the implied warranty of
16 //  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
17 //  GNU Library General Public License for more details.
18 //
19 //  You should have received a copy of the GNU Library General Public License
20 //  along with PLplot; if not, write to the Free Software
21 //  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
22 //
23 //
24 
25 #ifndef __DRIVERS_H__
26 #define __DRIVERS_H__
27 
28 #include "pdf.h"
29 #include "plstrm.h"
30 
31 #ifdef __cplusplus
32 extern "C" {
33 #endif
34 
35 // The order of these results (in alphabetic order by source file name and device)
36 // may be found from the following command:
37 //
38 // find drivers -type f | grep -v .git | grep -v deprecated | xargs grep 'plD_dispatch_init.*)$'  | grep -v // |sort
39 //
40 // with suitable editing afterward to remove file name prepend "PLDLLIMPEXP_DRIVER " and append ";"
41 
42 PLDLLIMPEXP_DRIVER void plD_dispatch_init_aqt( PLDispatchTable *pdt );
43 PLDLLIMPEXP_DRIVER void plD_dispatch_init_epscairo( PLDispatchTable *pdt );
44 PLDLLIMPEXP_DRIVER void plD_dispatch_init_extcairo( PLDispatchTable *pdt );
45 PLDLLIMPEXP_DRIVER void plD_dispatch_init_memcairo( PLDispatchTable *pdt );
46 PLDLLIMPEXP_DRIVER void plD_dispatch_init_pdfcairo( PLDispatchTable *pdt );
47 PLDLLIMPEXP_DRIVER void plD_dispatch_init_pngcairo( PLDispatchTable *pdt );
48 PLDLLIMPEXP_DRIVER void plD_dispatch_init_pscairo( PLDispatchTable *pdt );
49 PLDLLIMPEXP_DRIVER void plD_dispatch_init_svgcairo( PLDispatchTable *pdt );
50 PLDLLIMPEXP_DRIVER void plD_dispatch_init_wincairo( PLDispatchTable *pdt );
51 PLDLLIMPEXP_DRIVER void plD_dispatch_init_xcairo( PLDispatchTable *pdt );
52 PLDLLIMPEXP_DRIVER void plD_dispatch_init_cgm( PLDispatchTable *pdt );
53 PLDLLIMPEXP_DRIVER void plD_dispatch_init_gif( PLDispatchTable *pdt );
54 PLDLLIMPEXP_DRIVER void plD_dispatch_init_jpeg( PLDispatchTable *pdt );
55 PLDLLIMPEXP_DRIVER void plD_dispatch_init_png( PLDispatchTable *pdt );
56 PLDLLIMPEXP_DRIVER void plD_dispatch_init_mem( PLDispatchTable *pdt );
57 PLDLLIMPEXP_DRIVER void plD_dispatch_init_ntk( PLDispatchTable *pdt );
58 PLDLLIMPEXP_DRIVER void plD_dispatch_init_null( PLDispatchTable *pdt );
59 PLDLLIMPEXP_DRIVER void plD_dispatch_init_pdf( PLDispatchTable *pdt );
60 PLDLLIMPEXP_DRIVER void plD_dispatch_init_plm( PLDispatchTable *pdt );
61 PLDLLIMPEXP_DRIVER void plD_dispatch_init_psc( PLDispatchTable *pdt );
62 PLDLLIMPEXP_DRIVER void plD_dispatch_init_ps( PLDispatchTable *pdt );
63 PLDLLIMPEXP_DRIVER void plD_dispatch_init_pstex( PLDispatchTable *pdt );
64 PLDLLIMPEXP_DRIVER void plD_dispatch_init_psttfc( PLDispatchTable *pdt );
65 PLDLLIMPEXP_DRIVER void plD_dispatch_init_psttf( PLDispatchTable *pdt );
66 PLDLLIMPEXP_DRIVER void plD_dispatch_init_bmpqt( PLDispatchTable *pdt );
67 PLDLLIMPEXP_DRIVER void plD_dispatch_init_epsqt( PLDispatchTable *pdt );
68 PLDLLIMPEXP_DRIVER void plD_dispatch_init_extqt( PLDispatchTable *pdt );
69 PLDLLIMPEXP_DRIVER void plD_dispatch_init_jpgqt( PLDispatchTable *pdt );
70 PLDLLIMPEXP_DRIVER void plD_dispatch_init_memqt( PLDispatchTable *pdt );
71 PLDLLIMPEXP_DRIVER void plD_dispatch_init_pdfqt( PLDispatchTable *pdt );
72 PLDLLIMPEXP_DRIVER void plD_dispatch_init_pngqt( PLDispatchTable *pdt );
73 PLDLLIMPEXP_DRIVER void plD_dispatch_init_ppmqt( PLDispatchTable *pdt );
74 PLDLLIMPEXP_DRIVER void plD_dispatch_init_qtwidget( PLDispatchTable *pdt );
75 PLDLLIMPEXP_DRIVER void plD_dispatch_init_svgqt( PLDispatchTable *pdt );
76 PLDLLIMPEXP_DRIVER void plD_dispatch_init_tiffqt( PLDispatchTable *pdt );
77 PLDLLIMPEXP_DRIVER void plD_dispatch_init_svg( PLDispatchTable *pdt );
78 PLDLLIMPEXP_DRIVER void plD_dispatch_init_tk( PLDispatchTable *pdt );
79 PLDLLIMPEXP_DRIVER void plD_dispatch_init_tkwin( PLDispatchTable *pdt );
80 PLDLLIMPEXP_DRIVER void plD_dispatch_init_wingcc( PLDispatchTable *pdt );
81 PLDLLIMPEXP_DRIVER void plD_dispatch_init_wxpng( PLDispatchTable *pdt );
82 PLDLLIMPEXP_DRIVER void plD_dispatch_init_wxwidgets( PLDispatchTable *pdt );
83 PLDLLIMPEXP_DRIVER void plD_dispatch_init_xfig( PLDispatchTable *pdt );
84 PLDLLIMPEXP_DRIVER void plD_dispatch_init_xw( PLDispatchTable *pdt );
85 PLDLLIMPEXP_DRIVER void plD_dispatch_init_wingdi( PLDispatchTable *pdt );
86 
87 // Prototypes for plot buffer calls.
88 
89 void plbuf_init( PLStream * );
90 void plbuf_line( PLStream *, short, short, short, short );
91 void plbuf_polyline( PLStream *, short *, short *, PLINT );
92 void plbuf_eop( PLStream * );
93 void plbuf_bop( PLStream * );
94 void plbuf_tidy( PLStream * );
95 void plbuf_state( PLStream *, PLINT );
96 void plbuf_esc( PLStream *, PLINT, void * );
97 void plbuf_di( PLStream * );
98 void plbuf_setsub( PLStream * );
99 void plbuf_ssub( PLStream * );
100 void plbuf_clip( PLStream * );
101 PLDLLIMPEXP void * plbuf_save( PLStream *, void * );
102 PLDLLIMPEXP void * plbuf_switch( PLStream *, void * );
103 PLDLLIMPEXP void plbuf_restore( PLStream *, void * );
104 
105 PLDLLIMPEXP void plRemakePlot( PLStream * );
106 void plFlushBuffer( PLStream *pls, PLBOOL restart, size_t amount );
107 
108 #ifdef __cplusplus
109 }
110 #endif
111 
112 #endif  // __DRIVERS_H__
113