跳转至

Text Widget System

Text rendering and typography system. More...

Modules

Name
Text Configuration
Font size and text rendering configuration.

Files

Name
lib/graphic/widget/text.h
Text widget for rendering ASCII text strings.
lib/graphic/widget/text_config.h
Text widget font configuration and selection.

Classes

Name
struct CFBDGraphic_Text

Types

Name
enum AppendMethod { CCGraphic_AsciiTextItem_AppendContinously, CCGraphic_AsciiTextItem_AppendNextLine, CCGraphic_AsciiTextItem_RequestOldPoint}
Text append/layout method enumeration.

Functions

Name
void CFBDGraphic_InitText(CFBDGraphic_Text * item, CFBDGraphic_Point tl_point, CFBDGraphicSize textHandleSize, Ascii_Font_Size text_size)
void CFBDGraphic_SetText(CFBDGraphic_Text * item, char * text)
void CFBDGraphic_SetTextTLPointPoint(CFBDGraphic_Text * item, CFBDGraphic_Point * p)
void CFBDGraphic_SetTextIndexedPoint(CFBDGraphic_Text * item, CFBDGraphic_Point * p)
void CCGraphicWidget_AsciiTextItem_relocate(CFBDGraphic_Text * item, CFBDGraphic_Point * tl_point, CFBDGraphicSize textHandleSize)
CFBDGraphic_Point CFBDGraphic_DrawText(CFBD_GraphicDevice * device_handle, CFBDGraphic_Text * item, AppendMethod method)

Defines

Name
CFBDGraphic_TEXT_PADDING_WIDTH
Default horizontal padding between characters in pixels.
CFBDGraphic_TEXT_PADDING_HEIGHT
Default vertical padding between lines in pixels.

Detailed Description

Text rendering and typography system.

Comprehensive text widget supporting multiple fonts, multiline rendering, and flexible layout options.

Types Documentation

enum AppendMethod

Enumerator Value Description
CCGraphic_AsciiTextItem_AppendContinously Continue on same line, wrap to next when reaching width limit. Standard paragraph layout mode
CCGraphic_AsciiTextItem_AppendNextLine Start new line for next text segment. Forces line break after rendering
CCGraphic_AsciiTextItem_RequestOldPoint Return to previous line's ending position without drawing. Query-only mode: returns position without rendering

Text append/layout method enumeration.

Specifies how to layout text when drawing:

  • Continuously on same line with wrapping
  • Start new line after each character/word
  • Query previous render position CFBDGraphic_DrawText()

Functions Documentation

function CFBDGraphic_InitText

void CFBDGraphic_InitText(
    CFBDGraphic_Text * item,
    CFBDGraphic_Point tl_point,
    CFBDGraphicSize textHandleSize,
    Ascii_Font_Size text_size
)

function CFBDGraphic_SetText

static inline void CFBDGraphic_SetText(
    CFBDGraphic_Text * item,
    char * text
)

function CFBDGraphic_SetTextTLPointPoint

static inline void CFBDGraphic_SetTextTLPointPoint(
    CFBDGraphic_Text * item,
    CFBDGraphic_Point * p
)

function CFBDGraphic_SetTextIndexedPoint

static inline void CFBDGraphic_SetTextIndexedPoint(
    CFBDGraphic_Text * item,
    CFBDGraphic_Point * p
)

function CCGraphicWidget_AsciiTextItem_relocate

static inline void CCGraphicWidget_AsciiTextItem_relocate(
    CFBDGraphic_Text * item,
    CFBDGraphic_Point * tl_point,
    CFBDGraphicSize textHandleSize
)

function CFBDGraphic_DrawText

CFBDGraphic_Point CFBDGraphic_DrawText(
    CFBD_GraphicDevice * device_handle,
    CFBDGraphic_Text * item,
    AppendMethod method
)

Macros Documentation

define CFBDGraphic_TEXT_PADDING_WIDTH

#define CFBDGraphic_TEXT_PADDING_WIDTH (1)

Default horizontal padding between characters in pixels.

See: CFBDGraphic_TEXT_PADDING_HEIGHT

Space added between consecutive characters for visual separation. Set to 1 pixel for standard monospace layout.

define CFBDGraphic_TEXT_PADDING_HEIGHT

#define CFBDGraphic_TEXT_PADDING_HEIGHT (0)

Default vertical padding between lines in pixels.

See: CFBDGraphic_TEXT_PADDING_WIDTH

Space added between text lines for multiline text. Set to 0 for tight line spacing.


Updated on 2026-02-03 at 13:21:55 +0000