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

📄 ogr_featurestyle.h

📁 这是我已经编译好的GDAL1.4的所有文件
💻 H
📖 第 1 页 / 共 2 页
字号:
/****************************************************************************** * $Id: ogr_featurestyle.h,v 1.14 2006/12/13 18:53:29 dron Exp $ * * Project:  OpenGIS Simple Features Reference Implementation * Purpose:  Define of Feature Representation * Author:   Stephane Villeneuve, stephane.v@videtron.ca * ****************************************************************************** * Copyright (c) 1999, 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: ogr_featurestyle.h,v $ * Revision 1.14  2006/12/13 18:53:29  dron * Added OGRStyleTable::Clone() method. * * Revision 1.13  2006/12/12 17:14:29  dron * Fixed method names in OGRStyleVector interface. * * Revision 1.12  2006/11/16 18:57:24  dron * Make Parse() method private. * * Revision 1.11  2006/11/16 11:58:40  dron * In all classes: move data properties in private section. * * Revision 1.10  2006/10/09 13:01:23  dron * Added OGRSTypeBoolean type to the list of OGRSType types. * * Revision 1.9  2006/09/23 15:27:52  dron * Added new label styles:  'w', 'st', 'h', 'm:h', 'm:a', 'p:{10,11,12}'. * * Revision 1.8  2004/12/02 18:24:12  fwarmerdam * added support for fontname on symbol, per bug 684 * * Revision 1.7  2004/05/11 00:39:43  warmerda * make asStyle*[] using methods non-inline * * Revision 1.6  2002/06/25 14:47:31  warmerda * CPL_DLL export style api * * Revision 1.5  2001/03/17 01:43:53  warmerda * Don't leave in trailing comma in enum (as submitted by Dale). * * Revision 1.4  2001/01/19 21:10:47  warmerda * replaced tabs * * Revision 1.3  2000/12/07 03:42:37  danmo * REmoved stray comma in OGRSType enum defn * * Revision 1.2  2000/08/28 20:26:18  svillene * Add missing virtual ~() * * Revision 1.1  2000/08/18 21:26:01  svillene * OGR Representation * * */#ifndef OGR_FEATURESTYLE_INCLUDE#define OGR_FEATURESTYLE_INCLUDE#include "cpl_conv.h"class OGRFeature;typedef enum ogr_style_tool_class_id{    OGRSTCNone,    OGRSTCPen,    OGRSTCBrush,    OGRSTCSymbol,    OGRSTCLabel,    OGRSTCVector} OGRSTClassId;typedef enum ogr_style_tool_units_id{    OGRSTUGround,    OGRSTUPixel,    OGRSTUPoints,    OGRSTUMM,    OGRSTUCM,    OGRSTUInches} OGRSTUnitId;typedef enum ogr_style_tool_param_pen_id{      OGRSTPenColor = 0,                       OGRSTPenWidth,                       OGRSTPenPattern,    OGRSTPenId,    OGRSTPenPerOffset,    OGRSTPenCap,    OGRSTPenJoin,    OGRSTPenPriority,    OGRSTPenLast              } OGRSTPenParam;typedef enum ogr_style_tool_param_brush_id{      OGRSTBrushFColor = 0,                       OGRSTBrushBColor,                       OGRSTBrushId,    OGRSTBrushAngle,                       OGRSTBrushSize,    OGRSTBrushDx,    OGRSTBrushDy,    OGRSTBrushPriority,    OGRSTBrushLast              } OGRSTBrushParam;typedef enum ogr_style_tool_param_symbol_id{      OGRSTSymbolId = 0,    OGRSTSymbolAngle,    OGRSTSymbolColor,    OGRSTSymbolSize,    OGRSTSymbolDx,    OGRSTSymbolDy,    OGRSTSymbolStep,    OGRSTSymbolPerp,    OGRSTSymbolOffset,    OGRSTSymbolPriority,    OGRSTSymbolFontName,    OGRSTSymbolLast              } OGRSTSymbolParam;typedef enum ogr_style_tool_param_label_id{      OGRSTLabelFontName = 0,    OGRSTLabelSize,    OGRSTLabelTextString,    OGRSTLabelAngle,    OGRSTLabelFColor,    OGRSTLabelBColor,    OGRSTLabelPlacement,    OGRSTLabelAnchor,    OGRSTLabelDx,    OGRSTLabelDy,    OGRSTLabelPerp,    OGRSTLabelBold,    OGRSTLabelItalic,    OGRSTLabelUnderline,    OGRSTLabelPriority,    OGRSTLabelStrikeout,    OGRSTLabelStretch,    OGRSTLabelAdjHor,    OGRSTLabelAdjVert,    OGRSTLabelHColor,    OGRSTLabelLast              } OGRSTLabelParam;typedef enum ogr_style_tool_param_vector_id{      OGRSTVectorId = 0,    OGRSTVectorNoCompress,    OGRSTVectorSprain,    OGRSTVectorNoSlope,    OGRSTVectorMirroring,    OGRSTVectorCentering,    OGRSTVectorPriority,    OGRSTVectorLast              } OGRSTVectorParam;typedef enum ogr_style_type{    OGRSTypeString,    OGRSTypeDouble,    OGRSTypeInteger,    OGRSTypeBoolean}  OGRSType;typedef struct ogr_style_param{    int              eParam;    char            *pszToken;    GBool            bGeoref;    OGRSType         eType;}OGRStyleParamId;typedef struct ogr_style_value{    char            *pszValue;    double           dfValue;    int              nValue; // Used for both integer and boolean types    GBool            bValid;    OGRSTUnitId      eUnit;}OGRStyleValue;//Everytime a pszStyleString gived in parameter is NULL, //    the StyleString defined in the Mgr will be use.class CPL_DLL OGRStyleTable{  private:    char **m_papszStyleTable;  public:    OGRStyleTable();    ~OGRStyleTable();    GBool AddStyle(const char *pszName,const char *pszStyleString);    GBool RemoveStyle(const char *pszName);    GBool ModifyStyle(const char *pszName, const char *pszStyleString);        GBool SaveStyleTable(const char *pszFilename);    GBool LoadStyleTable(const char *pszFilename);    const char *Find(const char *pszStyleString);    GBool IsExist(const char *pszName);    const char *GetStyleName(const char *pszName);    void  Print(FILE *fpOut);    void  Clear();    OGRStyleTable   *Clone();};class OGRStyleTool;class CPL_DLL OGRStyleMgr{  private:    OGRStyleTable   *m_poDataSetStyleTable;    char            *m_pszStyleString;  public:    OGRStyleMgr(OGRStyleTable *poDataSetStyleTable = NULL);    ~OGRStyleMgr();    GBool SetFeatureStyleString(OGRFeature *,const char *pszStyleString=NULL,                                GBool bNoMatching = FALSE);    /*it will set in the gived feature the pszStyleString with             the style or will set the style name found in             dataset StyleTable (if bNoMatching == FALSE)*/                  const char *InitFromFeature(OGRFeature *);    GBool InitStyleString(const char *pszStyleString = NULL);        const char *GetStyleName(const char *pszStyleString= NULL);    const char *GetStyleByName(const char *pszStyleName);        GBool AddStyle(const char *pszStyleName, const char *pszStyleString=NULL);        const char *GetStyleString(OGRFeature * = NULL);     GBool AddPart(OGRStyleTool *);    GBool AddPart(const char *);    int GetPartCount(const char *pszStyleString = NULL);    OGRStyleTool *GetPart(int hPartId, const char *pszStyleString = NULL);        /*It could have a reference counting processus for the OGRStyleTable, if      needed */          OGRStyleTable *GetDataSetStyleTable(){return m_poDataSetStyleTable;}        OGRStyleTool *CreateStyleToolFromStyleString(const char *pszStyleString);};class CPL_DLL OGRStyleTool{  private:    GBool m_bModified;    GBool m_bParsed;    double m_dfScale;    OGRSTUnitId m_eUnit;    OGRSTClassId m_eClassId;    char *m_pszStyleString;    virtual GBool Parse() = 0;  protected:    GBool Parse(OGRStyleParamId* pasStyle,                OGRStyleValue* pasValue,                int nCount);  public:        OGRStyleTool(){}    OGRStyleTool(OGRSTClassId eClassId);    virtual ~OGRStyleTool();    GBool GetRGBFromString(const char *pszColor, int &nRed, int &nGreen,                            int &nBlue, int &nTransparence);    int   GetSpecificId(const char *pszId, const char *pszWanted);    GBool IsStyleModified() {return m_bModified;}    void  StyleModified() {m_bModified = TRUE;}    GBool IsStyleParsed() {return m_bParsed;}    void  StyleParsed() {m_bParsed = TRUE;}

⌨️ 快捷键说明

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