9#include <glbinding/gl/types.h>
13#include <globjects/globjects_api.h>
20class AbstractStringSource;
36 const std::string &
name()
const;
Superclass for all types of static and dynamic strings, e.g. for the use as Shader code.
Definition AbstractStringSource.h:27
CRTP for creating objects similar to std::make_unique.
Definition Instantiator.h:22
Definition NamedString.h:24
const std::string & name() const
std::string string() const
gl::GLenum m_type
Definition NamedString.h:70
gl::GLint getParameter(gl::GLenum pname) const
void addSubject(AbstractStringSource *subject)
void deregisterNamedString()
virtual void notifyChanged(const AbstractStringSource *changeable)
void registerNamedString()
static bool hasNativeSupport()
NamedString(const std::string &name, AbstractStringSource *source, gl::GLenum type)
virtual void removeSubject(AbstractStringSource *subject)
std::string m_name
Definition NamedString.h:67
static bool isNamedString(const std::string &name)
AbstractStringSource * stringSource() const
std::set< AbstractStringSource * > m_sourceSubjects
Definition NamedString.h:65
NamedString(const std::string &name, AbstractStringSource *source)
AbstractStringSource * m_source
Definition NamedString.h:69
static NamedString * getFromRegistry(const std::string &name)
Contains all the classes that wrap OpenGL functionality.