Skip to main content
Version: 4.16

Globals

The global touchgfx namespace.
All TouchGFX framework enums, Type definitions, global functions and global variables are placed in this namespace.

Enums#

BlitOperations#

The Blit Operations.

BLIT_OP_COPYCopy the source to the destination.
BLIT_OP_FILLFill the destination with color.
BLIT_OP_COPY_WITH_ALPHACopy the source to the destination using the given alpha.
BLIT_OP_FILL_WITH_ALPHAFill the destination with color using the given alpha.
BLIT_OP_COPY_WITH_TRANSPARENT_PIXELSDeprecated, ignored. (Copy the source to the destination, but not the transparent pixels)
BLIT_OP_COPY_ARGB8888Copy the source to the destination, performing per-pixel alpha blending.
BLIT_OP_COPY_ARGB8888_WITH_ALPHACopy the source to the destination, performing per-pixel alpha blending and blending the result with an image-wide alpha.
BLIT_OP_COPY_A4Copy 4-bit source text to destination, performing per-pixel alpha blending.
BLIT_OP_COPY_A8Copy 8-bit source text to destination, performing per-pixel alpha blending.

Location: touchgfx/hal/BlitOp.hpp

Direction#

Values that represent directions.

NORTHAn enum constant representing the north option.
SOUTHAn enum constant representing the south option.
EASTAn enum constant representing the east option.
WESTAn enum constant representing the west option.

Location: touchgfx/hal/Types.hpp

DisplayOrientation#

Values that represent display orientations.

ORIENTATION_LANDSCAPEThe display has more pixels from left to right than from top to bottom.
ORIENTATION_PORTRAITThe display has more pixels from top to bottom than from right to left.

Location: touchgfx/hal/Types.hpp

DisplayRotation#

Values that represent display rotations.

rotate0The display is oriented like the framebuffer.
rotate90The display is rotated 90 degrees compared to the framebuffer layout.

Location: touchgfx/hal/Types.hpp

DMAType#

enum DMAType

Values that represent dma types.

DMA_TYPE_GENERICGeneric DMA Implementation.
DMA_TYPE_CHROMARTChromART hardware DMA Implementation.

Location: touchgfx/hal/Types.hpp

FrameBuffer#

Values that represent frame buffers.

FB_PRIMARYFirst framebuffer.
FB_SECONDARYSecond framebuffer.
FB_TERTIARYThird framebuffer.

Location: touchgfx/hal/Types.hpp

GlyphFlags#

Glyph flag definitions.

GLYPH_DATA_KERNINGTABLEPOS_BIT8_10The 8th, 9th and 10th bit of the kerningTablePos.
GLYPH_DATA_WIDTH_BIT8The 9th bit of "width".
GLYPH_DATA_HEIGHT_BIT8The 9th bit of "height".
GLYPH_DATA_TOP_BIT8The 9th bit of "top".
GLYPH_DATA_TOP_BIT9The sign bit of "top".
GLYPH_DATA_ADVANCE_BIT8The 9th bit of "advance".

Location: touchgfx/Font.hpp

Gradient#

Values that represent gradients.

GRADIENT_HORIZONTALHorizontal gradient.
GRADIENT_VERTICALVertical gradient.

Location: touchgfx/hal/Types.hpp

TextRotation#

Values that represent text rotations.

TEXT_ROTATE_0Text is written from left to right.
TEXT_ROTATE_90Text is written from top to bottom.
TEXT_ROTATE_180Text is written from right to left (upside down)
TEXT_ROTATE_270Text is written bottom to top.

Location: touchgfx/hal/Types.hpp

WideTextAction#

Values that represent wide text actions.

WIDE_TEXT_NONEDo nothing, simply cut the text in the middle of any character that extends beyond the width of the TextArea.
WIDE_TEXT_WORDWRAPWrap between words, ellipsis anywhere "Very long t...".
WIDE_TEXT_WORDWRAP_ELLIPSIS_AFTER_SPACEWrap between words, ellipsis anywhere only after space "Very long ...".
WIDE_TEXT_CHARWRAPWrap between any two characters, ellipsis anywhere, as used in Chinese.
WIDE_TEXT_CHARWRAP_DOUBLE_ELLIPSISWrap between any two characters, double ellipsis anywhere, as used in Chinese.

