GDAL
ogr_featurestyle.h
Go to the documentation of this file.
1 /******************************************************************************
2  * $Id: ogr_featurestyle.h 1e082b59d067cf2edf5713e15101c0b369d37e9a 2018-12-02 22:16:23 +0300 drons $
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 = nullptr;
88 
89  CPLString osLastRequestedStyleName{};
90  int iNextStyle = 0;
91 
93 
94  public:
95  OGRStyleTable();
96  ~OGRStyleTable();
97  GBool AddStyle(const char *pszName,const char *pszStyleString);
98  GBool RemoveStyle(const char *pszName);
99  GBool ModifyStyle(const char *pszName, const char *pszStyleString);
100 
101  GBool SaveStyleTable(const char *pszFilename);
102  GBool LoadStyleTable(const char *pszFilename);
103  const char *Find(const char *pszStyleString);
104  GBool IsExist(const char *pszName);
105  const char *GetStyleName(const char *pszName);
106  void Print(FILE *fpOut);
107  void Clear();
108  OGRStyleTable *Clone();
109  void ResetStyleStringReading();
110  const char *GetNextStyle();
111  const char *GetLastStyleName();
112 };
113 
114 class OGRStyleTool;
115 
119 class CPL_DLL OGRStyleMgr
120 {
121  private:
122  OGRStyleTable *m_poDataSetStyleTable = nullptr;
123  char *m_pszStyleString = nullptr;
124 
126 
127  public:
128  explicit OGRStyleMgr(OGRStyleTable *poDataSetStyleTable = nullptr);
129  ~OGRStyleMgr();
130 
131  GBool SetFeatureStyleString(OGRFeature *,const char *pszStyleString=nullptr,
132  GBool bNoMatching = FALSE);
133  /* It will set in the given feature the pszStyleString with
134  the style or will set the style name found in
135  dataset StyleTable (if bNoMatching == FALSE). */
136 
137  const char *InitFromFeature(OGRFeature *);
138  GBool InitStyleString(const char *pszStyleString = nullptr);
139 
140  const char *GetStyleName(const char *pszStyleString= nullptr);
141  const char *GetStyleByName(const char *pszStyleName);
142 
143  GBool AddStyle(const char *pszStyleName, const char *pszStyleString=nullptr);
144 
145  const char *GetStyleString(OGRFeature * = nullptr);
146 
147  GBool AddPart(OGRStyleTool *);
148  GBool AddPart(const char *);
149 
150  int GetPartCount(const char *pszStyleString = nullptr);
151  OGRStyleTool *GetPart(int hPartId, const char *pszStyleString = nullptr);
152 
153  /* It could have a reference counting process us for the OGRStyleTable, if
154  needed. */
156  OGRStyleTable *GetDataSetStyleTable(){return m_poDataSetStyleTable;}
157 
158  OGRStyleTool *CreateStyleToolFromStyleString(const char *pszStyleString);
160 };
161 
165 class CPL_DLL OGRStyleTool
166 {
167  private:
168  GBool m_bModified = false;
169  GBool m_bParsed = false;
170  double m_dfScale = 1.0;
171  OGRSTUnitId m_eUnit = OGRSTUMM;
172  OGRSTClassId m_eClassId = OGRSTCNone;
173  char *m_pszStyleString = nullptr;
174 
175  virtual GBool Parse() = 0;
176 
178 
179  protected:
180 #ifndef DOXYGEN_SKIP
181  GBool Parse(const OGRStyleParamId* pasStyle,
182  OGRStyleValue* pasValue,
183  int nCount);
184 #endif
185 
186  public:
187 
188  OGRStyleTool() :
189  m_bModified(FALSE),
190  m_bParsed(FALSE),
191  m_dfScale(0.0),
192  m_eUnit(OGRSTUGround),
193  m_eClassId(OGRSTCNone),
194  m_pszStyleString(nullptr)
195  {}
196  explicit OGRStyleTool(OGRSTClassId eClassId);
197  virtual ~OGRStyleTool();
198 
199  static GBool GetRGBFromString(const char *pszColor, int &nRed, int &nGreen,
200  int &nBlue, int &nTransparence);
201  static int GetSpecificId(const char *pszId, const char *pszWanted);
202 
203 #ifndef DOXYGEN_SKIP
204  GBool IsStyleModified() {return m_bModified;}
205  void StyleModified() {m_bModified = TRUE;}
206 
207  GBool IsStyleParsed() {return m_bParsed;}
208  void StyleParsed() {m_bParsed = TRUE;}
209 #endif
210 
211  OGRSTClassId GetType();
212 
213 #ifndef DOXYGEN_SKIP
214  void SetInternalInputUnitFromParam(char *pszString);
215 #endif
216 
217  void SetUnit(OGRSTUnitId,double dfScale = 1.0); //the dfScale will be
218  //used if we are working with Ground Unit ( ground = paper * scale);
219 
220  OGRSTUnitId GetUnit(){return m_eUnit;}
221 
222  // There are two way to set the parameters in the Style, with generic
223  // methods (using a defined enumeration) or with the reel method specific
224  // for Each style tools.
225 
226  virtual const char *GetStyleString() = 0;
227  void SetStyleString(const char *pszStyleString);
228  const char *GetStyleString(const OGRStyleParamId *pasStyleParam ,
229  OGRStyleValue *pasStyleValue, int nSize);
230 
231  const char *GetParamStr(const OGRStyleParamId &sStyleParam ,
232  OGRStyleValue &sStyleValue,
233  GBool &bValueIsNull);
234 
235  int GetParamNum(const OGRStyleParamId &sStyleParam ,
236  OGRStyleValue &sStyleValue,
237  GBool &bValueIsNull);
238 
239  double GetParamDbl(const OGRStyleParamId &sStyleParam ,
240  OGRStyleValue &sStyleValue,
241  GBool &bValueIsNull);
242 
243  void SetParamStr(const OGRStyleParamId &sStyleParam ,
244  OGRStyleValue &sStyleValue,
245  const char *pszParamString);
246 
247  void SetParamNum(const OGRStyleParamId &sStyleParam ,
248  OGRStyleValue &sStyleValue,
249  int nParam);
250 
251  void SetParamDbl(const OGRStyleParamId &sStyleParam ,
252  OGRStyleValue &sStyleValue,
253  double dfParam);
254 #ifndef DOXYGEN_SKIP
255  double ComputeWithUnit(double, OGRSTUnitId);
256  int ComputeWithUnit(int , OGRSTUnitId);
257 #endif
258 };
259 
261 
265 class CPL_DLL OGRStylePen : public OGRStyleTool
266 {
267  private:
268 
269  OGRStyleValue *m_pasStyleValue;
270 
271  GBool Parse() override;
272 
273  CPL_DISALLOW_COPY_ASSIGN(OGRStylePen)
274 
275  public:
276 
277  OGRStylePen();
278  ~OGRStylePen() override;
279 
280  /**********************************************************************/
281  /* Explicit fct for all parameters defined in the Drawing tools Pen */
282  /**********************************************************************/
283 
284  const char *Color(GBool &bDefault){return GetParamStr(OGRSTPenColor,bDefault);}
285  void SetColor(const char *pszColor){SetParamStr(OGRSTPenColor,pszColor);}
286  double Width(GBool &bDefault){return GetParamDbl(OGRSTPenWidth,bDefault);}
287  void SetWidth(double dfWidth){SetParamDbl(OGRSTPenWidth,dfWidth);}
288  const char *Pattern(GBool &bDefault){return GetParamStr(OGRSTPenPattern,bDefault);}
289  void SetPattern(const char *pszPattern){SetParamStr(OGRSTPenPattern,pszPattern);}
290  const char *Id(GBool &bDefault){return GetParamStr(OGRSTPenId,bDefault);}
291  void SetId(const char *pszId){SetParamStr(OGRSTPenId,pszId);}
292  double PerpendicularOffset(GBool &bDefault){return GetParamDbl(OGRSTPenPerOffset,bDefault);}
293  void SetPerpendicularOffset(double dfPerp){SetParamDbl(OGRSTPenPerOffset,dfPerp);}
294  const char *Cap(GBool &bDefault){return GetParamStr(OGRSTPenCap,bDefault);}
295  void SetCap(const char *pszCap){SetParamStr(OGRSTPenCap,pszCap);}
296  const char *Join(GBool &bDefault){return GetParamStr(OGRSTPenJoin,bDefault);}
297  void SetJoin(const char *pszJoin){SetParamStr(OGRSTPenJoin,pszJoin);}
298  int Priority(GBool &bDefault){return GetParamNum(OGRSTPenPriority,bDefault);}
299  void SetPriority(int nPriority){SetParamNum(OGRSTPenPriority,nPriority);}
300 
301  /*****************************************************************/
302 
303  const char *GetParamStr(OGRSTPenParam eParam, GBool &bValueIsNull);
304  int GetParamNum(OGRSTPenParam eParam,GBool &bValueIsNull);
305  double GetParamDbl(OGRSTPenParam eParam,GBool &bValueIsNull);
306  void SetParamStr(OGRSTPenParam eParam, const char *pszParamString);
307  void SetParamNum(OGRSTPenParam eParam, int nParam);
308  void SetParamDbl(OGRSTPenParam eParam, double dfParam);
309  const char *GetStyleString() override;
310 };
311 
315 class CPL_DLL OGRStyleBrush : public OGRStyleTool
316 {
317  private:
318 
319  OGRStyleValue *m_pasStyleValue;
320 
321  GBool Parse() override;
322 
323  CPL_DISALLOW_COPY_ASSIGN(OGRStyleBrush)
324 
325  public:
326 
327  OGRStyleBrush();
328  ~OGRStyleBrush() override;
329 
330  /* Explicit fct for all parameters defined in the Drawing tools Brush */
331 
332  const char *ForeColor(GBool &bDefault){return GetParamStr(OGRSTBrushFColor,bDefault);}
333  void SetForeColor(const char *pszColor){SetParamStr(OGRSTBrushFColor,pszColor);}
334  const char *BackColor(GBool &bDefault){return GetParamStr(OGRSTBrushBColor,bDefault);}
335  void SetBackColor(const char *pszColor){SetParamStr(OGRSTBrushBColor,pszColor);}
336  const char *Id(GBool &bDefault){ return GetParamStr(OGRSTBrushId,bDefault);}
337  void SetId(const char *pszId){SetParamStr(OGRSTBrushId,pszId);}
338  double Angle(GBool &bDefault){return GetParamDbl(OGRSTBrushAngle,bDefault);}
339  void SetAngle(double dfAngle){SetParamDbl(OGRSTBrushAngle,dfAngle );}
340  double Size(GBool &bDefault){return GetParamDbl(OGRSTBrushSize,bDefault);}
341  void SetSize(double dfSize){SetParamDbl(OGRSTBrushSize,dfSize );}
342  double SpacingX(GBool &bDefault){return GetParamDbl(OGRSTBrushDx,bDefault);}
343  void SetSpacingX(double dfX){SetParamDbl(OGRSTBrushDx,dfX );}
344  double SpacingY(GBool &bDefault){return GetParamDbl(OGRSTBrushDy,bDefault);}
345  void SetSpacingY(double dfY){SetParamDbl(OGRSTBrushDy,dfY );}
346  int Priority(GBool &bDefault){ return GetParamNum(OGRSTBrushPriority,bDefault);}
347  void SetPriority(int nPriority){ SetParamNum(OGRSTBrushPriority,nPriority);}
348 
349  /*****************************************************************/
350 
351  const char *GetParamStr(OGRSTBrushParam eParam, GBool &bValueIsNull);
352  int GetParamNum(OGRSTBrushParam eParam,GBool &bValueIsNull);
353  double GetParamDbl(OGRSTBrushParam eParam,GBool &bValueIsNull);
354  void SetParamStr(OGRSTBrushParam eParam, const char *pszParamString);
355  void SetParamNum(OGRSTBrushParam eParam, int nParam);
356  void SetParamDbl(OGRSTBrushParam eParam, double dfParam);
357  const char *GetStyleString() override;
358 };
359 
363 class CPL_DLL OGRStyleSymbol : public OGRStyleTool
364 {
365  private:
366 
367  OGRStyleValue *m_pasStyleValue;
368 
369  GBool Parse() override;
370 
371  CPL_DISALLOW_COPY_ASSIGN(OGRStyleSymbol)
372 
373  public:
374 
375  OGRStyleSymbol();
376  ~OGRStyleSymbol() override;
377 
378  /*****************************************************************/
379  /* Explicit fct for all parameters defined in the Drawing tools */
380  /*****************************************************************/
381 
382  const char *Id(GBool &bDefault){return GetParamStr(OGRSTSymbolId,bDefault);}
383  void SetId(const char *pszId){ SetParamStr(OGRSTSymbolId,pszId);}
384  double Angle(GBool &bDefault){ return GetParamDbl(OGRSTSymbolAngle,bDefault);}
385  void SetAngle(double dfAngle){SetParamDbl(OGRSTSymbolAngle,dfAngle );}
386  const char *Color(GBool &bDefault){return GetParamStr(OGRSTSymbolColor,bDefault);}
387  void SetColor(const char *pszColor){SetParamStr(OGRSTSymbolColor,pszColor);}
388  double Size(GBool &bDefault){ return GetParamDbl(OGRSTSymbolSize,bDefault);}
389  void SetSize(double dfSize){ SetParamDbl(OGRSTSymbolSize,dfSize );}
390  double SpacingX(GBool &bDefault){return GetParamDbl(OGRSTSymbolDx,bDefault);}
391  void SetSpacingX(double dfX){SetParamDbl(OGRSTSymbolDx,dfX );}
392  double SpacingY(GBool &bDefault){return GetParamDbl(OGRSTSymbolDy,bDefault);}
393  void SetSpacingY(double dfY){SetParamDbl(OGRSTSymbolDy,dfY );}
394  double Step(GBool &bDefault){return GetParamDbl(OGRSTSymbolStep,bDefault);}
395  void SetStep(double dfStep){SetParamDbl(OGRSTSymbolStep,dfStep );}
396  double Offset(GBool &bDefault){return GetParamDbl(OGRSTSymbolOffset,bDefault);}
397  void SetOffset(double dfOffset){SetParamDbl(OGRSTSymbolOffset,dfOffset );}
398  double Perp(GBool &bDefault){return GetParamDbl(OGRSTSymbolPerp,bDefault);}
399  void SetPerp(double dfPerp){SetParamDbl(OGRSTSymbolPerp,dfPerp );}
400  int Priority(GBool &bDefault){return GetParamNum(OGRSTSymbolPriority,bDefault);}
401  void SetPriority(int nPriority){SetParamNum(OGRSTSymbolPriority,nPriority);}
402  const char *FontName(GBool &bDefault)
403  {return GetParamStr(OGRSTSymbolFontName,bDefault);}
404  void SetFontName(const char *pszFontName)
405  {SetParamStr(OGRSTSymbolFontName,pszFontName);}
406  const char *OColor(GBool &bDefault){return GetParamStr(OGRSTSymbolOColor,bDefault);}
407  void SetOColor(const char *pszColor){SetParamStr(OGRSTSymbolOColor,pszColor);}
408 
409  /*****************************************************************/
410 
411  const char *GetParamStr(OGRSTSymbolParam eParam, GBool &bValueIsNull);
412  int GetParamNum(OGRSTSymbolParam eParam,GBool &bValueIsNull);
413  double GetParamDbl(OGRSTSymbolParam eParam,GBool &bValueIsNull);
414  void SetParamStr(OGRSTSymbolParam eParam, const char *pszParamString);
415  void SetParamNum(OGRSTSymbolParam eParam, int nParam);
416  void SetParamDbl(OGRSTSymbolParam eParam, double dfParam);
417  const char *GetStyleString() override;
418 };
419 
423 class CPL_DLL OGRStyleLabel : public OGRStyleTool
424 {
425  private:
426 
427  OGRStyleValue *m_pasStyleValue;
428 
429  GBool Parse() override;
430 
431  CPL_DISALLOW_COPY_ASSIGN(OGRStyleLabel)
432 
433  public:
434 
435  OGRStyleLabel();
436  ~OGRStyleLabel() override;
437 
438  /*****************************************************************/
439  /* Explicit fct for all parameters defined in the Drawing tools */
440  /*****************************************************************/
441 
442  const char *FontName(GBool &bDefault){return GetParamStr(OGRSTLabelFontName,bDefault);}
443  void SetFontName(const char *pszFontName){SetParamStr(OGRSTLabelFontName,pszFontName);}
444  double Size(GBool &bDefault){return GetParamDbl(OGRSTLabelSize,bDefault);}
445  void SetSize(double dfSize){SetParamDbl(OGRSTLabelSize,dfSize);}
446  const char *TextString(GBool &bDefault){return GetParamStr(OGRSTLabelTextString,bDefault);}
447  void SetTextString(const char *pszTextString){SetParamStr(OGRSTLabelTextString,pszTextString);}
448  double Angle(GBool &bDefault){return GetParamDbl(OGRSTLabelAngle,bDefault);}
449  void SetAngle(double dfAngle){SetParamDbl(OGRSTLabelAngle,dfAngle);}
450  const char *ForeColor(GBool &bDefault){return GetParamStr(OGRSTLabelFColor,bDefault);}
451  void SetForColor(const char *pszForColor){SetParamStr(OGRSTLabelFColor,pszForColor);}
452  const char *BackColor(GBool &bDefault){return GetParamStr(OGRSTLabelBColor,bDefault);}
453  void SetBackColor(const char *pszBackColor){SetParamStr(OGRSTLabelBColor,pszBackColor);}
454  const char *Placement(GBool &bDefault){return GetParamStr(OGRSTLabelPlacement,bDefault);}
455  void SetPlacement(const char *pszPlacement){SetParamStr(OGRSTLabelPlacement,pszPlacement);}
456  int Anchor(GBool &bDefault){return GetParamNum(OGRSTLabelAnchor,bDefault);}
457  void SetAnchor(int nAnchor){SetParamNum(OGRSTLabelAnchor,nAnchor);}
458  double SpacingX(GBool &bDefault){return GetParamDbl(OGRSTLabelDx,bDefault);}
459  void SetSpacingX(double dfX){SetParamDbl(OGRSTLabelDx,dfX);}
460  double SpacingY(GBool &bDefault){return GetParamDbl(OGRSTLabelDy,bDefault);}
461  void SetSpacingY(double dfY){SetParamDbl(OGRSTLabelDy,dfY);}
462  double Perp(GBool &bDefault){return GetParamDbl(OGRSTLabelPerp,bDefault);}
463  void SetPerp(double dfPerp){SetParamDbl(OGRSTLabelPerp,dfPerp);}
464  GBool Bold(GBool &bDefault){return GetParamNum(OGRSTLabelBold,bDefault);}
465  void SetBold(GBool bBold){SetParamNum(OGRSTLabelBold,bBold);}
466  GBool Italic(GBool &bDefault){return GetParamNum(OGRSTLabelItalic,bDefault);}
467  void SetItalic(GBool bItalic){SetParamNum(OGRSTLabelItalic,bItalic);}
468  GBool Underline(GBool &bDefault){return GetParamNum(OGRSTLabelUnderline,bDefault);}
469  void SetUnderline(GBool bUnderline){SetParamNum(OGRSTLabelUnderline,bUnderline);}
470  int Priority(GBool &bDefault){return GetParamNum(OGRSTLabelPriority,bDefault);}
471  void SetPriority(int nPriority){SetParamNum(OGRSTLabelPriority,nPriority);}
472  GBool Strikeout(GBool &bDefault){return GetParamNum(OGRSTLabelStrikeout,bDefault);}
473  void SetStrikeout(GBool bStrikeout){SetParamNum(OGRSTLabelStrikeout,bStrikeout);}
474  double Stretch(GBool &bDefault){return GetParamDbl(OGRSTLabelStretch,bDefault);}
475  void SetStretch(double dfStretch){SetParamDbl(OGRSTLabelStretch,dfStretch);}
476  const char *ShadowColor(GBool &bDefault){return GetParamStr(OGRSTLabelHColor,bDefault);}
477  void SetShadowColor(const char *pszShadowColor){SetParamStr(OGRSTLabelHColor,pszShadowColor);}
478  const char *OutlineColor(GBool &bDefault){return GetParamStr(OGRSTLabelOColor,bDefault);}
479  void SetOutlineColor(const char *pszOutlineColor){SetParamStr(OGRSTLabelOColor,pszOutlineColor);}
480 
481  /*****************************************************************/
482 
483  const char *GetParamStr(OGRSTLabelParam eParam, GBool &bValueIsNull);
484  int GetParamNum(OGRSTLabelParam eParam,GBool &bValueIsNull);
485  double GetParamDbl(OGRSTLabelParam eParam,GBool &bValueIsNull);
486  void SetParamStr(OGRSTLabelParam eParam, const char *pszParamString);
487  void SetParamNum(OGRSTLabelParam eParam, int nParam);
488  void SetParamDbl(OGRSTLabelParam eParam, double dfParam);
489  const char *GetStyleString() override;
490 };
491 
493 
494 #endif /* OGR_FEATURESTYLE_INCLUDE */
Dy.
Definition: ogr_core.h:871
Outline color.
Definition: ogr_core.h:908
Id.
Definition: ogr_core.h:866
Dx.
Definition: ogr_core.h:852
Font name.
Definition: ogr_core.h:888
enum ogr_style_tool_param_symbol_id OGRSTSymbolParam
List of parameters for use with OGRStyleSymbol.
Highlight color.
Definition: ogr_core.h:907
Foreground color.
Definition: ogr_core.h:847
Color.
Definition: ogr_core.h:829
Background color.
Definition: ogr_core.h:848
int GBool
Type for boolean values (alias to int)
Definition: cpl_port.h:223
Anchor.
Definition: ogr_core.h:895
Size.
Definition: ogr_core.h:869
Priority.
Definition: ogr_core.h:854
Offset.
Definition: ogr_core.h:874
Angle.
Definition: ogr_core.h:891
Join.
Definition: ogr_core.h:835
Color.
Definition: ogr_core.h:868
Underline.
Definition: ogr_core.h:901
enum ogr_style_tool_param_brush_id OGRSTBrushParam
List of parameters for use with OGRStyleBrush.
Dy.
Definition: ogr_core.h:853
enum ogr_style_tool_param_label_id OGRSTLabelParam
List of parameters for use with OGRStyleLabel.
Bold.
Definition: ogr_core.h:899
Ground unit.
Definition: ogr_core.h:816
Id.
Definition: ogr_core.h:849
Cap.
Definition: ogr_core.h:834
Perpendicular.
Definition: ogr_core.h:873
Convenient string class based on std::string.
Definition: cpl_string.h:329
Perpendicular offset.
Definition: ogr_core.h:833
Dx.
Definition: ogr_core.h:896
This class represents a style manager.
Definition: ogr_featurestyle.h:119
Angle.
Definition: ogr_core.h:850
Size.
Definition: ogr_core.h:889
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:877
Id.
Definition: ogr_core.h:832
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:220
enum ogr_style_tool_units_id OGRSTUnitId
List of units supported by OGRStyleTools.
Step.
Definition: ogr_core.h:872
Priority.
Definition: ogr_core.h:875
Size.
Definition: ogr_core.h:851
Pattern.
Definition: ogr_core.h:831
Priority.
Definition: ogr_core.h:836
Core portability services for cross-platform OGR code.
Strike out.
Definition: ogr_core.h:903
Stretch.
Definition: ogr_core.h:904
Placement.
Definition: ogr_core.h:894
Various convenience functions for CPL.
Text string.
Definition: ogr_core.h:890
Foreground color.
Definition: ogr_core.h:892
Dx.
Definition: ogr_core.h:870
Perpendicular.
Definition: ogr_core.h:898
Italic.
Definition: ogr_core.h:900
Width.
Definition: ogr_core.h:830
This class represents a style tool.
Definition: ogr_featurestyle.h:165
Angle.
Definition: ogr_core.h:867
A simple feature, including geometry and attributes.
Definition: ogr_feature.h:354
This class represents a style table.
Definition: ogr_featurestyle.h:84
Background color.
Definition: ogr_core.h:893
Font name.
Definition: ogr_core.h:876
None.
Definition: ogr_core.h:803
Dy.
Definition: ogr_core.h:897
ogr_style_type
OGR Style type.
Definition: ogr_featurestyle.h:50
Millimeter.
Definition: ogr_core.h:819
enum ogr_style_type OGRSType
OGR Style type.
Priority.
Definition: ogr_core.h:902
#define CPL_DISALLOW_COPY_ASSIGN(ClassName)
Helper to remove the copy and assignment constructors so that the compiler will not generate the defa...
Definition: cpl_port.h:989

Generated for GDAL by doxygen 1.8.13.