JUCE  v6.1.6 (6.0.8-1114)
JUCE API
Looking for a senior C++ dev?
I'm looking for work. Hire me!
juce::RenderingHelpers::EdgeTableFillers::TransformedImageFill< DestPixelType, SrcPixelType, repeatPattern > Struct Template Reference

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

#include <juce_RenderingHelpers.h>

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

Classes

struct  TransformedImageSpanInterpolator
 

Public Member Functions

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

Private Member Functions

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

Private Attributes

int currentY
 
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 = 2048
 
const Image::BitmapDatasrcData
 

Detailed Description

template<class DestPixelType, class SrcPixelType, bool repeatPattern>
struct juce::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>
juce::RenderingHelpers::EdgeTableFillers::TransformedImageFill< DestPixelType, SrcPixelType, repeatPattern >::TransformedImageFill ( const Image::BitmapData dest,
const Image::BitmapData src,
const AffineTransform transform,
int  alpha,
Graphics::ResamplingQuality  q 
)
inline

Member Function Documentation

◆ clipEdgeTableLine()

template<class DestPixelType , class SrcPixelType , bool repeatPattern>
void juce::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 juce::RenderingHelpers::EdgeTableFillers::TransformedImageFill< DestPixelType, SrcPixelType, repeatPattern >::generate ( PixelType *  dest,
int  x,
int  numPixels 
)
inlineprivatenoexcept

◆ getDestPixel()

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

◆ handleEdgeTableLine()

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

◆ handleEdgeTableLineFull()

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

References juce::gl::width, and juce::gl::x.

◆ handleEdgeTablePixel()

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

References juce::gl::p, and juce::gl::x.

◆ handleEdgeTablePixelFull()

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

References juce::gl::p, and juce::gl::x.

◆ handleEdgeTableRectangle()

template<class DestPixelType , class SrcPixelType , bool repeatPattern>
void juce::RenderingHelpers::EdgeTableFillers::TransformedImageFill< DestPixelType, SrcPixelType, repeatPattern >::handleEdgeTableRectangle ( int  x,
int  y,
int  width,
int  height,
int  alphaLevel 
)
inlinenoexcept

◆ handleEdgeTableRectangleFull()

template<class DestPixelType , class SrcPixelType , bool repeatPattern>
void juce::RenderingHelpers::EdgeTableFillers::TransformedImageFill< DestPixelType, SrcPixelType, repeatPattern >::handleEdgeTableRectangleFull ( int  x,
int  y,
int  width,
int  height 
)
inlinenoexcept

◆ render2PixelAverageX() [1/3]

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

References juce::gl::c, and juce::gl::src.

◆ render2PixelAverageX() [2/3]

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

◆ render2PixelAverageX() [3/3]

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

◆ render2PixelAverageY() [1/3]

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

References juce::gl::c, and juce::gl::src.

◆ render2PixelAverageY() [2/3]

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

◆ render2PixelAverageY() [3/3]

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

◆ render4PixelAverage() [1/3]

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

References juce::gl::c, and juce::gl::src.

◆ render4PixelAverage() [2/3]

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

◆ render4PixelAverage() [3/3]

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

◆ setEdgeTableYPos()

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

Member Data Documentation

◆ currentY

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

◆ destData

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

◆ extraAlpha

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

◆ interpolator

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

◆ linePixels

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

◆ maxX

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

◆ maxY

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

◆ quality

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

◆ scratchBuffer

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

◆ scratchSize

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

◆ srcData

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

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