GDAL
ogr_featurestyle.h
Go to the documentation of this file.
00001 /******************************************************************************
00002  * $Id: ogr_featurestyle.h 36501 2016-11-25 14:09:24Z rouault $
00003  *
00004  * Project:  OpenGIS Simple Features Reference Implementation
00005  * Purpose:  Define of Feature Representation
00006  * Author:   Stephane Villeneuve, stephane.v@videtron.ca
00007  *
00008  ******************************************************************************
00009  * Copyright (c) 1999, Frank Warmerdam
00010  *
00011  * Permission is hereby granted, free of charge, to any person obtaining a
00012  * copy of this software and associated documentation files (the "Software"),
00013  * to deal in the Software without restriction, including without limitation
00014  * the rights to use, copy, modify, merge, publish, distribute, sublicense,
00015  * and/or sell copies of the Software, and to permit persons to whom the
00016  * Software is furnished to do so, subject to the following conditions:
00017  *
00018  * The above copyright notice and this permission notice shall be included
00019  * in all copies or substantial portions of the Software.
00020  *
00021  * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
00022  * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
00023  * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
00024  * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
00025  * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
00026  * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
00027  * DEALINGS IN THE SOFTWARE.
00028  ****************************************************************************/
00029 
00030 #ifndef OGR_FEATURESTYLE_INCLUDE
00031 #define OGR_FEATURESTYLE_INCLUDE
00032 
00033 #include "cpl_conv.h"
00034 #include "cpl_string.h"
00035 #include "ogr_core.h"
00036 
00037 class OGRFeature;
00038 
00045 /*
00046  * All OGRStyleTool param lists are defined in ogr_core.h.
00047  */
00048 
00050 typedef enum ogr_style_type
00051 {
00052     OGRSTypeString,
00053     OGRSTypeDouble,
00054     OGRSTypeInteger,
00055     OGRSTypeBoolean
00056 }  OGRSType;
00057 
00059 typedef struct ogr_style_param
00060 {
00061     int              eParam;
00062     const char       *pszToken;
00063     GBool            bGeoref;
00064     OGRSType         eType;
00065 } OGRStyleParamId;
00066 
00067 typedef struct ogr_style_value
00068 {
00069     char            *pszValue;
00070     double           dfValue;
00071     int              nValue; // Used for both integer and boolean types
00072     GBool            bValid;
00073     OGRSTUnitId      eUnit;
00074 } OGRStyleValue;
00076 
00077 // Every time a pszStyleString given in parameter is NULL,
00078 // the StyleString defined in the Mgr will be use.
00079 
00083 class CPL_DLL OGRStyleTable
00084 {
00085   private:
00086     char **m_papszStyleTable;
00087 
00088     CPLString osLastRequestedStyleName;
00089     int iNextStyle;
00090 
00091   public:
00092     OGRStyleTable();
00093     ~OGRStyleTable();
00094     GBool AddStyle(const char *pszName,const char *pszStyleString);
00095     GBool RemoveStyle(const char *pszName);
00096     GBool ModifyStyle(const char *pszName, const char *pszStyleString);
00097 
00098     GBool SaveStyleTable(const char *pszFilename);
00099     GBool LoadStyleTable(const char *pszFilename);
00100     const char *Find(const char *pszStyleString);
00101     GBool IsExist(const char *pszName);
00102     const char *GetStyleName(const char *pszName);
00103     void  Print(FILE *fpOut);
00104     void  Clear();
00105     OGRStyleTable   *Clone();
00106     void ResetStyleStringReading();
00107     const char *GetNextStyle();
00108     const char *GetLastStyleName();
00109 };
00110 
00111 class OGRStyleTool;
00112 
00116 class CPL_DLL OGRStyleMgr
00117 {
00118   private:
00119     OGRStyleTable   *m_poDataSetStyleTable;
00120     char            *m_pszStyleString;
00121 
00122   public:
00123     explicit OGRStyleMgr(OGRStyleTable *poDataSetStyleTable = NULL);
00124     ~OGRStyleMgr();
00125 
00126     GBool SetFeatureStyleString(OGRFeature *,const char *pszStyleString=NULL,
00127                                 GBool bNoMatching = FALSE);
00128     /* It will set in the given feature the pszStyleString with
00129             the style or will set the style name found in
00130             dataset StyleTable (if bNoMatching == FALSE). */
00131 
00132     const char *InitFromFeature(OGRFeature *);
00133     GBool InitStyleString(const char *pszStyleString = NULL);
00134 
00135     const char *GetStyleName(const char *pszStyleString= NULL);
00136     const char *GetStyleByName(const char *pszStyleName);
00137 
00138     GBool AddStyle(const char *pszStyleName, const char *pszStyleString=NULL);
00139 
00140     const char *GetStyleString(OGRFeature * = NULL);
00141 
00142     GBool AddPart(OGRStyleTool *);
00143     GBool AddPart(const char *);
00144 
00145     int GetPartCount(const char *pszStyleString = NULL);
00146     OGRStyleTool *GetPart(int hPartId, const char *pszStyleString = NULL);
00147 
00148     /* It could have a reference counting process us for the OGRStyleTable, if
00149       needed. */
00151     OGRStyleTable *GetDataSetStyleTable(){return m_poDataSetStyleTable;}
00152 
00153     OGRStyleTool *CreateStyleToolFromStyleString(const char *pszStyleString);
00155 };
00156 
00160 class CPL_DLL OGRStyleTool
00161 {
00162   private:
00163     GBool m_bModified;
00164     GBool m_bParsed;
00165     double m_dfScale;
00166     OGRSTUnitId m_eUnit;
00167     OGRSTClassId m_eClassId;
00168     char *m_pszStyleString;
00169 
00170     virtual GBool Parse() = 0;
00171 
00172   protected:
00173 #ifndef DOXYGEN_SKIP
00174     GBool Parse(const OGRStyleParamId* pasStyle,
00175                 OGRStyleValue* pasValue,
00176                 int nCount);
00177 #endif
00178 
00179   public:
00180 
00181     OGRStyleTool() :
00182         m_bModified(FALSE),
00183         m_bParsed(FALSE),
00184         m_dfScale(0.0),
00185         m_eUnit(OGRSTUGround),
00186         m_eClassId(OGRSTCNone),
00187         m_pszStyleString(NULL)
00188         {}
00189     explicit OGRStyleTool(OGRSTClassId eClassId);
00190     virtual ~OGRStyleTool();
00191 
00192     static GBool GetRGBFromString(const char *pszColor, int &nRed, int &nGreen,
00193                            int &nBlue, int &nTransparence);
00194     static int   GetSpecificId(const char *pszId, const char *pszWanted);
00195 
00196 #ifndef DOXYGEN_SKIP
00197     GBool IsStyleModified() {return m_bModified;}
00198     void  StyleModified() {m_bModified = TRUE;}
00199 
00200     GBool IsStyleParsed() {return m_bParsed;}
00201     void  StyleParsed() {m_bParsed = TRUE;}
00202 #endif
00203 
00204     OGRSTClassId GetType();
00205 
00206 #ifndef DOXYGEN_SKIP
00207     void SetInternalInputUnitFromParam(char *pszString);
00208 #endif
00209 
00210     void SetUnit(OGRSTUnitId,double dfScale = 1.0); //the dfScale will be
00211          //used if we are working with Ground Unit ( ground = paper * scale);
00212 
00213     OGRSTUnitId GetUnit(){return m_eUnit;}
00214 
00215     // There are two way to set the parameters in the Style, with generic
00216     // methods (using a defined enumeration) or with the reel method specific
00217     // for Each style tools.
00218 
00219     virtual const char *GetStyleString() = 0;
00220     void SetStyleString(const char *pszStyleString);
00221     const char *GetStyleString(const OGRStyleParamId *pasStyleParam ,
00222                             OGRStyleValue *pasStyleValue, int nSize);
00223 
00224     const char *GetParamStr(const OGRStyleParamId &sStyleParam ,
00225                             OGRStyleValue &sStyleValue,
00226                             GBool &bValueIsNull);
00227 
00228     int GetParamNum(const OGRStyleParamId &sStyleParam ,
00229                     OGRStyleValue &sStyleValue,
00230                     GBool &bValueIsNull);
00231 
00232     double GetParamDbl(const OGRStyleParamId &sStyleParam ,
00233                        OGRStyleValue &sStyleValue,
00234                        GBool &bValueIsNull);
00235 
00236     void SetParamStr(const OGRStyleParamId &sStyleParam ,
00237                      OGRStyleValue &sStyleValue,
00238                      const char *pszParamString);
00239 
00240     void SetParamNum(const OGRStyleParamId &sStyleParam ,
00241                      OGRStyleValue &sStyleValue,
00242                      int nParam);
00243 
00244     void SetParamDbl(const OGRStyleParamId &sStyleParam ,
00245                      OGRStyleValue &sStyleValue,
00246                      double dfParam);
00247 #ifndef DOXYGEN_SKIP
00248     double ComputeWithUnit(double, OGRSTUnitId);
00249     int    ComputeWithUnit(int , OGRSTUnitId);
00250 #endif
00251 };
00252 
00254 
00258 class CPL_DLL OGRStylePen : public OGRStyleTool
00259 {
00260   private:
00261 
00262     OGRStyleValue    *m_pasStyleValue;
00263 
00264     GBool Parse() CPL_OVERRIDE;
00265 
00266   public:
00267 
00268     OGRStylePen();
00269     virtual ~OGRStylePen();
00270 
00271     /**********************************************************************/
00272     /* Explicit fct for all parameters defined in the Drawing tools  Pen  */
00273     /**********************************************************************/
00274 
00275     const char *Color(GBool &bDefault){return GetParamStr(OGRSTPenColor,bDefault);}
00276     void SetColor(const char *pszColor){SetParamStr(OGRSTPenColor,pszColor);}
00277     double Width(GBool &bDefault){return GetParamDbl(OGRSTPenWidth,bDefault);}
00278     void SetWidth(double dfWidth){SetParamDbl(OGRSTPenWidth,dfWidth);}
00279     const char *Pattern(GBool &bDefault){return (const char *)GetParamStr(OGRSTPenPattern,bDefault);}
00280     void SetPattern(const char *pszPattern){SetParamStr(OGRSTPenPattern,pszPattern);}
00281     const char *Id(GBool &bDefault){return GetParamStr(OGRSTPenId,bDefault);}
00282     void SetId(const char *pszId){SetParamStr(OGRSTPenId,pszId);}
00283     double PerpendicularOffset(GBool &bDefault){return GetParamDbl(OGRSTPenPerOffset,bDefault);}
00284     void SetPerpendicularOffset(double dfPerp){SetParamDbl(OGRSTPenPerOffset,dfPerp);}
00285     const char *Cap(GBool &bDefault){return GetParamStr(OGRSTPenCap,bDefault);}
00286     void SetCap(const char *pszCap){SetParamStr(OGRSTPenCap,pszCap);}
00287     const char *Join(GBool &bDefault){return GetParamStr(OGRSTPenJoin,bDefault);}
00288     void SetJoin(const char *pszJoin){SetParamStr(OGRSTPenJoin,pszJoin);}
00289     int  Priority(GBool &bDefault){return GetParamNum(OGRSTPenPriority,bDefault);}
00290     void SetPriority(int nPriority){SetParamNum(OGRSTPenPriority,nPriority);}
00291 
00292     /*****************************************************************/
00293 
00294     const char *GetParamStr(OGRSTPenParam eParam, GBool &bValueIsNull);
00295     int GetParamNum(OGRSTPenParam eParam,GBool &bValueIsNull);
00296     double GetParamDbl(OGRSTPenParam eParam,GBool &bValueIsNull);
00297     void SetParamStr(OGRSTPenParam eParam, const char *pszParamString);
00298     void SetParamNum(OGRSTPenParam eParam, int nParam);
00299     void SetParamDbl(OGRSTPenParam eParam, double dfParam);
00300     const char *GetStyleString() CPL_OVERRIDE;
00301 };
00302 
00306 class CPL_DLL OGRStyleBrush : public OGRStyleTool
00307 {
00308   private:
00309 
00310     OGRStyleValue    *m_pasStyleValue;
00311 
00312     GBool Parse() CPL_OVERRIDE;
00313 
00314   public:
00315 
00316     OGRStyleBrush();
00317     virtual ~OGRStyleBrush();
00318 
00319     /* Explicit fct for all parameters defined in the Drawing tools Brush */
00320 
00321     const char *ForeColor(GBool &bDefault){return GetParamStr(OGRSTBrushFColor,bDefault);}
00322     void SetForeColor(const char *pszColor){SetParamStr(OGRSTBrushFColor,pszColor);}
00323     const char *BackColor(GBool &bDefault){return GetParamStr(OGRSTBrushBColor,bDefault);}
00324     void SetBackColor(const char *pszColor){SetParamStr(OGRSTBrushBColor,pszColor);}
00325     const char *Id(GBool &bDefault){ return GetParamStr(OGRSTBrushId,bDefault);}
00326     void  SetId(const char *pszId){SetParamStr(OGRSTBrushId,pszId);}
00327     double Angle(GBool &bDefault){return GetParamDbl(OGRSTBrushAngle,bDefault);}
00328     void SetAngle(double dfAngle){SetParamDbl(OGRSTBrushAngle,dfAngle );}
00329     double Size(GBool &bDefault){return GetParamDbl(OGRSTBrushSize,bDefault);}
00330     void SetSize(double dfSize){SetParamDbl(OGRSTBrushSize,dfSize  );}
00331     double SpacingX(GBool &bDefault){return GetParamDbl(OGRSTBrushDx,bDefault);}
00332     void SetSpacingX(double dfX){SetParamDbl(OGRSTBrushDx,dfX );}
00333     double SpacingY(GBool &bDefault){return GetParamDbl(OGRSTBrushDy,bDefault);}
00334     void SetSpacingY(double dfY){SetParamDbl(OGRSTBrushDy,dfY  );}
00335     int  Priority(GBool &bDefault){ return GetParamNum(OGRSTBrushPriority,bDefault);}
00336     void SetPriority(int nPriority){ SetParamNum(OGRSTBrushPriority,nPriority);}
00337 
00338     /*****************************************************************/
00339 
00340      const char *GetParamStr(OGRSTBrushParam eParam, GBool &bValueIsNull);
00341      int GetParamNum(OGRSTBrushParam eParam,GBool &bValueIsNull);
00342      double GetParamDbl(OGRSTBrushParam eParam,GBool &bValueIsNull);
00343      void SetParamStr(OGRSTBrushParam eParam, const char *pszParamString);
00344      void SetParamNum(OGRSTBrushParam eParam, int nParam);
00345      void SetParamDbl(OGRSTBrushParam eParam, double dfParam);
00346      const char *GetStyleString() CPL_OVERRIDE;
00347 };
00348 
00352 class CPL_DLL OGRStyleSymbol : public OGRStyleTool
00353 {
00354   private:
00355 
00356     OGRStyleValue    *m_pasStyleValue;
00357 
00358     GBool Parse() CPL_OVERRIDE;
00359 
00360   public:
00361 
00362     OGRStyleSymbol();
00363     virtual ~OGRStyleSymbol();
00364 
00365     /*****************************************************************/
00366     /* Explicit fct for all parameters defined in the Drawing tools  */
00367     /*****************************************************************/
00368 
00369     const char *Id(GBool &bDefault){return GetParamStr(OGRSTSymbolId,bDefault);}
00370     void  SetId(const char *pszId){ SetParamStr(OGRSTSymbolId,pszId);}
00371     double Angle(GBool &bDefault){ return GetParamDbl(OGRSTSymbolAngle,bDefault);}
00372     void SetAngle(double dfAngle){SetParamDbl(OGRSTSymbolAngle,dfAngle );}
00373     const char *Color(GBool &bDefault){return GetParamStr(OGRSTSymbolColor,bDefault);}
00374     void SetColor(const char *pszColor){SetParamStr(OGRSTSymbolColor,pszColor);}
00375     double Size(GBool &bDefault){  return GetParamDbl(OGRSTSymbolSize,bDefault);}
00376     void SetSize(double dfSize){  SetParamDbl(OGRSTSymbolSize,dfSize  );}
00377     double SpacingX(GBool &bDefault){return GetParamDbl(OGRSTSymbolDx,bDefault);}
00378     void SetSpacingX(double dfX){SetParamDbl(OGRSTSymbolDx,dfX  );}
00379     double SpacingY(GBool &bDefault){return GetParamDbl(OGRSTSymbolDy,bDefault);}
00380     void SetSpacingY(double dfY){SetParamDbl(OGRSTSymbolDy,dfY  );}
00381     double Step(GBool &bDefault){return GetParamDbl(OGRSTSymbolStep,bDefault);}
00382     void SetStep(double dfStep){SetParamDbl(OGRSTSymbolStep,dfStep  );}
00383     double Offset(GBool &bDefault){return GetParamDbl(OGRSTSymbolOffset,bDefault);}
00384     void SetOffset(double dfOffset){SetParamDbl(OGRSTSymbolOffset,dfOffset  );}
00385     double Perp(GBool &bDefault){return GetParamDbl(OGRSTSymbolPerp,bDefault);}
00386     void SetPerp(double dfPerp){SetParamDbl(OGRSTSymbolPerp,dfPerp  );}
00387     int  Priority(GBool &bDefault){return GetParamNum(OGRSTSymbolPriority,bDefault);}
00388     void SetPriority(int nPriority){SetParamNum(OGRSTSymbolPriority,nPriority);}
00389     const char *FontName(GBool &bDefault)
00390         {return GetParamStr(OGRSTSymbolFontName,bDefault);}
00391     void SetFontName(const char *pszFontName)
00392         {SetParamStr(OGRSTSymbolFontName,pszFontName);}
00393     const char *OColor(GBool &bDefault){return GetParamStr(OGRSTSymbolOColor,bDefault);}
00394     void SetOColor(const char *pszColor){SetParamStr(OGRSTSymbolOColor,pszColor);}
00395 
00396     /*****************************************************************/
00397 
00398      const char *GetParamStr(OGRSTSymbolParam eParam, GBool &bValueIsNull);
00399      int GetParamNum(OGRSTSymbolParam eParam,GBool &bValueIsNull);
00400      double GetParamDbl(OGRSTSymbolParam eParam,GBool &bValueIsNull);
00401      void SetParamStr(OGRSTSymbolParam eParam, const char *pszParamString);
00402      void SetParamNum(OGRSTSymbolParam eParam, int nParam);
00403      void SetParamDbl(OGRSTSymbolParam eParam, double dfParam);
00404      const char *GetStyleString() CPL_OVERRIDE;
00405 };
00406 
00410 class CPL_DLL OGRStyleLabel : public OGRStyleTool
00411 {
00412   private:
00413 
00414     OGRStyleValue    *m_pasStyleValue;
00415 
00416     GBool Parse() CPL_OVERRIDE;
00417 
00418   public:
00419 
00420     OGRStyleLabel();
00421     virtual ~OGRStyleLabel();
00422 
00423     /*****************************************************************/
00424     /* Explicit fct for all parameters defined in the Drawing tools  */
00425     /*****************************************************************/
00426 
00427     const char *FontName(GBool &bDefault){return GetParamStr(OGRSTLabelFontName,bDefault);}
00428     void  SetFontName(const char *pszFontName){SetParamStr(OGRSTLabelFontName,pszFontName);}
00429     double Size(GBool &bDefault){return GetParamDbl(OGRSTLabelSize,bDefault);}
00430     void SetSize(double dfSize){SetParamDbl(OGRSTLabelSize,dfSize);}
00431     const char *TextString(GBool &bDefault){return GetParamStr(OGRSTLabelTextString,bDefault);}
00432     void SetTextString(const char *pszTextString){SetParamStr(OGRSTLabelTextString,pszTextString);}
00433     double Angle(GBool &bDefault){return GetParamDbl(OGRSTLabelAngle,bDefault);}
00434     void SetAngle(double dfAngle){SetParamDbl(OGRSTLabelAngle,dfAngle);}
00435     const char *ForeColor(GBool &bDefault){return GetParamStr(OGRSTLabelFColor,bDefault);}
00436     void SetForColor(const char *pszForColor){SetParamStr(OGRSTLabelFColor,pszForColor);}
00437     const char *BackColor(GBool &bDefault){return GetParamStr(OGRSTLabelBColor,bDefault);}
00438     void SetBackColor(const char *pszBackColor){SetParamStr(OGRSTLabelBColor,pszBackColor);}
00439     const char *Placement(GBool &bDefault){return GetParamStr(OGRSTLabelPlacement,bDefault);}
00440     void SetPlacement(const char *pszPlacement){SetParamStr(OGRSTLabelPlacement,pszPlacement);}
00441     int  Anchor(GBool &bDefault){return GetParamNum(OGRSTLabelAnchor,bDefault);}
00442     void SetAnchor(int nAnchor){SetParamNum(OGRSTLabelAnchor,nAnchor);}
00443     double SpacingX(GBool &bDefault){return GetParamDbl(OGRSTLabelDx,bDefault);}
00444     void SetSpacingX(double dfX){SetParamDbl(OGRSTLabelDx,dfX);}
00445     double SpacingY(GBool &bDefault){return GetParamDbl(OGRSTLabelDy,bDefault);}
00446     void SetSpacingY(double dfY){SetParamDbl(OGRSTLabelDy,dfY);}
00447     double Perp(GBool &bDefault){return GetParamDbl(OGRSTLabelPerp,bDefault);}
00448     void SetPerp(double dfPerp){SetParamDbl(OGRSTLabelPerp,dfPerp);}
00449     GBool Bold(GBool &bDefault){return GetParamNum(OGRSTLabelBold,bDefault);}
00450     void SetBold(GBool bBold){SetParamNum(OGRSTLabelBold,bBold);}
00451     GBool Italic(GBool &bDefault){return GetParamNum(OGRSTLabelItalic,bDefault);}
00452     void SetItalic(GBool bItalic){SetParamNum(OGRSTLabelItalic,bItalic);}
00453     GBool Underline(GBool &bDefault){return GetParamNum(OGRSTLabelUnderline,bDefault);}
00454     void SetUnderline(GBool bUnderline){SetParamNum(OGRSTLabelUnderline,bUnderline);}
00455     int  Priority(GBool &bDefault){return GetParamNum(OGRSTLabelPriority,bDefault);}
00456     void SetPriority(int nPriority){SetParamNum(OGRSTLabelPriority,nPriority);}
00457     GBool Strikeout(GBool &bDefault){return GetParamNum(OGRSTLabelStrikeout,bDefault);}
00458     void SetStrikeout(GBool bStrikeout){SetParamNum(OGRSTLabelStrikeout,bStrikeout);}
00459     double Stretch(GBool &bDefault){return GetParamDbl(OGRSTLabelStretch,bDefault);}
00460     void SetStretch(double dfStretch){SetParamDbl(OGRSTLabelStretch,dfStretch);}
00461     const char *AdjustmentHor(GBool &bDefault){return GetParamStr(OGRSTLabelAdjHor,bDefault);}
00462     void SetAdjustmentHor(const char *pszAdjustmentHor){SetParamStr(OGRSTLabelAdjHor,pszAdjustmentHor);}
00463     const char *AdjustmentVert(GBool &bDefault){return GetParamStr(OGRSTLabelAdjVert,bDefault);}
00464     void SetAdjustmentVert(const char *pszAdjustmentVert){SetParamStr(OGRSTLabelAdjHor,pszAdjustmentVert);}
00465     const char *ShadowColor(GBool &bDefault){return GetParamStr(OGRSTLabelHColor,bDefault);}
00466     void SetShadowColor(const char *pszShadowColor){SetParamStr(OGRSTLabelHColor,pszShadowColor);}
00467     const char *OutlineColor(GBool &bDefault){return GetParamStr(OGRSTLabelOColor,bDefault);}
00468     void SetOutlineColor(const char *pszOutlineColor){SetParamStr(OGRSTLabelOColor,pszOutlineColor);}
00469 
00470     /*****************************************************************/
00471 
00472      const char *GetParamStr(OGRSTLabelParam eParam, GBool &bValueIsNull);
00473      int GetParamNum(OGRSTLabelParam eParam,GBool &bValueIsNull);
00474      double GetParamDbl(OGRSTLabelParam eParam,GBool &bValueIsNull);
00475      void SetParamStr(OGRSTLabelParam eParam, const char *pszParamString);
00476      void SetParamNum(OGRSTLabelParam eParam, int nParam);
00477      void SetParamDbl(OGRSTLabelParam eParam, double dfParam);
00478      const char *GetStyleString() CPL_OVERRIDE;
00479 };
00480 
00482 
00483 #endif /* OGR_FEATURESTYLE_INCLUDE */

Generated for GDAL by doxygen 1.7.6.1.