All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Pages
ILabelStyleSheetParser.h
1 // Copyright eeGeo Ltd (2012-2014), All Rights Reserved
2 
3 #pragma once
4 
5 #include "Types.h"
6 #include "Labels.h"
7 #include "LabelStyle.h"
8 #include "LabelResourceFontBinding.h"
9 
10 #include <string>
11 #include <vector>
12 
13 namespace Eegeo
14 {
15  namespace Labels
16  {
17 
19  {
20  std::string Name;
21  std::string LabelResourceFontBinding;
22  float SizePx;
23  u32 GlyphColorRGBA;
24  u32 HaloColorRGBA;
25  u32 MaskedGlyphColorRGBA;
26  u32 MaskedHaloColorRGBA;
27  float HaloWidth;
28  float HaloHardness;
29  bool ApplyProjectionScale;
30  };
31 
33  {
34  std::string Name;
35  u32 Color;
36  u32 MaskedColor;
37  float SizePx;
38  bool ApplyPixelScale;
39  };
40 
42  {
43  std::string Name;
44  std::string LabelTextStyleName;
45  std::string LabelIconStyleName;
46  LabelOrientation::Type LabelOrientation;
47  LabelDisplay::Type LabelDisplay;
48  LabelHorizontalAlignment::Type LabelHorizontalAlignment;
49  LabelVerticalAlignment::Type LabelVerticalAlignment;
50  float XOffsetEms;
51  float YOffsetEms;
52  float AltitudeOffset;
53  float ConstraintRadiusScale;
54  float FadeDuration;
55  bool InitiallyFadedOut;
56  bool Pickable;
57  StencilMode::Type StencilMode;
58  StencilMode::Type StencilModeFlattened;
59  int Priority;
60  float ScreenMargin;
61  ScreenMarginHiding::Type ScreenMarginHiding;
62  bool IgnoreOcclusion;
63  float IconXOffset;
64  float IconYOffset;
65  };
66 
67 
69  {
70  std::string LabelAnchorCategory;
71  std::string LabelStyleName;
72  };
73 
75  {
76  std::vector<LabelTextStyleDto> LabelTextStyles;
77  std::vector<LabelIconStyleDto> LabelIconStyles;
78  std::vector<LabelStyleDto> LabelStyles;
79  std::vector<LabelStyleBindingDto> LabelStyleBindings;
80  };
81 
83  {
84  public:
85  virtual ~ILabelStyleSheetParser() {}
86 
87  virtual bool TryParse(const std::string& serializedLabelStyleSheet, LabelStyleSheetParserResult& out_result) const = 0;
88  };
89  }
90 }