globjects  2.0.0.690708773bba
Strict OpenGL objects wrapper.

#include <globjects/include/globjects/State.h>

Inheritance diagram for globjects::State:
globjects::AbstractState globjects::Instantiator< State >

Public Types

enum  Mode { DeferredMode, ImmediateMode }
 

Public Member Functions

 State (Mode=ImmediateMode)
 
 State (const State &)=delete
 
virtual ~State ()
 
Stateoperator= (const State &)=delete
 
void setMode (Mode mode)
 
Mode mode () const
 
void apply ()
 
virtual void enable (gl::GLenum capability) override
 
virtual void disable (gl::GLenum capability) override
 
virtual bool isEnabled (gl::GLenum capability) const override
 
virtual void enable (gl::GLenum capability, int index) override
 
virtual void disable (gl::GLenum capability, int index) override
 
virtual bool isEnabled (gl::GLenum capability, int index) const override
 
virtual void add (std::unique_ptr< StateSetting > &&setting) override
 
Capabilitycapability (gl::GLenum capability)
 
const Capabilitycapability (gl::GLenum capability) const
 
std::vector< Capability * > capabilities () const
 
StateSettingsetting (const StateSettingType &type)
 
const StateSettingsetting (const StateSettingType &type) const
 
std::vector< StateSetting * > settings ()
 
std::vector< const StateSetting * > settings () const
 
- Public Member Functions inherited from globjects::AbstractState
void setEnabled (gl::GLenum capability, bool enabled)
 
void setEnabled (gl::GLenum capability, int index, bool enabled)
 
void blendColor (gl::GLfloat red, gl::GLfloat green, gl::GLfloat blue, gl::GLfloat alpha)
 
void blendColor (const std::array< gl::GLfloat, 4 > &color)
 
void blendFunc (gl::GLenum sFactor, gl::GLenum dFactor)
 
void blendFuncSeparate (gl::GLenum srcRGB, gl::GLenum dstRGB, gl::GLenum srcAlpha, gl::GLenum dstAlpha)
 
void clearColor (gl::GLfloat red, gl::GLfloat green, gl::GLfloat blue, gl::GLfloat alpha)
 
void clearColor (const std::array< gl::GLfloat, 4 > &color)
 
void clearDepth (gl::GLfloat depth)
 
void clearStencil (gl::GLint s)
 
void colorMask (gl::GLboolean red, gl::GLboolean green, gl::GLboolean blue, gl::GLboolean alpha)
 
void colorMask (const std::array< gl::GLboolean, 4 > &mask)
 
void cullFace (gl::GLenum mode)
 
void depthFunc (gl::GLenum func)
 
void depthMask (gl::GLboolean flag)
 
void depthRange (gl::GLdouble nearVal, gl::GLdouble farVal)
 
void depthRange (gl::GLfloat nearVal, gl::GLfloat farVal)
 
void depthRange (const std::array< gl::GLfloat, 2 > &range)
 
void frontFace (gl::GLenum winding)
 
void logicOp (gl::GLenum opcode)
 
void pixelStore (gl::GLenum pname, gl::GLboolean param)
 
void pixelStore (gl::GLenum pname, gl::GLint param)
 
void pixelStore (gl::GLenum pname, gl::GLfloat param)
 
void pointParameter (gl::GLenum pname, gl::GLenum param)
 
void pointSize (gl::GLfloat size)
 
void polygonMode (gl::GLenum face, gl::GLenum mode)
 
void polygonOffset (gl::GLfloat factor, gl::GLfloat units)
 
void primitiveRestartIndex (gl::GLuint index)
 
void provokingVertex (gl::GLenum provokeMode)
 
void sampleCoverage (gl::GLfloat value, gl::GLboolean invert)
 
void scissor (gl::GLint x, gl::GLint y, gl::GLsizei width, gl::GLsizei height)
 
void scissor (const std::array< gl::GLint, 4 > &scissorBox)
 
void stencilFunc (gl::GLenum func, gl::GLint ref, gl::GLuint mask)
 
void stencilMask (gl::GLuint mask)
 
void stencilOp (gl::GLenum stencilFail, gl::GLenum depthFail, gl::GLenum depthPass)
 
void stencilFuncSeparate (gl::GLenum face, gl::GLenum func, gl::GLint ref, gl::GLuint mask)
 
void stencilMaskSeparate (gl::GLenum face, gl::GLuint mask)
 
void stencilOpSeparate (gl::GLenum face, gl::GLenum stencilFail, gl::GLenum depthFail, gl::GLenum depthPass)
 
template<typename... Arguments>
void set (void(*function)(Arguments...), Arguments...arguments)
 

Static Public Member Functions

static std::unique_ptr< StatecurrentState ()
 
- Static Public Member Functions inherited from globjects::Instantiator< State >
static std::unique_ptr< Statecreate (Args &&...args)
 
static std::unique_ptr< StatefromId (gl::GLuint id, Args &&...args)
 

Protected Member Functions

void addCapability (std::unique_ptr< Capability > &&capability)
 
CapabilitygetCapability (gl::GLenum capability)
 
const CapabilitygetCapability (gl::GLenum capability) const
 

Protected Attributes

Mode m_mode
 
std::unordered_map< gl::GLenum, std::unique_ptr< Capability > > m_capabilities
 
std::unordered_map< StateSettingType, std::unique_ptr< StateSetting > > m_settings
 

Member Enumeration Documentation

Enumerator
DeferredMode 
ImmediateMode 

Constructor & Destructor Documentation

globjects::State::State ( Mode  = ImmediateMode)
globjects::State::State ( const State )
delete
virtual globjects::State::~State ( )
virtual

Member Function Documentation

State& globjects::State::operator= ( const State )
delete
static std::unique_ptr<State> globjects::State::currentState ( )
static
void globjects::State::setMode ( Mode  mode)
Mode globjects::State::mode ( ) const
void globjects::State::apply ( )
virtual void globjects::State::enable ( gl::GLenum  capability)
overridevirtual
virtual void globjects::State::disable ( gl::GLenum  capability)
overridevirtual
virtual bool globjects::State::isEnabled ( gl::GLenum  capability) const
overridevirtual
virtual void globjects::State::enable ( gl::GLenum  capability,
int  index 
)
overridevirtual
virtual void globjects::State::disable ( gl::GLenum  capability,
int  index 
)
overridevirtual
virtual bool globjects::State::isEnabled ( gl::GLenum  capability,
int  index 
) const
overridevirtual
virtual void globjects::State::add ( std::unique_ptr< StateSetting > &&  setting)
overridevirtual
Capability* globjects::State::capability ( gl::GLenum  capability)
const Capability* globjects::State::capability ( gl::GLenum  capability) const
std::vector<Capability *> globjects::State::capabilities ( ) const
StateSetting* globjects::State::setting ( const StateSettingType type)
const StateSetting* globjects::State::setting ( const StateSettingType type) const
std::vector<StateSetting *> globjects::State::settings ( )
std::vector<const StateSetting *> globjects::State::settings ( ) const
void globjects::State::addCapability ( std::unique_ptr< Capability > &&  capability)
protected
Capability* globjects::State::getCapability ( gl::GLenum  capability)
protected
const Capability* globjects::State::getCapability ( gl::GLenum  capability) const
protected

Member Data Documentation

Mode globjects::State::m_mode
protected
std::unordered_map<gl::GLenum, std::unique_ptr<Capability> > globjects::State::m_capabilities
protected
std::unordered_map<StateSettingType, std::unique_ptr<StateSetting> > globjects::State::m_settings
protected

The documentation for this class was generated from the following file: