Thanks, Clang.
@ -147,7 +147,7 @@ protected from buffer overflow.
@todo @extension{ARB,viewport_array} (and `GL_MAX_VIEWPORTS`)
*/
class MAGNUM_EXPORT AbstractFramebuffer {
friend class Implementation::FramebufferState;
friend struct Implementation::FramebufferState;
public:
/** @todo `GL_IMPLEMENTATION_COLOR_READ_FORMAT`, `GL_IMPLEMENTATION_COLOR_READ_TYPE`, seems to be depending on currently bound FB (aargh) (@extension{ARB,ES2_compatibility}). */
@ -39,7 +39,7 @@ namespace Magnum {
namespace Implementation {
template<class> struct Attribute;
class ShaderProgramState;
struct ShaderProgramState;
}
/**
@ -323,7 +323,7 @@ comes in handy.
@todo `GL_NUM_{PROGRAM,SHADER}_BINARY_FORMATS` + `GL_{PROGRAM,SHADER}_BINARY_FORMATS` (vector), (@extension{ARB,ES2_compatibility})
class MAGNUM_EXPORT AbstractShaderProgram: public AbstractObject {
friend class Implementation::ShaderProgramState;
friend struct Implementation::ShaderProgramState;
template<UnsignedInt, class> class Attribute;
@ -101,7 +101,7 @@ nothing.
@todo Query for immutable levels (@extension{ARB,ES3_compatibility})
class MAGNUM_EXPORT AbstractTexture: public AbstractObject {
friend class Implementation::TextureState;
friend struct Implementation::TextureState;
@ -114,7 +114,7 @@ enum class BufferUsage: GLenum {
#endif
};
namespace Implementation { class BufferState; }
namespace Implementation { struct BufferState; }
@brief %Buffer
@ -192,7 +192,7 @@ nothing.
@todo BindBufferRange/BindBufferOffset/BindBufferBase for transform feedback (3.0, @extension{EXT,transform_feedback})
class MAGNUM_EXPORT Buffer: public AbstractObject {
friend class Implementation::BufferState;
friend struct Implementation::BufferState;
@ -200,7 +200,7 @@ and respective function documentation for more information.
@requires_gl Texture buffers are not available in OpenGL ES.
class MAGNUM_EXPORT BufferTexture: private AbstractTexture {
/** @copydoc AbstractTexture::maxLabelLength() */
@ -102,7 +102,7 @@ See their respective documentation for more information.
@todo `MAX_COLOR_ATTACHMENTS`
class MAGNUM_EXPORT Framebuffer: public AbstractFramebuffer, public AbstractObject {
@ -115,7 +115,7 @@ enum class MeshPrimitive: GLenum {
namespace Implementation { class MeshState; }
namespace Implementation { struct MeshState; }
@brief %Mesh
@ -315,8 +315,8 @@ drawing commands are used on desktop OpenGL and OpenGL ES 3.0. See also
@todo How to glDrawElementsBaseVertex()/vertex offset -- in draw()?
class MAGNUM_EXPORT Mesh: public AbstractObject {
friend class Implementation::MeshState;
friend class MeshView;
friend struct Implementation::MeshState;
#ifdef MAGNUM_BUILD_DEPRECATED
@ -56,7 +56,7 @@ See its documentation for more information.
@requires_gl30 %Extension @extension{ARB,framebuffer_object}
class MAGNUM_EXPORT Renderbuffer: public AbstractObject {
@ -48,8 +48,8 @@ namespace Implementation { struct RendererState; }
@todo `GL_MAX_CLIP_DISTANCES`...
class MAGNUM_EXPORT Renderer {
friend class Implementation::RendererState;
friend class Context;
friend struct Implementation::RendererState;
Renderer() = delete;