drawing_text_typography.h

Overview

The drawing_text_typography.h file declares the functions related to the typography in the drawing module.

File to include: <native_drawing/drawing_text_typography.h>

Library: libnative_drawing.so

Since: 8

Related module: Drawing

Summary

Structs

Name Description
struct  OH_Drawing_PlaceholderSpan Describes a placeholder that acts as a span.

Enums

Name Description
OH_Drawing_TextDirection {
TEXT_DIRECTION_RTL, TEXT_DIRECTION_LTR
}
Enumerates the text directions.
OH_Drawing_TextAlign {
TEXT_ALIGN_LEFT, TEXT_ALIGN_RIGHT, TEXT_ALIGN_CENTER, TEXT_ALIGN_JUSTIFY,
TEXT_ALIGN_START, TEXT_ALIGN_END
}
Enumerates the text alignment modes.
OH_Drawing_FontWeight {
FONT_WEIGHT_100, FONT_WEIGHT_200, FONT_WEIGHT_300, FONT_WEIGHT_400,
FONT_WEIGHT_500, FONT_WEIGHT_600, FONT_WEIGHT_700, FONT_WEIGHT_800,
FONT_WEIGHT_900
}
Enumerates the font weights.
OH_Drawing_TextBaseline {
TEXT_BASELINE_ALPHABETIC, TEXT_BASELINE_IDEOGRAPHIC
}
Enumerates the text baselines.
OH_Drawing_TextDecoration {
TEXT_DECORATION_NONE = 0x0, TEXT_DECORATION_UNDERLINE = 0x1, TEXT_DECORATION_OVERLINE = 0x2, TEXT_DECORATION_LINE_THROUGH = 0x4
}
Enumerates the text decorations.
OH_Drawing_FontStyle {
FONT_STYLE_NORMAL, FONT_STYLE_ITALIC
}
Enumerates the font styles.
OH_Drawing_PlaceholderVerticalAlignment {
ALIGNMENT_OFFSET_AT_BASELINE, ALIGNMENT_ABOVE_BASELINE, ALIGNMENT_BELOW_BASELINE, ALIGNMENT_TOP_OF_ROW_BOX,
ALIGNMENT_BOTTOM_OF_ROW_BOX, ALIGNMENT_CENTER_OF_ROW_BOX
}
Enumerates the vertical alignment modes of placeholders.
OH_Drawing_TextDecorationStyle {
TEXT_DECORATION_STYLE_SOLID, TEXT_DECORATION_STYLE_DOUBLE, TEXT_DECORATION_STYLE_DOTTED, TEXT_DECORATION_STYLE_DASHED,
TEXT_DECORATION_STYLE_WAVY
}
Enumerates the text decoration styles.
OH_Drawing_EllipsisModal {
ELLIPSIS_MODAL_HEAD = 0, ELLIPSIS_MODAL_MIDDLE = 1, ELLIPSIS_MODAL_TAIL = 2
}
Enumerates the ellipsis styles.
OH_Drawing_BreakStrategy { BREAK_STRATEGY_GREEDY = 0, BREAK_STRATEGY_HIGH_QUALITY = 1, BREAK_STRATEGY_BALANCED = 2 } Enumerates the text break strategies.
OH_Drawing_WordBreakType {
WORD_BREAK_TYPE_NORMAL = 0, WORD_BREAK_TYPE_BREAK_ALL = 1, WORD_BREAK_TYPE_BREAK_WORD = 2
}
Enumerates the word break types.
OH_Drawing_RectHeightStyle {
RECT_HEIGHT_STYLE_TIGHT, RECT_HEIGHT_STYLE_MAX, RECT_HEIGHT_STYLE_INCLUDELINESPACEMIDDLE, RECT_HEIGHT_STYLE_INCLUDELINESPACETOP,
RECT_HEIGHT_STYLE_INCLUDELINESPACEBOTTOM, RECT_HEIGHT_STYLE_STRUCT
}
Enumerates the rectangle height styles.
OH_Drawing_RectWidthStyle {
RECT_WIDTH_STYLE_TIGHT, RECT_WIDTH_STYLE_MAX
}
Enumerates the rectangle width styles.

Functions

