GDAL
ogr_featurestyle.h
Go to the documentation of this file.
1 /******************************************************************************
2  * $Id: ogr_featurestyle.h 41230 2018-01-09 03:42:21Z atlight $
3  *
4  * Project: OpenGIS Simple Features Reference Implementation
5  * Purpose: Define of Feature Representation
6  * Author: Stephane Villeneuve, stephane.v@videtron.ca
7  *
8  ******************************************************************************
9  * Copyright (c) 1999, Frank Warmerdam
10  *
11  * Permission is hereby granted, free of charge, to any person obtaining a
12  * copy of this software and associated documentation files (the "Software"),
13  * to deal in the Software without restriction, including without limitation
14  * the rights to use, copy, modify, merge, publish, distribute, sublicense,
15  * and/or sell copies of the Software, and to permit persons to whom the
16  * Software is furnished to do so, subject to the following conditions:
17  *
18  * The above copyright notice and this permission notice shall be included
19  * in all copies or substantial portions of the Software.
20  *
21  * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
22  * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
23  * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
24  * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
25  * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
26  * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
27  * DEALINGS IN THE SOFTWARE.
28  ****************************************************************************/
29 
30 #ifndef OGR_FEATURESTYLE_INCLUDE
31 #define OGR_FEATURESTYLE_INCLUDE
32 
33 #include "cpl_conv.h"
34 #include "cpl_string.h"
35 #include "ogr_core.h"
36 
37 class OGRFeature;
38 
45 /*
46  * All OGRStyleTool param lists are defined in ogr_core.h.
47  */
48 
50 typedef enum ogr_style_type
51 {
52  OGRSTypeUnused = -1,
53  OGRSTypeString,
54  OGRSTypeDouble,
55  OGRSTypeInteger,
56  OGRSTypeBoolean
57 } OGRSType;
58 
60 typedef struct ogr_style_param
61 {
62  int eParam;
63  const char *pszToken;
64  GBool bGeoref;
65  OGRSType eType;
66 } OGRStyleParamId;
67 
68 typedef struct ogr_style_value
69 {
70  char *pszValue;
71  double dfValue;
72  int nValue; // Used for both integer and boolean types
73  GBool bValid;
74  OGRSTUnitId eUnit;
75 } OGRStyleValue;
77 
78 // Every time a pszStyleString given in parameter is NULL,
79 // the StyleString defined in the Mgr will be use.
80 
84 class CPL_DLL OGRStyleTable
85 {
86  private:
87  char **m_papszStyleTable;
88 
89  CPLString osLastRequestedStyleName;
90  int iNextStyle;
91 
92  public:
93  OGRStyleTable();
94  ~OGRStyleTable();
95  GBool AddStyle(const char *pszName,const char *pszStyleString);
96  GBool RemoveStyle(const char *pszName);
97  GBool ModifyStyle(const char *pszName, const char *pszStyleString);
98 
99  GBool SaveStyleTable(const char *pszFilename);
100  GBool LoadStyleTable(const char *pszFilename);
101  const char *Find(const char *pszStyleString);
102  GBool IsExist(const char *pszName);
103  const char *GetStyleName(const char *pszName);
104  void Print(FILE *fpOut);
105  void Clear();
106  OGRStyleTable *Clone();
107  void ResetStyleStringReading();
108  const char *GetNextStyle();
109  const char *GetLastStyleName();
110 };
111 
112 class OGRStyleTool;
113 
117 class CPL_DLL OGRStyleMgr
118 {
119  private:
120  OGRStyleTable *m_poDataSetStyleTable;
121  char *m_pszStyleString;
122 
123  public:
124  explicit OGRStyleMgr(OGRStyleTable *poDataSetStyleTable = nullptr);
125  ~OGRStyleMgr();
126 
127  GBool SetFeatureStyleString(OGRFeature *,const char *pszStyleString=nullptr,
128  GBool bNoMatching = FALSE);
129  /* It will set in the given feature the pszStyleString with
130  the style or will set the style name found in
131  dataset StyleTable (if bNoMatching == FALSE). */
132 
133  const char *InitFromFeature(OGRFeature *);
134  GBool InitStyleString(const char *pszStyleString = nullptr);
135 
136  const char *GetStyleName(const char *pszStyleString= nullptr);
137  const char *GetStyleByName(const char *pszStyleName);
138 
139  GBool AddStyle(const char *pszStyleName, const char *pszStyleString=nullptr);
140 
141  const char *GetStyleString(OGRFeature * = nullptr);
142 
143  GBool AddPart(OGRStyleTool *);
144  GBool AddPart(const char *);
145 
146  int GetPartCount(const char *pszStyleString = nullptr);
147  OGRStyleTool *GetPart(int hPartId, const char *pszStyleString = nullptr);
148 
149  /* It could have a reference counting process us for the OGRStyleTable, if
150  needed. */
152  OGRStyleTable *GetDataSetStyleTable(){return m_poDataSetStyleTable;}
153 
154  OGRStyleTool *CreateStyleToolFromStyleString(const char *pszStyleString);
156 };
157 
161 class CPL_DLL OGRStyleTool
162 {
163  private:
164  GBool m_bModified;
165  GBool m_bParsed;
166  double m_dfScale;
167  OGRSTUnitId m_eUnit;
168  OGRSTClassId m_eClassId;
169  char *m_pszStyleString;
170 
171  virtual GBool Parse() = 0;
172 
173  protected:
174 #ifndef DOXYGEN_SKIP
175  GBool Parse(const OGRStyleParamId* pasStyle,
176  OGRStyleValue* pasValue,
177  int nCount);
178 #endif
179 
180  public:
181 
182  OGRStyleTool() :
183  m_bModified(FALSE),
184  m_bParsed(FALSE),
185  m_dfScale(0.0),
186  m_eUnit(OGRSTUGround),
187  m_eClassId(OGRSTCNone),
188  m_pszStyleString(nullptr)
189  {}
190  explicit OGRStyleTool(OGRSTClassId eClassId);
191  virtual ~OGRStyleTool();
192 
193  static GBool GetRGBFromString(const char *pszColor, int &nRed, int &nGreen,
194  int &nBlue, int &nTransparence);
195  static int GetSpecificId(const char *pszId, const char *pszWanted);
196 
197 #ifndef DOXYGEN_SKIP
198  GBool IsStyleModified() {return m_bModified;}
199  void StyleModified() {m_bModified = TRUE;}
200 
201  GBool IsStyleParsed() {return m_bParsed;}
202  void StyleParsed() {m_bParsed = TRUE;}
203 #endif
204 
205  OGRSTClassId GetType();
206 
207 #ifndef DOXYGEN_SKIP
208  void SetInternalInputUnitFromParam(char *pszString);
209 #endif
210 
211  void SetUnit(OGRSTUnitId,double dfScale = 1.0); //the dfScale will be
212  //used if we are working with Ground Unit ( ground = paper * scale);
213 
214  OGRSTUnitId GetUnit(){return m_eUnit;}
215 
216  // There are two way to set the parameters in the Style, with generic
217  // methods (using a defined enumeration) or with the reel method specific
218  // for Each style tools.
219 
220  virtual const char *GetStyleString() = 0;
221  void SetStyleString(const char *pszStyleString);
222  const char *GetStyleString(const OGRStyleParamId *pasStyleParam ,
223  OGRStyleValue *pasStyleValue, int nSize);
224 
225  const char *GetParamStr(const OGRStyleParamId &sStyleParam ,
226  OGRStyleValue &sStyleValue,
227  GBool &bValueIsNull);
228 
229  int GetParamNum(const OGRStyleParamId &sStyleParam ,
230  OGRStyleValue &sStyleValue,
231  GBool &bValueIsNull);
232 
233  double GetParamDbl(const OGRStyleParamId &sStyleParam ,
234  OGRStyleValue &sStyleValue,
235  GBool &bValueIsNull);
236 
237  void SetParamStr(const OGRStyleParamId &sStyleParam ,
238  OGRStyleValue &sStyleValue,
239  const char *pszParamString);
240 
241  void SetParamNum(const OGRStyleParamId &sStyleParam ,
242  OGRStyleValue &sStyleValue,
243  int nParam);
244 
245  void SetParamDbl(const OGRStyleParamId &sStyleParam ,
246  OGRStyleValue &sStyleValue,
247  double dfParam);
248 #ifndef DOXYGEN_SKIP
249  double ComputeWithUnit(double, OGRSTUnitId);
250  int ComputeWithUnit(int , OGRSTUnitId);
251 #endif
252 };
253 
255 
259 class CPL_DLL OGRStylePen : public OGRStyleTool
260 {
261  private:
262 
263  OGRStyleValue *m_pasStyleValue;
264 
265  GBool Parse() override;
266 
267  public:
268 
269  OGRStylePen();
270  ~OGRStylePen() override;
271 
272  /**********************************************************************/
273  /* Explicit fct for all parameters defined in the Drawing tools Pen */
274  /**********************************************************************/
275 
276  const char *Color(GBool &bDefault){return GetParamStr(OGRSTPenColor,bDefault);}
277  void SetColor(const char *pszColor){SetParamStr(OGRSTPenColor,pszColor);}
278  double Width(GBool &bDefault){return GetParamDbl(OGRSTPenWidth,bDefault);}
279  void SetWidth(double dfWidth){SetParamDbl(OGRSTPenWidth,dfWidth);}
280  const char *Pattern(GBool &bDefault){return (const char *)GetParamStr(OGRSTPenPattern,bDefault);}
281  void SetPattern(const char *pszPattern){SetParamStr(OGRSTPenPattern,pszPattern);}
282  const char *Id(GBool &bDefault){return GetParamStr(OGRSTPenId,bDefault);}
283  void SetId(const char *pszId){SetParamStr(OGRSTPenId,pszId);}
284  double PerpendicularOffset(GBool &bDefault){return GetParamDbl(OGRSTPenPerOffset,bDefault);}
285  void SetPerpendicularOffset(double dfPerp){SetParamDbl(OGRSTPenPerOffset,dfPerp);}
286  const char *Cap(GBool &bDefault){return GetParamStr(OGRSTPenCap,bDefault);}
287  void SetCap(const char *pszCap){SetParamStr(OGRSTPenCap,pszCap);}
288  const char *Join(GBool &bDefault){return GetParamStr(OGRSTPenJoin,bDefault);}
289  void SetJoin(const char *pszJoin){SetParamStr(OGRSTPenJoin,pszJoin);}
290  int Priority(GBool &bDefault){return GetParamNum(OGRSTPenPriority,bDefault);}
291  void SetPriority(int nPriority){SetParamNum(OGRSTPenPriority,nPriority);}
292 
293  /*****************************************************************/
294 
295  const char *GetParamStr(OGRSTPenParam eParam, GBool &bValueIsNull);
296  int GetParamNum(OGRSTPenParam eParam,GBool &bValueIsNull);
297  double GetParamDbl(OGRSTPenParam eParam,GBool &bValueIsNull);
298  void SetParamStr(OGRSTPenParam eParam, const char *pszParamString);
299  void SetParamNum(OGRSTPenParam eParam, int nParam);
300  void SetParamDbl(OGRSTPenParam eParam, double dfParam);
301  const char *GetStyleString() override;
302 };
303 
307 class CPL_DLL OGRStyleBrush : public OGRStyleTool
308 {
309  private:
310 
311  OGRStyleValue *m_pasStyleValue;
312 
313  GBool Parse() override;
314 
315  public:
316 
317  OGRStyleBrush();
318  ~OGRStyleBrush() override;
319 
320  /* Explicit fct for all parameters defined in the Drawing tools Brush */
321 
322  const char *ForeColor(GBool &bDefault){return GetParamStr(OGRSTBrushFColor,bDefault);}
323  void SetForeColor(const char *pszColor){SetParamStr(OGRSTBrushFColor,pszColor);}
324  const char *BackColor(GBool &bDefault){return GetParamStr(OGRSTBrushBColor,bDefault);}
325  void SetBackColor(const char *pszColor){SetParamStr(OGRSTBrushBColor,pszColor);}
326  const char *Id(GBool &bDefault){ return GetParamStr(OGRSTBrushId,bDefault);}
327  void SetId(const char *pszId){SetParamStr(OGRSTBrushId,pszId);}
328  double Angle(GBool &bDefault){return GetParamDbl(OGRSTBrushAngle,bDefault);}
329  void SetAngle(double dfAngle){SetParamDbl(OGRSTBrushAngle,dfAngle );}
330  double Size(GBool &bDefault){return GetParamDbl(OGRSTBrushSize,bDefault);}
331  void SetSize(double dfSize){SetParamDbl(OGRSTBrushSize,dfSize );}
332  double SpacingX(GBool &bDefault){return GetParamDbl(OGRSTBrushDx,bDefault);}
333  void SetSpacingX(double dfX){SetParamDbl(OGRSTBrushDx,dfX );}
334  double SpacingY(GBool &bDefault){return GetParamDbl(OGRSTBrushDy,bDefault);}
335  void SetSpacingY(double dfY){SetParamDbl(OGRSTBrushDy,dfY );}
336  int Priority(GBool &bDefault){ return GetParamNum(OGRSTBrushPriority,bDefault);}
337  void SetPriority(int nPriority){ SetParamNum(OGRSTBrushPriority,nPriority);}
338 
339  /*****************************************************************/
340 
341  const char *GetParamStr(OGRSTBrushParam eParam, GBool &bValueIsNull);
342  int GetParamNum(OGRSTBrushParam eParam,GBool &bValueIsNull);
343  double GetParamDbl(OGRSTBrushParam eParam,GBool &bValueIsNull);
344  void SetParamStr(OGRSTBrushParam eParam, const char *pszParamString);
345  void SetParamNum(OGRSTBrushParam eParam, int nParam);
346  void SetParamDbl(OGRSTBrushParam eParam, double dfParam);
347  const char *GetStyleString() override;
348 };
349 
353 class CPL_DLL OGRStyleSymbol : public OGRStyleTool
354 {
355  private:
356 
357  OGRStyleValue *m_pasStyleValue;
358 
359  GBool Parse() override;
360 
361  public:
362 
363  OGRStyleSymbol();
364  ~OGRStyleSymbol() override;
365 
366  /*****************************************************************/
367  /* Explicit fct for all parameters defined in the Drawing tools */
368  /*****************************************************************/
369 
370  const char *Id(GBool &bDefault){return GetParamStr(OGRSTSymbolId,bDefault);}
371  void SetId(const char *pszId){ SetParamStr(OGRSTSymbolId,pszId);}
372  double Angle(GBool &bDefault){ return GetParamDbl(OGRSTSymbolAngle,bDefault);}
373  void SetAngle(double dfAngle){SetParamDbl(OGRSTSymbolAngle,dfAngle );}
374  const char *Color(GBool &bDefault){return GetParamStr(OGRSTSymbolColor,bDefault);}
375  void SetColor(const char *pszColor){SetParamStr(OGRSTSymbolColor,pszColor);}
376  double Size(GBool &bDefault){ return GetParamDbl(OGRSTSymbolSize,bDefault);}
377  void SetSize(double dfSize){ SetParamDbl(OGRSTSymbolSize,dfSize );}
378  double SpacingX(GBool &bDefault){return GetParamDbl(OGRSTSymbolDx,bDefault);}
379  void SetSpacingX(double dfX){SetParamDbl(OGRSTSymbolDx,dfX );}
380  double SpacingY(GBool &bDefault){return GetParamDbl(OGRSTSymbolDy,bDefault);}
381  void SetSpacingY(double dfY){SetParamDbl(OGRSTSymbolDy,dfY );}
382  double Step(GBool &bDefault){return GetParamDbl(OGRSTSymbolStep,bDefault);}
383  void SetStep(double dfStep){SetParamDbl(OGRSTSymbolStep,dfStep );}
384  double Offset(GBool &bDefault){return GetParamDbl(OGRSTSymbolOffset,bDefault);}
385  void SetOffset(double dfOffset){SetParamDbl(OGRSTSymbolOffset,dfOffset );}
386  double Perp(GBool &bDefault){return GetParamDbl(OGRSTSymbolPerp,bDefault);}
387  void SetPerp(double dfPerp){SetParamDbl(OGRSTSymbolPerp,dfPerp );}
388  int Priority(GBool &bDefault){return GetParamNum(OGRSTSymbolPriority,bDefault);}
389  void SetPriority(int nPriority){SetParamNum(OGRSTSymbolPriority,nPriority);}
390  const char *OColor(GBool &bDefault){return GetParamStr(OGRSTSymbolOColor,bDefault);}
391  void SetOColor(const char *pszColor){SetParamStr(OGRSTSymbolOColor,pszColor);}
392 
393  /*****************************************************************/
394 
395  const char *GetParamStr(OGRSTSymbolParam eParam, GBool &bValueIsNull);
396  int GetParamNum(OGRSTSymbolParam eParam,GBool &bValueIsNull);
397  double GetParamDbl(OGRSTSymbolParam eParam,GBool &bValueIsNull);
398  void SetParamStr(OGRSTSymbolParam eParam, const char *pszParamString);
399  void SetParamNum(OGRSTSymbolParam eParam, int nParam);
400  void SetParamDbl(OGRSTSymbolParam eParam, double dfParam);
401  const char *GetStyleString() override;
402 };
403 
407 class CPL_DLL OGRStyleLabel : public OGRStyleTool
408 {
409  private:
410 
411  OGRStyleValue *m_pasStyleValue;
412 
413  GBool Parse() override;
414 
415  public:
416 
417  OGRStyleLabel();
418  ~OGRStyleLabel() override;
419 
420  /*****************************************************************/
421  /* Explicit fct for all parameters defined in the Drawing tools */
422  /*****************************************************************/
423 
424  const char *FontName(GBool &bDefault){return GetParamStr(OGRSTLabelFontName,bDefault);}
425  void SetFontName(const char *pszFontName){SetParamStr(OGRSTLabelFontName,pszFontName);}
426  double Size(GBool &bDefault){return GetParamDbl(OGRSTLabelSize,bDefault);}
427  void SetSize(double dfSize){SetParamDbl(OGRSTLabelSize,dfSize);}
428  const char *TextString(GBool &bDefault){return GetParamStr(OGRSTLabelTextString,bDefault);}
429  void SetTextString(const char *pszTextString){SetParamStr(OGRSTLabelTextString,pszTextString);}
430  double Angle(GBool &bDefault){return GetParamDbl(OGRSTLabelAngle,bDefault);}
431  void SetAngle(double dfAngle){SetParamDbl(OGRSTLabelAngle,dfAngle);}
432  const char *ForeColor(GBool &bDefault){return GetParamStr(OGRSTLabelFColor,bDefault);}
433  void SetForColor(const char *pszForColor){SetParamStr(OGRSTLabelFColor,pszForColor);}
434  const char *BackColor(GBool &bDefault){return GetParamStr(OGRSTLabelBColor,bDefault);}
435  void SetBackColor(const char *pszBackColor){SetParamStr(OGRSTLabelBColor,pszBackColor);}
436  const char *Placement(GBool &bDefault){return GetParamStr(OGRSTLabelPlacement,bDefault);}
437  void SetPlacement(const char *pszPlacement){SetParamStr(OGRSTLabelPlacement,pszPlacement);}
438  int Anchor(GBool &bDefault){return GetParamNum(OGRSTLabelAnchor,bDefault);}
439  void SetAnchor(int nAnchor){SetParamNum(OGRSTLabelAnchor,nAnchor);}
440  double SpacingX(GBool &bDefault){return GetParamDbl(OGRSTLabelDx,bDefault);}
441  void SetSpacingX(double dfX){SetParamDbl(OGRSTLabelDx,dfX);}
442  double SpacingY(GBool &bDefault){return GetParamDbl(OGRSTLabelDy,bDefault);}
443  void SetSpacingY(double dfY){SetParamDbl(OGRSTLabelDy,dfY);}
444  double Perp(GBool &bDefault){return GetParamDbl(OGRSTLabelPerp,bDefault);}
445  void SetPerp(double dfPerp){SetParamDbl(OGRSTLabelPerp,dfPerp);}
446  GBool Bold(GBool &bDefault){return GetParamNum(OGRSTLabelBold,bDefault);}
447  void SetBold(GBool bBold){SetParamNum(OGRSTLabelBold,bBold);}
448  GBool Italic(GBool &bDefault){return GetParamNum(OGRSTLabelItalic,bDefault);}
449  void SetItalic(GBool bItalic){SetParamNum(OGRSTLabelItalic,bItalic);}
450  GBool Underline(GBool &bDefault){return GetParamNum(OGRSTLabelUnderline,bDefault);}
451  void SetUnderline(GBool bUnderline){SetParamNum(OGRSTLabelUnderline,bUnderline);}
452  int Priority(GBool &bDefault){return GetParamNum(OGRSTLabelPriority,bDefault);}
453  void SetPriority(int nPriority){SetParamNum(OGRSTLabelPriority,nPriority);}
454  GBool Strikeout(GBool &bDefault){return GetParamNum(OGRSTLabelStrikeout,bDefault);}
455  void SetStrikeout(GBool bStrikeout){SetParamNum(OGRSTLabelStrikeout,bStrikeout);}
456  double Stretch(GBool &bDefault){return GetParamDbl(OGRSTLabelStretch,bDefault);}
457  void SetStretch(double dfStretch){SetParamDbl(OGRSTLabelStretch,dfStretch);}
458  const char *ShadowColor(GBool &bDefault){return GetParamStr(OGRSTLabelHColor,bDefault);}
459  void SetShadowColor(const char *pszShadowColor){SetParamStr(OGRSTLabelHColor,pszShadowColor);}
460  const char *OutlineColor(GBool &bDefault){return GetParamStr(OGRSTLabelOColor,bDefault);}
461  void SetOutlineColor(const char *pszOutlineColor){SetParamStr(OGRSTLabelOColor,pszOutlineColor);}
462 
463  /*****************************************************************/
464 
465  const char *GetParamStr(OGRSTLabelParam eParam, GBool &bValueIsNull);
466  int GetParamNum(OGRSTLabelParam eParam,GBool &bValueIsNull);
467  double GetParamDbl(OGRSTLabelParam eParam,GBool &bValueIsNull);
468  void SetParamStr(OGRSTLabelParam eParam, const char *pszParamString);
469  void SetParamNum(OGRSTLabelParam eParam, int nParam);
470  void SetParamDbl(OGRSTLabelParam eParam, double dfParam);
471  const char *GetStyleString() override;
472 };
473 
475 
476 #endif /* OGR_FEATURESTYLE_INCLUDE */
Dy.
Definition: ogr_core.h:859
Outline color.
Definition: ogr_core.h:896
Id.
Definition: ogr_core.h:854
Dx.
Definition: ogr_core.h:840
Font name.
Definition: ogr_core.h:876
enum ogr_style_tool_param_symbol_id OGRSTSymbolParam
List of parameters for use with OGRStyleSymbol.
Highlight color.
Definition: ogr_core.h:895
int GetParamNum(const OGRStyleParamId &sStyleParam, OGRStyleValue &sStyleValue, GBool &bValueIsNull)
Undocumented.
Definition: ogrfeaturestyle.cpp:2089
Foreground color.
Definition: ogr_core.h:835
void SetParamDbl(const OGRStyleParamId &sStyleParam, OGRStyleValue &sStyleValue, double dfParam)
Undocumented.
Definition: ogrfeaturestyle.cpp:2250
Color.
Definition: ogr_core.h:817
const char * GetParamStr(const OGRStyleParamId &sStyleParam, OGRStyleValue &sStyleValue, GBool &bValueIsNull)
Undocumented.
Definition: ogrfeaturestyle.cpp:2035
Background color.
Definition: ogr_core.h:836
int GBool
Type for boolean values (alias to int)
Definition: cpl_port.h:221
Anchor.
Definition: ogr_core.h:883
Size.
Definition: ogr_core.h:857
Priority.
Definition: ogr_core.h:842
Offset.
Definition: ogr_core.h:862
Angle.
Definition: ogr_core.h:879
Join.
Definition: ogr_core.h:823
Color.
Definition: ogr_core.h:856
Underline.
Definition: ogr_core.h:889
enum ogr_style_tool_param_brush_id OGRSTBrushParam
List of parameters for use with OGRStyleBrush.
Dy.
Definition: ogr_core.h:841
enum ogr_style_tool_param_label_id OGRSTLabelParam
List of parameters for use with OGRStyleLabel.
Bold.
Definition: ogr_core.h:887
void SetParamNum(const OGRStyleParamId &sStyleParam, OGRStyleValue &sStyleValue, int nParam)
Undocumented.
Definition: ogrfeaturestyle.cpp:2208
Ground unit.
Definition: ogr_core.h:804
Id.
Definition: ogr_core.h:837
Cap.
Definition: ogr_core.h:822
Perpendicular.
Definition: ogr_core.h:861
Convenient string class based on std::string.
Definition: cpl_string.h:337
Perpendicular offset.
Definition: ogr_core.h:821
Dx.
Definition: ogr_core.h:884
This class represents a style manager.
Definition: ogr_featurestyle.h:117
Angle.
Definition: ogr_core.h:838
virtual const char * GetStyleString()=0
Get the style string for this Style Tool.
Size.
Definition: ogr_core.h:877
Various convenience functions for working with strings and string lists.
enum ogr_style_tool_class_id OGRSTClassId
OGRStyleTool derived class types (returned by GetType()).
Outline color.
Definition: ogr_core.h:865
Id.
Definition: ogr_core.h:820
enum ogr_style_tool_param_pen_id OGRSTPenParam
List of parameters for use with OGRStylePen.
OGRSTUnitId GetUnit()
Get Style Tool units.
Definition: ogr_featurestyle.h:214
enum ogr_style_tool_units_id OGRSTUnitId
List of units supported by OGRStyleTools.
Step.
Definition: ogr_core.h:860
Priority.
Definition: ogr_core.h:863
Size.
Definition: ogr_core.h:839
Pattern.
Definition: ogr_core.h:819
Priority.
Definition: ogr_core.h:824
Core portability services for cross-platform OGR code.
void SetParamStr(const OGRStyleParamId &sStyleParam, OGRStyleValue &sStyleValue, const char *pszParamString)
Undocumented.
Definition: ogrfeaturestyle.cpp:2167
Strike out.
Definition: ogr_core.h:891
Stretch.
Definition: ogr_core.h:892
Placement.
Definition: ogr_core.h:882
Various convenience functions for CPL.
Text string.
Definition: ogr_core.h:878
Foreground color.
Definition: ogr_core.h:880
Dx.
Definition: ogr_core.h:858
Perpendicular.
Definition: ogr_core.h:886
Italic.
Definition: ogr_core.h:888
Width.
Definition: ogr_core.h:818
This class represents a style tool.
Definition: ogr_featurestyle.h:161
Angle.
Definition: ogr_core.h:855
A simple feature, including geometry and attributes.
Definition: ogr_feature.h:280
This class represents a style table.
Definition: ogr_featurestyle.h:84
Background color.
Definition: ogr_core.h:881
None.
Definition: ogr_core.h:791
Dy.
Definition: ogr_core.h:885
ogr_style_type
OGR Style type.
Definition: ogr_featurestyle.h:50
enum ogr_style_type OGRSType
OGR Style type.
Priority.
Definition: ogr_core.h:890
double GetParamDbl(const OGRStyleParamId &sStyleParam, OGRStyleValue &sStyleValue, GBool &bValueIsNull)
Undocumented.
Definition: ogrfeaturestyle.cpp:2110

Generated for GDAL by doxygen 1.8.8.