Location: touchgfx/hal/Types.hpp

Type Definitions#

Alignment#

typedef uint8_t Alignment

Defines an alignment type.

Location: touchgfx/hal/Types.hpp

AnimatedImageClickButton#

Defines an alias representing the animated image click button.

Location: touchgfx/containers/buttons/Buttons.hpp

AnimatedImageRepeatButton#

Defines an alias representing the animated image repeat button.

Location: touchgfx/containers/buttons/Buttons.hpp

AnimatedImageToggleButton#

Defines an alias representing the animated image toggle button.

Location: touchgfx/containers/buttons/Buttons.hpp

AnimatedImageTouchButton#

Defines an alias representing the animated image touch button.

Location: touchgfx/containers/buttons/Buttons.hpp

BitmapId#

typedef uint16_t BitmapId

This type shall be used by the application to define unique IDs for all bitmaps in the system.

Location: touchgfx/Bitmap.hpp

BoxClickButton#

Defines an alias representing the box click button.

Location: touchgfx/containers/buttons/Buttons.hpp

BoxRepeatButton#

Defines an alias representing the box repeat button.

Location: touchgfx/containers/buttons/Buttons.hpp

BoxToggleButton#

Defines an alias representing the box toggle button.

Location: touchgfx/containers/buttons/Buttons.hpp

BoxTouchButton#

Defines an alias representing the box touch button.

Location: touchgfx/containers/buttons/Buttons.hpp

EasingEquation#

typedef int16_t(* EasingEquation) (uint16_t, int16_t, int16_t, uint16_t)

This function pointer typedef matches the signature for all easing equations.

Location: touchgfx/EasingEquations.hpp

fixed16_16#

typedef int32_t fixed16_16

A fixed point value using 16 bits for the decimal part and 16 bits for the integral part.

Location: touchgfx/hal/Types.hpp

fixed28_4#

typedef int32_t fixed28_4

A fixed point value using 4 bits for the decimal part and 28 bits for the integral part.

Location: touchgfx/hal/Types.hpp

FontId#

typedef uint16_t FontId

Defines an alias representing a Font ID.

Location: touchgfx/Font.hpp

GlyphNode#

struct providing information about a glyph.

Location: touchgfx/Font.hpp

IconClickButton#

Defines an alias representing the icon click button.

Location: touchgfx/containers/buttons/Buttons.hpp

IconImageClickButton#

Defines an alias representing the icon image click button.

Location: touchgfx/containers/buttons/Buttons.hpp

IconImageRepeatButton#

Defines an alias representing the icon image repeat button.

Location: touchgfx/containers/buttons/Buttons.hpp

IconImageToggleButton#

Defines an alias representing the icon image toggle button.

Location: touchgfx/containers/buttons/Buttons.hpp

IconImageTouchButton#

Defines an alias representing the icon image touch button.

Location: touchgfx/containers/buttons/Buttons.hpp

IconRepeatButton#

Defines an alias representing the icon repeat button.

Location: touchgfx/containers/buttons/Buttons.hpp

IconToggleButton#

Defines an alias representing the icon toggle button.

Location: touchgfx/containers/buttons/Buttons.hpp

IconTouchButton#

Defines an alias representing the icon touch button.

Location: touchgfx/containers/buttons/Buttons.hpp

ImageClickButton#

Defines an alias representing the image click button.

Location: touchgfx/containers/buttons/Buttons.hpp

ImageRepeatButton#

Defines an alias representing the image repeat button.

Location: touchgfx/containers/buttons/Buttons.hpp

ImageToggleButton#

Defines an alias representing the image toggle button.

Location: touchgfx/containers/buttons/Buttons.hpp

ImageTouchButton#

Defines an alias representing the image touch button.

Location: touchgfx/containers/buttons/Buttons.hpp

LanguageId#

typedef uint16_t LanguageId

Language IDs generated by the text converter are uint16_t typedef'ed.

Location: touchgfx/Texts.hpp

RenderingVariant#

typedef uint16_t RenderingVariant

Describes a combination of rendering algorithm, image format, and alpha information.

Location: touchgfx/hal/Types.hpp

TextClickButton#

Defines an alias representing the text click button.

Location: touchgfx/containers/buttons/Buttons.hpp

TextDirection#

typedef uint8_t TextDirection

Defines a the direction to write text.

