touchgfx::Outline is only used within TouchGFX.
 
Symbols
loading...
Files
loading...

touchgfx::Outline class

@class Outline Outline.hpp touchgfx/canvas_widget_renderer/Outline.hpp An internal class that implements the main rasterization algorithm. An internal class that implements the main rasterization algorithm. Used in the Rasterizer. Should not be used direcly.

Syntax

class Outline { public:     typedef unsigned int OutlineFlags_t;     static const OutlineFlags_t OUTLINE_NOT_CLOSED = 1U;         static const OutlineFlags_t OUTLINE_SORT_REQUIRED = 2U;      Outline();     virtual ~Outline();     void reset();     void moveTo(int x, int y);     void lineTo(int x, int y);     unsigned getNumCells() const     {         return numCells;     }     const Cell* getCells();     void setMaxRenderY(int y)     {         maxRenderY = y;     }     bool wasOutlineTooComplex()     {         return outlineTooComplex;     } private:     void setCurCell(int x, int y);     void addCurCell();     void sortCells();     void renderScanline(int ey, int x1, int y1, int x2, int y2);     void renderLine(int x1, int y1, int x2, int y2);     static void qsortCells(Cell* const start, unsigned num); private:     unsigned     maxCells;     unsigned     numCells;     Cell*        cells;     Cell*        curCellPtr;     Cell         curCell;     int          curX;     int          curY;     int          closeX;     int          closeY;     int          minX;     int          minY;     int          maxX;     int          maxY;     unsigned int flags;     int          maxRenderY;     bool         outlineTooComplex; #ifdef SIMULATOR     unsigned     numCellsMissing;     unsigned     numCellsUsed; #endif };

Fields

minX

No summary provided. Read more...

minY

No summary provided. Read more...

maxX

No summary provided. Read more...

maxY

No summary provided. Read more...

flags

No summary provided. Read more...

maxRenderY

No summary provided. Read more...

outlineTooComplex

No summary provided. Read more...

OUTLINE_NOT_CLOSED

No summary provided. Read more...

OUTLINE_SORT_REQUIRED

No summary provided. Read more...

maxCells

No summary provided. Read more...

numCells

No summary provided. Read more...

cells

No summary provided. Read more...

curCellPtr

No summary provided. Read more...

curCell

No summary provided. Read more...

curX

No summary provided. Read more...

curY

No summary provided. Read more...

closeX

No summary provided. Read more...

closeY

No summary provided. Read more...

Methods

reset()

@fn void Outline::reset(); Resets this object. Resets this object. This implies removing the current Cell objects and preparing for a new Outline. Read more...

moveTo()

@fn void Outline::moveTo(int x, int y); Move a virtual pen to the specified coordinate. Move a virtual pen to the specified coordinate. Read more...

lineTo()

@fn void Outline::lineTo(int x, int y); Create a line from the current virtual pen coordinate to the given coordinate creating an Outline. Create a line from the current virtual pen coordinate to the given coordinate creating an Outline. Read more...

getNumCells() const

@fn unsigned Outline::getNumCells() const Gets number cells registered in the current drawn path for the Outline. Gets number cells registered in the current drawn path for the Outline. Read more...

getCells()

@fn const Cell* Outline::getCells(); Gets a pointer to the the Cell objects in the Outline. Gets a pointer to the the Cell objects in the Outline. If the Outline is not closed, it is closed. If the Outline is unsorted, it will be quick sorted first. Read more...

setMaxRenderY()

@fn void Outline::setMaxRenderY(int y) Sets maximum render y coordinate. Sets maximum render y coordinate. This is used to avoid registering any Cell that has a y coordinate less than zero of higher than the given y. Read more...

wasOutlineTooComplex()

@fn bool Outline::wasOutlineTooComplex() Determines if there was enough memory to register the entire outline. Determines if there was enough memory to register the entire outline, of if the outline was too complex. Read more...

setCurCell()

@fn void Outline::setCurCell(int x, int y); Sets coordinate of the current Cell. Sets coordinate of the current Cell. Read more...

addCurCell()

@fn void Outline::addCurCell(); Adds current cell to the Outline. Adds current cell to the Outline. Read more...

sortCells()

@fn void Outline::sortCells(); Sort cells in the Outline. Sort cells in the Outline. Read more...

renderScanline()

@fn void Outline::renderScanline(int ey, int x1, int y1, int x2, int y2); Render the scanline in the special case where the line is on the same scanline. Render the scanline in the special case where the line is on the same scanline, though it might not be 100% horizontal as the fraction of the y endpoints might differ making the line tilt ever so slightly. Read more...

renderLine()

@fn void Outline::renderLine(int x1, int y1, int x2, int y2); Render the line. Render the line. This is the general case which handles all cases regardless of the position of the from coordinate and the to coordinate. Read more...

qsortCells()

@fn static void Outline::qsortCells(Cell* const start, unsigned num); Quick sort Outline cells. Quick sort Outline cells. Read more...

References

LocationReferrerScopeText
Outline.hpp:31
class Outline
Rasterizer.hpp:362touchgfx::Rasterizer::outlinetouchgfx::Rasterizer
Outline outline; ///< The outline

Type Use

Variables of touchgfx::Outline type
all items filtered out
touchgfx::Outline