globjects  1.1.0.2f0c753c8647
Strict OpenGL objects wrapper.

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

Inheritance diagram for globjects::State:
globjects::AbstractState globjects::Referenced globjects::HeapOnly

Public Types

enum  Mode { DeferredMode, ImmediateMode }
 

Public Member Functions

 State (Mode=ImmediateMode)
 
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 (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)
 
- Public Member Functions inherited from globjects::Referenced
 Referenced ()
 
void ref () const
 
void unref () const
 
int refCounter () const
 
- Public Member Functions inherited from globjects::HeapOnly
 HeapOnly ()
 
void destroy () const
 

Static Public Member Functions

static StatecurrentState ()
 

Protected Member Functions

void addCapability (Capability *capability)
 
CapabilitygetCapability (gl::GLenum capability)
 
const CapabilitygetCapability (gl::GLenum capability) const
 
virtual ~State ()
 
- Protected Member Functions inherited from globjects::Referenced
virtual ~Referenced ()
 
- Protected Member Functions inherited from globjects::HeapOnly
virtual ~HeapOnly ()
 

Protected Attributes

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

Member Enumeration Documentation

Enumerator
DeferredMode 
ImmediateMode 

Constructor & Destructor Documentation

globjects::State::State ( Mode  = ImmediateMode)
virtual globjects::State::~State ( )
protectedvirtual

Member Function Documentation

static 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 ( 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 ( 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, Capability *> globjects::State::m_capabilities
protected
std::unordered_map<StateSettingType, StateSetting *> globjects::State::m_settings
protected

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