00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025
00026
00027
00028
00029
00030
00031
00032
00033
00034
00035
00036
00037
00038
00039
00040
00041
00042
00043
00044
00045
00046
00047
00048
00049
00050
00051
00052
#ifndef OGR_FEATURESTYLE_INCLUDE
00053
#define OGR_FEATURESTYLE_INCLUDE
00054
00055
#include "cpl_conv.h"
00056
00057
class OGRFeature;
00058
00059
typedef enum ogr_style_tool_class_id
00060 {
00061 OGRSTCNone,
00062 OGRSTCPen,
00063 OGRSTCBrush,
00064 OGRSTCSymbol,
00065 OGRSTCLabel
00066 } OGRSTClassId;
00067
00068
typedef enum ogr_style_tool_units_id
00069 {
00070 OGRSTUGround,
00071 OGRSTUPixel,
00072 OGRSTUPoints,
00073 OGRSTUMM,
00074 OGRSTUCM,
00075 OGRSTUInches
00076 } OGRSTUnitId;
00077
00078
typedef enum ogr_style_tool_param_pen_id
00079 {
00080 OGRSTPenColor = 0,
00081 OGRSTPenWidth,
00082 OGRSTPenPattern,
00083 OGRSTPenId,
00084 OGRSTPenPerOffset,
00085 OGRSTPenCap,
00086 OGRSTPenJoin,
00087 OGRSTPenPriority,
00088 OGRSTPenLast
00089
00090 } OGRSTPenParam;
00091
00092
typedef enum ogr_style_tool_param_brush_id
00093 {
00094 OGRSTBrushFColor = 0,
00095 OGRSTBrushBColor,
00096 OGRSTBrushId,
00097 OGRSTBrushAngle,
00098 OGRSTBrushSize,
00099 OGRSTBrushDx,
00100 OGRSTBrushDy,
00101 OGRSTBrushPriority,
00102 OGRSTBrushLast
00103
00104 } OGRSTBrushParam;
00105
00106
00107
00108
typedef enum ogr_style_tool_param_symbol_id
00109 {
00110 OGRSTSymbolId = 0,
00111 OGRSTSymbolAngle,
00112 OGRSTSymbolColor,
00113 OGRSTSymbolSize,
00114 OGRSTSymbolDx,
00115 OGRSTSymbolDy,
00116 OGRSTSymbolStep,
00117 OGRSTSymbolPerp,
00118 OGRSTSymbolOffset,
00119 OGRSTSymbolPriority,
00120 OGRSTSymbolLast
00121
00122 } OGRSTSymbolParam;
00123
00124
typedef enum ogr_style_tool_param_label_id
00125 {
00126 OGRSTLabelFontName = 0,
00127 OGRSTLabelSize,
00128 OGRSTLabelTextString,
00129 OGRSTLabelAngle,
00130 OGRSTLabelFColor,
00131 OGRSTLabelBColor,
00132 OGRSTLabelPlacement,
00133 OGRSTLabelAnchor,
00134 OGRSTLabelDx,
00135 OGRSTLabelDy,
00136 OGRSTLabelPerp,
00137 OGRSTLabelBold,
00138 OGRSTLabelItalic,
00139 OGRSTLabelUnderline,
00140 OGRSTLabelPriority,
00141 OGRSTLabelLast
00142
00143 } OGRSTLabelParam;
00144
00145
typedef enum ogr_style_type
00146 {
00147 OGRSTypeString,
00148 OGRSTypeDouble,
00149 OGRSTypeInteger
00150 } OGRSType;
00151
00152
typedef struct ogr_style_param
00153 {
00154
int eParam;
00155
char *pszToken;
00156 GBool bGeoref;
00157 OGRSType eType;
00158 }OGRStyleParamId;
00159
00160
00161
typedef struct ogr_style_value
00162 {
00163
char *pszValue;
00164
double dfValue;
00165
int nValue;
00166 GBool bValid;
00167 OGRSTUnitId eUnit;
00168 }OGRStyleValue;
00169
00170
00171
00172
00173
00174
class CPL_DLL OGRStyleTable
00175 {
00176
public:
00177
char **m_papszStyleTable;
00178
00179 OGRStyleTable();
00180 ~OGRStyleTable();
00181 GBool AddStyle(
const char *pszName,
const char *pszStyleString);
00182 GBool RemoveStyle(
const char *pszName);
00183 GBool ModifyStyle(
const char *pszName,
const char *pszStyleString);
00184
00185 GBool SaveStyleTable(
const char *pszFilename);
00186 GBool LoadStyleTable(
const char *pszFilename);
00187
const char *Find(
const char *pszStyleString);
00188 GBool IsExist(
const char *pszName);
00189
const char *GetStyleName(
const char *pszName);
00190
void Print(FILE *fpOut);
00191
void Clear();
00192 };
00193
00194
00195
class OGRStyleTool;
00196
00197
class CPL_DLL OGRStyleMgr
00198 {
00199
public:
00200
char *m_pszStyleString;
00201 OGRStyleTable *m_poDataSetStyleTable;
00202
00203 OGRStyleMgr(OGRStyleTable *poDataSetStyleTable =NULL);
00204
00205 ~OGRStyleMgr();
00206 GBool SetFeatureStyleString(
OGRFeature *,
const char *pszStyleString=NULL,
00207 GBool bNoMatching = FALSE);
00208
00209
00210
00211
00212
const char *InitFromFeature(
OGRFeature *);
00213 GBool InitStyleString(
const char *pszStyleString = NULL);
00214
00215
const char *GetStyleName(
const char *pszStyleString= NULL);
00216
const char *GetStyleByName(
const char *pszStyleName);
00217
00218 GBool AddStyle(
const char *pszStyleName,
const char *pszStyleString=NULL);
00219
00220
const char *GetStyleString(
OGRFeature * = NULL);
00221
00222 GBool AddPart(OGRStyleTool *);
00223 GBool AddPart(
const char *);
00224
00225
int GetPartCount(
const char *pszStyleString = NULL);
00226 OGRStyleTool *GetPart(
int hPartId,
const char *pszStyleString = NULL);
00227
00228
00229
00230
00231 OGRStyleTable *GetDataSetStyleTable(){
return m_poDataSetStyleTable;}
00232
00233 OGRStyleTool *CreateStyleToolFromStyleString(
const char *pszStyleString);
00234
00235 };
00236
00237
class CPL_DLL OGRStyleTool
00238 {
00239
public:
00240
00241 GBool m_bModified;
00242 GBool m_bParsed;
00243
double m_dfScale;
00244 OGRSTUnitId m_eUnit;
00245 OGRSTClassId m_eClassId;
00246 OGRStyleTool(){}
00247 OGRStyleTool(OGRSTClassId eClassId);
00248
virtual ~OGRStyleTool();
00249
00250 GBool GetRGBFromString(
const char *pszColor,
int &nRed,
int &nGreen,
00251
int &nBlue,
int &nTransparence);
00252
int GetSpecificId(
const char *pszId,
const char *pszWanted);
00253
00254 GBool IsStyleModified() {
return m_bModified;}
00255
void StyleModified() {m_bModified = TRUE;}
00256
00257 GBool IsStyleParsed() {
return m_bParsed;}
00258
void StyleParsed() {m_bParsed = TRUE;}
00259
00260
char *m_pszStyleString;
00261
00262 OGRSTClassId GetType();
00263
00264
void SetInternalInputUnitFromParam(
char *pszString);
00265
00266
void SetUnit(OGRSTUnitId,
double dfScale = 1.0);
00267
00268
00269 OGRSTUnitId GetUnit(){
return m_eUnit;}
00270
00271
00272
00273
00274
00275
virtual const char *GetStyleString() = 0;
00276
void SetStyleString(
const char *pszStyleString);
00277
const char *GetStyleString(OGRStyleParamId *pasStyleParam ,
00278 OGRStyleValue *pasStyleValue,
int nSize);
00279
00280
const char *GetParamStr(OGRStyleParamId &sStyleParam ,
00281 OGRStyleValue &sStyleValue,
00282 GBool &bValueIsNull);
00283
00284
int GetParamNum(OGRStyleParamId &sStyleParam ,
00285 OGRStyleValue &sStyleValue,
00286 GBool &bValueIsNull);
00287
00288
double GetParamDbl(OGRStyleParamId &sStyleParam ,
00289 OGRStyleValue &sStyleValue,
00290 GBool &bValueIsNull);
00291
00292
void SetParamStr(OGRStyleParamId &sStyleParam ,
00293 OGRStyleValue &sStyleValue,
00294
const char *pszParamString);
00295
00296
void SetParamNum(OGRStyleParamId &sStyleParam ,
00297 OGRStyleValue &sStyleValue,
00298
int nParam);
00299
00300
void SetParamDbl(OGRStyleParamId &sStyleParam ,
00301 OGRStyleValue &sStyleValue,
00302
double dfParam);
00303
00304
virtual GBool Parse() = 0;
00305 GBool Parse(OGRStyleParamId* pasStyle,
00306 OGRStyleValue* pasValue,
00307
int nCount);
00308
00309
double ComputeWithUnit(
double, OGRSTUnitId);
00310
int ComputeWithUnit(
int , OGRSTUnitId);
00311
00312 };
00313
00314
extern OGRStyleParamId CPL_DLL asStylePen[];
00315
00316
class CPL_DLL OGRStylePen :
public OGRStyleTool
00317 {
00318
public:
00319
00320 OGRStyleValue *m_pasStyleValue;
00321
00322 OGRStylePen();
00323
virtual ~OGRStylePen();
00324
00325
00326
00327
00328
00329
const char *Color(GBool &bDefault){
return GetParamStr(OGRSTPenColor,bDefault);}
00330
void SetColor(
const char *pszColor){SetParamStr(OGRSTPenColor,pszColor);}
00331
double Width(GBool &bDefault){
return GetParamDbl(OGRSTPenWidth,bDefault);}
00332
void SetWidth(
double dfWidth){SetParamDbl(OGRSTPenWidth,dfWidth);}
00333
const char *Pattern(GBool &bDefault){
return (
char *)GetParamStr(OGRSTPenPattern,bDefault);}
00334
void SetPattern(
const char *pszPattern){SetParamStr(OGRSTPenPattern,pszPattern);}
00335
const char *Id(GBool &bDefault){
return GetParamStr(OGRSTPenId,bDefault);}
00336
void SetId(
const char *pszId){SetParamStr(OGRSTPenId,pszId);}
00337
double PerpendicularOffset(GBool &bDefault){
return GetParamDbl(OGRSTPenPerOffset,bDefault);}
00338
void SetPerpendicularOffset(
double dfPerp){SetParamDbl(OGRSTPenPerOffset,dfPerp);}
00339
const char *Cap(GBool &bDefault){
return GetParamStr(OGRSTPenCap,bDefault);}
00340
void SetCap(
const char *pszCap){SetParamStr(OGRSTPenCap,pszCap);}
00341
const char *Join(GBool &bDefault){
return GetParamStr(OGRSTPenJoin,bDefault);}
00342
void SetJoin(
const char *pszJoin){SetParamStr(OGRSTPenJoin,pszJoin);}
00343
int Priority(GBool &bDefault){
return GetParamNum(OGRSTPenPriority,bDefault);}
00344
void SetPriority(
int nPriority){SetParamNum(OGRSTPenPriority,nPriority);}
00345
00346
00347
00348
inline GBool Parse()
00349 {
return OGRStyleTool::Parse(asStylePen,m_pasStyleValue,(
int)OGRSTPenLast);
00350 }
00351
00352
inline const char *GetParamStr(OGRSTPenParam eParam, GBool &bValueIsNull)
00353 {
return OGRStyleTool::GetParamStr(asStylePen[eParam],
00354 m_pasStyleValue[eParam],
00355 bValueIsNull);
00356 }
00357
inline int GetParamNum(OGRSTPenParam eParam,GBool &bValueIsNull)
00358 {
return OGRStyleTool::GetParamNum(asStylePen[eParam],
00359 m_pasStyleValue[eParam],bValueIsNull);
00360 }
00361
inline double GetParamDbl(OGRSTPenParam eParam,GBool &bValueIsNull)
00362 {
return OGRStyleTool::GetParamDbl(asStylePen[eParam],
00363 m_pasStyleValue[eParam],bValueIsNull);
00364 }
00365
inline void SetParamStr(OGRSTPenParam eParam,
const char *pszParamString)
00366 { OGRStyleTool::SetParamStr(asStylePen[eParam],m_pasStyleValue[eParam],
00367 pszParamString);
00368 }
00369
inline void SetParamNum(OGRSTPenParam eParam,
int nParam)
00370 { OGRStyleTool::SetParamNum(asStylePen[eParam],
00371 m_pasStyleValue[eParam],nParam);
00372 }
00373
00374
inline void SetParamDbl(OGRSTPenParam eParam,
double dfParam)
00375 { OGRStyleTool::SetParamDbl(asStylePen[eParam],
00376 m_pasStyleValue[eParam],dfParam);
00377 }
00378
inline const char *GetStyleString()
00379 {
return OGRStyleTool::GetStyleString(asStylePen,m_pasStyleValue,
00380 (
int)OGRSTPenLast);
00381 }
00382
00383 };
00384
00385
extern OGRStyleParamId CPL_DLL asStyleBrush[];
00386
00387
class CPL_DLL OGRStyleBrush :
public OGRStyleTool
00388 {
00389
public:
00390
00391 OGRStyleValue *m_pasStyleValue;
00392
00393 OGRStyleBrush();
00394
virtual ~OGRStyleBrush();
00395
00396
00397
00398
const char *ForeColor(GBool &bDefault){
return GetParamStr(OGRSTBrushFColor,bDefault);}
00399
void SetForeColor(
const char *pszColor){SetParamStr(OGRSTBrushFColor,pszColor);}
00400
const char *BackColor(GBool &bDefault){
return GetParamStr(OGRSTBrushBColor,bDefault);}
00401
void SetBackColor(
const char *pszColor){SetParamStr(OGRSTBrushBColor,pszColor);}
00402
const char *Id(GBool &bDefault){
return GetParamStr(OGRSTBrushId,bDefault);}
00403
void SetId(
const char *pszId){SetParamStr(OGRSTBrushId,pszId);}
00404
double Angle(GBool &bDefault){
return GetParamDbl(OGRSTBrushAngle,bDefault);}
00405
void SetAngle(
double dfAngle){SetParamDbl(OGRSTBrushAngle,dfAngle );}
00406
double Size(GBool &bDefault){
return GetParamDbl(OGRSTBrushSize,bDefault);}
00407
void SetSize(
double dfSize){SetParamDbl(OGRSTBrushSize,dfSize );}
00408
double SpacingX(GBool &bDefault){
return GetParamDbl(OGRSTBrushDx,bDefault);}
00409
void SetSpacingX(
double dfX){SetParamDbl(OGRSTBrushDx,dfX );}
00410
double SpacingY(GBool &bDefault){
return GetParamDbl(OGRSTBrushDy,bDefault);}
00411
void SetSpacingY(
double dfY){SetParamDbl(OGRSTBrushDy,dfY );}
00412
int Priority(GBool &bDefault){
return GetParamNum(OGRSTBrushPriority,bDefault);}
00413
void SetPriority(
int nPriority){ SetParamNum(OGRSTBrushPriority,nPriority);}
00414
00415
00416
00417
00418
inline GBool Parse()
00419 {
return OGRStyleTool::Parse(asStyleBrush,m_pasStyleValue,
00420 (
int)OGRSTBrushLast);
00421 }
00422
00423
inline const char *GetParamStr(OGRSTBrushParam eParam, GBool &bValueIsNull)
00424 {
return OGRStyleTool::GetParamStr(asStyleBrush[eParam],
00425 m_pasStyleValue[eParam],
00426 bValueIsNull);
00427 }
00428
inline int GetParamNum(OGRSTBrushParam eParam,GBool &bValueIsNull)
00429 {
return OGRStyleTool::GetParamNum(asStyleBrush[eParam],
00430 m_pasStyleValue[eParam],bValueIsNull);
00431 }
00432
inline double GetParamDbl(OGRSTBrushParam eParam,GBool &bValueIsNull)
00433 {
return OGRStyleTool::GetParamDbl(asStyleBrush[eParam],
00434 m_pasStyleValue[eParam],bValueIsNull);
00435 }
00436
inline void SetParamStr(OGRSTBrushParam eParam,
const char *pszParamString)
00437 { OGRStyleTool::SetParamStr(asStyleBrush[eParam],m_pasStyleValue[eParam],
00438 pszParamString);
00439 }
00440
inline void SetParamNum(OGRSTBrushParam eParam,
int nParam)
00441 { OGRStyleTool::SetParamNum(asStyleBrush[eParam],
00442 m_pasStyleValue[eParam],nParam);
00443 }
00444
00445
inline void SetParamDbl(OGRSTBrushParam eParam,
double dfParam)
00446 { OGRStyleTool::SetParamDbl(asStyleBrush[eParam],
00447 m_pasStyleValue[eParam],dfParam);
00448 }
00449
inline const char *GetStyleString()
00450 {
return OGRStyleTool::GetStyleString(asStyleBrush,m_pasStyleValue,
00451 (
int)OGRSTBrushLast);
00452 }
00453
00454 };
00455
00456
extern OGRStyleParamId CPL_DLL asStyleSymbol[];
00457
00458
class CPL_DLL OGRStyleSymbol :
public OGRStyleTool
00459 {
00460
public:
00461
00462 OGRStyleValue *m_pasStyleValue;
00463
00464 OGRStyleSymbol();
00465
virtual ~OGRStyleSymbol();
00466
00467
00468
00469
00470
00471
const char *Id(GBool &bDefault){
return GetParamStr(OGRSTSymbolId,bDefault);}
00472
void SetId(
const char *pszId){ SetParamStr(OGRSTSymbolId,pszId);}
00473
double Angle(GBool &bDefault){
return GetParamDbl(OGRSTSymbolAngle,bDefault);}
00474
void SetAngle(
double dfAngle){SetParamDbl(OGRSTSymbolAngle,dfAngle );}
00475
const char *Color(GBool &bDefault){
return GetParamStr(OGRSTSymbolColor,bDefault);}
00476
void SetColor(
const char *pszColor){SetParamStr(OGRSTSymbolColor,pszColor);}
00477
double Size(GBool &bDefault){
return GetParamDbl(OGRSTSymbolSize,bDefault);}
00478
void SetSize(
double dfSize){ SetParamDbl(OGRSTSymbolSize,dfSize );}
00479
double SpacingX(GBool &bDefault){
return GetParamDbl(OGRSTSymbolDx,bDefault);}
00480
void SetSpacingX(
double dfX){SetParamDbl(OGRSTSymbolDx,dfX );}
00481
double SpacingY(GBool &bDefault){
return GetParamDbl(OGRSTSymbolDy,bDefault);}
00482
void SetSpacingY(
double dfY){SetParamDbl(OGRSTSymbolDy,dfY );}
00483
double Step(GBool &bDefault){
return GetParamDbl(OGRSTSymbolStep,bDefault);}
00484
void SetStep(
double dfStep){SetParamDbl(OGRSTSymbolStep,dfStep );}
00485
double Offset(GBool &bDefault){
return GetParamDbl(OGRSTSymbolOffset,bDefault);}
00486
void SetOffset(
double dfOffset){SetParamDbl(OGRSTSymbolOffset,dfOffset );}
00487
double Perp(GBool &bDefault){
return GetParamDbl(OGRSTSymbolPerp,bDefault);}
00488
void SetPerp(
double dfPerp){SetParamDbl(OGRSTSymbolPerp,dfPerp );}
00489
int Priority(GBool &bDefault){
return GetParamNum(OGRSTSymbolPriority,bDefault);}
00490
void SetPriority(
int nPriority){SetParamNum(OGRSTSymbolPriority,nPriority);}
00491
00492
00493
00494
00495
00496
inline GBool Parse()
00497 {
return OGRStyleTool::Parse(asStyleSymbol,m_pasStyleValue,
00498 (
int)OGRSTSymbolLast);
00499 }
00500
00501
inline const char *GetParamStr(OGRSTSymbolParam eParam, GBool &bValueIsNull)
00502 {
return OGRStyleTool::GetParamStr(asStyleSymbol[eParam],
00503 m_pasStyleValue[eParam],
00504 bValueIsNull);
00505 }
00506
inline int GetParamNum(OGRSTSymbolParam eParam,GBool &bValueIsNull)
00507 {
return OGRStyleTool::GetParamNum(asStyleSymbol[eParam],
00508 m_pasStyleValue[eParam],bValueIsNull);
00509 }
00510
inline double GetParamDbl(OGRSTSymbolParam eParam,GBool &bValueIsNull)
00511 {
return OGRStyleTool::GetParamDbl(asStyleSymbol[eParam],
00512 m_pasStyleValue[eParam],bValueIsNull);
00513 }
00514
inline void SetParamStr(OGRSTSymbolParam eParam,
const char *pszParamString)
00515 { OGRStyleTool::SetParamStr(asStyleSymbol[eParam],m_pasStyleValue[eParam],
00516 pszParamString);
00517 }
00518
inline void SetParamNum(OGRSTSymbolParam eParam,
int nParam)
00519 { OGRStyleTool::SetParamNum(asStyleSymbol[eParam],
00520 m_pasStyleValue[eParam],nParam);
00521 }
00522
00523
inline void SetParamDbl(OGRSTSymbolParam eParam,
double dfParam)
00524 { OGRStyleTool::SetParamDbl(asStyleSymbol[eParam],
00525 m_pasStyleValue[eParam],dfParam);
00526 }
00527
inline const char *GetStyleString()
00528 {
return OGRStyleTool::GetStyleString(asStyleSymbol,m_pasStyleValue,
00529 (
int)OGRSTSymbolLast);
00530 }
00531
00532 };
00533
00534
extern OGRStyleParamId CPL_DLL asStyleLabel[];
00535
00536
class CPL_DLL OGRStyleLabel :
public OGRStyleTool
00537 {
00538
public:
00539
00540 OGRStyleValue *m_pasStyleValue;
00541
00542 OGRStyleLabel();
00543
virtual ~OGRStyleLabel();
00544
00545
00546
00547
00548
00549
const char *FontName(GBool &bDefault){
return GetParamStr(OGRSTLabelFontName,bDefault);}
00550
void SetFontName(
const char *pszFontName){SetParamStr(OGRSTLabelFontName,pszFontName);}
00551
double Size(GBool &bDefault){
return GetParamDbl(OGRSTLabelSize,bDefault);}
00552
void SetSize(
double dfSize){SetParamDbl(OGRSTLabelSize,dfSize);}
00553
const char *TextString(GBool &bDefault){
return GetParamStr(OGRSTLabelTextString,bDefault);}
00554
void SetTextString(
const char *pszTextString){SetParamStr(OGRSTLabelTextString,pszTextString);}
00555
double Angle(GBool &bDefault){
return GetParamDbl(OGRSTLabelAngle,bDefault);}
00556
void SetAngle(
double dfAngle){SetParamDbl(OGRSTLabelAngle,dfAngle);}
00557
const char *ForeColor(GBool &bDefault){
return GetParamStr(OGRSTLabelFColor,bDefault);}
00558
void SetForColor(
const char *pszForColor){SetParamStr(OGRSTLabelFColor,pszForColor);}
00559
const char *BackColor(GBool &bDefault){
return GetParamStr(OGRSTLabelBColor,bDefault);}
00560
void SetBackColor(
const char *pszBackColor){SetParamStr(OGRSTLabelBColor,pszBackColor);}
00561
const char *Placement(GBool &bDefault){
return GetParamStr(OGRSTLabelPlacement,bDefault);}
00562
void SetPlacement(
const char *pszPlacement){SetParamStr(OGRSTLabelPlacement,pszPlacement);}
00563
int Anchor(GBool &bDefault){
return GetParamNum(OGRSTLabelAnchor,bDefault);}
00564
void SetAnchor(
int nAnchor){SetParamNum(OGRSTLabelAnchor,nAnchor);}
00565
double SpacingX(GBool &bDefault){
return GetParamDbl(OGRSTLabelDx,bDefault);}
00566
void SetSpacingX(
double dfX){SetParamDbl(OGRSTLabelDx,dfX);}
00567
double SpacingY(GBool &bDefault){
return GetParamDbl(OGRSTLabelDy,bDefault);}
00568
void SetSpacingY(
double dfY){SetParamDbl(OGRSTLabelDy,dfY);}
00569
double Perp(GBool &bDefault){
return GetParamDbl(OGRSTLabelPerp,bDefault);}
00570
void SetPerp(
double dfPerp){SetParamDbl(OGRSTLabelPerp,dfPerp);}
00571 GBool Bold(GBool &bDefault){
return GetParamNum(OGRSTLabelBold,bDefault);}
00572
void SetBold(GBool bBold){SetParamNum(OGRSTLabelBold,bBold);}
00573 GBool Italic(GBool &bDefault){
return GetParamNum(OGRSTLabelItalic,bDefault);}
00574
void SetItalic(GBool bItalic){SetParamNum(OGRSTLabelItalic,bItalic);}
00575 GBool Underline(GBool &bDefault){
return GetParamNum(OGRSTLabelUnderline,bDefault);}
00576
void SetUnderline(GBool bUnderline){SetParamNum(OGRSTLabelUnderline,bUnderline);}
00577
int Priority(GBool &bDefault){
return GetParamNum(OGRSTLabelPriority,bDefault);}
00578
void SetPriority(
int nPriority){SetParamNum(OGRSTLabelPriority,nPriority);}
00579
00580
00581
00582
inline GBool Parse()
00583 {
return OGRStyleTool::Parse(asStyleLabel,m_pasStyleValue,
00584 (
int)OGRSTLabelLast);
00585 }
00586
00587
inline const char *GetParamStr(OGRSTLabelParam eParam, GBool &bValueIsNull)
00588 {
return OGRStyleTool::GetParamStr(asStyleLabel[eParam],
00589 m_pasStyleValue[eParam],
00590 bValueIsNull);
00591 }
00592
inline int GetParamNum(OGRSTLabelParam eParam,GBool &bValueIsNull)
00593 {
return OGRStyleTool::GetParamNum(asStyleLabel[eParam],
00594 m_pasStyleValue[eParam],bValueIsNull);
00595 }
00596
inline double GetParamDbl(OGRSTLabelParam eParam,GBool &bValueIsNull)
00597 {
return OGRStyleTool::GetParamDbl(asStyleLabel[eParam],
00598 m_pasStyleValue[eParam],bValueIsNull);
00599 }
00600
inline void SetParamStr(OGRSTLabelParam eParam,
const char *pszParamString)
00601 { OGRStyleTool::SetParamStr(asStyleLabel[eParam],m_pasStyleValue[eParam],
00602 pszParamString);
00603 }
00604
inline void SetParamNum(OGRSTLabelParam eParam,
int nParam)
00605 { OGRStyleTool::SetParamNum(asStyleLabel[eParam],
00606 m_pasStyleValue[eParam],nParam);
00607 }
00608
00609
inline void SetParamDbl(OGRSTLabelParam eParam,
double dfParam)
00610 { OGRStyleTool::SetParamDbl(asStyleLabel[eParam],
00611 m_pasStyleValue[eParam],dfParam);
00612 }
00613
inline const char *GetStyleString()
00614 {
return OGRStyleTool::GetStyleString(asStyleLabel,m_pasStyleValue,
00615 (
int)OGRSTLabelLast);
00616 }
00617
00618 };
00619
00620
#endif
00621
00622
00623
00624
00625
00626
00627
00628
00629
00630
00631
00632
00633
00634