JUCE v8.0.9
JUCE API
 
Loading...
Searching...
No Matches
juce::RectangleListSpriteBatch Class Reference

#include <juce_DirectX_windows.h>

Collaboration diagram for juce::RectangleListSpriteBatch:

Classes

struct  TransformCallback
 

Public Member Functions

 RectangleListSpriteBatch ()=default
 
 ~RectangleListSpriteBatch ()
 
template<typename TransformRectangle >
bool fillRectangles (ComSmartPtr< ID2D1DeviceContext1 > deviceContext, const RectangleList< float > &rectangles, const Colour colour, TransformRectangle &&transformRectangle, Direct2DMetrics *metrics)
 
void release ()
 

Private Member Functions

bool fillRectanglesImpl (ComSmartPtr< ID2D1DeviceContext1 > deviceContext, const RectangleList< float > &rectangles, Colour colour, const TransformCallback &transformRectangle, Direct2DMetrics *metrics)
 
ComSmartPtr< ID2D1SpriteBatch > getSpriteBatch (ID2D1DeviceContext3 &dc, uint32 key)
 

Private Attributes

HeapBlock< D2D1_RECT_F > destinations
 
size_t destinationsCapacity = 0
 
LruCache< uint32, ComSmartPtr< ID2D1SpriteBatch >, 8 > spriteBatches
 
ComSmartPtr< ID2D1BitmapRenderTarget > whiteRectangle
 

Static Private Attributes

static constexpr uint32 rectangleSize = 32
 

Constructor & Destructor Documentation

◆ RectangleListSpriteBatch()

juce::RectangleListSpriteBatch::RectangleListSpriteBatch ( )
default

◆ ~RectangleListSpriteBatch()

juce::RectangleListSpriteBatch::~RectangleListSpriteBatch ( )

Member Function Documentation

◆ fillRectangles()

template<typename TransformRectangle >
bool juce::RectangleListSpriteBatch::fillRectangles ( ComSmartPtr< ID2D1DeviceContext1 >  deviceContext,
const RectangleList< float > &  rectangles,
const Colour  colour,
TransformRectangle &&  transformRectangle,
Direct2DMetrics metrics 
)
inline

References fillRectanglesImpl().

◆ fillRectanglesImpl()

bool juce::RectangleListSpriteBatch::fillRectanglesImpl ( ComSmartPtr< ID2D1DeviceContext1 >  deviceContext,
const RectangleList< float > &  rectangles,
Colour  colour,
const TransformCallback transformRectangle,
Direct2DMetrics metrics 
)
private

Referenced by fillRectangles().

◆ getSpriteBatch()

ComSmartPtr< ID2D1SpriteBatch > juce::RectangleListSpriteBatch::getSpriteBatch ( ID2D1DeviceContext3 &  dc,
uint32  key 
)
private

◆ release()

void juce::RectangleListSpriteBatch::release ( )

Member Data Documentation

◆ destinations

HeapBlock<D2D1_RECT_F> juce::RectangleListSpriteBatch::destinations
private

◆ destinationsCapacity

size_t juce::RectangleListSpriteBatch::destinationsCapacity = 0
private

◆ rectangleSize

constexpr uint32 juce::RectangleListSpriteBatch::rectangleSize = 32
staticconstexprprivate

◆ spriteBatches

LruCache<uint32, ComSmartPtr<ID2D1SpriteBatch>, 8> juce::RectangleListSpriteBatch::spriteBatches
private

◆ whiteRectangle

ComSmartPtr<ID2D1BitmapRenderTarget> juce::RectangleListSpriteBatch::whiteRectangle
private

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