- Main Page
- Modules
- Data Structures
- Files

# hpgsplugin.h

    00001 /***********************************************************************
    00002  *                                                                     *
    00003  * $Id: hpgsplugin.h 489 2009-02-11 14:10:30Z softadm $
    00004  *                                                                     *
    00005  * hpgs - HPGl Script, a hpgl/2 interpreter, which uses a Postscript   *
    00006  *        API for rendering a scene and thus renders to a variety of   *
    00007  *        devices and fileformats.                                     *
    00008  *                                                                     *
    00009  * (C) 2004-2009 ev-i Informationstechnologie GmbH  http://www.ev-i.at *
    00010  *                                                                     *
    00011  * Author: Wolfgang Glas                                               *
    00012  *                                                                     *
    00013  *  hpgs is free software; you can redistribute it and/or              *
    00014  * modify it under the terms of the GNU Lesser General Public          *
    00015  * License as published by the Free Software Foundation; either        *
    00016  * version 2.1 of the License, or (at your option) any later version.  *
    00017  *                                                                     *
    00018  * hpgs is distributed in the hope that it will be useful,             *
    00019  * but WITHOUT ANY WARRANTY; without even the implied warranty of      *
    00020  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU   *
    00021  * Lesser General Public License for more details.                     *
    00022  *                                                                     *
    00023  * You should have received a copy of the GNU Lesser General Public    *
    00024  * License along with this library; if not, write to the               *
    00025  * Free Software  Foundation, Inc., 59 Temple Place, Suite 330,        *
    00026  * Boston, MA  02111-1307  USA                                         *
    00027  *                                                                     *
    00028  ***********************************************************************
    00029  *                                                                     *
    00030  * The extension classes located in my device plugin.                  *
    00031  *                                                                     *
    00032  ***********************************************************************/
    00033
    00034 #ifndef __HPGS_PLUGIN_H
    00035 #define __HPGS_PLUGIN_H
    00036
    00037 #include<hpgs.h>
    00038
    00039 #ifdef __cplusplus
    00040 extern "C" {
    00041 #endif
    00042
    00043 #ifdef HPGS_SHARED
    00044 # ifdef WIN32
    00045 #  ifdef __GNUC__
    00046 #   ifdef HPGS_BUILD_PLUGIN
    00047 #    define HPGS_PLUGIN_API __attribute__((dllexport))
    00048 #   else
    00049 #    define HPGS_PLUGIN_API __attribute__((dllimport))
    00050 #   endif
    00051 #  else
    00052 #   ifdef HPGS_BUILD_PLUGIN
    00053 #    define HPGS_PLUGIN_API __declspec(dllexport)
    00054 #   else
    00055 #    define HPGS_PLUGIN_API __declspec(dllimport)
    00056 #   endif
    00057 #  endif
    00058 # else
    00059 #  define HPGS_PLUGIN_API
    00060 # endif
    00061 #else
    00062 # define HPGS_PLUGIN_API
    00063 #endif
    00064
    00065
    00066 HPGS_PLUGIN_API int hpgs_plugin_new_device(hpgs_device **device,
    00067                                            void **asset_ctxt,
    00068                                            hpgs_reader_asset_func_t *page_asset_func,
    00069                                            void **frame_asset_ctxt,
    00070                                            hpgs_reader_asset_func_t *frame_asset_func,
    00071                                            const char *dev_name,
    00072                                            const char *out_fn,
    00073                                            const hpgs_bbox *bb,
    00074                                            double xres, double yres,
    00075                                            hpgs_bool do_rop3,
    00076                                            int argc, const char *argv[]);
    00077
    00078 HPGS_PLUGIN_API void hpgs_plugin_version(int * major, int *minor);
    00079
    00080 HPGS_PLUGIN_API void hpgs_plugin_init();
    00081 HPGS_PLUGIN_API void hpgs_plugin_cleanup();
    00082
    00083 #ifdef __cplusplus
    00084 } // end of extern "C"
    00085 #endif
    00086
    00087 #endif /* ! __HPGS_H */