All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Pages
FontMaterialSetBuilder.h
1 // Copyright eeGeo Ltd (2012-2014), All Rights Reserved
2 
3 #pragma once
4 
5 #include "Types.h"
6 #include "Fonts.h"
7 #include "Rendering.h"
8 
9 #include <string>
10 
11 namespace Eegeo
12 {
13  namespace Fonts
14  {
16  {
17  public:
19 
20  void Reset();
21 
22  FontMaterialSet* Build();
23 
24  FontMaterialSetBuilder& SetName(const std::string& name);
25 
26  FontMaterialSetBuilder& SetFontInstance(const Fonts::FontInstance& fontInstance);
27 
28  FontMaterialSetBuilder& SetOutline(bool needsOutline);
29 
30  FontMaterialSetBuilder& SetSdfHalo(bool needsSdfHalo);
31 
32  FontMaterialSetBuilder& SetSupersampling(bool needsSupersampling);
33 
34  FontMaterialSetBuilder& SetNonUniformScale(bool needsNonUniformScale);
35 
36  private:
37  Rendering::Materials::ITextMaterialFactory& m_textMaterialFactory;
38  std::string m_name;
39  const Fonts::FontInstance* m_pFontInstance;
40  bool m_needsOutline;
41  bool m_needsSdfHalo;
42  bool m_needsSupersampling;
43  bool m_needsNonUniformScale;
44  };
45  }
46 }