HPGS - HPGl Script
 All Data Structures Files Functions Variables Typedefs Enumerations Enumerator Groups Pages
hpgsplugin.h
1 /***********************************************************************
2  * *
3  * $Id: hpgsplugin.h 489 2009-02-11 14:10:30Z softadm $
4  * *
5  * hpgs - HPGl Script, a hpgl/2 interpreter, which uses a Postscript *
6  * API for rendering a scene and thus renders to a variety of *
7  * devices and fileformats. *
8  * *
9  * (C) 2004-2009 ev-i Informationstechnologie GmbH http://www.ev-i.at *
10  * *
11  * Author: Wolfgang Glas *
12  * *
13  * hpgs is free software; you can redistribute it and/or *
14  * modify it under the terms of the GNU Lesser General Public *
15  * License as published by the Free Software Foundation; either *
16  * version 2.1 of the License, or (at your option) any later version. *
17  * *
18  * hpgs is distributed in the hope that it will be useful, *
19  * but WITHOUT ANY WARRANTY; without even the implied warranty of *
20  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU *
21  * Lesser General Public License for more details. *
22  * *
23  * You should have received a copy of the GNU Lesser General Public *
24  * License along with this library; if not, write to the *
25  * Free Software Foundation, Inc., 59 Temple Place, Suite 330, *
26  * Boston, MA 02111-1307 USA *
27  * *
28  ***********************************************************************
29  * *
30  * The extension classes located in my device plugin. *
31  * *
32  ***********************************************************************/
33 
34 #ifndef __HPGS_PLUGIN_H
35 #define __HPGS_PLUGIN_H
36 
37 #include<hpgs.h>
38 
39 #ifdef __cplusplus
40 extern "C" {
41 #endif
42 
43 #ifdef HPGS_SHARED
44 # ifdef WIN32
45 # ifdef __GNUC__
46 # ifdef HPGS_BUILD_PLUGIN
47 # define HPGS_PLUGIN_API __attribute__((dllexport))
48 # else
49 # define HPGS_PLUGIN_API __attribute__((dllimport))
50 # endif
51 # else
52 # ifdef HPGS_BUILD_PLUGIN
53 # define HPGS_PLUGIN_API __declspec(dllexport)
54 # else
55 # define HPGS_PLUGIN_API __declspec(dllimport)
56 # endif
57 # endif
58 # else
59 # define HPGS_PLUGIN_API
60 # endif
61 #else
62 # define HPGS_PLUGIN_API
63 #endif
64 
65 
66 HPGS_PLUGIN_API int hpgs_plugin_new_device(hpgs_device **device,
67  void **asset_ctxt,
68  hpgs_reader_asset_func_t *page_asset_func,
69  void **frame_asset_ctxt,
70  hpgs_reader_asset_func_t *frame_asset_func,
71  const char *dev_name,
72  const char *out_fn,
73  const hpgs_bbox *bb,
74  double xres, double yres,
75  hpgs_bool do_rop3,
76  int argc, const char *argv[]);
77 
78 HPGS_PLUGIN_API void hpgs_plugin_version(int * major, int *minor);
79 
80 HPGS_PLUGIN_API void hpgs_plugin_init();
81 HPGS_PLUGIN_API void hpgs_plugin_cleanup();
82 
83 #ifdef __cplusplus
84 } // end of extern "C"
85 #endif
86 
87 #endif /* ! __HPGS_H */