All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Pages
FontMaterialSetProperties.h
1 // Copyright eeGeo Ltd (2012-2014), All Rights Reserved
2 
3 #pragma once
4 
5 #include "Types.h"
6 #include "Rendering.h"
7 #include "IMaterial.h"
8 #include <vector>
9 
10 namespace Eegeo
11 {
12  namespace Fonts
13  {
15  {
17  : IsSdf(false)
18  , HasOutline(false)
19  , HasHalo(false)
20  , HasSupersampling(false)
21  , HasNonUniformScale(false)
22  {
23 
24  }
25 
26  std::string FontInstanceId;
27  bool IsSdf;
28  bool HasOutline;
29  bool HasHalo;
30  bool HasSupersampling;
31  bool HasNonUniformScale;
32 
33  bool operator< (const FontMaterialSetProperties& rhs) const
34  {
35  if (FontInstanceId == rhs.FontInstanceId)
36  {
37  return ToFlags() < rhs.ToFlags();
38  }
39  return FontInstanceId < rhs.FontInstanceId;
40  }
41  private:
42  u32 ToFlags() const
43  {
44  u32 flags = 0;
45  flags += IsSdf ? 0x1 : 0;
46  flags += HasOutline ? 0x2 : 0;
47  flags += HasHalo ? 0x4 : 0;
48  flags += HasSupersampling ? 0x8 : 0;
49  flags += HasNonUniformScale ? 0x10 : 0;
50  return flags;
51  }
52  };
53  }
54 }