Location: touchgfx/hal/Types.hpp

TextRepeatButton#

Defines an alias representing the text repeat button.

Location: touchgfx/containers/buttons/Buttons.hpp

TextToggleButton#

Defines an alias representing the text toggle button.

Location: touchgfx/containers/buttons/Buttons.hpp

TextTouchButton#

Defines an alias representing the text touch button.

Location: touchgfx/containers/buttons/Buttons.hpp

TiledImageClickButton#

Defines an alias representing the tiled image click button.

Location: touchgfx/containers/buttons/Buttons.hpp

TiledImageRepeatButton#

Defines an alias representing the tiled image repeat button.

Location: touchgfx/containers/buttons/Buttons.hpp

TiledImageToggleButton#

Defines an alias representing the tiled image toggle button.

Location: touchgfx/containers/buttons/Buttons.hpp

TiledImageTouchButton#

Defines an alias representing the tiled image touch button.

Location: touchgfx/containers/buttons/Buttons.hpp

TwoWildcardTextClickButton#

Defines an alias representing the wildcard text click button.

Location: touchgfx/containers/buttons/Buttons.hpp

TwoWildcardTextRepeatButton#

Defines an alias representing the wildcard text repeat button.

Location: touchgfx/containers/buttons/Buttons.hpp

TwoWildcardTextToggleButton#

Defines an alias representing the wildcard text toggle button.

Location: touchgfx/containers/buttons/Buttons.hpp

TwoWildcardTextTouchButton#

Defines an alias representing the wildcard text touch button.

Location: touchgfx/containers/buttons/Buttons.hpp

TypedTextId#

typedef uint16_t TypedTextId

Text IDs as generated by the text converter are simple uint16_t typedefs.

Location: touchgfx/hal/Types.hpp

WildcardTextClickButton#

Defines an alias representing the wildcard text click button.

Location: touchgfx/containers/buttons/Buttons.hpp

WildcardTextRepeatButton#

Defines an alias representing the wildcard text repeat button.

Location: touchgfx/containers/buttons/Buttons.hpp

WildcardTextToggleButton#

Defines an alias representing the wildcard text toggle button.

Location: touchgfx/containers/buttons/Buttons.hpp

WildcardTextTouchButton#

Defines an alias representing the wildcard text touch button.

Location: touchgfx/containers/buttons/Buttons.hpp

Functions#

abs#

abs(Td)

Simple implementation of the standard abs function.

Template Parameters:
TThe type on which to perform the abs.
Parameters:
dThe entity on which to perform the abs.
Returns:

The absolute (non-negative) value of d.

Location: touchgfx/Utils.hpp

ceil28_4#

int32_t ceil28_4(fixed28_4value)

Round up a fixed28_4 value.

Parameters:
valueThe fixed28_4 value.
Returns:

The ceil result.

Location: touchgfx/TextureMapTypes.hpp

clz#

int32_t clz(int32_tx)

Count leading zeros in the binary representation of absolute value of the given int32_t.

Parameters:
xThe value to count the number of leading zeros in.
Returns:

The number of leading zeros (from 0 to 31).

See also:

Location: touchgfx/Utils.hpp

clzu#

int32_t clzu(uint32_tx)

Count leading zeros in the binary representation of absolute value of the given uint32_t.

Parameters:
xThe value to count the number of leading zeros in.
Returns:

The number of leading zeros (from 0 to 32).

See also:

Location: touchgfx/Utils.hpp

finalizeTransition#

static FORCE_INLINE_FUNCTION void finalizeTransition(Screen *newScreen ,
Presenter *newPresenter ,
Transition *newTransition
)

Finalize screen transition.

Private helper function for makeTransition. Do not use.

Parameters:
newScreenIf non-null, the new screen.
newPresenterIf non-null, the new presenter.
newTransitionIf non-null, the new transition.

Location: mvp/MVPApplication.hpp

fixed28_4Mul#

Multiply two fixed28_4 numbers.

Parameters:
aThe fixed28_4 to process.
bThe fixed28_4 to process.
Returns:

the result.

Location: touchgfx/TextureMapTypes.hpp

fixed28_4ToFloat#

Convert fixed28_4 to float.

Parameters:
valueThe fixed28_4 value.
Returns:

The value as float.

Location: touchgfx/TextureMapTypes.hpp

