GDAL

ogr_featurestyle.h
Go to the documentation of this file.
1 /******************************************************************************
2 * $Id$
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
92 CPL_DISALLOW_COPY_ASSIGN(OGRStyleTable)
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
125 CPL_DISALLOW_COPY_ASSIGN(OGRStyleMgr)
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 static 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
177 CPL_DISALLOW_COPY_ASSIGN(OGRStyleTool)
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 */
OGRSTSymbolStep
@ OGRSTSymbolStep
Step.
Definition: ogr_core.h:1002
OGRSTLabelStretch
@ OGRSTLabelStretch
Stretch.
Definition: ogr_core.h:1034
OGRSType
enum ogr_style_type OGRSType
OGR Style type.
OGRStyleTool::SetParamDbl
void SetParamDbl(const OGRStyleParamId &sStyleParam, OGRStyleValue &sStyleValue, double dfParam)
Undocumented.
Definition: ogrfeaturestyle.cpp:2253
OGRSTBrushSize
@ OGRSTBrushSize
Size.
Definition: ogr_core.h:981
OGRStyleTool
This class represents a style tool.
Definition: ogr_featurestyle.h:165
OGRSTLabelStrikeout
@ OGRSTLabelStrikeout
Strike out.
Definition: ogr_core.h:1033
OGRStyleTool::GetParamStr
const char * GetParamStr(const OGRStyleParamId &sStyleParam, OGRStyleValue &sStyleValue, GBool &bValueIsNull)
Undocumented.
Definition: ogrfeaturestyle.cpp:2038
OGRSTLabelPerp
@ OGRSTLabelPerp
Perpendicular.
Definition: ogr_core.h:1028
OGRSTSymbolPriority
@ OGRSTSymbolPriority
Priority.
Definition: ogr_core.h:1005
OGRSTLabelBColor
@ OGRSTLabelBColor
Background color.
Definition: ogr_core.h:1023
OGRSTLabelFColor
@ OGRSTLabelFColor
Foreground color.
Definition: ogr_core.h:1022
OGRStyleTable
This class represents a style table.
Definition: ogr_featurestyle.h:84
OGRSTClassId
enum ogr_style_tool_class_id OGRSTClassId
OGRStyleTool derived class types (returned by GetType()).
OGRSTBrushParam
enum ogr_style_tool_param_brush_id OGRSTBrushParam
List of parameters for use with OGRStyleBrush.
OGRSTLabelItalic
@ OGRSTLabelItalic
Italic.
Definition: ogr_core.h:1030
OGRStyleTool::SetParamStr
void SetParamStr(const OGRStyleParamId &sStyleParam, OGRStyleValue &sStyleValue, const char *pszParamString)
Undocumented.
Definition: ogrfeaturestyle.cpp:2170
OGRSTPenWidth
@ OGRSTPenWidth
Width.
Definition: ogr_core.h:960
OGRSTLabelParam
enum ogr_style_tool_param_label_id OGRSTLabelParam
List of parameters for use with OGRStyleLabel.
OGRSTLabelTextString
@ OGRSTLabelTextString
Text string.
Definition: ogr_core.h:1020
CPLString
Convenient string class based on std::string.
Definition: cpl_string.h:320
OGRSTPenParam
enum ogr_style_tool_param_pen_id OGRSTPenParam
List of parameters for use with OGRStylePen.
OGRSTLabelPlacement
@ OGRSTLabelPlacement
Placement.
Definition: ogr_core.h:1024
OGRSTUnitId
enum ogr_style_tool_units_id OGRSTUnitId
List of units supported by OGRStyleTools.
OGRSTCNone
@ OGRSTCNone
None.
Definition: ogr_core.h:933
OGRSTPenPriority
@ OGRSTPenPriority
Priority.
Definition: ogr_core.h:966
OGRSTSymbolDx
@ OGRSTSymbolDx
Dx.
Definition: ogr_core.h:1000
OGRSTLabelOColor
@ OGRSTLabelOColor
Outline color.
Definition: ogr_core.h:1038
OGRSTSymbolAngle
@ OGRSTSymbolAngle
Angle.
Definition: ogr_core.h:997
OGRSTSymbolFontName
@ OGRSTSymbolFontName
Font name.
Definition: ogr_core.h:1006
OGRSTPenColor
@ OGRSTPenColor
Color.
Definition: ogr_core.h:959
OGRSTLabelDy
@ OGRSTLabelDy
Dy.
Definition: ogr_core.h:1027
OGRSTUMM
@ OGRSTUMM
Millimeter.
Definition: ogr_core.h:949
ogr_style_type
ogr_style_type
OGR Style type.
Definition: ogr_featurestyle.h:50
OGRSTLabelFontName
@ OGRSTLabelFontName
Font name.
Definition: ogr_core.h:1018
OGRSTLabelPriority
@ OGRSTLabelPriority
Priority.
Definition: ogr_core.h:1032
OGRSTLabelUnderline
@ OGRSTLabelUnderline
Underline.
Definition: ogr_core.h:1031
OGRStyleTool::GetStyleString
virtual const char * GetStyleString()=0
Get the style string for this Style Tool.
OGRSTLabelAnchor
@ OGRSTLabelAnchor
Anchor.
Definition: ogr_core.h:1025
OGRSTLabelAngle
@ OGRSTLabelAngle
Angle.
Definition: ogr_core.h:1021
OGRSTSymbolDy
@ OGRSTSymbolDy
Dy.
Definition: ogr_core.h:1001
OGRSTBrushDx
@ OGRSTBrushDx
Dx.
Definition: ogr_core.h:982
cpl_conv.h
cpl_string.h
OGRSTSymbolParam
enum ogr_style_tool_param_symbol_id OGRSTSymbolParam
List of parameters for use with OGRStyleSymbol.
OGRSTBrushFColor
@ OGRSTBrushFColor
Foreground color.
Definition: ogr_core.h:977
OGRSTBrushDy
@ OGRSTBrushDy
Dy.
Definition: ogr_core.h:983
OGRSTSymbolId
@ OGRSTSymbolId
Id.
Definition: ogr_core.h:996
OGRSTBrushBColor
@ OGRSTBrushBColor
Background color.
Definition: ogr_core.h:978
OGRStyleMgr
This class represents a style manager.
Definition: ogr_featurestyle.h:119
OGRSTUGround
@ OGRSTUGround
Ground unit.
Definition: ogr_core.h:946
OGRSTSymbolSize
@ OGRSTSymbolSize
Size.
Definition: ogr_core.h:999
OGRSTLabelHColor
@ OGRSTLabelHColor
Highlight color.
Definition: ogr_core.h:1037
OGRSTSymbolOffset
@ OGRSTSymbolOffset
Offset.
Definition: ogr_core.h:1004
OGRStyleTool::GetParamNum
int GetParamNum(const OGRStyleParamId &sStyleParam, OGRStyleValue &sStyleValue, GBool &bValueIsNull)
Undocumented.
Definition: ogrfeaturestyle.cpp:2092
OGRSTBrushId
@ OGRSTBrushId
Id.
Definition: ogr_core.h:979
OGRSTPenCap
@ OGRSTPenCap
Cap.
Definition: ogr_core.h:964
OGRStyleTool::GetParamDbl
double GetParamDbl(const OGRStyleParamId &sStyleParam, OGRStyleValue &sStyleValue, GBool &bValueIsNull)
Undocumented.
Definition: ogrfeaturestyle.cpp:2113
OGRFeature
A simple feature, including geometry and attributes.
Definition: ogr_feature.h:381
OGRSTPenPerOffset
@ OGRSTPenPerOffset
Perpendicular offset.
Definition: ogr_core.h:963
OGRSTBrushPriority
@ OGRSTBrushPriority
Priority.
Definition: ogr_core.h:984
OGRSTPenJoin
@ OGRSTPenJoin
Join.
Definition: ogr_core.h:965
OGRStyleTool::GetUnit
OGRSTUnitId GetUnit()
Get Style Tool units.
Definition: ogr_featurestyle.h:220
GBool
int GBool
Type for boolean values (alias to int)
Definition: cpl_port.h:211
OGRSTSymbolColor
@ OGRSTSymbolColor
Color.
Definition: ogr_core.h:998
OGRSTSymbolOColor
@ OGRSTSymbolOColor
Outline color.
Definition: ogr_core.h:1007
OGRSTLabelDx
@ OGRSTLabelDx
Dx.
Definition: ogr_core.h:1026
OGRStyleTool::SetParamNum
void SetParamNum(const OGRStyleParamId &sStyleParam, OGRStyleValue &sStyleValue, int nParam)
Undocumented.
Definition: ogrfeaturestyle.cpp:2211
OGRSTPenId
@ OGRSTPenId
Id.
Definition: ogr_core.h:962
OGRSTSymbolPerp
@ OGRSTSymbolPerp
Perpendicular.
Definition: ogr_core.h:1003
ogr_core.h
OGRSTBrushAngle
@ OGRSTBrushAngle
Angle.
Definition: ogr_core.h:980
OGRSTPenPattern
@ OGRSTPenPattern
Pattern.
Definition: ogr_core.h:961
OGRSTLabelSize
@ OGRSTLabelSize
Size.
Definition: ogr_core.h:1019
OGRSTLabelBold
@ OGRSTLabelBold
Bold.
Definition: ogr_core.h:1029
CPL_DISALLOW_COPY_ASSIGN
#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:930