Name Description
OH_Drawing_TypographyStyle * OH_Drawing_CreateTypographyStyle (void) Creates an OH_Drawing_TypographyStyle object.
void OH_Drawing_DestroyTypographyStyle (OH_Drawing_TypographyStyle *) Destroys an OH_Drawing_TypographyStyle object and reclaims the memory occupied by the object.
void OH_Drawing_SetTypographyTextDirection (OH_Drawing_TypographyStyle *, int) Sets the text direction.
void OH_Drawing_SetTypographyTextAlign (OH_Drawing_TypographyStyle *, int) Sets the text alignment mode.
void OH_Drawing_SetTypographyTextMaxLines (OH_Drawing_TypographyStyle *, int) Sets the maximum number of lines in the text.
OH_Drawing_TextStyle * OH_Drawing_CreateTextStyle (void) Creates an OH_Drawing_TextStyle object.
void OH_Drawing_DestroyTextStyle (OH_Drawing_TextStyle *) Destroys an OH_Drawing_TextStyle object and reclaims the memory occupied by the object.
void OH_Drawing_SetTextStyleColor (OH_Drawing_TextStyle *, uint32_t) Sets the text color.
void OH_Drawing_SetTextStyleFontSize (OH_Drawing_TextStyle *, double) Sets the font size.
void OH_Drawing_SetTextStyleFontWeight (OH_Drawing_TextStyle *, int) Sets the font weight.
void OH_Drawing_SetTextStyleBaseLine (OH_Drawing_TextStyle *, int) Sets the text baseline.
void OH_Drawing_SetTextStyleDecoration (OH_Drawing_TextStyle *, int) Sets the text decoration.
void OH_Drawing_SetTextStyleDecorationColor (OH_Drawing_TextStyle *, uint32_t) Sets the color for the text decoration.
void OH_Drawing_SetTextStyleFontHeight (OH_Drawing_TextStyle *, double) Sets the font height.
void OH_Drawing_SetTextStyleFontFamilies (OH_Drawing_TextStyle *, int, const char *fontFamilies[]) Sets the font families.
void OH_Drawing_SetTextStyleFontStyle (OH_Drawing_TextStyle *, int) Sets the font style.
void OH_Drawing_SetTextStyleLocale (OH_Drawing_TextStyle *, const char *) Sets the locale.
OH_Drawing_TypographyCreate * OH_Drawing_CreateTypographyHandler (OH_Drawing_TypographyStyle *, OH_Drawing_FontCollection *) Creates a handler to an OH_Drawing_TypographyCreate object.
void OH_Drawing_DestroyTypographyHandler (OH_Drawing_TypographyCreate *) Reclaims the memory occupied by an OH_Drawing_TypographyCreate object.
void OH_Drawing_TypographyHandlerPushTextStyle (OH_Drawing_TypographyCreate *, OH_Drawing_TextStyle *) Sets the text style.
void OH_Drawing_TypographyHandlerAddText (OH_Drawing_TypographyCreate *, const char *) Adds text.
void OH_Drawing_TypographyHandlerPopTextStyle (OH_Drawing_TypographyCreate *) Removes the topmost style in the stack, leaving the remaining styles in effect.
OH_Drawing_Typography * OH_Drawing_CreateTypography (OH_Drawing_TypographyCreate *) Creates an OH_Drawing_Typography object.
void OH_Drawing_DestroyTypography (OH_Drawing_Typography *) Destroys an OH_Drawing_Typography object and reclaims the memory occupied by the object.
void OH_Drawing_TypographyLayout (OH_Drawing_Typography *, double) Lays out the typography.
void OH_Drawing_TypographyPaint (OH_Drawing_Typography *, OH_Drawing_Canvas *, double, double) Paints text.
double OH_Drawing_TypographyGetMaxWidth (OH_Drawing_Typography *) Obtains the maximum width.
double OH_Drawing_TypographyGetHeight (OH_Drawing_Typography *) Obtains the height.
double OH_Drawing_TypographyGetLongestLine (OH_Drawing_Typography *) Obtains the longest line.
double OH_Drawing_TypographyGetMinIntrinsicWidth (OH_Drawing_Typography *) Obtains the minimum intrinsic width.
double OH_Drawing_TypographyGetMaxIntrinsicWidth (OH_Drawing_Typography *) Obtains the maximum intrinsic width.
double OH_Drawing_TypographyGetAlphabeticBaseline (OH_Drawing_Typography *) Obtains the alphabetic baseline.
double OH_Drawing_TypographyGetIdeographicBaseline (OH_Drawing_Typography *) Obtains the ideographic baseline.
void OH_Drawing_TypographyHandlerAddPlaceholder (OH_Drawing_TypographyCreate *, OH_Drawing_PlaceholderSpan *) Adds a placeholder.
bool OH_Drawing_TypographyDidExceedMaxLines (OH_Drawing_Typography *) Checks whether the maximum number of lines is exceeded.
OH_Drawing_TextBox * OH_Drawing_TypographyGetRectsForRange (OH_Drawing_Typography *, size_t, size_t, OH_Drawing_RectHeightStyle, OH_Drawing_RectWidthStyle) Obtains text boxes in a given range.
OH_Drawing_TextBox * OH_Drawing_TypographyGetRectsForPlaceholders (OH_Drawing_Typography *) Obtains text boxes for placeholders.
float OH_Drawing_GetLeftFromTextBox (OH_Drawing_TextBox *, int) Obtains the left position of a text box.
float OH_Drawing_GetRightFromTextBox (OH_Drawing_TextBox *, int) Obtains the right position of a text box.
float OH_Drawing_GetTopFromTextBox (OH_Drawing_TextBox *, int) Obtains the top position of a text box.
float OH_Drawing_GetBottomFromTextBox (OH_Drawing_TextBox *, int) Obtains the bottom position of a text box.
int OH_Drawing_GetTextDirectionFromTextBox (OH_Drawing_TextBox *, int) Obtains the text direction of a text box.
size_t OH_Drawing_GetSizeOfTextBox (OH_Drawing_TextBox *) Obtains the number of text boxes.
OH_Drawing_PositionAndAffinity * OH_Drawing_TypographyGetGlyphPositionAtCoordinate (OH_Drawing_Typography *, double, double) Obtains the position and affinity of the glyph at the given coordinates.
OH_Drawing_PositionAndAffinity * OH_Drawing_TypographyGetGlyphPositionAtCoordinateWithCluster (OH_Drawing_Typography *, double, double) Obtains the position and affinity of the glyph cluster to which the glyph at the given coordinates belongs. The glyph is a container that holds one or more glyphs.
size_t OH_Drawing_GetPositionFromPositionAndAffinity (OH_Drawing_PositionAndAffinity *) Obtains the position attribute of an OH_Drawing_PositionAndAffinity object.
int OH_Drawing_GetAffinityFromPositionAndAffinity (OH_Drawing_PositionAndAffinity *) Obtains the affinity attribute of an OH_Drawing_PositionAndAffinity object. The affinity determines whether the font is close to the front text or rear text.
OH_Drawing_Range * OH_Drawing_TypographyGetWordBoundary (OH_Drawing_Typography *, size_t) Obtains the word boundary.
size_t OH_Drawing_GetStartFromRange (OH_Drawing_Range *) Obtains the start position of an OH_Drawing_Range object.
size_t OH_Drawing_GetEndFromRange (OH_Drawing_Range *) Obtains the end position of an OH_Drawing_Range object.
size_t OH_Drawing_TypographyGetLineCount (OH_Drawing_Typography *) Obtains the number of lines.
void OH_Drawing_SetTextStyleDecorationStyle (OH_Drawing_TextStyle *, int) Sets the text decoration style.
void OH_Drawing_SetTextStyleDecorationThicknessScale (OH_Drawing_TextStyle *, double) Sets the thickness scale factor of the text decoration line.
void OH_Drawing_SetTextStyleLetterSpacing (OH_Drawing_TextStyle *, double) Sets the letter spacing for text.
void OH_Drawing_SetTextStyleWordSpacing (OH_Drawing_TextStyle *, double) Sets the word spacing for text.
void OH_Drawing_SetTextStyleHalfLeading (OH_Drawing_TextStyle *, bool) Sets half leading for text.
void OH_Drawing_SetTextStyleEllipsis (OH_Drawing_TextStyle *, const char *) Sets the ellipsis content for text.
void OH_Drawing_SetTextStyleEllipsisModal (OH_Drawing_TextStyle *, int) Sets the ellipsis style for text.
void OH_Drawing_SetTypographyTextBreakStrategy (OH_Drawing_TypographyStyle *, int) Sets the text break strategy.
void OH_Drawing_SetTypographyTextWordBreakType (OH_Drawing_TypographyStyle *, int) Sets the word break type.
void OH_Drawing_SetTypographyTextEllipsisModal (OH_Drawing_TypographyStyle *, int) Sets the text ellipsis style.
double OH_Drawing_TypographyGetLineHeight (OH_Drawing_Typography *, int) Obtains the height of a line.
double OH_Drawing_TypographyGetLineWidth (OH_Drawing_Typography *, int) Obtains the width of a line.