floatToFixed16_16#

fixed16_16 floatToFixed16_16(floatvalue)

Convert float to fixed16_16.

Parameters:
valueThe float value.
Returns:

The value as fixed16_16.

Location: touchgfx/TextureMapTypes.hpp

floatToFixed28_4#

fixed28_4 floatToFixed28_4(floatvalue)

Convert float to fixed28_4.

Parameters:
valueThe float value.
Returns:

The value as fixed28_4.

Location: touchgfx/TextureMapTypes.hpp

floorDivMod#

void floorDivMod(int32_tnumerator ,
int32_tdenominator ,
int32_t &floor ,
int32_t &mod
)

Divides two fixed28_4 numbers and returns the result as well as the remainder.

Parameters:
numeratorThe numerator.
denominatorThe denominator.
floornumerator/denominator.
modnumerator%denominator.

Location: touchgfx/TextureMapTypes.hpp

FrameBufferAllocatorSignalBlockDrawn#

Called by FrameBufferAllocator when a block is drawn and therefore ready for transfer.

The LCD driver should use this method to start a transfer.

Location: touchgfx/hal/FrameBufferAllocator.hpp

FrameBufferAllocatorWaitOnTransfer#

Called by FrameBufferAllocator to wait for a LCD Transfer, when the allocator has no free blocks.

The LCD driver can use this function to synchronize the UI thread with the transfer logic.

Location: touchgfx/hal/FrameBufferAllocator.hpp

gcd#

gcd(Ta ,
Tb
)

Find greatest common divisor of two given numbers.

Template Parameters:
TGeneric type parameter.
Parameters:
aThe first number.
bThe second number.
Returns:

The greatest common divisor.

Location: touchgfx/Utils.hpp

hw_init#

void hw_init()

Function to perform generic hardware initialization of the board.

This function prototype is only provided as a convention.

Location: touchgfx/hal/BoardConfiguration.hpp

lookupBilinearRenderVariant#

RenderingVariant lookupBilinearRenderVariant(const Bitmap &bitmap)

Returns the associated bilinear render variant based on the bitmap format.

This is used for quick determination of the type of bitmap during TextureMapper drawing.

Parameters:
bitmapThe bitmap.
Returns:

A RenderingVariant based on the bitmap format.

Location: touchgfx/Utils.hpp

lookupNearestNeighborRenderVariant#

RenderingVariant lookupNearestNeighborRenderVariant(const Bitmap &bitmap)

Returns the associated nearest neighbor render variant based on the bitmap format.

This is used for quick determination of the type of bitmap during TextureMapper drawing.

Parameters:
bitmapThe bitmap.
Returns:

A RenderingVariant based on the bitmap format.

Location: touchgfx/Utils.hpp

makeTransition#

PresenterType * makeTransition(Screen **currentScreen ,
Presenter **currentPresenter ,
MVPHeap &heap ,
Transition **currentTrans ,
ModelType *model
)

Function for effectuating a screen transition (i.e.

makes the requested new presenter/view pair active). Once this function has returned, the new screen has been transitioned to. Due to the memory allocation strategy of using the same memory area for all screens, the old view/presenter will no longer exist when this function returns.

Will properly clean up old screen (tearDownScreen, Presenter::deactivate) and call setupScreen/activate on new view/presenter pair. Will also make sure the view, presenter and model are correctly bound to each other.

Template Parameters:
ScreenTypeClass type for the View.
PresenterTypeClass type for the Presenter.
TransTypeClass type for the Transition.
ModelTypeClass type for the Model.
Parameters:
currentScreenPointer to pointer to the current view.
currentPresenterPointer to pointer to the current presenter.
heapReference to the heap containing the memory storage in which to allocate.
currentTransPointer to pointer to the current transition.
modelPointer to model.
Returns:

Pointer to the new Presenter of the requested type. Incidentally it will be the same value as the old presenter due to memory reuse.

Location: mvp/MVPApplication.hpp

memset#

void memset(void *data ,
uint8_tc ,
uint32_tsize
)

Simple implementation of the standard memset function.

Will write the value of 'c' in 'size' consecutive bytes starting from 'data'.

Parameters:
dataAddress of data to set.
cValue to set.
sizeNumber of bytes to set.

Location: touchgfx/Utils.hpp

muldiv#

