TouchGFX + 0/4 examples
CodeScope will show references to touchgfx::LCD16bpp from the following samples and libraries:
Examples
STM32469I-Discovery
Demonstrations
STM32469I_EVAL
Demonstrations
STM324x9I_EVAL
Demonstrations
STM32F429I-Discovery
Demonstrations
 
Symbols
loading...
Files
loading...

touchgfx::LCD16bpp class

@class LCD16bpp LCD16bpp.hpp platform/driver/lcd/LCD16bpp.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 LCD16bpp : public LCD { public:     virtual ~LCD16bpp() {}     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 16;     } 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);     static void blitCopyAlphaPerPixel(const uint16_t* sourceData, const uint8_t* alphaData, const Rect& source, const Rect& blitRect, uint8_t alpha); };

Fields

TRANSPARENT_COL

No summary provided. Read more...

Methods

blitCopy()

@fn virtual void LCD16bpp::blitCopy(const uint8_t* sourceData, Bitmap::BitmapFormat sourceFormat, const Rect& source, const Rect& blitRect, uint8_t alpha, bool hasTransparentPixels); Blits a 2D source-array to the framebuffer while converting the format. 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. LCD16 supports source data formats: RGB565 and ARGB8888. Read more...

copyFrameBufferRegionToMemory()

@fn virtual uint16_t* LCD16bpp::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 LCD16bpp::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 LCD16bpp::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 LCD16bpp::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 LCD16bpp::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 LCD16bpp::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 LCD16bpp::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 LCD16bpp::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 LCD16bpp::init(); Performs initialization. Performs initialization. Read more...

drawPartialBitmap()

@fn virtual void LCD16bpp::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. Read more...

blitCopy()

@fn virtual void LCD16bpp::blitCopy(const uint8_t* sourceData, Bitmap::BitmapFormat sourceFormat, const Rect& source, const Rect& blitRect, uint8_t alpha, bool hasTransparentPixels); Blits a 2D source-array to the framebuffer while converting the format. 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. LCD16 supports source data formats: RGB565 and ARGB8888. Read more...

blitCopyAlphaPerPixel()

@fn static void LCD16bpp::blitCopyAlphaPerPixel(const uint16_t* sourceData, const uint8_t* alphaData, 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 Performs always a software blend. Read more...

Examples

touchgfx::LCD16bpp is referenced by 4 libraries and example projects.

References

LocationText
LCD16bpp.hpp:45
class LCD16bpp : public LCD
HAL.hpp:1266
friend class LCD16bpp;

Class Tree

Child classes
touchgfx::LCD16bpp
all items filtered out