5#include <unordered_map>
8#include <glbinding/gl/types.h>
10#include <globjects/globjects_api.h>
48 virtual void enable(gl::GLenum capability)
override;
49 virtual void disable(gl::GLenum capability)
override;
50 virtual bool isEnabled(gl::GLenum capability)
const override;
51 virtual void enable(gl::GLenum capability,
int index)
override;
52 virtual void disable(gl::GLenum capability,
int index)
override;
53 virtual bool isEnabled(gl::GLenum capability,
int index)
const override;
55 virtual void add(std::unique_ptr<StateSetting> && setting)
override;
64 std::vector<const StateSetting *>
settings()
const;
76 std::unordered_map<StateSettingType, std::unique_ptr<StateSetting>>
m_settings;
Definition AbstractState.h:21
Definition Capability.h:19
CRTP for creating objects similar to std::make_unique.
Definition Instantiator.h:22
std::unordered_map< gl::GLenum, std::unique_ptr< Capability > > m_capabilities
Definition State.h:75
State & operator=(const State &)=delete
Capability * capability(gl::GLenum capability)
Mode
Definition State.h:27
@ DeferredMode
Definition State.h:28
std::vector< const StateSetting * > settings() const
virtual void enable(gl::GLenum capability) override
State(const State &)=delete
std::unordered_map< StateSettingType, std::unique_ptr< StateSetting > > m_settings
Definition State.h:76
Mode m_mode
Definition State.h:74
static std::unique_ptr< State > currentState()
std::vector< Capability * > capabilities() const
const Capability * capability(gl::GLenum capability) const
State(Mode=ImmediateMode)
void addCapability(std::unique_ptr< Capability > &&capability)
Capability * getCapability(gl::GLenum capability)
virtual bool isEnabled(gl::GLenum capability) const override
virtual void disable(gl::GLenum capability, int index) override
virtual bool isEnabled(gl::GLenum capability, int index) const override
const StateSetting * setting(const StateSettingType &type) const
virtual void add(std::unique_ptr< StateSetting > &&setting) override
virtual void disable(gl::GLenum capability) override
std::vector< StateSetting * > settings()
virtual void enable(gl::GLenum capability, int index) override
StateSetting * setting(const StateSettingType &type)
const Capability * getCapability(gl::GLenum capability) const
Definition StateSetting.h:42
Definition StateSetting.h:24
Contains all the classes that wrap OpenGL functionality.