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

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::BitmapData & | destData |
| 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::BitmapData & | srcData |
Fills an edge-table with a transformed image.
|
inline |
References juce::HeapBlock< ElementType, throwOnFailure >::malloc(), juce::RenderingHelpers::EdgeTableFillers::TransformedImageFill< DestPixelType, SrcPixelType, repeatPattern >::scratchBuffer, and juce::RenderingHelpers::EdgeTableFillers::TransformedImageFill< DestPixelType, SrcPixelType, repeatPattern >::scratchSize.
|
inline |
References juce::EdgeTable::clipLineToMask(), juce::RenderingHelpers::EdgeTableFillers::TransformedImageFill< DestPixelType, SrcPixelType, repeatPattern >::currentY, juce::RenderingHelpers::EdgeTableFillers::TransformedImageFill< DestPixelType, SrcPixelType, repeatPattern >::generate(), juce::HeapBlock< ElementType, throwOnFailure >::get(), juce::HeapBlock< ElementType, throwOnFailure >::malloc(), juce::RenderingHelpers::EdgeTableFillers::TransformedImageFill< DestPixelType, SrcPixelType, repeatPattern >::scratchBuffer, and juce::RenderingHelpers::EdgeTableFillers::TransformedImageFill< DestPixelType, SrcPixelType, repeatPattern >::scratchSize.
Referenced by juce::RenderingHelpers::ClipRegions::EdgeTableRegion< SavedStateType >::transformedClipImage().
|
inlineprivatenoexcept |
References juce::RenderingHelpers::EdgeTableFillers::TransformedImageFill< DestPixelType, SrcPixelType, repeatPattern >::currentY, juce::Image::BitmapData::getPixelPointer(), juce::Image::BitmapData::height, juce::RenderingHelpers::EdgeTableFillers::TransformedImageFill< DestPixelType, SrcPixelType, repeatPattern >::interpolator, juce::isPositiveAndBelow(), juce::Graphics::lowResamplingQuality, juce::RenderingHelpers::EdgeTableFillers::TransformedImageFill< DestPixelType, SrcPixelType, repeatPattern >::maxX, juce::RenderingHelpers::EdgeTableFillers::TransformedImageFill< DestPixelType, SrcPixelType, repeatPattern >::maxY, juce::negativeAwareModulo(), juce::RenderingHelpers::EdgeTableFillers::TransformedImageFill< DestPixelType, SrcPixelType, repeatPattern >::TransformedImageSpanInterpolator::next(), juce::RenderingHelpers::EdgeTableFillers::TransformedImageFill< DestPixelType, SrcPixelType, repeatPattern >::quality, juce::RenderingHelpers::EdgeTableFillers::TransformedImageFill< DestPixelType, SrcPixelType, repeatPattern >::render2PixelAverageX(), juce::RenderingHelpers::EdgeTableFillers::TransformedImageFill< DestPixelType, SrcPixelType, repeatPattern >::render2PixelAverageY(), juce::RenderingHelpers::EdgeTableFillers::TransformedImageFill< DestPixelType, SrcPixelType, repeatPattern >::render4PixelAverage(), juce::RenderingHelpers::EdgeTableFillers::TransformedImageFill< DestPixelType, SrcPixelType, repeatPattern >::TransformedImageSpanInterpolator::setStartOfLine(), juce::RenderingHelpers::EdgeTableFillers::TransformedImageFill< DestPixelType, SrcPixelType, repeatPattern >::srcData, and juce::Image::BitmapData::width.
Referenced by juce::RenderingHelpers::EdgeTableFillers::TransformedImageFill< DestPixelType, SrcPixelType, repeatPattern >::clipEdgeTableLine(), juce::RenderingHelpers::EdgeTableFillers::TransformedImageFill< DestPixelType, SrcPixelType, repeatPattern >::handleEdgeTableLine(), juce::RenderingHelpers::EdgeTableFillers::TransformedImageFill< DestPixelType, SrcPixelType, repeatPattern >::handleEdgeTablePixel(), and juce::RenderingHelpers::EdgeTableFillers::TransformedImageFill< DestPixelType, SrcPixelType, repeatPattern >::handleEdgeTablePixelFull().
|
inlineprivatenoexcept |
References juce::addBytesToPointer(), juce::RenderingHelpers::EdgeTableFillers::TransformedImageFill< DestPixelType, SrcPixelType, repeatPattern >::destData, juce::RenderingHelpers::EdgeTableFillers::TransformedImageFill< DestPixelType, SrcPixelType, repeatPattern >::linePixels, and juce::Image::BitmapData::pixelStride.
Referenced by juce::RenderingHelpers::EdgeTableFillers::TransformedImageFill< DestPixelType, SrcPixelType, repeatPattern >::handleEdgeTableLine(), juce::RenderingHelpers::EdgeTableFillers::TransformedImageFill< DestPixelType, SrcPixelType, repeatPattern >::handleEdgeTablePixel(), and juce::RenderingHelpers::EdgeTableFillers::TransformedImageFill< DestPixelType, SrcPixelType, repeatPattern >::handleEdgeTablePixelFull().
|
inlinenoexcept |
References juce::RenderingHelpers::EdgeTableFillers::TransformedImageFill< DestPixelType, SrcPixelType, repeatPattern >::extraAlpha, juce::RenderingHelpers::EdgeTableFillers::TransformedImageFill< DestPixelType, SrcPixelType, repeatPattern >::generate(), juce::RenderingHelpers::EdgeTableFillers::TransformedImageFill< DestPixelType, SrcPixelType, repeatPattern >::getDestPixel(), JUCE_PERFORM_PIXEL_OP_LOOP, juce::HeapBlock< ElementType, throwOnFailure >::malloc(), juce::RenderingHelpers::EdgeTableFillers::TransformedImageFill< DestPixelType, SrcPixelType, repeatPattern >::scratchBuffer, and juce::RenderingHelpers::EdgeTableFillers::TransformedImageFill< DestPixelType, SrcPixelType, repeatPattern >::scratchSize.
Referenced by juce::RenderingHelpers::EdgeTableFillers::TransformedImageFill< DestPixelType, SrcPixelType, repeatPattern >::handleEdgeTableLineFull(), and juce::RenderingHelpers::EdgeTableFillers::TransformedImageFill< DestPixelType, SrcPixelType, repeatPattern >::handleEdgeTableRectangle().
|
inlinenoexcept |
|
inlinenoexcept |
References juce::RenderingHelpers::EdgeTableFillers::TransformedImageFill< DestPixelType, SrcPixelType, repeatPattern >::extraAlpha, juce::RenderingHelpers::EdgeTableFillers::TransformedImageFill< DestPixelType, SrcPixelType, repeatPattern >::generate(), and juce::RenderingHelpers::EdgeTableFillers::TransformedImageFill< DestPixelType, SrcPixelType, repeatPattern >::getDestPixel().
|
inlinenoexcept |
References juce::RenderingHelpers::EdgeTableFillers::TransformedImageFill< DestPixelType, SrcPixelType, repeatPattern >::extraAlpha, juce::RenderingHelpers::EdgeTableFillers::TransformedImageFill< DestPixelType, SrcPixelType, repeatPattern >::generate(), and juce::RenderingHelpers::EdgeTableFillers::TransformedImageFill< DestPixelType, SrcPixelType, repeatPattern >::getDestPixel().
|
inlinenoexcept |
|
inlinenoexcept |
|
inlineprivatenoexcept |
|
inlineprivatenoexcept |
References juce::PixelARGB::indexA, juce::PixelARGB::indexB, juce::PixelARGB::indexG, juce::PixelARGB::indexR, juce::Image::BitmapData::pixelStride, and juce::RenderingHelpers::EdgeTableFillers::TransformedImageFill< DestPixelType, SrcPixelType, repeatPattern >::srcData.
Referenced by juce::RenderingHelpers::EdgeTableFillers::TransformedImageFill< DestPixelType, SrcPixelType, repeatPattern >::generate().
|
inlineprivatenoexcept |
|
inlineprivatenoexcept |
|
inlineprivatenoexcept |
References juce::PixelARGB::indexA, juce::PixelARGB::indexB, juce::PixelARGB::indexG, juce::PixelARGB::indexR, juce::Image::BitmapData::lineStride, and juce::RenderingHelpers::EdgeTableFillers::TransformedImageFill< DestPixelType, SrcPixelType, repeatPattern >::srcData.
Referenced by juce::RenderingHelpers::EdgeTableFillers::TransformedImageFill< DestPixelType, SrcPixelType, repeatPattern >::generate().
|
inlineprivatenoexcept |
|
inlineprivatenoexcept |
|
inlineprivatenoexcept |
References juce::PixelARGB::indexA, juce::PixelARGB::indexB, juce::PixelARGB::indexG, juce::PixelARGB::indexR, juce::Image::BitmapData::lineStride, juce::Image::BitmapData::pixelStride, and juce::RenderingHelpers::EdgeTableFillers::TransformedImageFill< DestPixelType, SrcPixelType, repeatPattern >::srcData.
Referenced by juce::RenderingHelpers::EdgeTableFillers::TransformedImageFill< DestPixelType, SrcPixelType, repeatPattern >::generate().
|
inlineprivatenoexcept |
|
inlinenoexcept |
References juce::RenderingHelpers::EdgeTableFillers::TransformedImageFill< DestPixelType, SrcPixelType, repeatPattern >::currentY, juce::RenderingHelpers::EdgeTableFillers::TransformedImageFill< DestPixelType, SrcPixelType, repeatPattern >::destData, juce::Image::BitmapData::getLinePointer(), and juce::RenderingHelpers::EdgeTableFillers::TransformedImageFill< DestPixelType, SrcPixelType, repeatPattern >::linePixels.
Referenced by juce::RenderingHelpers::EdgeTableFillers::TransformedImageFill< DestPixelType, SrcPixelType, repeatPattern >::handleEdgeTableRectangle(), and juce::RenderingHelpers::EdgeTableFillers::TransformedImageFill< DestPixelType, SrcPixelType, repeatPattern >::handleEdgeTableRectangleFull().
|
private |
Referenced by juce::RenderingHelpers::EdgeTableFillers::TransformedImageFill< DestPixelType, SrcPixelType, repeatPattern >::clipEdgeTableLine(), juce::RenderingHelpers::EdgeTableFillers::TransformedImageFill< DestPixelType, SrcPixelType, repeatPattern >::generate(), and juce::RenderingHelpers::EdgeTableFillers::TransformedImageFill< DestPixelType, SrcPixelType, repeatPattern >::setEdgeTableYPos().
|
private |
|
private |
Referenced by juce::RenderingHelpers::EdgeTableFillers::TransformedImageFill< DestPixelType, SrcPixelType, repeatPattern >::handleEdgeTableLine(), juce::RenderingHelpers::EdgeTableFillers::TransformedImageFill< DestPixelType, SrcPixelType, repeatPattern >::handleEdgeTablePixel(), and juce::RenderingHelpers::EdgeTableFillers::TransformedImageFill< DestPixelType, SrcPixelType, repeatPattern >::handleEdgeTablePixelFull().
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
Referenced by juce::RenderingHelpers::EdgeTableFillers::TransformedImageFill< DestPixelType, SrcPixelType, repeatPattern >::TransformedImageFill(), juce::RenderingHelpers::EdgeTableFillers::TransformedImageFill< DestPixelType, SrcPixelType, repeatPattern >::clipEdgeTableLine(), and juce::RenderingHelpers::EdgeTableFillers::TransformedImageFill< DestPixelType, SrcPixelType, repeatPattern >::handleEdgeTableLine().
|
private |
Referenced by juce::RenderingHelpers::EdgeTableFillers::TransformedImageFill< DestPixelType, SrcPixelType, repeatPattern >::TransformedImageFill(), juce::RenderingHelpers::EdgeTableFillers::TransformedImageFill< DestPixelType, SrcPixelType, repeatPattern >::clipEdgeTableLine(), and juce::RenderingHelpers::EdgeTableFillers::TransformedImageFill< DestPixelType, SrcPixelType, repeatPattern >::handleEdgeTableLine().
|
private |
Referenced by juce::RenderingHelpers::EdgeTableFillers::TransformedImageFill< DestPixelType, SrcPixelType, repeatPattern >::generate(), juce::RenderingHelpers::EdgeTableFillers::TransformedImageFill< DestPixelType, SrcPixelType, repeatPattern >::render2PixelAverageX(), juce::RenderingHelpers::EdgeTableFillers::TransformedImageFill< DestPixelType, SrcPixelType, repeatPattern >::render2PixelAverageX(), juce::RenderingHelpers::EdgeTableFillers::TransformedImageFill< DestPixelType, SrcPixelType, repeatPattern >::render2PixelAverageX(), juce::RenderingHelpers::EdgeTableFillers::TransformedImageFill< DestPixelType, SrcPixelType, repeatPattern >::render2PixelAverageY(), juce::RenderingHelpers::EdgeTableFillers::TransformedImageFill< DestPixelType, SrcPixelType, repeatPattern >::render2PixelAverageY(), juce::RenderingHelpers::EdgeTableFillers::TransformedImageFill< DestPixelType, SrcPixelType, repeatPattern >::render2PixelAverageY(), juce::RenderingHelpers::EdgeTableFillers::TransformedImageFill< DestPixelType, SrcPixelType, repeatPattern >::render4PixelAverage(), juce::RenderingHelpers::EdgeTableFillers::TransformedImageFill< DestPixelType, SrcPixelType, repeatPattern >::render4PixelAverage(), and juce::RenderingHelpers::EdgeTableFillers::TransformedImageFill< DestPixelType, SrcPixelType, repeatPattern >::render4PixelAverage().