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

📄 ogr_featurestyle.h

📁 在linux环境下
💻 H
📖 第 1 页 / 共 2 页
字号:
/****************************************************************************** * $Id: ogr_featurestyle.h,v 1.8 2004/12/02 18:24:12 fwarmerdam 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.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} 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,    OGRSTLabelLast              } OGRSTLabelParam;typedef enum ogr_style_type{    OGRSTypeString,    OGRSTypeDouble,    OGRSTypeInteger}  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;    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{public:    char **m_papszStyleTable;    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();};class OGRStyleTool;class CPL_DLL OGRStyleMgr{public:    char *m_pszStyleString;    OGRStyleTable *m_poDataSetStyleTable;        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{public:        GBool m_bModified;    GBool m_bParsed;    double m_dfScale;    OGRSTUnitId m_eUnit;    OGRSTClassId m_eClassId;    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;}    char *m_pszStyleString;

⌨️ 快捷键说明

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