@ -361,14 +361,13 @@ class MAGNUM_GL_EXPORT Framebuffer: public AbstractFramebuffer, public AbstractO
* destructing ) objects even without any OpenGL context being active .
* destructing ) objects even without any OpenGL context being active .
* @ see @ ref Framebuffer ( const Range2Di & ) , @ ref wrap ( )
* @ see @ ref Framebuffer ( const Range2Di & ) , @ ref wrap ( )
*/
*/
explicit Framebuffer ( NoCreateT ) noexcept { _id = 0 ; }
explicit Framebuffer ( NoCreateT ) noexcept : AbstractFramebuffer { { } , { } , { } } { }
/** @brief Copying is not allowed */
/** @brief Copying is not allowed */
Framebuffer ( const Framebuffer & ) = delete ;
Framebuffer ( const Framebuffer & ) = delete ;
/** @brief Move constructor */
/** @brief Move constructor */
/* MinGW complains loudly if the declaration doesn't also have inline */
Framebuffer ( Framebuffer & & ) noexcept = default ;
inline Framebuffer ( Framebuffer & & other ) noexcept ;
/**
/**
* @ brief Destructor
* @ brief Destructor
@ -382,8 +381,7 @@ class MAGNUM_GL_EXPORT Framebuffer: public AbstractFramebuffer, public AbstractO
Framebuffer & operator = ( const Framebuffer & ) = delete ;
Framebuffer & operator = ( const Framebuffer & ) = delete ;
/** @brief Move assignment */
/** @brief Move assignment */
/* MinGW complains loudly if the declaration doesn't also have inline */
Framebuffer & operator = ( Framebuffer & & ) noexcept = default ;
inline Framebuffer & operator = ( Framebuffer & & other ) noexcept ;
/** @brief OpenGL framebuffer ID */
/** @brief OpenGL framebuffer ID */
GLuint id ( ) const { return _id ; }
GLuint id ( ) const { return _id ; }
@ -939,22 +937,6 @@ class MAGNUM_GL_EXPORT Framebuffer: public AbstractFramebuffer, public AbstractO
/** @debugoperatorclassenum{Framebuffer,Framebuffer::Status} */
/** @debugoperatorclassenum{Framebuffer,Framebuffer::Status} */
MAGNUM_GL_EXPORT Debug & operator < < ( Debug & debug , Framebuffer : : Status value ) ;
MAGNUM_GL_EXPORT Debug & operator < < ( Debug & debug , Framebuffer : : Status value ) ;
inline Framebuffer : : Framebuffer ( Framebuffer & & other ) noexcept {
_id = other . _id ;
_viewport = other . _viewport ;
_flags = other . _flags ;
other . _id = 0 ;
other . _viewport = { } ;
}
inline Framebuffer & Framebuffer : : operator = ( Framebuffer & & other ) noexcept {
using std : : swap ;
swap ( _id , other . _id ) ;
swap ( _viewport , other . _viewport ) ;
swap ( _flags , other . _flags ) ;
return * this ;
}
inline GLuint Framebuffer : : release ( ) {
inline GLuint Framebuffer : : release ( ) {
const GLuint id = _id ;
const GLuint id = _id ;
_id = 0 ;
_id = 0 ;