JUCE  v5.1.1-3-g1a0b28c73
JUCE API
RenderingHelpers::EdgeTableFillers::TransformedImageFill< DestPixelType, SrcPixelType, repeatPattern > Class Template Reference

Fills an edge-table with a transformed image. More...

#include <juce_RenderingHelpers.h>

Collaboration diagram for RenderingHelpers::EdgeTableFillers::TransformedImageFill< DestPixelType, SrcPixelType, repeatPattern >:

Classes

class  TransformedImageSpanInterpolator
 

Public Member Functions

 TransformedImageFill (const Image::BitmapData &dest, const Image::BitmapData &src, const AffineTransform &transform, const int alpha, const Graphics::ResamplingQuality q)
 
void clipEdgeTableLine (EdgeTable &et, int x, int y_, int width)
 
void handleEdgeTableLine (const int x, int width, int alphaLevel) noexcept
 
forcedinline void handleEdgeTableLineFull (const int x, int width) noexcept
 
forcedinline void handleEdgeTablePixel (const int x, const int alphaLevel) noexcept
 
forcedinline void handleEdgeTablePixelFull (const int x) noexcept
 
forcedinline void setEdgeTableYPos (const int newY) noexcept
 

Private Member Functions

template<class PixelType >
void generate (PixelType *dest, const int x, int numPixels) noexcept
 
forcedinline DestPixelType * getDestPixel (const int x) const noexcept
 
void render2PixelAverageX (PixelARGB *const dest, const uint8 *src, const uint32 subPixelX) noexcept
 
void render2PixelAverageX (PixelRGB *const dest, const uint8 *src, const uint32 subPixelX) noexcept
 
void render2PixelAverageX (PixelAlpha *const dest, const uint8 *src, const uint32 subPixelX) noexcept
 
void render2PixelAverageY (PixelARGB *const dest, const uint8 *src, const uint32 subPixelY) noexcept
 
void render2PixelAverageY (PixelRGB *const dest, const uint8 *src, const uint32 subPixelY) noexcept
 
void render2PixelAverageY (PixelAlpha *const dest, const uint8 *src, const uint32 subPixelY) noexcept
 
void render4PixelAverage (PixelARGB *const dest, const uint8 *src, const int subPixelX, const int subPixelY) noexcept
 
void render4PixelAverage (PixelRGB *const dest, const uint8 *src, const uint32 subPixelX, const uint32 subPixelY) noexcept
 
void render4PixelAverage (PixelAlpha *const dest, const uint8 *src, const uint32 subPixelX, const uint32 subPixelY) noexcept
 

Private Attributes

const Image::BitmapDatadestData
 
const int extraAlpha
 
TransformedImageSpanInterpolator interpolator
 
DestPixelType * linePixels
 
const int maxX
 
const int maxY
 
const Graphics::ResamplingQuality quality
 
HeapBlock< SrcPixelType > scratchBuffer
 
size_t scratchSize
 
const Image::BitmapDatasrcData
 
int y
 

Detailed Description

template<class DestPixelType, class SrcPixelType, bool repeatPattern>
class RenderingHelpers::EdgeTableFillers::TransformedImageFill< DestPixelType, SrcPixelType, repeatPattern >

Fills an edge-table with a transformed image.

Constructor & Destructor Documentation

◆ TransformedImageFill()

template<class DestPixelType, class SrcPixelType, bool repeatPattern>
RenderingHelpers::EdgeTableFillers::TransformedImageFill< DestPixelType, SrcPixelType, repeatPattern >::TransformedImageFill ( const Image::BitmapData dest,
const Image::BitmapData src,
const AffineTransform transform,
const int  alpha,
const Graphics::ResamplingQuality  q 
)
inline

Member Function Documentation

◆ clipEdgeTableLine()

template<class DestPixelType, class SrcPixelType, bool repeatPattern>
void RenderingHelpers::EdgeTableFillers::TransformedImageFill< DestPixelType, SrcPixelType, repeatPattern >::clipEdgeTableLine ( EdgeTable et,
int  x,
int  y_,
int  width 
)
inline

◆ generate()

template<class DestPixelType, class SrcPixelType, bool repeatPattern>
template<class PixelType >
void RenderingHelpers::EdgeTableFillers::TransformedImageFill< DestPixelType, SrcPixelType, repeatPattern >::generate ( PixelType *  dest,
const int  x,
int  numPixels 
)
inlineprivatenoexcept

