All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Pages
BatchedIconAppearanceBuilder.h
1 // Copyright eeGeo Ltd (2012-2014), All Rights Reserved
2 
3 #pragma once
4 
5 #include "VectorMath.h"
6 #include "Graphics.h"
7 #include "Icons.h"
8 #include "Types.h"
9 
10 namespace Eegeo
11 {
12  namespace Icons
13  {
15  {
16  public:
18 
19  BatchedIconAppearanceBuilder& SetScale(float scale);
20 
21  BatchedIconAppearanceBuilder& SetIconColor(const v4& iconColor);
22 
23  BatchedIconAppearanceBuilder& SetDepthTest(bool depthTest);
24 
25  BatchedIconAppearanceBuilder& SetStencilTest(bool stencilTest);
26 
27  BatchedIconAppearanceBuilder& SetStencilFunc(GLenum stencilFunc, int stencilRef, u32 stencilMask);
28 
29  BatchedIconAppearanceBuilder& SetStencilMaskedStyle(bool enable, GLenum stencilFunc, const v4& makedIconColor);
30 
31  BatchedIconAppearanceBuilder& SetFromAppearance(const BatchedIconAppearance& apperance);
32 
34 
35  BatchedIconAppearance Build();
36 
37  private:
38  v4 m_iconColor;
39  v4 m_stencilMaskedIconColor;
40  float m_scale;
41  int m_stencilRef;
42  u32 m_stencilMask;
43  GLenum m_stencilFunc;
44  GLenum m_stencilMaskedStyleStencilFunc;
45  bool m_depthTest;
46  bool m_stencilTest;
47  bool m_stencilMaskedStyleEnabled;
48  };
49  }
50 }