 |
MPLABĀ® Harmony Graphics Suite
|
Go to the documentation of this file.
56 #ifndef LEGATO_STRING_H
57 #define LEGATO_STRING_H
67 typedef void (*leString_InvalidateCallback)(
const struct leString* str,
void* userData);
69 #define LE_STRING_VTABLE(THIS_TYPE) \
70 void (*destructor)(THIS_TYPE* _this); \
71 leFont* (*getFont)(const THIS_TYPE* _this); \
72 leResult (*setFont)(THIS_TYPE* _this, const leFont* font); \
73 leResult (*setFromString)(THIS_TYPE* _this, const struct leString* src); \
74 leResult (*setFromChar)(THIS_TYPE* _this, const leChar* buf, uint32_t size); \
75 leResult (*setFromCStr)(THIS_TYPE* _this, const char* cstr); \
76 leChar (*charAt)(const THIS_TYPE* _this, uint32_t idx); \
77 uint32_t (*length)(const THIS_TYPE* _this); \
78 leBool (*isEmpty)(const THIS_TYPE* _this); \
79 int32_t (*compare)(const THIS_TYPE* _this, const struct leString* tgt); \
80 leResult (*append)(THIS_TYPE* _this, const struct leString* val); \
81 leResult (*insert)(THIS_TYPE* _this, const struct leString* val, uint32_t idx); \
82 leResult (*remove)(THIS_TYPE* _this, uint32_t idx, uint32_t count); \
83 void (*clear)(THIS_TYPE* _this); \
84 uint32_t (*toChar)(const THIS_TYPE* _this, leChar* buf, uint32_t size); \
85 leResult (*getRect)(const THIS_TYPE* _this, leRect* rect); \
86 uint32_t (*getLineCount)(const THIS_TYPE* _this); \
87 leResult (*getLineRect)(const THIS_TYPE* _this, uint32_t line, leRect* rect); \
88 leResult (*getLineIndices)(const THIS_TYPE* _this, uint32_t line, uint32_t* start, uint32_t* end); \
89 leResult (*getCharRect)(const THIS_TYPE* _this, uint32_t idx, leRect* rect); \
90 leResult (*getCharIndexAtPoint)(const THIS_TYPE* _this, const lePoint* pt, uint32_t* idx); \
91 leResult (*_draw)(const THIS_TYPE* _this, int32_t x, int32_t y, leHAlignment align, leColor clr, uint32_t a); \
92 void (*preinvalidate)(THIS_TYPE* _this); \
93 void (*invalidate)(THIS_TYPE* _this); \
94 leResult (*setPreInvalidateCallback)(THIS_TYPE* _this, leString_InvalidateCallback, void* userData); \
95 leResult (*setInvalidateCallback)(THIS_TYPE* _this, leString_InvalidateCallback, void* userData); \
134 #define THIS_TYPE struct leWidget
568 leString_InvalidateCallback,
587 leString_InvalidateCallback cb,
virtual leResult getCharIndexAtPoint(const leString *_this, const lePoint *pt, uint32_t *idx)
Get character index at point.
virtual leResult setFromString(leString *_this, const struct leString *src)
Set string value from another string.
virtual leResult remove(leString *_this, uint32_t idx, uint32_t count)
Remove substring.
Error functions, macros and definitions.
virtual virtual leResult getRect(const leString *_this, leRect *rect)
Get rectangle of the rendered string in pixels.
leResult
This enum represents function call results.
Definition: legato_common.h:134
virtual leResult setInvalidateCallback(leString *_this, leString_InvalidateCallback cb, void *userData)
Set string invalidate event.
This struct represents a rectangle.
Definition: legato_common.h:405
virtual leResult getLineIndices(const leString *_this, uint32_t line, uint32_t *start, uint32_t *end)
Get indices of a string line.
leResult leStringRenderer_DrawString(leStringRenderRequest *req)
Draw an leString.
Definition: legato_string_renderer.c:114
Memory functions and definitions.
leHAlignment
This enum represents the horizontal alignment mode of objects.
Definition: legato_common.h:206
leString_InvalidateCallback invCallback
Definition: legato_string.h:114
uint32_t getLineCount(const leString *_this)
Get number of lines in the string.
void * invCBUserData
Definition: legato_string.h:115
virtual void preinvalidate(leString *_this)
Raise pre-invalidate event.
virtual void invalidate(leString *_this)
Invalidate.
virtual leResult _draw(const leString *_this, int32_t x, int32_t y, leHAlignment align, leColor clr, uint32_t a)
Draw.
This struct represents a font object.
Definition: legato_font.h:136
virtual leResult getCharRect(const leString *_this, uint32_t idx, leRect *rect)
Get rendered rectangle of a string codepoint.
This struct represents a rasterized font object.
Definition: legato_font.h:167
Definition: legato_string.h:98
This struct represents a string.
Definition: legato_string.h:108
virtual leResult setFromChar(leString *_this, const leChar *buf, uint32_t size)
Set string value from a leChar buffer.
virtual leChar charAt(const leString *_this, uint32_t idx)
Get codepoint at the given index.
virtual leResult setPreInvalidateCallback(leString *_this, leString_InvalidateCallback, void *userData)
Set string invalidate event.
leBool
This enum represents booleans.
Definition: legato_common.h:157
This struct represents a string render request.
Definition: legato_string_renderer.h:59
struct leString leString
This struct represents a string.
This struct represents a font glyph.
Definition: legato_font.h:90
virtual uint32_t length(const leString *_this)
Get length of the string.
virtual leResult setFont(leString *_this, const leFont *font)
Set font.
leString_InvalidateCallback preInvCallback
Definition: legato_string.h:111
virtual leResult insert(leString *_this, const struct leString *val, uint32_t idx)
Insert string at a given index.
LIB_EXPORT leBool leRectContainsPoint(const leRect *rect, const lePoint *point)
Determines if a point is inside a rectangle.
Definition: legato_rect.c:31
Fixed string functions and definitions.
leResult leFont_GetGlyphInfo(const leFont *fnt, uint32_t codepoint, leFontGlyph *glyph)
Get glyph info.
Definition: legato_font.c:171
LIB_EXPORT void leString_Delete(leString *str)
Delete string.
virtual int32_t compare(const leString *_this, const struct leString *tgt)
Compare string to another string.
virtual leResult getLineRect(const leString *_this, uint32_t line, leRect *rect)
Get rectangle of a string line.
uint16_t leChar
This typedef represents Legato character.
Definition: legato_common.h:424
virtual uint32_t toChar(const leString *_this, leChar *buf, uint32_t size)
Convert string to a C-style string.
virtual leFont * getFont(const leString *_this)
Get font.
virtual leBool isEmpty(const leString *_this)
Determine if string is empty.
virtual leResult append(leString *_this, const struct leString *val)
Append string.
@ LE_TRUE
Definition: legato_common.h:159
Font functions and definitions.
virtual void clear(leString *_this)
Clear string.
void * preCBUserData
Definition: legato_string.h:112
Common macros and definitions used by Legato.
const leStringVTable * fn
Definition: legato_string.h:109
virtual void destructor(leString *_this)
Destruct string.
virtual leResult setFromCStr(leString *_this, const char *cstr)
Set string value from a C string buffer.
This structure represents a integer Cartesian point.
Definition: legato_common.h:357