ContextSettings.hpp
1 //
3 // SFML - Simple and Fast Multimedia Library
4 // Copyright (C) 2007-2018 Laurent Gomila (laurent@sfml-dev.org)
5 //
6 // This software is provided 'as-is', without any express or implied warranty.
7 // In no event will the authors be held liable for any damages arising from the use of this software.
8 //
9 // Permission is granted to anyone to use this software for any purpose,
10 // including commercial applications, and to alter it and redistribute it freely,
11 // subject to the following restrictions:
12 //
13 // 1. The origin of this software must not be misrepresented;
14 // you must not claim that you wrote the original software.
15 // If you use this software in a product, an acknowledgment
16 // in the product documentation would be appreciated but is not required.
17 //
18 // 2. Altered source versions must be plainly marked as such,
19 // and must not be misrepresented as being the original software.
20 //
21 // 3. This notice may not be removed or altered from any source distribution.
22 //
24 
25 #ifndef SFML_CONTEXTSETTINGS_HPP
26 #define SFML_CONTEXTSETTINGS_HPP
27 
28 #include <SFML/Config.hpp>
29 
30 namespace sf
31 {
38 {
43  enum Attribute
44  {
45  Default = 0,
46  Core = 1 << 0,
47  Debug = 1 << 2
48  };
49 
62  explicit ContextSettings(unsigned int depth = 0, unsigned int stencil = 0, unsigned int antialiasing = 0, unsigned int major = 1, unsigned int minor = 1, unsigned int attributes = Default, bool sRgb = false) :
63  depthBits (depth),
64  stencilBits (stencil),
65  antialiasingLevel(antialiasing),
66  majorVersion (major),
67  minorVersion (minor),
68  attributeFlags (attributes),
69  sRgbCapable (sRgb)
70  {
71  }
72 
74  // Member data
76  unsigned int depthBits;
77  unsigned int stencilBits;
78  unsigned int antialiasingLevel;
79  unsigned int majorVersion;
80  unsigned int minorVersion;
81  Uint32 attributeFlags;
82  bool sRgbCapable;
83 };
84 
85 } // namespace sf
86 
87 
88 #endif // SFML_CONTEXTSETTINGS_HPP
89 
90 
sf::ContextSettings::sRgbCapable
bool sRgbCapable
Whether the context framebuffer is sRGB capable.
Definition: ContextSettings.hpp:82
sf::ContextSettings::antialiasingLevel
unsigned int antialiasingLevel
Level of antialiasing.
Definition: ContextSettings.hpp:78
sf::ContextSettings::Attribute
Attribute
Enumeration of the context attribute flags.
Definition: ContextSettings.hpp:44
sf::ContextSettings
Structure defining the settings of the OpenGL context attached to a window.
Definition: ContextSettings.hpp:38
sf::ContextSettings::ContextSettings
ContextSettings(unsigned int depth=0, unsigned int stencil=0, unsigned int antialiasing=0, unsigned int major=1, unsigned int minor=1, unsigned int attributes=Default, bool sRgb=false)
Default constructor.
Definition: ContextSettings.hpp:62
sf::ContextSettings::stencilBits
unsigned int stencilBits
Bits of the stencil buffer.
Definition: ContextSettings.hpp:77
sf::ContextSettings::attributeFlags
Uint32 attributeFlags
The attribute flags to create the context with.
Definition: ContextSettings.hpp:81
sf::ContextSettings::Core
@ Core
Core attribute.
Definition: ContextSettings.hpp:46
sf::ContextSettings::depthBits
unsigned int depthBits
Bits of the depth buffer.
Definition: ContextSettings.hpp:76
sf::ContextSettings::Debug
@ Debug
Debug attribute.
Definition: ContextSettings.hpp:47
sf::ContextSettings::Default
@ Default
Non-debug, compatibility context (this and the core attribute are mutually exclusive)
Definition: ContextSettings.hpp:45
sf::ContextSettings::majorVersion
unsigned int majorVersion
Major number of the context version to create.
Definition: ContextSettings.hpp:79
sf::ContextSettings::minorVersion
unsigned int minorVersion
Minor number of the context version to create.
Definition: ContextSettings.hpp:80