MyGUI  3.2.2
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 
15  struct MYGUI_EXPORT VertexColourType
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 
49  struct MYGUI_EXPORT PixelFormat
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 
84  struct MYGUI_EXPORT TextureUsage
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_
MyGUI::FontCodeType::Enum
Enum
Definition: MyGUI_FontData.h:18
MyGUI::PixelFormat::Enum
Enum
Definition: MyGUI_RenderFormat.h:51
MyGUI::VertexColourType::ColourARGB
@ ColourARGB
Definition: MyGUI_RenderFormat.h:20
MyGUI::TextureUsage::TextureUsage
TextureUsage(Enum _value=Default)
Definition: MyGUI_RenderFormat.h:97
MyGUI::PixelFormat::L8
@ L8
Definition: MyGUI_RenderFormat.h:54
MyGUI::TextureUsage::getValue
int getValue() const
Definition: MyGUI_RenderFormat.h:133
MyGUI::PixelFormat::R8G8B8
@ R8G8B8
Definition: MyGUI_RenderFormat.h:56
MyGUI::TextureUsage::isValue
bool isValue(Enum _value) const
Definition: MyGUI_RenderFormat.h:128
MYGUI_FLAG_NONE
#define MYGUI_FLAG_NONE
Definition: MyGUI_Macros.h:23
MyGUI::operator!=
bool operator!=(const UString::_const_fwd_iterator &left, const UString::_const_fwd_iterator &right)
Definition: MyGUI_UString.h:1048
MyGUI::PixelFormat::L8A8
@ L8A8
Definition: MyGUI_RenderFormat.h:55
MyGUI::VertexColourType::ColourABGR
@ ColourABGR
Definition: MyGUI_RenderFormat.h:21
MyGUI::VertexColourType
Definition: MyGUI_RenderFormat.h:15
MyGUI::TextureUsage::Enum
Enum
Definition: MyGUI_RenderFormat.h:86
MyGUI::PixelFormat::PixelFormat
PixelFormat(Enum _value=Unknow)
Definition: MyGUI_RenderFormat.h:60
MyGUI::VertexColourType::Enum
Enum
Definition: MyGUI_RenderFormat.h:18
MyGUI_Macros.h
MyGUI::PixelFormat
Definition: MyGUI_RenderFormat.h:49
MYGUI_FLAG
#define MYGUI_FLAG(num)
Definition: MyGUI_Macros.h:24
MyGUI::VertexColourType::getValue
int getValue() const
Definition: MyGUI_RenderFormat.h:40
MyGUI::VertexColourType::VertexColourType
VertexColourType(Enum _value=MAX)
Definition: MyGUI_RenderFormat.h:25
MyGUI
Definition: MyGUI_ActionController.h:14
MyGUI::PixelFormat::getValue
int getValue() const
Definition: MyGUI_RenderFormat.h:75
MyGUI::PixelFormat::Unknow
@ Unknow
Definition: MyGUI_RenderFormat.h:53
MyGUI::TextureUsage
Definition: MyGUI_RenderFormat.h:84
MyGUI::operator==
bool operator==(const UString::_const_fwd_iterator &left, const UString::_const_fwd_iterator &right)
Definition: MyGUI_UString.h:1045