MapLibre Native Core
All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
mbgl::gfx::RendererBackend Class Referenceabstract

#include <renderer_backend.hpp>

Inheritance diagram for mbgl::gfx::RendererBackend:
mbgl::gl::RendererBackend

Public Member Functions

virtual ~RendererBackend ()
 
 RendererBackend (const RendererBackend &)=delete
 
RendererBackendoperator= (const RendererBackend &)=delete
 
Context & getContext ()
 Returns the device's context. More...
 
template<typename T >
T & getContext ()
 
bool contextIsShared () const
 
virtual RenderablegetDefaultRenderable ()=0
 Returns a reference to the default surface that should be rendered on. More...
 

Protected Member Functions

 RendererBackend (ContextMode)
 
virtual std::unique_ptr< Context > createContext ()=0
 
virtual void activate ()=0
 
virtual void deactivate ()=0
 

Protected Attributes

std::unique_ptr< Context > context
 
const ContextMode contextMode
 
std::once_flag initialized
 

Friends

class BackendScope
 

Detailed Description

Definition at line 21 of file renderer_backend.hpp.

Constructor & Destructor Documentation

◆ RendererBackend() [1/2]

mbgl::gfx::RendererBackend::RendererBackend ( ContextMode  )
explicitprotected

◆ ~RendererBackend()

virtual mbgl::gfx::RendererBackend::~RendererBackend ( )
virtual

Reimplemented in mbgl::gl::RendererBackend.

◆ RendererBackend() [2/2]

mbgl::gfx::RendererBackend::RendererBackend ( const RendererBackend )
delete

Member Function Documentation

◆ activate()

virtual void mbgl::gfx::RendererBackend::activate ( )
protectedpure virtual

Called when the backend's GL context needs to be made active or inactive. These are called, as a matched pair, exclusively through BackendScope, in two situations:

  1. When releasing GL resources during Renderer destruction (Including calling CustomLayerHost::deinitialize during RenderCustomLayer destruction)
  2. When renderering through Renderer::render() (Including calling CustomLayerHost::initialize for newly added custom layers and CustomLayerHost::deinitialize on layer removal)

◆ contextIsShared()

bool mbgl::gfx::RendererBackend::contextIsShared ( ) const
inline

Definition at line 38 of file renderer_backend.hpp.

◆ createContext()

virtual std::unique_ptr<Context> mbgl::gfx::RendererBackend::createContext ( )
protectedpure virtual

Implemented in mbgl::gl::RendererBackend.

◆ deactivate()

virtual void mbgl::gfx::RendererBackend::deactivate ( )
protectedpure virtual

◆ getContext() [1/2]

Context& mbgl::gfx::RendererBackend::getContext ( )

Returns the device's context.

◆ getContext() [2/2]

template<typename T >
T& mbgl::gfx::RendererBackend::getContext ( )
inline

Definition at line 34 of file renderer_backend.hpp.

◆ getDefaultRenderable()

virtual Renderable& mbgl::gfx::RendererBackend::getDefaultRenderable ( )
pure virtual

Returns a reference to the default surface that should be rendered on.

◆ operator=()

RendererBackend& mbgl::gfx::RendererBackend::operator= ( const RendererBackend )
delete

Friends And Related Function Documentation

◆ BackendScope

friend class BackendScope
friend

Definition at line 64 of file renderer_backend.hpp.

Member Data Documentation

◆ context

std::unique_ptr<Context> mbgl::gfx::RendererBackend::context
protected

Definition at line 60 of file renderer_backend.hpp.

◆ contextMode

const ContextMode mbgl::gfx::RendererBackend::contextMode
protected

Definition at line 61 of file renderer_backend.hpp.

◆ initialized

std::once_flag mbgl::gfx::RendererBackend::initialized
protected

Definition at line 62 of file renderer_backend.hpp.


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