int32_t muldiv(int32_tfactor1 ,
int32_tfactor2 ,
int32_tdivisor
)

Multiply and divide without causing overflow.

Multiplying two large values and subsequently dividing the result with another large value might cause an overflow in the intermediate result. The function muldiv() will multiply factor1 and factor2 and divide the result by divisor without causing overflow (unless the final result would overflow). The remainder is used to round the result up or down.

Parameters:
factor1The first factor.
factor2The second factor.
divisorThe divisor.
Returns:

(factor1 * factor2) / divisor rounded.

See also:

Location: touchgfx/Utils.hpp

muldiv#

int32_t muldiv(int32_tfactor1 ,
int32_tfactor2 ,
int32_tdivisor ,
int32_t &remainder
)

Multiply and divide without causing overflow.

Multiplying two large values and subsequently dividing the result with another large value might cause an overflow in the intermediate result. The function muldiv() will multiply factor1 and factor2 and divide the result by divisor without causing overflow (unless the final result would overflow). The remainder from the division is returned.

Parameters:
factor1The first factor.
factor2The second factor.
divisorThe divisor.
remainderThe remainder.
Returns:

(factor1 * factor2) / divisor.

Note

For large numbers close to the limit of int32_t, the calculation may not be correct.

See also:

Location: touchgfx/Utils.hpp

muldivu#

uint32_t muldivu(uint32_tfactor1 ,
uint32_tfactor2 ,
uint32_tdivisor ,
uint32_t &remainder
)

Multiply and divide without causing overflow.

Multiplying two large values and subsequently dividing the result with another large value might cause an overflow in the intermediate result. The function muldiv() will multiply factor1 and factor2 and divide the result by divisor without causing overflow (unless the final result would overflow). The remainder from the division is returned.

Parameters:
factor1The first factor.
factor2The second factor.
divisorThe divisor.
remainderThe remainder.
Returns:

(factor1 * factor2) / divisor.

Note

For large numbers close to the limit of uint32_t, the calculation may not be correct.

See also:

Location: touchgfx/Utils.hpp

operator*#

Matrix4x4 operator*(const Matrix4x4 &multiplicand ,
const Matrix4x4 &multiplier
)

Multiplication operator.

Parameters:
multiplicandThe first value to multiply.
multiplierThe second value to multiply.
Returns:

The result of the operation.

Location: touchgfx/Math3D.hpp

operator*#

Point4 operator*(const Matrix4x4 &multiplicand ,
const Point4 &multiplier
)

Multiplication operator.

Parameters:
multiplicandThe first value to multiply.
multiplierThe second value to multiply.
Returns:

The result of the operation.

Location: touchgfx/Math3D.hpp

prepareTransition#

static FORCE_INLINE_FUNCTION void prepareTransition(Screen **currentScreen ,
Presenter **currentPresenter ,
Transition **currentTrans
)

Prepare screen transition.

Private helper function for makeTransition. Do not use.

Parameters:
currentScreenIf non-null, the current screen.
currentPresenterIf non-null, the current presenter.
currentTransIf non-null, the current transaction.

Location: mvp/MVPApplication.hpp

shouldTransferBlock#

int shouldTransferBlock(uint16_tbottom)

Check if a Frame Buffer Block ending at bottom may be sent.

Parameters:
bottomThe bottom coordinate of the block to transfer.
Returns:

Non zero if possible.

Location: touchgfx/hal/PartialFrameBufferManager.hpp

simulator_enable_stdio#

Simulator enable stdio.

Location: platform/hal/simulator/sdl2/HALSDL2.hpp

simulator_printf#

void simulator_printf(const char *format ,
va_listpArg
)

Simulator printf.

Parameters:
formatDescribes the format to use.
pArgThe argument list.

Location: platform/hal/simulator/sdl2/HALSDL2.hpp

touchgfx_generic_init#

HAL & touchgfx_generic_init(DMA_Interface &dma ,
LCD &display ,
TouchController &tc ,
int16_twidth ,
int16_theight ,
uint16_t *bitmapCache ,
uint32_tbitmapCacheSize ,
uint32_tnumberOfDynamicBitmaps =0
)

TouchGFX generic initialize.

