All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Pages
BatchedIconAppearance.h
1 // Copyright eeGeo Ltd (2012-2014), All Rights Reserved
2 
3 #pragma once
4 
5 #include "Types.h"
6 #include "Graphics.h"
7 #include "VectorMath.h"
8 
9 namespace Eegeo
10 {
11  namespace Icons
12  {
14  {
15  public:
16  static BatchedIconAppearance BuildDefault();
17 
18  BatchedIconAppearance(float scale,
19  const v4& iconColor,
20  bool depthTest,
21  bool stencilTest,
22  GLenum stencilFunc,
23  int stencilRef,
24  u32 stencilMask,
25  bool stencilMaskedStyleEnabled,
26  GLenum stencilMaskedStyleStencilFunc,
27  const v4& stencilMaskedIconColor);
28 
29  bool operator !=(const BatchedIconAppearance& rhs) const;
30  bool operator ==(const BatchedIconAppearance& rhs) const;
31 
32  float GetScale() const { return m_scale; }
33  bool IsDepthTest() const { return m_depthTest; }
34  bool IsStencilTest() const { return m_stencilTest; }
35  GLenum GetStencilFunc() const { return m_stencilFunc; }
36  int GetStencilRef() const { return m_stencilRef; }
37  u32 GetStencilMask() const { return m_stencilMask; }
38 
39  bool IsStencilMaskedStyleEnabled() const { return m_stencilMaskedStyleEnabled; }
40  GLenum GetStencilMaskedStyleStencilFunc() const { return m_stencilMaskedStyleStencilFunc; }
41  const v4& GetIconColor() const { return m_iconColor; }
42  const v4& GetStencilMaskedIconColor() const { return m_stencilMaskedIconColor; }
43 
44  private:
45 
46  v4 m_iconColor;
47  v4 m_stencilMaskedIconColor;
48  float m_scale;
49  int m_stencilRef;
50  u32 m_stencilMask;
51  GLenum m_stencilFunc;
52  GLenum m_stencilMaskedStyleStencilFunc;
53  bool m_depthTest;
54  bool m_stencilTest;
55  bool m_stencilMaskedStyleEnabled;
56  };
57 
58  }
59 }