lib/efl/interfaces/efl_part.eo \
lib/efl/interfaces/efl_player.eo \
lib/efl/interfaces/efl_text.eo \
+ lib/efl/interfaces/efl_text_font.eo \
+ lib/efl/interfaces/efl_text_style.eo \
+ lib/efl/interfaces/efl_text_format.eo \
lib/efl/interfaces/efl_text_properties.eo \
lib/efl/interfaces/efl_gfx_stack.eo \
lib/efl/interfaces/efl_gfx_view.eo \
#include "interfaces/efl_io_buffer.eo.h"
#include "interfaces/efl_io_queue.eo.h"
+/* Text interfaces */
+#include "interfaces/efl_text_font.eo.h"
+#include "interfaces/efl_text_style.eo.h"
+#include "interfaces/efl_text_format.eo.h"
+
#else
#ifndef EFL_NOLEGACY_API_SUPPORT
#include "interfaces/efl_player.eo.c"
#include "interfaces/efl_text.eo.c"
#include "interfaces/efl_text_properties.eo.c"
+#include "interfaces/efl_text_font.eo.c"
+#include "interfaces/efl_text_style.eo.c"
+#include "interfaces/efl_text_format.eo.c"
#include "interfaces/efl_gfx.eo.c"
#include "interfaces/efl_gfx_buffer.eo.c"
--- /dev/null
+// src/lib/efl/interfaces/efl_text_font.eo
+
+enum Efl.Text.Font.Weight {
+ [[Type of font weight]]
+ normal,
+ thin,
+ ultralight,
+ extralight,
+ light,
+ book,
+ medium,
+ semibold,
+ bold,
+ ultrabold,
+ extrabold,
+ black,
+ extrablack,
+}
+
+enum Efl.Text.Font.Width {
+ [[Type of font width]]
+ normal,
+ ultracondensed,
+ extracondensed,
+ condensed,
+ semicondensed,
+ semiexpanded,
+ expanded,
+ extraexpanded,
+ ultraexpanded,
+}
+
+enum Efl.Text.Font.Slant {
+ [[Type of font slant]]
+ normal,
+ oblique,
+ italic,
+}
+
+interface Efl.Text.Font {
+ [[Font settings of the text
+
+ @since 1.20
+ ]]
+ methods {
+ @property font {
+ [[The font name and size that is used for the displayed text]]
+ values {
+ font: string;
+ size: int;
+ }
+ }
+ @property font_source {
+ [[The source that will be used to lookup the font of the text
+
+ The source can be either a path to a font file e.g.
+ "/path/to/font.ttf", or an eet file e.g. "/path/to/font.eet".
+ ]]
+ values {
+ font_source: string;
+ }
+ }
+
+ @property font_fallbacks {
+ [[Comma-separated list of font fallbacks
+
+ Will be used in case the primary font isn't available.
+ ]]
+ values {
+ font_fallbacks: string;
+ }
+ }
+
+ @property font_weight {
+ [[Type of weight of the displayed font
+
+ Default is $Efl.Text.Font.Weight.normal\.
+ ]]
+ values {
+ font_weight: Efl.Text.Font.Weight;
+ }
+ }
+
+ @property font_slant {
+ [[Type of slant of the displayed font
+
+ Default is $Efl.Text.Font.Slant.normal\.
+ ]]
+ values {
+ style: Efl.Text.Font.Slant;
+ }
+ }
+
+ @property font_width {
+ [[Type of width of the displayed font
+
+ Default is $Efl.Text.Font.Width.normal\.
+ ]]
+ values {
+ width: Efl.Text.Font.Width;
+ }
+ }
+
+ @property font_lang {
+ [[Specific language of the displayed font
+
+ This is used to lookup fonts suitable to the specified language, as
+ well as helping the font shaper backend.
+ The language $lang can be either a code e.g "en_US",
+ "auto" to use the system locale, or "none".
+ ]]
+ values {
+ lang: string;
+ }
+ }
+ }
+}
--- /dev/null
+enum Efl.Text.Format.Wrap {
+ [[Wrap mode of the text (not in effect if not multiline)]]
+ none,
+ char,
+ word,
+ mixed,
+ hyphenation
+}
+
+interface Efl.Text.Format {
+ [[The look and layout of the text
+
+ The text format can affect the geometry of the text object, as well as
+ how characters are presented.
+
+ @since 1.20
+ ]]
+ methods {
+ @property format_ellipsis {
+ [[Ellipsis value (number from -1.0 to 1.0)]]
+ values
+ {
+ value: double;
+ }
+ }
+
+ @property format_wrap {
+ [[Wrap mode for use in the text]]
+ values {
+ wrap: Efl.Text.Format.Wrap;
+ }
+ }
+
+ @property format_multiline {
+ [[Multiline is enabled or not]]
+ values {
+ enabled: bool;
+ }
+ }
+
+ @property format_halign {
+ [[Horizontal alignment of text (number from 0.0 to 1.0)]]
+ values
+ {
+ value: double;
+ }
+ }
+
+ @property format_valign {
+ [[Vertical alignment of text (number from -1.0 to 1.0)]]
+ values
+ {
+ value: double;
+ }
+ }
+
+ @property format_linegap {
+ [[Minimal line gap (top and bottom) for each line in the text
+
+ $value is absolute size.
+ ]]
+ values
+ {
+ value: double;
+ }
+ }
+
+ @property format_linerelgap {
+ [[Relative line gap (top and bottom) for each line in the text
+
+ The original line gap value is multiplied by $value.
+ ]]
+ values
+ {
+ value: double;
+ }
+ }
+
+ @property format_tabstops {
+ [[Tabstops value]]
+ values
+ {
+ value: int;
+ }
+ }
+
+ @property format_password {
+ [[Whether text is a password]]
+ values
+ {
+ enabled: bool;
+ }
+ }
+
+ @property format_replacement_char {
+ [[The character used to replace characters that can not be displayed
+
+ Currently, only used to replace characters if @.format_password
+ is enabled.
+ ]]
+ values {
+ repch: string;
+ }
+ }
+ }
+}
--- /dev/null
+enum Efl.Text.Style.Backing_Type
+{
+ [[Whether to apply backing style to the displayed text or not]]
+ disabled = 0, [[Do not use backing]]
+ enabled, [[Use backing style]]
+}
+
+enum Efl.Text.Style.Strikethrough_Type
+{
+ [[Whether to apply strikethrough style to the displayed text or not]]
+ disabled = 0, [[Do not use strikethrough]]
+ enabled, [[Use strikethrough style]]
+}
+
+enum Efl.Text.Style.Effect_Type
+{
+ [[Effect to apply to the displayed text]]
+ none = 0,
+
+ // colored with shadow_color
+ shadow,
+ far_shadow,
+ soft_shadow,
+ far_soft_shadow,
+ // colored with glow_color
+ glow,
+ // colored with outline_color
+ outline,
+ soft_outline,
+ // colored with outline_color + shadow_color
+ outline_shadow,
+ outline_soft_shadow,
+}
+
+enum Efl.Text.Style.Shadow_Direction
+{
+ [[Direction of the shadow style, if used]]
+ bottom_right = 0,
+ bottom,
+ bottom_left,
+ left,
+ top_left,
+ top,
+ top_right,
+ right,
+}
+
+enum Efl.Text.Style.Underline_Type
+{
+ [[Underline type of the displayed text]]
+ off = 0,
+ on,
+ single,
+ double,
+ dashed,
+}
+
+interface Efl.Text.Style {
+ [[Style to apply to the text
+
+ A style can be coloring, effects, underline, strikethrough etc.
+
+ @since 1.20
+ ]]
+ methods {
+ @property normal_color {
+ [[Color of text, excluding style]]
+ values
+ {
+ r: ubyte;
+ g: ubyte;
+ b: ubyte;
+ a: ubyte;
+ }
+ }
+
+ @property backing_type {
+ values
+ {
+ type: Efl.Text.Style.Backing_Type;
+ }
+ }
+
+ @property backing_color {
+ values
+ {
+ r: ubyte;
+ g: ubyte;
+ b: ubyte;
+ a: ubyte;
+ }
+ }
+
+ @property underline_type {
+ [[Sets an underline style on the text]]
+ values
+ {
+ type: Efl.Text.Style.Underline_Type;
+ }
+ }
+
+ @property underline_color
+ {
+ [[Color of normal underline style]]
+ values
+ {
+ r: ubyte;
+ g: ubyte;
+ b: ubyte;
+ a: ubyte;
+ }
+ }
+
+ @property underline_height
+ {
+ [[Height of underline style]]
+ values
+ {
+ height: double;
+ }
+ }
+
+ @property underline_dashed_color
+ {
+ [[Color of dashed underline style]]
+ values
+ {
+ r: ubyte;
+ g: ubyte;
+ b: ubyte;
+ a: ubyte;
+ }
+ }
+
+ @property underline_dashed_width
+ {
+ [[Width of dashed underline style]]
+ values
+ {
+ width: int;
+ }
+ }
+
+ @property underline_dashed_gap
+ {
+ [[Gap of dashed underline style]]
+ values
+ {
+ gap: int;
+ }
+ }
+
+ @property underline2_type
+ {
+ [[Type of underline2 style]]
+ values
+ {
+ type: Efl.Text.Style.Underline_Type;
+ }
+ }
+
+ @property underline2_color
+ {
+ [[Color of underline2 style]]
+ values
+ {
+ r: ubyte;
+ g: ubyte;
+ b: ubyte;
+ a: ubyte;
+ }
+ }
+
+ @property strikethrough_type {
+ [[Type of strikethrough style]]
+ values
+ {
+ type: Efl.Text.Style.Strikethrough_Type;
+ }
+ }
+
+ @property strikethrough_color
+ {
+ [[Color of strikethrough_style]]
+ values
+ {
+ r: ubyte;
+ g: ubyte;
+ b: ubyte;
+ a: ubyte;
+ }
+ }
+
+ @property effect_type {
+ [[Type of effect used for the displayed text]]
+ values {
+ type: Efl.Text.Style.Effect_Type;
+ }
+ }
+ @property outline_color
+ {
+ [[Color of outline effect]]
+ values
+ {
+ r: ubyte;
+ g: ubyte;
+ b: ubyte;
+ a: ubyte;
+ }
+ }
+
+ @property shadow_direction
+ {
+ [[Direction of shadow effect]]
+ values
+ {
+ type: Efl.Text.Style.Shadow_Direction;
+ }
+ }
+
+ @property shadow_color
+ {
+ [[Color of shadow effect]]
+ values
+ {
+ r: ubyte;
+ g: ubyte;
+ b: ubyte;
+ a: ubyte;
+ }
+ }
+
+ @property glow_color
+ {
+ [[Color of glow effect]]
+ values
+ {
+ r: ubyte;
+ g: ubyte;
+ b: ubyte;
+ a: ubyte;
+ }
+ }
+
+ @property glow2_color
+ {
+ [[Second color of the glow effect]]
+ values
+ {
+ r: ubyte;
+ g: ubyte;
+ b: ubyte;
+ a: ubyte;
+ }
+ }
+ }
+}