◆ getDestPixel()

template<class DestPixelType, class SrcPixelType, bool repeatPattern>
forcedinline DestPixelType* RenderingHelpers::EdgeTableFillers::TransformedImageFill< DestPixelType, SrcPixelType, repeatPattern >::getDestPixel ( const int  x) const
inlineprivatenoexcept

References addBytesToPointer().

◆ handleEdgeTableLine()

template<class DestPixelType, class SrcPixelType, bool repeatPattern>
void RenderingHelpers::EdgeTableFillers::TransformedImageFill< DestPixelType, SrcPixelType, repeatPattern >::handleEdgeTableLine ( const int  x,
int  width,
int  alphaLevel 
)
inlinenoexcept

◆ handleEdgeTableLineFull()

template<class DestPixelType, class SrcPixelType, bool repeatPattern>
forcedinline void RenderingHelpers::EdgeTableFillers::TransformedImageFill< DestPixelType, SrcPixelType, repeatPattern >::handleEdgeTableLineFull ( const int  x,
int  width 
)
inlinenoexcept

◆ handleEdgeTablePixel()

template<class DestPixelType, class SrcPixelType, bool repeatPattern>
forcedinline void RenderingHelpers::EdgeTableFillers::TransformedImageFill< DestPixelType, SrcPixelType, repeatPattern >::handleEdgeTablePixel ( const int  x,
const int  alphaLevel 
)
inlinenoexcept

◆ handleEdgeTablePixelFull()

template<class DestPixelType, class SrcPixelType, bool repeatPattern>
forcedinline void RenderingHelpers::EdgeTableFillers::TransformedImageFill< DestPixelType, SrcPixelType, repeatPattern >::handleEdgeTablePixelFull ( const int  x)
inlinenoexcept

◆ render2PixelAverageX() [1/3]

template<class DestPixelType, class SrcPixelType, bool repeatPattern>
void RenderingHelpers::EdgeTableFillers::TransformedImageFill< DestPixelType, SrcPixelType, repeatPattern >::render2PixelAverageX ( PixelARGB *const  dest,
const uint8 src,
const uint32  subPixelX 
)
inlineprivatenoexcept

◆ render2PixelAverageX() [2/3]

template<class DestPixelType, class SrcPixelType, bool repeatPattern>
void RenderingHelpers::EdgeTableFillers::TransformedImageFill< DestPixelType, SrcPixelType, repeatPattern >::render2PixelAverageX ( PixelRGB *const  dest,
const uint8 src,
const uint32  subPixelX 
)
inlineprivatenoexcept

◆ render2PixelAverageX() [3/3]

template<class DestPixelType, class SrcPixelType, bool repeatPattern>
void RenderingHelpers::EdgeTableFillers::TransformedImageFill< DestPixelType, SrcPixelType, repeatPattern >::render2PixelAverageX ( PixelAlpha *const  dest,
const uint8 src,
const uint32  subPixelX 
)
inlineprivatenoexcept

◆ render2PixelAverageY() [1/3]

template<class DestPixelType, class SrcPixelType, bool repeatPattern>
void RenderingHelpers::EdgeTableFillers::TransformedImageFill< DestPixelType, SrcPixelType, repeatPattern >::render2PixelAverageY ( PixelARGB *const  dest,
const uint8 src,
const uint32  subPixelY 
)
inlineprivatenoexcept

◆ render2PixelAverageY() [2/3]

template<class DestPixelType, class SrcPixelType, bool repeatPattern>
void RenderingHelpers::EdgeTableFillers::TransformedImageFill< DestPixelType, SrcPixelType, repeatPattern >::render2PixelAverageY ( PixelRGB *const  dest,
const uint8 src,
const uint32  subPixelY 
)
inlineprivatenoexcept

◆ render2PixelAverageY() [3/3]

template<class DestPixelType, class SrcPixelType, bool repeatPattern>
void RenderingHelpers::EdgeTableFillers::TransformedImageFill< DestPixelType, SrcPixelType, repeatPattern >::render2PixelAverageY ( PixelAlpha *const  dest,
const uint8 src,
const uint32  subPixelY 
)
inlineprivatenoexcept

◆ render4PixelAverage() [1/3]

