|
JUCE
|
A table of horizontal scan-line segments - used for rasterising Paths. More...
Public Member Functions | |
| EdgeTable (Rectangle< int > clipLimits, const Path &pathToAdd, const AffineTransform &transform) | |
| Creates an edge table containing a path. More... | |
| EdgeTable (Rectangle< int > rectangleToAdd) | |
| Creates an edge table containing a rectangle. More... | |
| EdgeTable (Rectangle< float > rectangleToAdd) | |
| Creates an edge table containing a rectangle. More... | |
| EdgeTable (const RectangleList< int > &rectanglesToAdd) | |
| Creates an edge table containing a rectangle list. More... | |
| EdgeTable (const RectangleList< float > &rectanglesToAdd) | |
| Creates an edge table containing a rectangle list. More... | |
| EdgeTable (const EdgeTable &) | |
| Creates a copy of another edge table. More... | |
| EdgeTable & | operator= (const EdgeTable &) |
| Copies from another edge table. More... | |
| ~EdgeTable () | |
| Destructor. More... | |
| void | clipToRectangle (Rectangle< int > r) |
| void | excludeRectangle (Rectangle< int > r) |
| void | clipToEdgeTable (const EdgeTable &) |
| void | clipLineToMask (int x, int y, const uint8 *mask, int maskStride, int numPixels) |
| bool | isEmpty () noexcept |
| const Rectangle< int > & | getMaximumBounds () const noexcept |
| void | translate (float dx, int dy) noexcept |
| void | multiplyLevels (float factor) |
| Scales all the alpha-levels in the table by the given multiplier. More... | |
| void | optimiseTable () |
| Reduces the amount of space the table has allocated. More... | |
| template<class EdgeTableIterationCallback > | |
| void | iterate (EdgeTableIterationCallback &iterationCallback) const noexcept |
| Iterates the lines in the table, for rendering. More... | |
| EdgeTable::EdgeTable | ( | Rectangle< int > | clipLimits, |
| const Path & | pathToAdd, | ||
| const AffineTransform & | transform | ||
| ) |
Creates an edge table containing a path.
A table is created with a fixed vertical range, and only sections of the path which lie within this range will be added to the table.
| clipLimits | only the region of the path that lies within this area will be added |
| pathToAdd | the path to add to the table |
| transform | a transform to apply to the path being added |
Creates an edge table containing a rectangle.
|
explicit |
Creates an edge table containing a rectangle.
|
explicit |
Creates an edge table containing a rectangle list.
|
explicit |
Creates an edge table containing a rectangle list.
| EdgeTable::EdgeTable | ( | const EdgeTable & | ) |
Creates a copy of another edge table.
| EdgeTable::~EdgeTable | ( | ) |
Destructor.
| void EdgeTable::clipToEdgeTable | ( | const EdgeTable & | ) |
|
noexcept |
References translate().
|
noexcept |
| void EdgeTable::multiplyLevels | ( | float | factor | ) |
Scales all the alpha-levels in the table by the given multiplier.
| void EdgeTable::optimiseTable | ( | ) |
Reduces the amount of space the table has allocated.
This will shrink the table down to use as little memory as possible - useful for read-only tables that get stored and re-used for rendering.
|
noexcept |
Iterates the lines in the table, for rendering.
This function will iterate each line in the table, and call a user-defined class to render each pixel or continuous line of pixels that the table contains.
| iterationCallback | this templated class must contain the following methods: inline void setEdgeTableYPos (int y); inline void handleEdgeTablePixel (int x, int alphaLevel) const; inline void handleEdgeTablePixelFull (int x) const; inline void handleEdgeTableLine (int x, int width, int alphaLevel) const; inline void handleEdgeTableLineFull (int x, int width) const; |
References isPositiveAndBelow(), jassert, JUCE_LEAK_DETECTOR, and operator<().
1.8.13