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

touchgfx::Renderer class

@class Renderer Renderer.hpp touchgfx/canvas_widget_renderer/Renderer.hpp This class template is used basically for rendering scan lines. This class template is used basically for rendering scanlines. The 'Span' argument is one of the span renderers, such as SpanRGB565 and others.

Syntax

class Renderer { public:     Renderer()     {     }     Renderer(RenderingBuffer& renderingBuffer, AbstractPainter& painter)         : renderingBuffer(&renderingBuffer), painter(&painter)     {     }     void setRenderingBuffer(RenderingBuffer& renderingBuffer)     {         this->renderingBuffer = &renderingBuffer;     }     void render(const Scanline& scanline)     {         if (scanline.getY() < 0 || scanline.getY() >= int(renderingBuffer->getHeight()))         {             return;         }         unsigned numSpans = scanline.getNumSpans();         int baseX = 0;         int y = scanline.getY();         unsigned char* row = renderingBuffer->row(y);         Scanline::iterator spanIterator(scanline);         uint8_t xAdjust = renderingBuffer->getXAdjust();         do         {             int x = spanIterator.next() + baseX;             const uint8_t* covers = spanIterator.getCovers();             int numPix = spanIterator.getNumPix();             if (x < 0)             {                 numPix += x;                 if (numPix <= 0)                 {                     continue;                 }                 covers -= x;                 x = 0;             }             if (x + numPix >= int(renderingBuffer->getWidth()))             {                 numPix = renderingBuffer->getWidth() - x;                 if (numPix <= 0)                 {                     continue;                 }             }             painter->render(row, x, xAdjust, y, numPix, covers);         }         while (--numSpans);     }     RenderingBuffer& getRenderingBuffer()     {         return *renderingBuffer;     } private:     RenderingBuffer* renderingBuffer;        AbstractPainter* painter;          };

Fields

renderingBuffer

No summary provided. Read more...

painter

No summary provided. Read more...

Methods

setRenderingBuffer()

@fn void Renderer::setRenderingBuffer(RenderingBuffer& renderingBuffer) Sets rendering buffer. Sets rendering buffer. Read more...

render()

@fn void Renderer::render(const Scanline& scanline) Render the given Scanline in the given color. Render the given Scanline in the given color. Read more...

getRenderingBuffer()

@fn RenderingBuffer& Renderer::getRenderingBuffer() Gets the getRenderingBuffer. Gets the getRenderingBuffer. Read more...

References

LocationText
Renderer.hpp:34
class Renderer