template<class DestPixelType, class SrcPixelType, bool repeatPattern>
void RenderingHelpers::EdgeTableFillers::TransformedImageFill< DestPixelType, SrcPixelType, repeatPattern >::render4PixelAverage ( PixelARGB *const  dest,
const uint8 src,
const int  subPixelX,
const int  subPixelY 
)
inlineprivatenoexcept

◆ render4PixelAverage() [2/3]

template<class DestPixelType, class SrcPixelType, bool repeatPattern>
void RenderingHelpers::EdgeTableFillers::TransformedImageFill< DestPixelType, SrcPixelType, repeatPattern >::render4PixelAverage ( PixelRGB *const  dest,
const uint8 src,
const uint32  subPixelX,
const uint32  subPixelY 
)
inlineprivatenoexcept

◆ render4PixelAverage() [3/3]

template<class DestPixelType, class SrcPixelType, bool repeatPattern>
void RenderingHelpers::EdgeTableFillers::TransformedImageFill< DestPixelType, SrcPixelType, repeatPattern >::render4PixelAverage ( PixelAlpha *const  dest,
const uint8 src,
const uint32  subPixelX,
const uint32  subPixelY 
)
inlineprivatenoexcept

◆ setEdgeTableYPos()

template<class DestPixelType, class SrcPixelType, bool repeatPattern>
forcedinline void RenderingHelpers::EdgeTableFillers::TransformedImageFill< DestPixelType, SrcPixelType, repeatPattern >::setEdgeTableYPos ( const int  newY)
inlinenoexcept

Member Data Documentation

◆ destData

template<class DestPixelType, class SrcPixelType, bool repeatPattern>
const Image::BitmapData& RenderingHelpers::EdgeTableFillers::TransformedImageFill< DestPixelType, SrcPixelType, repeatPattern >::destData
private

◆ extraAlpha

template<class DestPixelType, class SrcPixelType, bool repeatPattern>
const int RenderingHelpers::EdgeTableFillers::TransformedImageFill< DestPixelType, SrcPixelType, repeatPattern >::extraAlpha
private

◆ interpolator

template<class DestPixelType, class SrcPixelType, bool repeatPattern>
TransformedImageSpanInterpolator RenderingHelpers::EdgeTableFillers::TransformedImageFill< DestPixelType, SrcPixelType, repeatPattern >::interpolator
private

◆ linePixels

template<class DestPixelType, class SrcPixelType, bool repeatPattern>
DestPixelType* RenderingHelpers::EdgeTableFillers::TransformedImageFill< DestPixelType, SrcPixelType, repeatPattern >::linePixels
private

◆ maxX

template<class DestPixelType, class SrcPixelType, bool repeatPattern>
const int RenderingHelpers::EdgeTableFillers::TransformedImageFill< DestPixelType, SrcPixelType, repeatPattern >::maxX
private

◆ maxY

template<class DestPixelType, class SrcPixelType, bool repeatPattern>
const int RenderingHelpers::EdgeTableFillers::TransformedImageFill< DestPixelType, SrcPixelType, repeatPattern >::maxY
private

◆ quality

template<class DestPixelType, class SrcPixelType, bool repeatPattern>
const Graphics::ResamplingQuality RenderingHelpers::EdgeTableFillers::TransformedImageFill< DestPixelType, SrcPixelType, repeatPattern >::quality
private

◆ scratchBuffer

template<class DestPixelType, class SrcPixelType, bool repeatPattern>
HeapBlock<SrcPixelType> RenderingHelpers::EdgeTableFillers::TransformedImageFill< DestPixelType, SrcPixelType, repeatPattern >::scratchBuffer
private

◆ scratchSize

template<class DestPixelType, class SrcPixelType, bool repeatPattern>
size_t RenderingHelpers::EdgeTableFillers::TransformedImageFill< DestPixelType, SrcPixelType, repeatPattern >::scratchSize
private

◆ srcData

template<class DestPixelType, class SrcPixelType, bool repeatPattern>
const Image::BitmapData& RenderingHelpers::EdgeTableFillers::TransformedImageFill< DestPixelType, SrcPixelType, repeatPattern >::srcData
private

◆ y

template<class DestPixelType, class SrcPixelType, bool repeatPattern>
int RenderingHelpers::EdgeTableFillers::TransformedImageFill< DestPixelType, SrcPixelType, repeatPattern >::y
private

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