Skip to main content

AbstractPainterRGB565

The AbstractPainterRGB565 class is an abstract class for creating a painter to draw on a RGB565 display using CanvasWidgetRenderer.

See: AbstractPainter

Inherits from: AbstractPainter

Inherited by: PainterRGB565, PainterRGB565Bitmap, PainterRGB565L8Bitmap

Public Functions

AbstractPainterRGB565()
FORCE_INLINE_FUNCTION uint16_talphaBlend(uint16_t newpix, uint16_t bufpix, uint8_t alpha) const
Mix colors from a new pixel and a buffer pixel with the given alpha applied to the new pixel, and the inverse alpha applied to the buffer pixel.
FORCE_INLINE_FUNCTION uint16_talphaBlend(uint16_t R, uint16_t G, uint16_t B, uint16_t bufpix, uint8_t alpha) const
Mix colors from a new pixel and a buffer pixel with the given alpha applied to the new pixel, and the inverse alpha applied to the buffer pixel.

Public Attributes

const uint16_tBMASK
Mask for blue (0000000000011111)
const uint16_tGMASK
Mask for green (0000011111100000)
const uint16_tRMASK
Mask for red (1111100000000000)

Additional inherited members

Public Functions inherited from AbstractPainter

AbstractPainter()
Initializes a new instance of the AbstractPainter class.
voidframebufferToDisplay(int16_t & widgetX, int16_t & widgetY) const
Convert Framebuffer widget coordinates to display widget coordinates.
virtual HAL::RenderingMethodgetRenderingMethod() const
Return the applicable rendering method of the painter.
virtual voidpaint(uint8_t * destination, int16_t offset, int16_t widgetX, int16_t widgetY, int16_t count, uint8_t alpha) const =0
Paints a streak of pixels (all with the same alpha) in the framebuffer.
virtual boolsetup(const Rect & widgetRect) const
This function is called before any actual paint operation is started.
virtual voidtearDown() const
This function is called after all paint operation have finished.
virtual ~AbstractPainter()
Finalizes an instance of the AbstractPainter class.

Protected Functions inherited from AbstractPainter

FORCE_INLINE_FUNCTION boolcompatibleFramebuffer(Bitmap::BitmapFormat format)
Helper function to check if the provided bitmap format matches the current framebuffer format.

Protected Attributes inherited from AbstractPainter

int16_twidgetWidth
The width of the widget on screen, used by framebufferToDisplay()

Public Functions Documentation

AbstractPainterRGB565

alphaBlend

FORCE_INLINE_FUNCTION uint16_t alphaBlend(uint16_tnewpix ,const
uint16_tbufpix ,const
uint8_talphaconst
)const

Mix colors from a new pixel and a buffer pixel with the given alpha applied to the new pixel, and the inverse alpha applied to the buffer pixel.

Parameters:
newpixThe new pixel value.
bufpixThe buffer pixel value.
alphaThe alpha to apply to the new pixel.
Returns:

The result of blending the two colors into a new color.

alphaBlend

FORCE_INLINE_FUNCTION uint16_t alphaBlend(uint16_tR ,const
uint16_tG ,const
uint16_tB ,const
uint16_tbufpix ,const
uint8_talphaconst
)const

Mix colors from a new pixel and a buffer pixel with the given alpha applied to the new pixel, and the inverse alpha applied to the buffer pixel.

Parameters:
RThe red color (0-31 shifted into RMASK).
GThe green color (0-63 shifted into GMASK).
BThe blue color (0-31 shifted into BMASK).
bufpixThe buffer pixel value.
alphaThe alpha of the R,G,B.
Returns:

The result of blending the two colors into a new color.

Public Attributes Documentation

BMASK

const uint16_t BMASK = 0x001F

Mask for blue (0000000000011111)

GMASK

const uint16_t GMASK = 0x07E0

Mask for green (0000011111100000)

RMASK

const uint16_t RMASK = 0xF800

Mask for red (1111100000000000)