?? api.h
字號:
/* libwmf (<libwmf/api.h>): library for wmf conversion Copyright (C) 2000 - various; see CREDITS, ChangeLog, and sources The libwmf Library is free software; you can redistribute it and/or modify it under the terms of the GNU Library General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. The libwmf Library is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Library General Public License for more details. You should have received a copy of the GNU Library General Public License along with the libwmf Library; see the file COPYING. If not, write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */#ifndef LIBWMF_API_H#define LIBWMF_API_H// #include <zlib.h>typedef void *gzFile; // This is all that was obtained from zlib.h#include <libwmf/types.h>#ifdef __cplusplusextern "C" {#endif/** * Initializes library */extern wmf_error_t wmf_api_create (wmfAPI**,unsigned long,wmfAPI_Options*);/** * Possibly completes output, and otherwise frees all allocated memory */extern wmf_error_t wmf_api_destroy (wmfAPI*);/** * Initializes library - 'lite' interface only */extern wmf_error_t wmf_lite_create (wmfAPI**,unsigned long,wmfAPI_Options*);/** * Possibly completes output, and otherwise frees all allocated memory - 'lite' interface only */extern wmf_error_t wmf_lite_destroy (wmfAPI*);/** * Reads the header of the current metafile */extern wmf_error_t wmf_header_read (wmfAPI*);/** * Scans the current metafile to determine bounding box and resources */extern wmf_error_t wmf_scan (wmfAPI*,unsigned long,wmfD_Rect*);/** * Plays the current metafile, calling exporter graphics procedures */extern wmf_error_t wmf_play (wmfAPI*,unsigned long,wmfD_Rect*);/** * Supplies a width and height for the current metafile */extern wmf_error_t wmf_size (wmfAPI*,float*,float*);/** * Supplies a display (integer-) width and height for the current metafile */extern wmf_error_t wmf_display_size (wmfAPI*,unsigned int*,unsigned int*,double,double);/** * Sets user defines input stream functions for reading a metafile */extern wmf_error_t wmf_bbuf_input (wmfAPI*,wmfRead,wmfSeek,wmfTell,void*);/** * Opens a file as the current metafile */extern wmf_error_t wmf_file_open (wmfAPI*,const char*);/** * Closes the file corresponding to the current metafile */extern wmf_error_t wmf_file_close (wmfAPI*);/** * Specifies an array of unsigned char as the current metafile */extern wmf_error_t wmf_mem_open (wmfAPI*,unsigned char*,long);/** * Disassociates array corresponding to the current metafile */extern wmf_error_t wmf_mem_close (wmfAPI*);/* wmf_stream_create: set FILE stream to 0 to write to memory; * wmf_stream_destroy: returns pointer to memory, if not a FILE stream *//** * Creates compressed character output file stream */extern wmfStream* wmf_ztream_create (wmfAPI*,gzFile);/** * Creates uncompressed character output file or memory stream */extern wmfStream* wmf_stream_create (wmfAPI*,FILE*);/** * Finalizes compressed character output file stream */extern void wmf_ztream_destroy (wmfAPI*,wmfStream*,char**,unsigned long*);/** * Finalizes uncompressed character output file stream */extern void wmf_stream_destroy (wmfAPI*,wmfStream*,char**,unsigned long*);/** * Formatted print to character output file stream */extern int wmf_stream_printf (wmfAPI*,wmfStream*,char*,...);/** * malloc() & attach to library's memory manager */extern void* wmf_malloc (wmfAPI*,size_t);/** * calloc() & attach to library's memory manager */extern void* wmf_calloc (wmfAPI*,size_t,size_t);/** * realloc() memory attached to library's memory manager */extern void* wmf_realloc (wmfAPI*,void*,size_t);/** * free() memory attached to library's memory manager */extern void wmf_free (wmfAPI*,void*);/** * Detach memory from library's memory manager */extern void wmf_detach (wmfAPI*,void*);/** * strdup() & attach to library's memory manager */extern char* wmf_strdup (wmfAPI*,const char*);/** * create concatenation of two strings and attach to library's memory manager */extern char* wmf_str_append (wmfAPI*,char*,char*);/** * strstr() */extern char* wmf_strstr (const char*,const char*);/** * Increases size of API's string buffer; returns new size or 0 on error */extern unsigned long wmf_strbuf_grow (wmfAPI*);/** * Initializes the metafile player (called by wmf_api_create()) */extern wmf_error_t wmf_player_init (wmfAPI*);/** * Returns the Aldus Checksum of the metafile's header */extern U16 wmf_aldus_checksum (wmfAPI*);/** * Reads a two-byte sequence from the current metafile, returns U16 */extern U16 wmf_read_16 (wmfAPI*);/** * Reads a four-byte sequence from the current metafile, returns U32 */extern U32 wmf_read_32 (wmfAPI*,U16*,U16*);/** * file input (wmf_file_open): fgetc() */extern int wmf_file_read (void*);/** * file input (wmf_file_open): fseek() */extern int wmf_file_seek (void*,long);/** * file input (wmf_file_open): ftell() */extern long wmf_file_tell (void*);/** * memory input (wmf_mem_open): fgetc() equiv. */extern int wmf_mem_read (void*);/** * memory input (wmf_mem_open): fseek() equiv. */extern int wmf_mem_seek (void*,long);/** * memory input (wmf_mem_open): ftell() equiv. */extern long wmf_mem_tell (void*);/* default ztream functions; NOT to be used directly! *//** * compressed char output (wmf_ztream_create): fputs() */extern int wmf_stream_zputs (char*,void*);/** * compressed char output (wmf_ztream_create): rewind() */extern int wmf_stream_rezet (void*);/** * uncompressed char output (wmf_stream_create): fputs() */extern int wmf_stream_sputs (char*,void*); /* default stream functions; NOT to be used directly! *//** * uncompressed char output (wmf_stream_create): rewind() */extern int wmf_stream_reset (void*);/** * Writes message to error stream (use WMF_ERROR macro) */extern void wmf_error (wmfAPI*,char*,int,char*);/** * Writes message to debug stream (use WMF_DEBUG macro) */extern void wmf_debug (wmfAPI*,char*,int,char*);/** * Formatted print to debug stream */extern void wmf_printf (wmfAPI*,char*,...);/** * Asserts on zero expression (use WMF_ASSERT macro) */extern void wmf_assert (wmfAPI*,char*,int);/** * Outputs library-specific command-line options */extern char* wmf_help (void);/** * Sets drawing origin in device coordinates */extern void wmf_set_viewport_origin (wmfAPI*,wmfD_Coord);/** * Sets call-back function, called after every metafile record */extern void wmf_status_function (wmfAPI*,void*,wmfStatus);/** * Writes to --wmf-write file (which may be WMF or home-made wmfxml) */extern void wmf_write (wmfAPI*,unsigned long,unsigned int,const char*, char**,const unsigned char*,unsigned long);/** * Open --wmf-write file (which may be WMF or home-made wmfxml) */extern void wmf_write_begin (wmfAPI*,const char*);/** * Close --wmf-write file (which may be WMF or home-made wmfxml) */extern void wmf_write_end (wmfAPI*);/** * Initialize a wmfAttributes structure */extern void wmf_attr_new (wmfAPI*,wmfAttributes*);/** * Clear/Empty a wmfAttributes structure */extern void wmf_attr_clear (wmfAPI*,wmfAttributes*);/** * Free memory associated with a wmfAttributes structure */extern void wmf_attr_free (wmfAPI*,wmfAttributes*);/** * Add an name&value to a wmfAttributes structure; returns ptr to value-in-list */extern const char * wmf_attr_add (wmfAPI*,wmfAttributes*,const char*,const char*);/** * Return value of name in a wmfAttributes structure; returns 0 if name not found */extern const char * wmf_attr_query (wmfAPI*,wmfAttributes*,const char*);/** * Load wmfxml file and wmf_mem_open() it */extern wmf_error_t wmf_wmfxml_import (wmfAPI*,const char*);#ifdef __cplusplus}#endif/* Useful defs & macros *//** * @param Z the API handle * @param M string to send to the error stream via wmf_error() */#define WMF_ERROR(Z,M) wmf_error (Z,__FILE__,__LINE__,M)#ifdef DEBUG#define WMF_DEBUG(Z,M) wmf_debug (Z,__FILE__,__LINE__,M)#define WMF_ASSERT(Z,M) if (!(M)) wmf_assert (Z,__FILE__,__LINE__)#else/** * @param Z the API handle * @param M string to send to the debug stream via wmf_debug() * * (debug build only) */#define WMF_DEBUG(Z,M)/** * @param Z the API handle * @param M an <expr>, if zero then call wmf_assert() * * (debug build only) */#define WMF_ASSERT(Z,M)#endif/* Flags to be passed in wmf_api_create: flags to lie in range (1<<0) to (1<<19) *//** * Option to wmf_api_create() * * use provided [*]alloc/free functions */#define WMF_OPT_ALLOC (1<<0)/** * Option to wmf_api_create() * * check provided command line for --wmf-<option> */#define WMF_OPT_ARGS (1<<1)/** * Option to wmf_api_create() * * font directories specified */#define WMF_OPT_FONTDIRS (1<<2)/** * Option to wmf_api_create() * * font mappings specified */#define WMF_OPT_FONTMAP (1<<3)/** * Option to wmf_api_create() * * use system fonts, if found */#define WMF_OPT_SYS_FONTS (1<<4)/** * Option to wmf_api_create() * * use specified XML system fontmap file */#define WMF_OPT_SYS_FONTMAP (1<<5)/** * Option to wmf_api_create() * * use non-system fonts, if found */#define WMF_OPT_XTRA_FONTS (1<<6)/** * Option to wmf_api_create() * * use specified XML non-system fontmap file */#define WMF_OPT_XTRA_FONTMAP (1<<7)/** * Option to wmf_api_create() * * use specified ghostscript fontmap file */#define WMF_OPT_GS_FONTMAP (1<<8)/** * Option to wmf_api_create() * * write metafile to specified file */#define WMF_OPT_WRITE (1<<9)/** * Option to wmf_api_create() * * initialize device-layer with supplied function */#define WMF_OPT_FUNCTION (1<<10)/** * Option to wmf_api_create() * * initialize device-layer with specified module */#define WMF_OPT_MODULE (1<<11)/** * Option to wmf_api_create() * * check for module also in specified directories */#define WMF_OPT_MODULE_DIRS (1<<12)/** * Option to wmf_api_create() * * ignore (some) non-fatal errors --wmf-ignore-nonfatal */#define WMF_OPT_IGNORE_NONFATAL (1<<14)/** * Option to wmf_api_create() * * suppress all error reports --wmf-error */#define WMF_OPT_NO_ERROR (1<<15)/** * Option to wmf_api_create() * * suppress all debug reports --wmf-debug */#define WMF_OPT_NO_DEBUG (1<<16)/** * Option to wmf_api_create() * * divert error reports to specified stream */#define WMF_OPT_LOG_ERROR (1<<17)/** * Option to wmf_api_create() * * divert debug reports to specified stream */#define WMF_OPT_LOG_DEBUG (1<<18)/** * Option to wmf_api_create() * * emit diagnostic information --wmf-diagnostics */#define WMF_OPT_DIAGNOSTICS (1<<19)#endif /* ! LIBWMF_API_H */
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -