MyGUI  3.2.1
MyGUI_RenderFormat.h
Go to the documentation of this file.
1 /*
2  * This source file is part of MyGUI. For the latest info, see http://mygui.info/
3  * Distributed under the MIT License
4  * (See accompanying file COPYING.MIT or copy at http://opensource.org/licenses/MIT)
5  */
6 
7 #ifndef __MYGUI_RENDER_FORMAT_H__
8 #define __MYGUI_RENDER_FORMAT_H__
9 
10 #include "MyGUI_Macros.h"
11 
12 namespace MyGUI
13 {
14 
16  {
17  public:
18  enum Enum
19  {
20  ColourARGB, // D3D style compact colour
21  ColourABGR, // GL style compact colour
22  MAX
23  };
24 
25  VertexColourType(Enum _value = MAX) :
26  mValue(_value)
27  {
28  }
29 
30  friend bool operator == (VertexColourType const& a, VertexColourType const& b)
31  {
32  return a.mValue == b.mValue;
33  }
34 
35  friend bool operator != (VertexColourType const& a, VertexColourType const& b)
36  {
37  return a.mValue != b.mValue;
38  }
39 
40  int getValue() const
41  {
42  return mValue;
43  }
44 
45  private:
46  Enum mValue;
47  };
48 
50  {
51  enum Enum
52  {
54  L8, // 1 byte pixel format, 1 byte luminance
55  L8A8, // 2 byte pixel format, 1 byte luminance, 1 byte alpha
56  R8G8B8, // 24-bit pixel format, 8 bits for red, green and blue.
57  R8G8B8A8 // 32-bit pixel format, 8 bits for red, green, blue and alpha.
58  };
59 
60  PixelFormat(Enum _value = Unknow) :
61  mValue(_value)
62  {
63  }
64 
65  friend bool operator == (PixelFormat const& a, PixelFormat const& b)
66  {
67  return a.mValue == b.mValue;
68  }
69 
70  friend bool operator != (PixelFormat const& a, PixelFormat const& b)
71  {
72  return a.mValue != b.mValue;
73  }
74 
75  int getValue() const
76  {
77  return mValue;
78  }
79 
80  private:
81  Enum mValue;
82  };
83 
85  {
86  enum Enum
87  {
88  Default = MYGUI_FLAG_NONE,
89  Static = MYGUI_FLAG(0),
90  Dynamic = MYGUI_FLAG(1),
91  Stream = MYGUI_FLAG(2),
92  Read = MYGUI_FLAG(3),
93  Write = MYGUI_FLAG(4),
94  RenderTarget = MYGUI_FLAG(5)
95  };
96 
97  TextureUsage(Enum _value = Default) :
98  mValue(_value)
99  {
100  }
101 
102  friend bool operator == (TextureUsage const& a, TextureUsage const& b)
103  {
104  return a.mValue == b.mValue;
105  }
106 
107  friend bool operator != (TextureUsage const& a, TextureUsage const& b)
108  {
109  return a.mValue != b.mValue;
110  }
111 
112  TextureUsage& operator |= (TextureUsage const& _other)
113  {
114  mValue = Enum(int(mValue) | int(_other.mValue));
115  return *this;
116  }
117 
118  friend TextureUsage operator | (Enum const& a, Enum const& b)
119  {
120  return TextureUsage(Enum(int(a) | int(b)));
121  }
122 
123  friend TextureUsage operator | (TextureUsage const& a, TextureUsage const& b)
124  {
125  return TextureUsage(Enum(int(a.mValue) | int(b.mValue)));
126  }
127 
128  bool isValue(Enum _value) const
129  {
130  return 0 != (mValue & _value);
131  }
132 
133  int getValue() const
134  {
135  return mValue;
136  }
137 
138  private:
139  Enum mValue;
140  };
141 
142 } // namespace MyGUI
143 
144 
145 #endif // __MYGUI_RENDER_FORMAT_H__