globjects  2.0.0.4363356ae2ef
Strict OpenGL objects wrapper.
Loading...
Searching...
No Matches
Capability.h
Go to the documentation of this file.
1
2#pragma once
3
4
5#include <map>
6
7#include <glbinding/gl/types.h>
8
9#include <globjects/globjects_api.h>
10
12
13
14namespace globjects
15{
16
17
18class GLOBJECTS_API Capability : public Instantiator<Capability>
19{
20public:
21 Capability(gl::GLenum capability);
22 Capability(gl::GLenum capability, bool enabled);
23
24 gl::GLenum capability() const;
25
26 void enable();
27 void disable();
28 bool isEnabled() const;
29
30 void enable(int index);
31 void disable(int index);
32 bool isEnabled(int index) const;
33
34 void apply();
35
36protected:
37 gl::GLenum m_capability;
38
40 std::map<int, bool> m_indexEnabled;
41};
42
43
44} // namespace globjects
Definition: Capability.h:19
void enable(int index)
bool m_enabled
Definition: Capability.h:39
gl::GLenum capability() const
bool isEnabled(int index) const
bool isEnabled() const
gl::GLenum m_capability
Definition: Capability.h:37
void disable(int index)
Capability(gl::GLenum capability, bool enabled)
Capability(gl::GLenum capability)
std::map< int, bool > m_indexEnabled
Definition: Capability.h:40
CRTP for creating objects similar to std::make_unique.
Definition: Instantiator.h:22
Contains all the classes that wrap OpenGL functionality.