LMMS
Loading...
Searching...
No Matches
juce::CoreGraphicsMetalLayerRenderer< ViewType > Class Template Reference

#include <juce_mac_CGMetalLayerRenderer.h>

Classes

class  GpuTexturePool
class  Resources

Public Member Functions

 CoreGraphicsMetalLayerRenderer (ViewType *view, const Component &comp)
 ~CoreGraphicsMetalLayerRenderer ()
void attach (ViewType *view, const Component &comp)
void detach ()
bool isAttachedToView (ViewType *view) const
template<typename Callback>
bool drawRectangleList (ViewType *view, float scaleFactor, CGRect viewFrame, const Component &comp, Callback &&drawRectWithContext, const RectangleList< float > &dirtyRegions)

Static Private Member Functions

static auto alignTo (size_t n, size_t alignment)

Private Attributes

ViewType * attachedView = nullptr
bool doSynchronousRender = false
std::unique_ptr< Resourcesresources
ObjCObjectHandle< id< MTLDevice > > device
ObjCObjectHandle< id< MTLCommandQueue > > commandQueue
ObjCObjectHandle< id< MTLCommandBuffer > > memoryBlitCommandBuffer
std::atomic< bool > stopGpuCommandSubmission { false }

Constructor & Destructor Documentation

◆ CoreGraphicsMetalLayerRenderer()

template<typename ViewType>
juce::CoreGraphicsMetalLayerRenderer< ViewType >::CoreGraphicsMetalLayerRenderer ( ViewType * view,
const Component & comp )
inline

◆ ~CoreGraphicsMetalLayerRenderer()

template<typename ViewType>
juce::CoreGraphicsMetalLayerRenderer< ViewType >::~CoreGraphicsMetalLayerRenderer ( )
inline

Member Function Documentation

◆ alignTo()

template<typename ViewType>
auto juce::CoreGraphicsMetalLayerRenderer< ViewType >::alignTo ( size_t n,
size_t alignment )
inlinestaticprivate

◆ attach()

template<typename ViewType>
void juce::CoreGraphicsMetalLayerRenderer< ViewType >::attach ( ViewType * view,
const Component & comp )
inline

◆ detach()

template<typename ViewType>
void juce::CoreGraphicsMetalLayerRenderer< ViewType >::detach ( )
inline

◆ drawRectangleList()

template<typename ViewType>
template<typename Callback>
bool juce::CoreGraphicsMetalLayerRenderer< ViewType >::drawRectangleList ( ViewType * view,
float scaleFactor,
CGRect viewFrame,
const Component & comp,
Callback && drawRectWithContext,
const RectangleList< float > & dirtyRegions )
inline

◆ isAttachedToView()

template<typename ViewType>
bool juce::CoreGraphicsMetalLayerRenderer< ViewType >::isAttachedToView ( ViewType * view) const
inline

Member Data Documentation

◆ attachedView

template<typename ViewType>
ViewType* juce::CoreGraphicsMetalLayerRenderer< ViewType >::attachedView = nullptr
private

◆ commandQueue

template<typename ViewType>
ObjCObjectHandle<id<MTLCommandQueue> > juce::CoreGraphicsMetalLayerRenderer< ViewType >::commandQueue
private

◆ device

template<typename ViewType>
ObjCObjectHandle<id<MTLDevice> > juce::CoreGraphicsMetalLayerRenderer< ViewType >::device
private

◆ doSynchronousRender

template<typename ViewType>
bool juce::CoreGraphicsMetalLayerRenderer< ViewType >::doSynchronousRender = false
private

◆ memoryBlitCommandBuffer

template<typename ViewType>
ObjCObjectHandle<id<MTLCommandBuffer> > juce::CoreGraphicsMetalLayerRenderer< ViewType >::memoryBlitCommandBuffer
private

◆ resources

template<typename ViewType>
std::unique_ptr<Resources> juce::CoreGraphicsMetalLayerRenderer< ViewType >::resources
private

◆ stopGpuCommandSubmission

template<typename ViewType>
std::atomic<bool> juce::CoreGraphicsMetalLayerRenderer< ViewType >::stopGpuCommandSubmission { false }
private

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