Template Parameters:
HALTypeThe class type of the HAL subclass used for this port.
Parameters:
dmaReference to the DMA implementation object to use. Can be of type NoDMA to disable the use of DMA for rendering.
displayReference to the LCD renderer implementation (subclass of LCD). Could be either LCD16bpp for RGB565 UIs, or LCD1bpp for monochrome UIs or LCD24bpp for 24bit displays using RGB888 UIs.
tcReference to the touch controller driver (or NoTouchController to disable touch input).
widthThe native display width of the actual display, in pixels. This value is irrespective of whether the concrete UI should be portrait or landscape mode. It must match what the display itself is configured as.
heightThe native display height of the actual display, in pixels. This value is irrespective of whether the concrete UI should be portrait or landscape mode. It must match what the display itself is configured as.
bitmapCacheOptional pointer to starting address of a memory region in which to place the bitmap cache. Usually in external RAM. Pass 0 if bitmap caching is not used.
bitmapCacheSizeSize of bitmap cache in bytes. Pass 0 if bitmap cache is not used.
numberOfDynamicBitmaps(Optional) Number of dynamic bitmaps.
Returns:

A reference to the allocated (and initialized) HAL object.

Location: common/TouchGFXInit.hpp

touchgfx_init#

Function to perform touchgfx initialization.

This function prototype is only provided as a convention.

Location: touchgfx/hal/BoardConfiguration.hpp

transmitActive#

Check if a Frame Buffer Block is beeing transmitted.

Returns:

Non zero if possible.

Location: touchgfx/hal/PartialFrameBufferManager.hpp

transmitBlock#

void transmitBlock(const uint8_t *pixels ,
uint16_tx ,
uint16_ty ,
uint16_tw ,
uint16_th
)

Transmit a Frame Buffer Block.

Parameters:
pixelsPointer to the pixel data.
xX coordinate of the block.
yY coordinate of the block.
wWidth of the block.
hHeight of the block.

Location: touchgfx/hal/PartialFrameBufferManager.hpp

Variables#

BITMAP_ANIMATION_STORAGE#

const BitmapId BITMAP_ANIMATION_STORAGE = 0xFFFEU

A virtual id representing animation storage.

Location: touchgfx/Bitmap.hpp

BITMAP_INVALID#

const BitmapId BITMAP_INVALID = 0xFFFFU

Define the bitmapId of an invalid bitmap.

Location: touchgfx/Bitmap.hpp

CENTER#

const Alignment CENTER = 1

Text is centered horizontally.

Location: touchgfx/hal/Types.hpp

LEFT#

const Alignment LEFT = 0

Text is left aligned.

Location: touchgfx/hal/Types.hpp

PI#

const float PI = 3.14159265358979323846f

PI.

Location: touchgfx/hal/Types.hpp

RenderingVariant_Alpha#

const uint16_t RenderingVariant_Alpha = 2

The rendering variant alpha bit value.

Location: touchgfx/hal/Types.hpp

RenderingVariant_Bilinear#

const uint16_t RenderingVariant_Bilinear = 1

The rendering variant bilinear bit value.

Location: touchgfx/hal/Types.hpp

RenderingVariant_FormatShift#

const uint16_t RenderingVariant_FormatShift = 2

The rendering variant format shift.

Location: touchgfx/hal/Types.hpp

RenderingVariant_NearestNeighbor#

const uint16_t RenderingVariant_NearestNeighbor = 0

The rendering variant nearest neighbor bit value.

Location: touchgfx/hal/Types.hpp

RenderingVariant_NoAlpha#

const uint16_t RenderingVariant_NoAlpha = 0

The rendering variant no alpha bit value.

Location: touchgfx/hal/Types.hpp

RIGHT#

const Alignment RIGHT = 2

Text is right aligned.

Location: touchgfx/hal/Types.hpp

TEXT_DIRECTION_LTR#

const TextDirection TEXT_DIRECTION_LTR = 0

Text is written Left-To-Right, e.g. English.

Location: touchgfx/hal/Types.hpp

TEXT_DIRECTION_RTL#

const TextDirection TEXT_DIRECTION_RTL = 1

Text is written Right-To-Left, e.g. Hebrew.

Location: touchgfx/hal/Types.hpp

TYPED_TEXT_INVALID#

const TypedTextId TYPED_TEXT_INVALID = 0xFFFFU

The ID of an invalid text.

Location: touchgfx/TypedText.hpp