⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 mitab_capi.h

📁 在linux环境下
💻 H
字号:
/********************************************************************** * $Id: mitab_capi.h,v 1.26 2004/07/07 21:51:35 dmorissette Exp $ * * Name:     mitab_capi.h * Project:  MapInfo TAB Read/Write library * Language: C * Purpose:  Simple C access API prototypes.  Suitable for limited access *           to MITAB from an application able to call C style DLL *           entry points. * Author:   Frank Warmerdam, warmerdam@pobox.com * ********************************************************************** * Copyright (c) 2000-2004, Frank Warmerdam * * Permission is hereby granted, free of charge, to any person obtaining a * copy of this software and associated documentation files (the "Software"), * to deal in the Software without restriction, including without limitation * the rights to use, copy, modify, merge, publish, distribute, sublicense, * and/or sell copies of the Software, and to permit persons to whom the * Software is furnished to do so, subject to the following conditions: *  * The above copyright notice and this permission notice shall be included * in all copies or substantial portions of the Software. *  * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.  IN NO EVENT SHALL * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER  * DEALINGS IN THE SOFTWARE. ********************************************************************** * * $Log: mitab_capi.h,v $ * Revision 1.26  2004/07/07 21:51:35  dmorissette * Added mitab_c_get_mif_coordsys_vb() (patch from BVT) * * Revision 1.25  2004/06/30 20:05:34  dmorissette * Added mitab_c_load_coordsys_table() to C API (bug 469) * * Revision 1.24  2004/06/03 23:10:11  dmorissette * Added missing MITAB_DLL for mitab_c_get_extended_mif_coordsys() * * Revision 1.23  2003/08/12 20:20:49  dmorissette * Changes from Anthony Dunk, Encom: * - Added ability to create a feature of type TABFC_NoGeom * - Added mitab_c_get_feature_count(), mitab_c_get_field_as_double() and *   mitab_c_get_extended_mif_coordsys() * * Revision 1.22  2003/08/07 03:20:46  dmorissette * Added mitab_c_getlibversion() to C API. (Uffe K. - bug 21) * * Revision 1.21  2003/01/18 21:44:33  daniel * Added 'indexed' and 'unique' parameters to mitab_c_add_field(). * * Revision 1.20  2002/06/18 14:31:07  julien * Change a function name to be consistent with other function in mitab_capi * (mitab_c_region_isinteriorring become mitab_c_is_interior_ring) * * Revision 1.19  2002/06/17 15:00:30  julien * Add IsInteriorRing() function in TABRegion to validate if a ring is internal * * Revision 1.18  2002/05/08 21:38:16  daniel * (Hopefully) fixed the STDCALL stuff. * * Revision 1.17  2002/05/08 20:27:07  daniel * Use cdecl calling convention if MITAB_CDECL is set at compile time. * * Revision 1.16  2002/05/08 19:59:23  daniel * Use stdcall by default for all public functions * * Revision 1.15  2002/05/03 15:09:14  daniel * Added mitab_c_get_field_width() and mitab_c_get_field_precision() * * Revision 1.14  2002/04/26 14:16:49  julien * Finishing the implementation of Multipoint (support for MIF) * * Revision 1.13  2002/02/22 13:50:28  daniel * (From Bo Thomsen) New VB interface functions * * Revision 1.13  2002/02/20 12:35:00  bvt * Added alternative functions to fetch various strings for VB compatibility * * Revision 1.12  2001/11/02 17:30:02  daniel * Added mitab_c_get/set_projinfo() and mitab_c_get_mif_coordsys(). * Changed mitab_c_create() to make bounds optional and allow using default * projection bounds if available. * * Revision 1.11  2001/07/02 20:03:28  daniel * Added mitab_c_get_text(). * * Revision 1.10  2001/06/25 01:49:47  daniel * Added get methods for all pen, brush, font and symbol properties. * * Revision 1.9  2001/01/22 16:03:59  warmerda * expanded tabs * * Revision 1.8  2000/10/03 20:43:36  daniel * Added support for writing arcs,ellipses and rectangles in C API * * Revision 1.7  2000/04/21 12:53:41  daniel * Added funcs to fetch feature coordinates and attributes * * Revision 1.6  2000/02/28 16:46:53  daniel * Removed style param to mitab_c_set_pen() since this param is actually * used inside the format to define pen width in points (version 450) * * Revision 1.5  2000/01/15 22:30:43  daniel * Switch to MIT/X-Consortium OpenSource license * * Revision 1.4  2000/01/14 21:58:40  warmerda * added error handling * * Revision 1.3  2000/01/14 17:30:39  warmerda * added capi dll support * * Revision 1.2  2000/01/14 16:33:24  warmerda * initial implementation complete * * Revision 1.1  2000/01/14 14:53:59  warmerda * New * */#ifndef _MITAB_CAPI_H_INCLUDED_#define _MITAB_CAPI_H_INCLUDED_#ifdef __cplusplusextern "C" {#endif#ifdef _WIN32# ifndef MITAB_CDECL  /* STDCALL is the default */#   define MITAB_DLL  __declspec(dllexport)#   define MITAB_STDCALL __stdcall# else                /* Use CDECL only if MITAB_CDECL explicitly set */#   define MITAB_DLL __declspec(dllexport)#   define MITAB_STDCALL# endif#else#define MITAB_DLL#define MITAB_STDCALL#endif    typedef void * mitab_handle;typedef void * mitab_feature;typedef void * mitab_projinfo;/* feature type values */#define TABFC_NoGeom    0#define TABFC_Point     1#define TABFC_FontPoint 2#define TABFC_CustomPoint 3#define TABFC_Text      4#define TABFC_Polyline  5#define TABFC_Arc       6#define TABFC_Region    7#define TABFC_Rectangle 8#define TABFC_Ellipse   9#define TABFC_MultiPoint 10/* field types */#define TABFT_Char      1#define TABFT_Integer   2#define TABFT_SmallInt  3#define TABFT_Decimal   4#define TABFT_Float     5#define TABFT_Date      6#define TABFT_Logical   7/* text justification */#define TABTJ_Left      0#define TABTJ_Center    1#define TABTJ_Right     2/* text spacing */#define TABTS_Single    0#define TABTS_1_5       1#define TABTS_Double    2/* test linetype */#define TABTL_NoLine    0#define TABTL_Simple    1#define TABTL_Arrow     2int MITAB_DLL MITAB_STDCALL mitab_c_getlibversion();const char MITAB_DLL * MITAB_STDCALL mitab_c_getlasterrormsg();int MITAB_DLL MITAB_STDCALL mitab_c_getlasterrormsg_vb (char * errormsg, int l);int MITAB_DLL MITAB_STDCALL mitab_c_getlasterrorno();mitab_handle MITAB_DLL MITAB_STDCALL mitab_c_open( const char * filename );void MITAB_DLL MITAB_STDCALL mitab_c_close( mitab_handle handle );mitab_handle MITAB_DLL MITAB_STDCALL mitab_c_create( const char * filename,                                       const char * mif_or_tab,                                       const char * mif_projectiondef,                                       double north, double south,                                       double east, double west );int MITAB_DLL MITAB_STDCALL mitab_c_add_field( mitab_handle handle, const char * field_name,                                 int field_type, int width, int precision,                                  int indexed, int unique );int MITAB_DLL MITAB_STDCALLmitab_c_write_feature( mitab_handle handle, mitab_feature feature );int MITAB_DLL MITAB_STDCALLmitab_c_next_feature_id( mitab_handle handle, int last_feature_id );mitab_feature MITAB_DLL MITAB_STDCALLmitab_c_read_feature( mitab_handle handle, int feature_id );void MITAB_DLL MITAB_STDCALL mitab_c_destroy_feature( mitab_feature );int MITAB_DLL MITAB_STDCALL mitab_c_get_feature_id( mitab_feature );mitab_feature MITAB_DLL MITAB_STDCALLmitab_c_create_feature( mitab_handle, int feature_type );void MITAB_DLL MITAB_STDCALLmitab_c_set_field( mitab_feature, int field_index, const char * value );    void MITAB_DLL MITAB_STDCALLmitab_c_set_text( mitab_feature feature, const char * text );const char MITAB_DLL * MITAB_STDCALLmitab_c_get_text( mitab_feature feature );int MITAB_DLL MITAB_STDCALL mitab_c_get_text_vb( mitab_feature feature, char * text, int l );void MITAB_DLL MITAB_STDCALLmitab_c_set_text_display( mitab_feature feature,                          double angle, double height, double width,                          int fg_color, int bg_color,                          int justification, int spacing, int linetype );double MITAB_DLL MITAB_STDCALLmitab_c_get_text_angle( mitab_feature feature );double MITAB_DLL MITAB_STDCALLmitab_c_get_text_height( mitab_feature feature );double MITAB_DLL MITAB_STDCALLmitab_c_get_text_width( mitab_feature feature );int MITAB_DLL MITAB_STDCALLmitab_c_get_text_fgcolor( mitab_feature feature );int MITAB_DLL MITAB_STDCALLmitab_c_get_text_bgcolor( mitab_feature feature );int MITAB_DLL MITAB_STDCALLmitab_c_get_text_justification( mitab_feature feature );int MITAB_DLL MITAB_STDCALLmitab_c_get_text_spacing( mitab_feature feature );int MITAB_DLL MITAB_STDCALLmitab_c_get_text_linetype( mitab_feature feature );void MITAB_DLL MITAB_STDCALL mitab_c_set_pen( mitab_feature feature,                                int width, int pattern, int color );int MITAB_DLL MITAB_STDCALLmitab_c_get_pen_color( mitab_feature feature );int MITAB_DLL MITAB_STDCALLmitab_c_get_pen_width( mitab_feature feature );int MITAB_DLL MITAB_STDCALLmitab_c_get_pen_pattern( mitab_feature feature );void MITAB_DLL MITAB_STDCALL mitab_c_set_brush( mitab_feature feature,                                  int fg_color, int bg_color, int pattern,                                  int transparent );int MITAB_DLL MITAB_STDCALLmitab_c_get_brush_fgcolor( mitab_feature feature );int MITAB_DLL MITAB_STDCALLmitab_c_get_brush_bgcolor( mitab_feature feature );int MITAB_DLL MITAB_STDCALLmitab_c_get_brush_pattern( mitab_feature feature );int MITAB_DLL MITAB_STDCALLmitab_c_get_brush_transparent( mitab_feature feature );void MITAB_DLL MITAB_STDCALLmitab_c_set_font( mitab_feature feature, const char * font_name );const char MITAB_DLL * MITAB_STDCALLmitab_c_get_font( mitab_feature feature );int MITAB_DLL MITAB_STDCALL mitab_c_get_font_vb( mitab_feature feature, char * font, int l );void MITAB_DLL MITAB_STDCALL mitab_c_set_symbol( mitab_feature feature, int symbol_no,                                   int symbol_size, int symbol_color );int MITAB_DLL MITAB_STDCALLmitab_c_get_symbol_color( mitab_feature feature );int MITAB_DLL MITAB_STDCALLmitab_c_get_symbol_no( mitab_feature feature );int MITAB_DLL MITAB_STDCALLmitab_c_get_symbol_size( mitab_feature feature );void MITAB_DLL MITAB_STDCALL mitab_c_set_points( mitab_feature feature, int part,                                   int vertex_count, double * x, double * y );void MITAB_DLL MITAB_STDCALL mitab_c_set_arc( mitab_feature feature,                                 double center_x, double center_y,                                double x_radius, double y_radius,                                double start_angle, double end_angle);int MITAB_DLL MITAB_STDCALL mitab_c_get_type( mitab_feature feature );int MITAB_DLL MITAB_STDCALL mitab_c_get_parts( mitab_feature feature );int MITAB_DLL MITAB_STDCALL mitab_c_get_vertex_count( mitab_feature feature, int part );double MITAB_DLL MITAB_STDCALL mitab_c_get_vertex_x( mitab_feature, int part, int vertex );double MITAB_DLL MITAB_STDCALL mitab_c_get_vertex_y( mitab_feature, int part, int vertex );int MITAB_DLL MITAB_STDCALL mitab_c_get_feature_count( mitab_handle handle );int MITAB_DLL MITAB_STDCALL mitab_c_get_field_count( mitab_handle handle );int MITAB_DLL MITAB_STDCALL mitab_c_get_field_type( mitab_handle handle, int field );const char MITAB_DLL * MITAB_STDCALL mitab_c_get_field_name(mitab_handle handle, int field);int MITAB_DLL MITAB_STDCALL mitab_c_get_field_name_vb( mitab_handle handle, int field, char * name, int l );int MITAB_DLL MITAB_STDCALL mitab_c_get_field_width( mitab_handle handle, int field );int MITAB_DLL MITAB_STDCALL mitab_c_get_field_precision( mitab_handle handle, int field );const char MITAB_DLL * MITAB_STDCALL mitab_c_get_field_as_string( mitab_feature feature,                                                    int field );double MITAB_DLL MITAB_STDCALL mitab_c_get_field_as_double(mitab_feature feature, int field);int MITAB_DLL MITAB_STDCALL mitab_c_get_field_as_string_vb( mitab_feature feature, int field, char * value, int l );mitab_projinfo MITAB_DLL MITAB_STDCALL mitab_c_get_projinfo( mitab_handle dataset );int            MITAB_DLL MITAB_STDCALL mitab_c_set_projinfo( mitab_handle dataset,                                                mitab_projinfo projinfo );const char MITAB_DLL * MITAB_STDCALL mitab_c_get_mif_coordsys( mitab_handle dataset);const char MITAB_DLL * MITAB_STDCALL mitab_c_get_extended_mif_coordsys( mitab_handle dataset);int MITAB_DLL MITAB_STDCALL mitab_c_get_mif_coordsys_vb( mitab_handle dataset, char * coordsys, int l);int MITAB_DLL MITAB_STDCALL mitab_c_get_extended_mif_coordsys_vb( mitab_handle dataset, char * coordsys, int l);int MITAB_DLL MITAB_STDCALL mitab_c_load_coordsys_table( const char *filename );int MITAB_DLL MITAB_STDCALL mitab_c_is_interior_ring( mitab_feature feature, int requestedringindex );#ifdef __cplusplus}#endif    #endif /* def _MITAB_CAPI_H_INCLUDED */

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -