A table of horizontal scan-line segments - used for rasterising Paths.
More...
A table of horizontal scan-line segments - used for rasterising Paths.
- See also
- Path, Graphics
◆ EdgeTable() [1/6]
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.
- Parameters
-
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 |
◆ EdgeTable() [2/6]
EdgeTable::EdgeTable |
( |
Rectangle< int > |
rectangleToAdd | ) |
|
|
explicit |
Creates an edge table containing a rectangle.
◆ EdgeTable() [3/6]
EdgeTable::EdgeTable |
( |
Rectangle< float > |
rectangleToAdd | ) |
|
|
explicit |
Creates an edge table containing a rectangle.
◆ EdgeTable() [4/6]
EdgeTable::EdgeTable |
( |
const RectangleList< int > & |
rectanglesToAdd | ) |
|
|
explicit |
Creates an edge table containing a rectangle list.
◆ EdgeTable() [5/6]
EdgeTable::EdgeTable |
( |
const RectangleList< float > & |
rectanglesToAdd | ) |
|
|
explicit |
Creates an edge table containing a rectangle list.
◆ EdgeTable() [6/6]
Creates a copy of another edge table.
◆ ~EdgeTable()
EdgeTable::~EdgeTable |
( |
| ) |
|
◆ operator=()
Copies from another edge table.
◆ clipToRectangle()
void EdgeTable::clipToRectangle |
( |
Rectangle< int > |
r | ) |
|
◆ excludeRectangle()
void EdgeTable::excludeRectangle |
( |
Rectangle< int > |
r | ) |
|
◆ clipToEdgeTable()
void EdgeTable::clipToEdgeTable |
( |
const EdgeTable & |
| ) |
|
◆ clipLineToMask()
void EdgeTable::clipLineToMask |
( |
int |
x, |
|
|
int |
y, |
|
|
const uint8 * |
mask, |
|
|
int |
maskStride, |
|
|
int |
numPixels |
|
) |
| |
◆ isEmpty()
bool EdgeTable::isEmpty |
( |
| ) |
|
|
noexcept |
◆ getMaximumBounds()
const Rectangle< int > & EdgeTable::getMaximumBounds |
( |
| ) |
const |
|
noexcept |
◆ translate()
void EdgeTable::translate |
( |
float |
dx, |
|
|
int |
dy |
|
) |
| |
|
noexcept |
◆ multiplyLevels()
void EdgeTable::multiplyLevels |
( |
float |
factor | ) |
|
Scales all the alpha-levels in the table by the given multiplier.
◆ optimiseTable()
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.
◆ iterate()
template<class EdgeTableIterationCallback >
void EdgeTable::iterate |
( |
EdgeTableIterationCallback & |
iterationCallback | ) |
const |
|
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.
- Parameters
-
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;
float x Definition juce_UnityPluginInterface.h:191
float float y Definition juce_UnityPluginInterface.h:191
(these don't necessarily have to be 'const', but it might help it go faster) |
References isPositiveAndBelow(), jassert, table, x, and y.
The documentation for this class was generated from the following file: