30 #ifndef OGR_FEATURESTYLE_INCLUDE 31 #define OGR_FEATURESTYLE_INCLUDE 49 typedef enum ogr_style_type
84 char **m_papszStyleTable;
92 GBool AddStyle(
const char *pszName,
const char *pszStyleString);
93 GBool RemoveStyle(
const char *pszName);
94 GBool ModifyStyle(
const char *pszName,
const char *pszStyleString);
96 GBool SaveStyleTable(
const char *pszFilename);
97 GBool LoadStyleTable(
const char *pszFilename);
98 const char *Find(
const char *pszStyleString);
99 GBool IsExist(
const char *pszName);
100 const char *GetStyleName(
const char *pszName);
101 void Print(FILE *fpOut);
104 void ResetStyleStringReading();
105 const char *GetNextStyle();
106 const char *GetLastStyleName();
119 char *m_pszStyleString;
125 GBool SetFeatureStyleString(
OGRFeature *,
const char *pszStyleString=NULL,
126 GBool bNoMatching = FALSE);
132 GBool InitStyleString(
const char *pszStyleString = NULL);
134 const char *GetStyleName(
const char *pszStyleString= NULL);
135 const char *GetStyleByName(
const char *pszStyleName);
137 GBool AddStyle(
const char *pszStyleName,
const char *pszStyleString=NULL);
139 const char *GetStyleString(
OGRFeature * = NULL);
142 GBool AddPart(
const char *);
144 int GetPartCount(
const char *pszStyleString = NULL);
145 OGRStyleTool *GetPart(
int hPartId,
const char *pszStyleString = NULL);
150 OGRStyleTable *GetDataSetStyleTable(){
return m_poDataSetStyleTable;}
152 OGRStyleTool *CreateStyleToolFromStyleString(
const char *pszStyleString);
167 char *m_pszStyleString;
169 virtual GBool Parse() = 0;
182 GBool GetRGBFromString(
const char *pszColor,
int &nRed,
int &nGreen,
183 int &nBlue,
int &nTransparence);
184 int GetSpecificId(
const char *pszId,
const char *pszWanted);
186 GBool IsStyleModified() {
return m_bModified;}
187 void StyleModified() {m_bModified = TRUE;}
189 GBool IsStyleParsed() {
return m_bParsed;}
190 void StyleParsed() {m_bParsed = TRUE;}
194 void SetInternalInputUnitFromParam(
char *pszString);
205 virtual const char *GetStyleString() = 0;
206 void SetStyleString(
const char *pszStyleString);
212 GBool &bValueIsNull);
216 GBool &bValueIsNull);
220 GBool &bValueIsNull);
224 const char *pszParamString);
259 const char *Color(GBool &bDefault){
return GetParamStr(OGRSTPenColor,bDefault);}
260 void SetColor(
const char *pszColor){SetParamStr(OGRSTPenColor,pszColor);}
261 double Width(GBool &bDefault){
return GetParamDbl(OGRSTPenWidth,bDefault);}
262 void SetWidth(
double dfWidth){SetParamDbl(OGRSTPenWidth,dfWidth);}
263 const char *Pattern(GBool &bDefault){
return (
const char *)GetParamStr(OGRSTPenPattern,bDefault);}
264 void SetPattern(
const char *pszPattern){SetParamStr(OGRSTPenPattern,pszPattern);}
265 const char *Id(GBool &bDefault){
return GetParamStr(OGRSTPenId,bDefault);}
266 void SetId(
const char *pszId){SetParamStr(OGRSTPenId,pszId);}
267 double PerpendicularOffset(GBool &bDefault){
return GetParamDbl(OGRSTPenPerOffset,bDefault);}
268 void SetPerpendicularOffset(
double dfPerp){SetParamDbl(OGRSTPenPerOffset,dfPerp);}
269 const char *Cap(GBool &bDefault){
return GetParamStr(OGRSTPenCap,bDefault);}
270 void SetCap(
const char *pszCap){SetParamStr(OGRSTPenCap,pszCap);}
271 const char *Join(GBool &bDefault){
return GetParamStr(OGRSTPenJoin,bDefault);}
272 void SetJoin(
const char *pszJoin){SetParamStr(OGRSTPenJoin,pszJoin);}
273 int Priority(GBool &bDefault){
return GetParamNum(OGRSTPenPriority,bDefault);}
274 void SetPriority(
int nPriority){SetParamNum(OGRSTPenPriority,nPriority);}
278 const char *GetParamStr(
OGRSTPenParam eParam, GBool &bValueIsNull);
280 double GetParamDbl(
OGRSTPenParam eParam,GBool &bValueIsNull);
281 void SetParamStr(
OGRSTPenParam eParam,
const char *pszParamString);
284 const char *GetStyleString();
305 const char *ForeColor(GBool &bDefault){
return GetParamStr(OGRSTBrushFColor,bDefault);}
306 void SetForeColor(
const char *pszColor){SetParamStr(OGRSTBrushFColor,pszColor);}
307 const char *BackColor(GBool &bDefault){
return GetParamStr(OGRSTBrushBColor,bDefault);}
308 void SetBackColor(
const char *pszColor){SetParamStr(OGRSTBrushBColor,pszColor);}
309 const char *Id(GBool &bDefault){
return GetParamStr(OGRSTBrushId,bDefault);}
310 void SetId(
const char *pszId){SetParamStr(OGRSTBrushId,pszId);}
311 double Angle(GBool &bDefault){
return GetParamDbl(OGRSTBrushAngle,bDefault);}
312 void SetAngle(
double dfAngle){SetParamDbl(OGRSTBrushAngle,dfAngle );}
313 double Size(GBool &bDefault){
return GetParamDbl(OGRSTBrushSize,bDefault);}
314 void SetSize(
double dfSize){SetParamDbl(OGRSTBrushSize,dfSize );}
315 double SpacingX(GBool &bDefault){
return GetParamDbl(OGRSTBrushDx,bDefault);}
316 void SetSpacingX(
double dfX){SetParamDbl(OGRSTBrushDx,dfX );}
317 double SpacingY(GBool &bDefault){
return GetParamDbl(OGRSTBrushDy,bDefault);}
318 void SetSpacingY(
double dfY){SetParamDbl(OGRSTBrushDy,dfY );}
319 int Priority(GBool &bDefault){
return GetParamNum(OGRSTBrushPriority,bDefault);}
320 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:226
Definition: ogr_featurestyle.h:115
enum ogr_style_tool_class_id OGRSTClassId
Definition: ogr_featurestyle.h:242
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:232
Definition: ogr_featurestyle.h:81
Definition: ogr_featurestyle.h:57
Definition: ogr_featurestyle.h:290
Definition: ogr_featurestyle.h:66