Main Page | Class Hierarchy | Class List | Directories | File List | Class Members | File Members | Related Pages

ogr_featurestyle.h

00001 /******************************************************************************
00002  * $Id: ogr_featurestyle.h,v 1.7 2004/05/11 00:39:43 warmerda Exp $
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  * $Log: ogr_featurestyle.h,v $
00031  * Revision 1.7  2004/05/11 00:39:43  warmerda
00032  * make asStyle*[] using methods non-inline
00033  *
00034  * Revision 1.6  2002/06/25 14:47:31  warmerda
00035  * CPL_DLL export style api
00036  *
00037  * Revision 1.5  2001/03/17 01:43:53  warmerda
00038  * Don't leave in trailing comma in enum (as submitted by Dale).
00039  *
00040  * Revision 1.4  2001/01/19 21:10:47  warmerda
00041  * replaced tabs
00042  *
00043  * Revision 1.3  2000/12/07 03:42:37  danmo
00044  * REmoved stray comma in OGRSType enum defn
00045  *
00046  * Revision 1.2  2000/08/28 20:26:18  svillene
00047  * Add missing virtual ~()
00048  *
00049  * Revision 1.1  2000/08/18 21:26:01  svillene
00050  * OGR Representation
00051  *
00052  *
00053  */
00054 
00055 #ifndef OGR_FEATURESTYLE_INCLUDE
00056 #define OGR_FEATURESTYLE_INCLUDE
00057 
00058 #include "cpl_conv.h"
00059 
00060 class OGRFeature;
00061 
00062 typedef enum ogr_style_tool_class_id
00063 {
00064     OGRSTCNone,
00065     OGRSTCPen,
00066     OGRSTCBrush,
00067     OGRSTCSymbol,
00068     OGRSTCLabel
00069 } OGRSTClassId;
00070 
00071 typedef enum ogr_style_tool_units_id
00072 {
00073     OGRSTUGround,
00074     OGRSTUPixel,
00075     OGRSTUPoints,
00076     OGRSTUMM,
00077     OGRSTUCM,
00078     OGRSTUInches
00079 } OGRSTUnitId;
00080 
00081 typedef enum ogr_style_tool_param_pen_id
00082 {  
00083     OGRSTPenColor = 0,                   
00084     OGRSTPenWidth,                   
00085     OGRSTPenPattern,
00086     OGRSTPenId,
00087     OGRSTPenPerOffset,
00088     OGRSTPenCap,
00089     OGRSTPenJoin,
00090     OGRSTPenPriority,
00091     OGRSTPenLast
00092               
00093 } OGRSTPenParam;
00094 
00095 typedef enum ogr_style_tool_param_brush_id
00096 {  
00097     OGRSTBrushFColor = 0,                   
00098     OGRSTBrushBColor,                   
00099     OGRSTBrushId,
00100     OGRSTBrushAngle,                   
00101     OGRSTBrushSize,
00102     OGRSTBrushDx,
00103     OGRSTBrushDy,
00104     OGRSTBrushPriority,
00105     OGRSTBrushLast
00106               
00107 } OGRSTBrushParam;
00108 
00109 
00110 
00111 typedef enum ogr_style_tool_param_symbol_id
00112 {  
00113     OGRSTSymbolId = 0,
00114     OGRSTSymbolAngle,
00115     OGRSTSymbolColor,
00116     OGRSTSymbolSize,
00117     OGRSTSymbolDx,
00118     OGRSTSymbolDy,
00119     OGRSTSymbolStep,
00120     OGRSTSymbolPerp,
00121     OGRSTSymbolOffset,
00122     OGRSTSymbolPriority,
00123     OGRSTSymbolLast
00124               
00125 } OGRSTSymbolParam;
00126 
00127 typedef enum ogr_style_tool_param_label_id
00128 {  
00129     OGRSTLabelFontName = 0,
00130     OGRSTLabelSize,
00131     OGRSTLabelTextString,
00132     OGRSTLabelAngle,
00133     OGRSTLabelFColor,
00134     OGRSTLabelBColor,
00135     OGRSTLabelPlacement,
00136     OGRSTLabelAnchor,
00137     OGRSTLabelDx,
00138     OGRSTLabelDy,
00139     OGRSTLabelPerp,
00140     OGRSTLabelBold,
00141     OGRSTLabelItalic,
00142     OGRSTLabelUnderline,
00143     OGRSTLabelPriority,
00144     OGRSTLabelLast
00145               
00146 } OGRSTLabelParam;
00147 
00148 typedef enum ogr_style_type
00149 {
00150     OGRSTypeString,
00151     OGRSTypeDouble,
00152     OGRSTypeInteger
00153 }  OGRSType;
00154 
00155 typedef struct ogr_style_param
00156 {
00157     int              eParam;
00158     char            *pszToken;
00159     GBool            bGeoref;
00160     OGRSType         eType;
00161 }OGRStyleParamId;
00162 
00163 
00164 typedef struct ogr_style_value
00165 {
00166     char            *pszValue;
00167     double           dfValue;
00168     int              nValue;
00169     GBool            bValid;
00170     OGRSTUnitId      eUnit;
00171 }OGRStyleValue;
00172 
00173 
00174 //Everytime a pszStyleString gived in parameter is NULL, 
00175 //    the StyleString defined in the Mgr will be use.
00176 
00177 class CPL_DLL OGRStyleTable
00178 {
00179 public:
00180     char **m_papszStyleTable;
00181 
00182     OGRStyleTable();
00183     ~OGRStyleTable();
00184     GBool AddStyle(const char *pszName,const char *pszStyleString);
00185     GBool RemoveStyle(const char *pszName);
00186     GBool ModifyStyle(const char *pszName, const char *pszStyleString);
00187     
00188     GBool SaveStyleTable(const char *pszFilename);
00189     GBool LoadStyleTable(const char *pszFilename);
00190     const char *Find(const char *pszStyleString);
00191     GBool IsExist(const char *pszName);
00192     const char *GetStyleName(const char *pszName);
00193     void  Print(FILE *fpOut);
00194     void  Clear();
00195 };
00196 
00197 
00198 class OGRStyleTool;
00199 
00200 class CPL_DLL OGRStyleMgr
00201 {
00202 public:
00203     char *m_pszStyleString;
00204     OGRStyleTable *m_poDataSetStyleTable;
00205     
00206     OGRStyleMgr(OGRStyleTable *poDataSetStyleTable =NULL);
00207  
00208     ~OGRStyleMgr();
00209     GBool SetFeatureStyleString(OGRFeature *,const char *pszStyleString=NULL,
00210                                 GBool bNoMatching = FALSE);
00211     /*it will set in the gived feature the pszStyleString with 
00212             the style or will set the style name found in 
00213             dataset StyleTable (if bNoMatching == FALSE)*/
00214               
00215     const char *InitFromFeature(OGRFeature *);
00216     GBool InitStyleString(const char *pszStyleString = NULL);
00217     
00218     const char *GetStyleName(const char *pszStyleString= NULL);
00219     const char *GetStyleByName(const char *pszStyleName);
00220     
00221      GBool AddStyle(const char *pszStyleName, const char *pszStyleString=NULL);
00222     
00223     const char *GetStyleString(OGRFeature * = NULL);
00224  
00225     GBool AddPart(OGRStyleTool *);
00226     GBool AddPart(const char *);
00227 
00228     int GetPartCount(const char *pszStyleString = NULL);
00229     OGRStyleTool *GetPart(int hPartId, const char *pszStyleString = NULL);
00230     
00231     /*It could have a reference counting processus for the OGRStyleTable, if
00232       needed */
00233       
00234     OGRStyleTable *GetDataSetStyleTable(){return m_poDataSetStyleTable;}
00235     
00236     OGRStyleTool *CreateStyleToolFromStyleString(const char *pszStyleString);
00237 
00238 };
00239 
00240 class CPL_DLL OGRStyleTool
00241 {
00242 public:
00243     
00244     GBool m_bModified;
00245     GBool m_bParsed;
00246     double m_dfScale;
00247     OGRSTUnitId m_eUnit;
00248     OGRSTClassId m_eClassId;
00249     OGRStyleTool(){}
00250     OGRStyleTool(OGRSTClassId eClassId);
00251     virtual ~OGRStyleTool();
00252 
00253     GBool GetRGBFromString(const char *pszColor, int &nRed, int &nGreen, 
00254                            int &nBlue, int &nTransparence);
00255     int   GetSpecificId(const char *pszId, const char *pszWanted);
00256 
00257     GBool IsStyleModified() {return m_bModified;}
00258     void  StyleModified() {m_bModified = TRUE;}
00259 
00260     GBool IsStyleParsed() {return m_bParsed;}
00261     void  StyleParsed() {m_bParsed = TRUE;}
00262 
00263     char *m_pszStyleString;
00264     
00265     OGRSTClassId GetType();
00266 
00267     void SetInternalInputUnitFromParam(char *pszString);
00268     
00269     void SetUnit(OGRSTUnitId,double dfScale = 1.0); //the dfScale will be
00270          //used if we are working with Ground Unit ( ground = paper * scale);
00271 
00272     OGRSTUnitId GetUnit(){return m_eUnit;}
00273     
00274     /* It's existe two way to set the parameters in the Style, with generic
00275 methodes (using a defined enumeration) or with the reel method specific
00276 for Each style tools.*/
00277     
00278     virtual const char *GetStyleString() = 0;
00279     void SetStyleString(const char *pszStyleString);
00280     const char *GetStyleString(OGRStyleParamId *pasStyleParam ,
00281                             OGRStyleValue *pasStyleValue, int nSize);
00282 
00283     const char *GetParamStr(OGRStyleParamId &sStyleParam ,
00284                             OGRStyleValue &sStyleValue,
00285                             GBool &bValueIsNull);
00286 
00287     int GetParamNum(OGRStyleParamId &sStyleParam ,
00288                        OGRStyleValue &sStyleValue,
00289                        GBool &bValueIsNull);
00290 
00291     double GetParamDbl(OGRStyleParamId &sStyleParam ,
00292                        OGRStyleValue &sStyleValue,
00293                        GBool &bValueIsNull);
00294     
00295     void SetParamStr(OGRStyleParamId &sStyleParam ,
00296                      OGRStyleValue &sStyleValue,
00297                      const char *pszParamString);
00298     
00299     void SetParamNum(OGRStyleParamId &sStyleParam ,
00300                      OGRStyleValue &sStyleValue,
00301                      int nParam);
00302 
00303     void SetParamDbl(OGRStyleParamId &sStyleParam ,
00304                      OGRStyleValue &sStyleValue,
00305                      double dfParam);
00306 
00307     virtual GBool Parse() = 0;
00308     GBool Parse(OGRStyleParamId* pasStyle,
00309                 OGRStyleValue* pasValue,
00310                 int nCount);
00311 
00312     double ComputeWithUnit(double, OGRSTUnitId);
00313     int    ComputeWithUnit(int , OGRSTUnitId);
00314 
00315 };
00316 
00317 extern OGRStyleParamId CPL_DLL asStylePen[];
00318 
00319 class CPL_DLL OGRStylePen : public OGRStyleTool
00320 {
00321 public:
00322 
00323     OGRStyleValue    *m_pasStyleValue;
00324 
00325     OGRStylePen();
00326     virtual ~OGRStylePen(); 
00327 
00328     /**********************************************************************/
00329     /* Explicite fct for all parameters defined in the Drawing tools  Pen */
00330     /**********************************************************************/
00331      
00332     const char *Color(GBool &bDefault){return GetParamStr(OGRSTPenColor,bDefault);}
00333     void SetColor(const char *pszColor){SetParamStr(OGRSTPenColor,pszColor);}
00334     double Width(GBool &bDefault){return GetParamDbl(OGRSTPenWidth,bDefault);}
00335     void SetWidth(double dfWidth){SetParamDbl(OGRSTPenWidth,dfWidth);}
00336     const char *Pattern(GBool &bDefault){return (char *)GetParamStr(OGRSTPenPattern,bDefault);}
00337     void SetPattern(const char *pszPattern){SetParamStr(OGRSTPenPattern,pszPattern);}
00338     const char *Id(GBool &bDefault){return GetParamStr(OGRSTPenId,bDefault);}
00339     void SetId(const char *pszId){SetParamStr(OGRSTPenId,pszId);}
00340     double PerpendicularOffset(GBool &bDefault){return GetParamDbl(OGRSTPenPerOffset,bDefault);}
00341     void SetPerpendicularOffset(double dfPerp){SetParamDbl(OGRSTPenPerOffset,dfPerp);}
00342     const char *Cap(GBool &bDefault){return GetParamStr(OGRSTPenCap,bDefault);}
00343     void SetCap(const char *pszCap){SetParamStr(OGRSTPenCap,pszCap);}
00344     const char *Join(GBool &bDefault){return GetParamStr(OGRSTPenJoin,bDefault);}
00345     void SetJoin(const char *pszJoin){SetParamStr(OGRSTPenJoin,pszJoin);}
00346     int  Priority(GBool &bDefault){return GetParamNum(OGRSTPenPriority,bDefault);}
00347     void SetPriority(int nPriority){SetParamNum(OGRSTPenPriority,nPriority);}
00348     
00349     /*****************************************************************/
00350     
00351     GBool Parse();
00352     const char *GetParamStr(OGRSTPenParam eParam, GBool &bValueIsNull);
00353     int GetParamNum(OGRSTPenParam eParam,GBool &bValueIsNull);
00354     double GetParamDbl(OGRSTPenParam eParam,GBool &bValueIsNull);
00355     void SetParamStr(OGRSTPenParam eParam, const char *pszParamString);
00356     void SetParamNum(OGRSTPenParam eParam, int nParam);
00357     void SetParamDbl(OGRSTPenParam eParam, double dfParam);
00358     const char *GetStyleString();
00359 };
00360 
00361 extern OGRStyleParamId CPL_DLL asStyleBrush[];
00362 
00363 class CPL_DLL OGRStyleBrush : public OGRStyleTool
00364 {
00365 public:
00366 
00367     OGRStyleValue    *m_pasStyleValue;
00368 
00369     OGRStyleBrush();
00370     virtual ~OGRStyleBrush();
00371 
00372     /*a Explicite fct for all parameters defined in the Drawing tools Brush */
00373 
00374     const char *ForeColor(GBool &bDefault){return GetParamStr(OGRSTBrushFColor,bDefault);}
00375     void SetForeColor(const char *pszColor){SetParamStr(OGRSTBrushFColor,pszColor);}
00376     const char *BackColor(GBool &bDefault){return GetParamStr(OGRSTBrushBColor,bDefault);}
00377     void SetBackColor(const char *pszColor){SetParamStr(OGRSTBrushBColor,pszColor);}
00378     const char *Id(GBool &bDefault){ return GetParamStr(OGRSTBrushId,bDefault);}
00379     void  SetId(const char *pszId){SetParamStr(OGRSTBrushId,pszId);}
00380     double Angle(GBool &bDefault){return GetParamDbl(OGRSTBrushAngle,bDefault);}
00381     void SetAngle(double dfAngle){SetParamDbl(OGRSTBrushAngle,dfAngle );}
00382     double Size(GBool &bDefault){return GetParamDbl(OGRSTBrushSize,bDefault);}
00383     void SetSize(double dfSize){SetParamDbl(OGRSTBrushSize,dfSize  );}
00384     double SpacingX(GBool &bDefault){return GetParamDbl(OGRSTBrushDx,bDefault);}
00385     void SetSpacingX(double dfX){SetParamDbl(OGRSTBrushDx,dfX );}
00386     double SpacingY(GBool &bDefault){return GetParamDbl(OGRSTBrushDy,bDefault);}
00387     void SetSpacingY(double dfY){SetParamDbl(OGRSTBrushDy,dfY  );}
00388     int  Priority(GBool &bDefault){ return GetParamNum(OGRSTBrushPriority,bDefault);}
00389     void SetPriority(int nPriority){ SetParamNum(OGRSTBrushPriority,nPriority);}
00390     
00391 
00392     /*****************************************************************/
00393     
00394      GBool Parse();
00395      const char *GetParamStr(OGRSTBrushParam eParam, GBool &bValueIsNull);
00396      int GetParamNum(OGRSTBrushParam eParam,GBool &bValueIsNull);
00397      double GetParamDbl(OGRSTBrushParam eParam,GBool &bValueIsNull);
00398      void SetParamStr(OGRSTBrushParam eParam, const char *pszParamString);
00399      void SetParamNum(OGRSTBrushParam eParam, int nParam);
00400      void SetParamDbl(OGRSTBrushParam eParam, double dfParam);
00401      const char *GetStyleString();
00402 };
00403 
00404 extern OGRStyleParamId CPL_DLL asStyleSymbol[];
00405 
00406 class CPL_DLL OGRStyleSymbol : public OGRStyleTool
00407 {
00408 public:
00409 
00410     OGRStyleValue    *m_pasStyleValue;
00411 
00412     OGRStyleSymbol();
00413     virtual ~OGRStyleSymbol();
00414 
00415     /*****************************************************************/
00416     /* Explicite fct for all parameters defined in the Drawing tools */
00417     /*****************************************************************/
00418     
00419     const char *Id(GBool &bDefault){return GetParamStr(OGRSTSymbolId,bDefault);}
00420     void  SetId(const char *pszId){ SetParamStr(OGRSTSymbolId,pszId);}
00421     double Angle(GBool &bDefault){ return GetParamDbl(OGRSTSymbolAngle,bDefault);}
00422     void SetAngle(double dfAngle){SetParamDbl(OGRSTSymbolAngle,dfAngle );}
00423     const char *Color(GBool &bDefault){return GetParamStr(OGRSTSymbolColor,bDefault);}
00424     void SetColor(const char *pszColor){SetParamStr(OGRSTSymbolColor,pszColor);}
00425     double Size(GBool &bDefault){  return GetParamDbl(OGRSTSymbolSize,bDefault);}
00426     void SetSize(double dfSize){  SetParamDbl(OGRSTSymbolSize,dfSize  );}
00427     double SpacingX(GBool &bDefault){return GetParamDbl(OGRSTSymbolDx,bDefault);}
00428     void SetSpacingX(double dfX){SetParamDbl(OGRSTSymbolDx,dfX  );}
00429     double SpacingY(GBool &bDefault){return GetParamDbl(OGRSTSymbolDy,bDefault);}
00430     void SetSpacingY(double dfY){SetParamDbl(OGRSTSymbolDy,dfY  );}
00431     double Step(GBool &bDefault){return GetParamDbl(OGRSTSymbolStep,bDefault);}
00432     void SetStep(double dfStep){SetParamDbl(OGRSTSymbolStep,dfStep  );}
00433     double Offset(GBool &bDefault){return GetParamDbl(OGRSTSymbolOffset,bDefault);}
00434     void SetOffset(double dfOffset){SetParamDbl(OGRSTSymbolOffset,dfOffset  );}
00435     double Perp(GBool &bDefault){return GetParamDbl(OGRSTSymbolPerp,bDefault);}
00436     void SetPerp(double dfPerp){SetParamDbl(OGRSTSymbolPerp,dfPerp  );}  
00437     int  Priority(GBool &bDefault){return GetParamNum(OGRSTSymbolPriority,bDefault);}
00438     void SetPriority(int nPriority){SetParamNum(OGRSTSymbolPriority,nPriority);}
00439     
00440 
00441 
00442     /*****************************************************************/
00443     
00444      GBool Parse();
00445      const char *GetParamStr(OGRSTSymbolParam eParam, GBool &bValueIsNull);
00446      int GetParamNum(OGRSTSymbolParam eParam,GBool &bValueIsNull);
00447      double GetParamDbl(OGRSTSymbolParam eParam,GBool &bValueIsNull);
00448      void SetParamStr(OGRSTSymbolParam eParam, const char *pszParamString);
00449      void SetParamNum(OGRSTSymbolParam eParam, int nParam);
00450      void SetParamDbl(OGRSTSymbolParam eParam, double dfParam);
00451      const char *GetStyleString();
00452 };
00453 
00454 extern OGRStyleParamId CPL_DLL asStyleLabel[];
00455 
00456 class CPL_DLL OGRStyleLabel : public OGRStyleTool
00457 {
00458 public:
00459 
00460     OGRStyleValue    *m_pasStyleValue;
00461 
00462     OGRStyleLabel();
00463     virtual ~OGRStyleLabel();
00464 
00465     /*****************************************************************/
00466     /* Explicite fct for all parameters defined in the Drawing tools */
00467     /*****************************************************************/
00468     
00469     const char *FontName(GBool &bDefault){return GetParamStr(OGRSTLabelFontName,bDefault);}
00470     void  SetFontName(const char *pszFontName){SetParamStr(OGRSTLabelFontName,pszFontName);}
00471     double Size(GBool &bDefault){return GetParamDbl(OGRSTLabelSize,bDefault);}
00472     void SetSize(double dfSize){SetParamDbl(OGRSTLabelSize,dfSize);}
00473     const char *TextString(GBool &bDefault){return GetParamStr(OGRSTLabelTextString,bDefault);}
00474     void SetTextString(const char *pszTextString){SetParamStr(OGRSTLabelTextString,pszTextString);}
00475     double Angle(GBool &bDefault){return GetParamDbl(OGRSTLabelAngle,bDefault);}
00476     void SetAngle(double dfAngle){SetParamDbl(OGRSTLabelAngle,dfAngle);}
00477     const char *ForeColor(GBool &bDefault){return GetParamStr(OGRSTLabelFColor,bDefault);}
00478     void SetForColor(const char *pszForColor){SetParamStr(OGRSTLabelFColor,pszForColor);}
00479     const char *BackColor(GBool &bDefault){return GetParamStr(OGRSTLabelBColor,bDefault);}
00480     void SetBackColor(const char *pszBackColor){SetParamStr(OGRSTLabelBColor,pszBackColor);}
00481     const char *Placement(GBool &bDefault){return GetParamStr(OGRSTLabelPlacement,bDefault);}
00482     void SetPlacement(const char *pszPlacement){SetParamStr(OGRSTLabelPlacement,pszPlacement);}
00483     int  Anchor(GBool &bDefault){return GetParamNum(OGRSTLabelAnchor,bDefault);}
00484     void SetAnchor(int nAnchor){SetParamNum(OGRSTLabelAnchor,nAnchor);}
00485     double SpacingX(GBool &bDefault){return GetParamDbl(OGRSTLabelDx,bDefault);}
00486     void SetSpacingX(double dfX){SetParamDbl(OGRSTLabelDx,dfX);}
00487     double SpacingY(GBool &bDefault){return GetParamDbl(OGRSTLabelDy,bDefault);}
00488     void SetSpacingY(double dfY){SetParamDbl(OGRSTLabelDy,dfY);}
00489     double Perp(GBool &bDefault){return GetParamDbl(OGRSTLabelPerp,bDefault);}
00490     void SetPerp(double dfPerp){SetParamDbl(OGRSTLabelPerp,dfPerp);}  
00491     GBool Bold(GBool &bDefault){return GetParamNum(OGRSTLabelBold,bDefault);}
00492     void SetBold(GBool bBold){SetParamNum(OGRSTLabelBold,bBold);}
00493     GBool Italic(GBool &bDefault){return GetParamNum(OGRSTLabelItalic,bDefault);}
00494     void SetItalic(GBool bItalic){SetParamNum(OGRSTLabelItalic,bItalic);}
00495     GBool Underline(GBool &bDefault){return GetParamNum(OGRSTLabelUnderline,bDefault);}
00496     void SetUnderline(GBool bUnderline){SetParamNum(OGRSTLabelUnderline,bUnderline);}
00497     int  Priority(GBool &bDefault){return GetParamNum(OGRSTLabelPriority,bDefault);}
00498     void SetPriority(int nPriority){SetParamNum(OGRSTLabelPriority,nPriority);}
00499     
00500     /*****************************************************************/
00501     
00502      GBool Parse();
00503      const char *GetParamStr(OGRSTLabelParam eParam, GBool &bValueIsNull);
00504      int GetParamNum(OGRSTLabelParam eParam,GBool &bValueIsNull);
00505      double GetParamDbl(OGRSTLabelParam eParam,GBool &bValueIsNull);
00506      void SetParamStr(OGRSTLabelParam eParam, const char *pszParamString);
00507      void SetParamNum(OGRSTLabelParam eParam, int nParam);
00508      void SetParamDbl(OGRSTLabelParam eParam, double dfParam);
00509      const char *GetStyleString();
00510 };
00511 
00512 #endif
00513 
00514 
00515 
00516 
00517 
00518 
00519 
00520 
00521 
00522 
00523 
00524 
00525 
00526 

Generated on Tue Mar 15 07:12:56 2005 for OGR by  doxygen 1.4.0