Kanzi framework  3.9.1
Kanzi Engine API
kanzi::GLBufferHandle Class Reference

GLBufferHandle manages RAII ownership for GL buffer object. More...

#include <kanzi/core.ui/platform/graphics_backend/gl/gl_buffer_handle.hpp>

Public Member Functions

unsigned int get () const
 Returns GL handle to the buffer object, or 0 if no GL buffer is owned. More...
 
 GLBufferHandle ()
 Constructs an empty GLBufferHandle which does not own any GL buffer object. More...
 
 GLBufferHandle (Renderer *renderer)
 Creates a new GL buffer object with renderer and constructs a GLBufferHandle which owns it. More...
 
 GLBufferHandle (Renderer *renderer, unsigned int handle, bool takeOwnership)
 Creates a wrapper for pre-existing GL buffer object. More...
 
 GLBufferHandle (GLBufferHandle &&other)
 
 operator bool_type () const
 
GLBufferHandleoperator= (GLBufferHandle &&other)
 
unsigned int release ()
 Releases the ownership of the GL buffer if any. More...
 
void reset ()
 Destroys the GL buffer object currently managed by the GLBufferHandle (if any) More...
 
 ~GLBufferHandle ()
 

Friends

void swap (GLBufferHandle &left, GLBufferHandle &right)
 

Detailed Description

GLBufferHandle manages RAII ownership for GL buffer object.

Constructor & Destructor Documentation

◆ GLBufferHandle() [1/4]

kanzi::GLBufferHandle::GLBufferHandle ( )
explicit

Constructs an empty GLBufferHandle which does not own any GL buffer object.

◆ GLBufferHandle() [2/4]

kanzi::GLBufferHandle::GLBufferHandle ( Renderer renderer)
explicit

Creates a new GL buffer object with renderer and constructs a GLBufferHandle which owns it.

Parameters
rendererRenderer

◆ ~GLBufferHandle()

kanzi::GLBufferHandle::~GLBufferHandle ( )

◆ GLBufferHandle() [3/4]

kanzi::GLBufferHandle::GLBufferHandle ( Renderer renderer,
unsigned int  handle,
bool  takeOwnership 
)
explicit

Creates a wrapper for pre-existing GL buffer object.

If takeOwnership is true, the GL buffer object is externally managed, and it will not be deleted when the handle is destroyed.

Parameters
rendererRenderer
handlePre-existing GL buffer object name
takeOwnershipShould newly created GLBufferHandle take ownership of the GL buffer object

◆ GLBufferHandle() [4/4]

kanzi::GLBufferHandle::GLBufferHandle ( GLBufferHandle &&  other)
inline

Member Function Documentation

◆ release()

unsigned int kanzi::GLBufferHandle::release ( )

Releases the ownership of the GL buffer if any.

get() returns 0 after the call.

Returns
Handle to the GL buffer object

◆ operator=()

GLBufferHandle& kanzi::GLBufferHandle::operator= ( GLBufferHandle &&  other)
inline

◆ get()

unsigned int kanzi::GLBufferHandle::get ( ) const
inline

Returns GL handle to the buffer object, or 0 if no GL buffer is owned.

◆ reset()

void kanzi::GLBufferHandle::reset ( )

Destroys the GL buffer object currently managed by the GLBufferHandle (if any)

◆ operator bool_type()

kanzi::GLBufferHandle::operator bool_type ( ) const
inline

Friends And Related Function Documentation

◆ swap

void swap ( GLBufferHandle left,
GLBufferHandle right 
)
friend

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