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

touchgfx::LCD24bpp class

@class LCD24bpp LCD24bpp.hpp platform/driver/lcd/LCD24bpp.hpp This class contains the various low-level drawing routines for drawing bitmaps. This class contains the various low-level drawing routines for drawing bitmaps, texts and rectangles on 16 bits per pixel displays. @see LCD

Syntax

class LCD24bpp : public LCD { public:     virtual ~LCD24bpp() {}     virtual void init();     virtual void drawPartialBitmap(const Bitmap& bitmap, int16_t x, int16_t y, const Rect& rect, uint8_t alpha = 255, bool useOptimized = true);     virtual void blitCopy(const uint16_t* sourceData, const Rect& source, const Rect& blitRect, uint8_t alpha, bool hasTransparentPixels);     virtual void blitCopy(const uint8_t* sourceData, Bitmap::BitmapFormat sourceFormat, const Rect& source, const Rect& blitRect, uint8_t alpha, bool hasTransparentPixels);     virtual uint16_t* copyFrameBufferRegionToMemory(const Rect& region, const BitmapId bitmap = BITMAP_ANIMATION_STORAGE);     virtual void fillRect(const Rect& rect, colortype color, uint8_t alpha = 255);     virtual uint8_t bitDepth() const     {         return 24;     } protected:     static const uint16_t TRANSPARENT_COL = 0xABCD;      virtual void drawTextureMapScanLine(const DrawingSurface& dest, const Gradients& gradients, const Edge* leftEdge, const Edge* rightEdge, const TextureSurface& texture, const Rect& absoluteRect, const Rect& dirtyAreaAbsolute, RenderingVariant renderVariant, uint8_t alpha, uint16_t subDivisionSize);     static int nextPixel(bool portrait, TextRotation rotation);     static int nextLine(bool portrait, TextRotation rotation);     virtual void drawGlyph(uint16_t* wbuf, Rect widgetArea, int16_t x, int16_t y, uint16_t offsetX, uint16_t offsetY, const Rect& invalidatedArea, const GlyphNode* glyph, const uint8_t* glyphData, colortype color, uint8_t bitsPerPixel, uint8_t alpha, TextRotation rotation = TEXT_ROTATE_0);     static void blitCopyARGB8888(const uint32_t* sourceData, const Rect& source, const Rect& blitRect, uint8_t alpha); };

Fields

TRANSPARENT_COL

No summary provided. Read more...

Methods

drawPartialBitmap()

@fn virtual void LCD24bpp::drawPartialBitmap(const Bitmap& bitmap, int16_t x, int16_t y, const Rect& rect, uint8_t alpha = 255, bool useOptimized = true); Draws a portion of a bitmap. Draws a portion of a bitmap. Read more...

blitCopy()

@fn virtual void LCD24bpp::blitCopy(const uint16_t* sourceData, const Rect& source, const Rect& blitRect, uint8_t alpha, bool hasTransparentPixels); Blits a 2D source-array to the framebuffer. Blits a 2D source-array to the framebuffer perfoming alpha-blending (and tranparency keying) as specified Performs a software blend if HAL does not support BLIT_COPY_WITH_ALPHA and alpha != 255. Read more...

blitCopy()

@fn virtual void LCD24bpp::blitCopy(const uint16_t* sourceData, const Rect& source, const Rect& blitRect, uint8_t alpha, bool hasTransparentPixels); Blits a 2D source-array to the framebuffer. Blits a 2D source-array to the framebuffer perfoming alpha-blending (and tranparency keying) as specified Performs a software blend if HAL does not support BLIT_COPY_WITH_ALPHA and alpha != 255. Read more...

copyFrameBufferRegionToMemory()

@fn virtual uint16_t* LCD24bpp::copyFrameBufferRegionToMemory(const Rect& region, const BitmapId bitmap = BITMAP_ANIMATION_STORAGE) = 0; Copies a part of the frame buffer. Copies a part of the frame buffer to a bitmap. Read more...

fillRect()

@fn virtual void LCD24bpp::fillRect(const Rect& rect, colortype color, uint8_t alpha = 255); Draws a filled rectangle in the specified color. Draws a filled rectangle in the specified color. Read more...

bitDepth() const

@fn virtual uint8_t LCD24bpp::bitDepth() const Number of bits per pixel used by the display. Number of bits per pixel used by the display. Read more...

drawTextureMapScanLine()

@fn virtual void LCD24bpp::drawTextureMapScanLine(const DrawingSurface& dest, const Gradients& gradients, const Edge* leftEdge, const Edge* rightEdge, const TextureSurface& texture, const Rect& absoluteRect, const Rect& dirtyAreaAbsolute, RenderingVariant renderVariant, uint8_t alpha, uint16_t subDivisionSize); Draw scan line. Draw one horizontal line of the texture map on screen. The scan line will be drawn using perspective correct texture mapping. The appearance of the line is determined by the left and right edge and the gradients structure. The edges contain the information about the x,y,z coordinates of the left and right side respectively and also information about the u,v coordinates of the texture map used. The gradients structure contains information about how to interpolate all the values across the scan line. The data drawn should be present in the texture argument. The scan line will be drawn using the additional arguments. The scan line will be placed and clipped using the absolute and dirty rectangles The alpha will determine how the scan line should be alpha blended. The subDivisionSize will determine the size of the piecewise affine texture mapped lines. Read more...

nextPixel()

@fn static int LCD24bpp::nextPixel(bool portrait, TextRotation rotation); Find out how much to advance in the display buffer to get to the next pixel. Find out how much to advance in the display buffer to get to the next pixel. Read more...

nextLine()

@fn static int LCD24bpp::nextLine(bool portrait, TextRotation rotation); Find out how much to advance in the display buffer to get to the next line. Find out how much to advance in the display buffer to get to the next line. Read more...

drawGlyph()

@fn virtual void LCD24bpp::drawGlyph(uint16_t* wbuf, Rect widgetArea, int16_t x, int16_t y, uint16_t offsetX, uint16_t offsetY, const Rect& invalidatedArea, const GlyphNode* glyph, const uint8_t* glyphData, colortype color, uint8_t bitsPerPixel, uint8_t alpha, TextRotation rotation = TEXT_ROTATE_0); Private version of draw-glyph with explicit destination buffer pointer argument. Private version of draw-glyph with explicit destination buffer pointer argument. For all parameters (except the buffer pointer) see the public version of drawGlyph(). Read more...

blitCopyARGB8888()

@fn static void LCD24bpp::blitCopyARGB8888(const uint32_t* sourceData, const Rect& source, const Rect& blitRect, uint8_t alpha); Blits a 2D source-array to the framebuffer. Blits a 2D source-array to the framebuffer perfoming alpha-blending per pixel as specified if ARGB8888 is not supported by the DMA a software blend is performed. Read more...

init()

@fn virtual void LCD24bpp::init(); Performs initialization. Performs initialization. Read more...

References

LocationText
LCD24bpp.hpp:45
class LCD24bpp : public LCD
HAL.hpp:1267
friend class LCD24bpp;

Class Tree

Child classes
touchgfx::LCD24bpp
all items filtered out