30 #ifndef OGR_FEATURESTYLE_INCLUDE 31 #define OGR_FEATURESTYLE_INCLUDE 49 typedef enum ogr_style_type
85 char **m_papszStyleTable;
93 GBool AddStyle(
const char *pszName,
const char *pszStyleString);
94 GBool RemoveStyle(
const char *pszName);
95 GBool ModifyStyle(
const char *pszName,
const char *pszStyleString);
97 GBool SaveStyleTable(
const char *pszFilename);
98 GBool LoadStyleTable(
const char *pszFilename);
99 const char *Find(
const char *pszStyleString);
100 GBool IsExist(
const char *pszName);
101 const char *GetStyleName(
const char *pszName);
102 void Print(FILE *fpOut);
105 void ResetStyleStringReading();
106 const char *GetNextStyle();
107 const char *GetLastStyleName();
120 char *m_pszStyleString;
126 GBool SetFeatureStyleString(
OGRFeature *,
const char *pszStyleString=NULL,
127 GBool bNoMatching = FALSE);
133 GBool InitStyleString(
const char *pszStyleString = NULL);
135 const char *GetStyleName(
const char *pszStyleString= NULL);
136 const char *GetStyleByName(
const char *pszStyleName);
138 GBool AddStyle(
const char *pszStyleName,
const char *pszStyleString=NULL);
140 const char *GetStyleString(
OGRFeature * = NULL);
143 GBool AddPart(
const char *);
145 int GetPartCount(
const char *pszStyleString = NULL);
146 OGRStyleTool *GetPart(
int hPartId,
const char *pszStyleString = NULL);
151 OGRStyleTable *GetDataSetStyleTable(){
return m_poDataSetStyleTable;}
153 OGRStyleTool *CreateStyleToolFromStyleString(
const char *pszStyleString);
168 char *m_pszStyleString;
170 virtual GBool Parse() = 0;
183 GBool GetRGBFromString(
const char *pszColor,
int &nRed,
int &nGreen,
184 int &nBlue,
int &nTransparence);
185 int GetSpecificId(
const char *pszId,
const char *pszWanted);
187 GBool IsStyleModified() {
return m_bModified;}
188 void StyleModified() {m_bModified = TRUE;}
190 GBool IsStyleParsed() {
return m_bParsed;}
191 void StyleParsed() {m_bParsed = TRUE;}
195 void SetInternalInputUnitFromParam(
char *pszString);
206 virtual const char *GetStyleString() = 0;
207 void SetStyleString(
const char *pszStyleString);
213 GBool &bValueIsNull);
217 GBool &bValueIsNull);
221 GBool &bValueIsNull);
225 const char *pszParamString);
260 const char *Color(GBool &bDefault){
return GetParamStr(OGRSTPenColor,bDefault);}
261 void SetColor(
const char *pszColor){SetParamStr(OGRSTPenColor,pszColor);}
262 double Width(GBool &bDefault){
return GetParamDbl(OGRSTPenWidth,bDefault);}
263 void SetWidth(
double dfWidth){SetParamDbl(OGRSTPenWidth,dfWidth);}
264 const char *Pattern(GBool &bDefault){
return (
const char *)GetParamStr(OGRSTPenPattern,bDefault);}
265 void SetPattern(
const char *pszPattern){SetParamStr(OGRSTPenPattern,pszPattern);}
266 const char *Id(GBool &bDefault){
return GetParamStr(OGRSTPenId,bDefault);}
267 void SetId(
const char *pszId){SetParamStr(OGRSTPenId,pszId);}
268 double PerpendicularOffset(GBool &bDefault){
return GetParamDbl(OGRSTPenPerOffset,bDefault);}
269 void SetPerpendicularOffset(
double dfPerp){SetParamDbl(OGRSTPenPerOffset,dfPerp);}
270 const char *Cap(GBool &bDefault){
return GetParamStr(OGRSTPenCap,bDefault);}
271 void SetCap(
const char *pszCap){SetParamStr(OGRSTPenCap,pszCap);}
272 const char *Join(GBool &bDefault){
return GetParamStr(OGRSTPenJoin,bDefault);}
273 void SetJoin(
const char *pszJoin){SetParamStr(OGRSTPenJoin,pszJoin);}
274 int Priority(GBool &bDefault){
return GetParamNum(OGRSTPenPriority,bDefault);}
275 void SetPriority(
int nPriority){SetParamNum(OGRSTPenPriority,nPriority);}
279 const char *GetParamStr(
OGRSTPenParam eParam, GBool &bValueIsNull);
281 double GetParamDbl(
OGRSTPenParam eParam,GBool &bValueIsNull);
282 void SetParamStr(
OGRSTPenParam eParam,
const char *pszParamString);
285 const char *GetStyleString();
306 const char *ForeColor(GBool &bDefault){
return GetParamStr(OGRSTBrushFColor,bDefault);}
307 void SetForeColor(
const char *pszColor){SetParamStr(OGRSTBrushFColor,pszColor);}
308 const char *BackColor(GBool &bDefault){
return GetParamStr(OGRSTBrushBColor,bDefault);}
309 void SetBackColor(
const char *pszColor){SetParamStr(OGRSTBrushBColor,pszColor);}
310 const char *Id(GBool &bDefault){
return GetParamStr(OGRSTBrushId,bDefault);}
311 void SetId(
const char *pszId){SetParamStr(OGRSTBrushId,pszId);}
312 double Angle(GBool &bDefault){
return GetParamDbl(OGRSTBrushAngle,bDefault);}
313 void SetAngle(
double dfAngle){SetParamDbl(OGRSTBrushAngle,dfAngle );}
314 double Size(GBool &bDefault){
return GetParamDbl(OGRSTBrushSize,bDefault);}
315 void SetSize(
double dfSize){SetParamDbl(OGRSTBrushSize,dfSize );}
316 double SpacingX(GBool &bDefault){
return GetParamDbl(OGRSTBrushDx,bDefault);}
317 void SetSpacingX(
double dfX){SetParamDbl(OGRSTBrushDx,dfX );}
318 double SpacingY(GBool &bDefault){
return GetParamDbl(OGRSTBrushDy,bDefault);}
319 void SetSpacingY(
double dfY){SetParamDbl(OGRSTBrushDy,dfY );}
320 int Priority(GBool &bDefault){
return GetParamNum(OGRSTBrushPriority,bDefault);}
321 void SetPriority(
int nPriority){ SetParamNum(OGRSTBrushPriority,nPriority);}
331 const char *GetStyleString();
354 const char *Id(GBool &bDefault){
return GetParamStr(OGRSTSymbolId,bDefault);}
355 void SetId(
const char *pszId){ SetParamStr(OGRSTSymbolId,pszId);}
356 double Angle(GBool &bDefault){
return GetParamDbl(OGRSTSymbolAngle,bDefault);}
357 void SetAngle(
double dfAngle){SetParamDbl(OGRSTSymbolAngle,dfAngle );}
358 const char *Color(GBool &bDefault){
return GetParamStr(OGRSTSymbolColor,bDefault);}
359 void SetColor(
const char *pszColor){SetParamStr(OGRSTSymbolColor,pszColor);}
360 double Size(GBool &bDefault){
return GetParamDbl(OGRSTSymbolSize,bDefault);}
361 void SetSize(
double dfSize){ SetParamDbl(OGRSTSymbolSize,dfSize );}
362 double SpacingX(GBool &bDefault){
return GetParamDbl(OGRSTSymbolDx,bDefault);}
363 void SetSpacingX(
double dfX){SetParamDbl(OGRSTSymbolDx,dfX );}
364 double SpacingY(GBool &bDefault){
return GetParamDbl(OGRSTSymbolDy,bDefault);}
365 void SetSpacingY(
double dfY){SetParamDbl(OGRSTSymbolDy,dfY );}
366 double Step(GBool &bDefault){
return GetParamDbl(OGRSTSymbolStep,bDefault);}
367 void SetStep(
double dfStep){SetParamDbl(OGRSTSymbolStep,dfStep );}
368 double Offset(GBool &bDefault){
return GetParamDbl(OGRSTSymbolOffset,bDefault);}
369 void SetOffset(
double dfOffset){SetParamDbl(OGRSTSymbolOffset,dfOffset );}
370 double Perp(GBool &bDefault){
return GetParamDbl(OGRSTSymbolPerp,bDefault);}
371 void SetPerp(
double dfPerp){SetParamDbl(OGRSTSymbolPerp,dfPerp );}
372 int Priority(GBool &bDefault){
return GetParamNum(OGRSTSymbolPriority,bDefault);}
373 void SetPriority(
int nPriority){SetParamNum(OGRSTSymbolPriority,nPriority);}
374 const char *FontName(GBool &bDefault)
375 {
return GetParamStr(OGRSTSymbolFontName,bDefault);}
376 void SetFontName(
const char *pszFontName)
377 {SetParamStr(OGRSTSymbolFontName,pszFontName);}
378 const char *OColor(GBool &bDefault){
return GetParamStr(OGRSTSymbolOColor,bDefault);}
379 void SetOColor(
const char *pszColor){SetParamStr(OGRSTSymbolOColor,pszColor);}
389 const char *GetStyleString();
412 const char *FontName(GBool &bDefault){
return GetParamStr(OGRSTLabelFontName,bDefault);}
413 void SetFontName(
const char *pszFontName){SetParamStr(OGRSTLabelFontName,pszFontName);}
414 double Size(GBool &bDefault){
return GetParamDbl(OGRSTLabelSize,bDefault);}
415 void SetSize(
double dfSize){SetParamDbl(OGRSTLabelSize,dfSize);}
416 const char *TextString(GBool &bDefault){
return GetParamStr(OGRSTLabelTextString,bDefault);}
417 void SetTextString(
const char *pszTextString){SetParamStr(OGRSTLabelTextString,pszTextString);}
418 double Angle(GBool &bDefault){
return GetParamDbl(OGRSTLabelAngle,bDefault);}
419 void SetAngle(
double dfAngle){SetParamDbl(OGRSTLabelAngle,dfAngle);}
420 const char *ForeColor(GBool &bDefault){
return GetParamStr(OGRSTLabelFColor,bDefault);}
421 void SetForColor(
const char *pszForColor){SetParamStr(OGRSTLabelFColor,pszForColor);}
422 const char *BackColor(GBool &bDefault){
return GetParamStr(OGRSTLabelBColor,bDefault);}
423 void SetBackColor(
const char *pszBackColor){SetParamStr(OGRSTLabelBColor,pszBackColor);}
424 const char *Placement(GBool &bDefault){
return GetParamStr(OGRSTLabelPlacement,bDefault);}
425 void SetPlacement(
const char *pszPlacement){SetParamStr(OGRSTLabelPlacement,pszPlacement);}
426 int Anchor(GBool &bDefault){
return GetParamNum(OGRSTLabelAnchor,bDefault);}
427 void SetAnchor(
int nAnchor){SetParamNum(OGRSTLabelAnchor,nAnchor);}
428 double SpacingX(GBool &bDefault){
return GetParamDbl(OGRSTLabelDx,bDefault);}
429 void SetSpacingX(
double dfX){SetParamDbl(OGRSTLabelDx,dfX);}
430 double SpacingY(GBool &bDefault){
return GetParamDbl(OGRSTLabelDy,bDefault);}
431 void SetSpacingY(
double dfY){SetParamDbl(OGRSTLabelDy,dfY);}
432 double Perp(GBool &bDefault){
return GetParamDbl(OGRSTLabelPerp,bDefault);}
433 void SetPerp(
double dfPerp){SetParamDbl(OGRSTLabelPerp,dfPerp);}
434 GBool Bold(GBool &bDefault){
return GetParamNum(OGRSTLabelBold,bDefault);}
435 void SetBold(GBool bBold){SetParamNum(OGRSTLabelBold,bBold);}
436 GBool Italic(GBool &bDefault){
return GetParamNum(OGRSTLabelItalic,bDefault);}
437 void SetItalic(GBool bItalic){SetParamNum(OGRSTLabelItalic,bItalic);}
438 GBool Underline(GBool &bDefault){
return GetParamNum(OGRSTLabelUnderline,bDefault);}
439 void SetUnderline(GBool bUnderline){SetParamNum(OGRSTLabelUnderline,bUnderline);}
440 int Priority(GBool &bDefault){
return GetParamNum(OGRSTLabelPriority,bDefault);}
441 void SetPriority(
int nPriority){SetParamNum(OGRSTLabelPriority,nPriority);}
442 GBool Strikeout(GBool &bDefault){
return GetParamNum(OGRSTLabelStrikeout,bDefault);}
443 void SetStrikeout(GBool bStrikeout){SetParamNum(OGRSTLabelStrikeout,bStrikeout);}
444 double Stretch(GBool &bDefault){
return GetParamDbl(OGRSTLabelStretch,bDefault);}
445 void SetStretch(
double dfStretch){SetParamDbl(OGRSTLabelStretch,dfStretch);}
446 const char *AdjustmentHor(GBool &bDefault){
return GetParamStr(OGRSTLabelAdjHor,bDefault);}
447 void SetAdjustmentHor(
const char *pszAdjustmentHor){SetParamStr(OGRSTLabelAdjHor,pszAdjustmentHor);}
448 const char *AdjustmentVert(GBool &bDefault){
return GetParamStr(OGRSTLabelAdjVert,bDefault);}
449 void SetAdjustmentVert(
const char *pszAdjustmentVert){SetParamStr(OGRSTLabelAdjHor,pszAdjustmentVert);}
450 const char *ShadowColor(GBool &bDefault){
return GetParamStr(OGRSTLabelHColor,bDefault);}
451 void SetShadowColor(
const char *pszShadowColor){SetParamStr(OGRSTLabelHColor,pszShadowColor);}
452 const char *OutlineColor(GBool &bDefault){
return GetParamStr(OGRSTLabelOColor,bDefault);}
453 void SetOutlineColor(
const char *pszOutlineColor){SetParamStr(OGRSTLabelOColor,pszOutlineColor);}
463 const char *GetStyleString();
enum ogr_style_tool_param_symbol_id OGRSTSymbolParam
enum ogr_style_tool_param_brush_id OGRSTBrushParam
enum ogr_style_tool_param_label_id OGRSTLabelParam
Convenient string class based on std::string.
Definition: cpl_string.h:283
Definition: ogr_featurestyle.h:116
enum ogr_style_tool_class_id OGRSTClassId
Definition: ogr_featurestyle.h:243
enum ogr_style_tool_param_pen_id OGRSTPenParam
enum ogr_style_tool_units_id OGRSTUnitId
Definition: ogr_featurestyle.h:395
Definition: ogr_featurestyle.h:337
Definition: ogr_feature.h:274
Definition: ogr_featurestyle.h:82
Definition: ogr_featurestyle.h:57
Definition: ogr_featurestyle.h:291
Definition: ogr_featurestyle.h:66