import efl_text_types; class @beta Efl.Canvas.Textblock extends Efl.Canvas.Object implements Efl.Text, Efl.Canvas.Filter.Internal, Efl.Text_Font, Efl.Text_Style, Efl.Text_Format, Efl.Text_Markup, Efl.Ui.I18n { [[This is the Canvas-level text class. This class only takes care of rendering text, if you need user interaction consider the classes in $Efl.Ui.]] methods { @property is_empty { [[Whether the object is empty (no text) or not. ]] get { } values { is_empty: bool; [[$true if empty.]] } } cursor_add { [[Adds an existing cursor to the text object. If the cursor already belonged to another text object it will be reassigned to the new one. It is typically more convenient to obtain a cursor directly from the text object using @.cursor_create. ]] params { cursor: Efl.Text.Cursor; [[The text cursor to use.]] } } cursor_create { [[Creates a new cursor and adds it to the text object. This cursor can be used to manipulate and iterate the content of the text object. ]] return: Efl.Text.Cursor @move; [[The created text cursor.]] } visible_range_get { [[Returns the currently visible range. The given $start and $end cursors are output variables: they are set to the positions of the start and the end of the visible range in the text, respectively. ]] return: bool; [[$true on success.]] params { @in start: Efl.Text.Cursor; [[Range start position.]] @in end: Efl.Text.Cursor; [[Range end position.]] } } @property style_insets { [[Gets the left, right, top and bottom insets of the text. The inset is any applied padding on the text. ]] get {} values { l: int; [[Left padding.]] r: int; [[Right padding.]] t: int; [[Top padding.]] b: int; [[Bottom padding.]] } } @property bidi_delimiters { [[BiDi delimiters are used for in-paragraph separation of bidirectional segments. This is useful, for example, in the recipient fields of e-mail clients where bidi oddities can occur when mixing RTL (right-to-left) and LTR (left-to-right) text. ]] set {} get {} values { delim: string; [[A null terminated string of delimiters, e.g ",|" or $null if empty.]] } } @property newline_as_paragraph_separator { [[When $true, the newline character will behave as a paragraph separator. ]] set {} get {} values { mode: bool; [[$true for legacy mode, $false otherwise.]] } } style_apply { [[Applies a style to the text object. Applied style attributes override old ones, leaving other attributes unaffected. This is similar to setting individual style attributes using properties like @Efl.Text_Font.font_slant or @Efl.Text_Format.wrap. The style can be set as "attribute"="Value". Multible attribute can be set at once separated by space. The following styling attributes are accepted: - Font - Font fallback - Font size - Font source - Font weight - Font style - Font width - Language - Color - Underline Color - Second Underline Color - Underline Dash Color - Outline Color - Shadow Color - First Glow Color - Second Glow Color - Backing Color - Strikethrough Color - Horizontal Align - Vertical Align - Wrap - Left margin - Right margin - Underline - Strikethrough - Backing - Style - Tabstops - Line size - Relative line size - Line gap - Relative line gap - Item - Line fill - Ellipsis - Password - Underline dash width - Underline dash gap - Underline height Font This sets the name of the font to be used. font= Font fallback A comma delimited list of fonts to try if finding the primary font fails. font_fallbacks= Font size This sets the the size of font in points to be used. font_size= Font source Specify source from which to search for the font. font_source= Font weight Sets the weight of the font. The value must be one of: "normal" "thin" "ultralight" "extralight" "light" "book" "medium" "semibold" "bold" "ultrabold" "extrabold" "black" "extrablack" font_weight= Font style Sets the style of the font. The value must be one of: "normal" "oblique" "italic" font_style=