summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorXavi Artigas <xavierartigas@yahoo.es>2019-12-13 11:47:47 +0100
committerXavi Artigas <xavierartigas@yahoo.es>2019-12-17 14:20:12 +0100
commit0265f4fd5565e01bba0c2228f4f981a644dcaee1 (patch)
treead82735b5b955a2ee8927cfe9a7160d843015c5b
parent3bfc73a95ae2b0eeb473ace10eacafa5802eca93 (diff)
docs: Add detailed text styling information
Summary: More detailed descriptions for each attribute. Relationship between attributes. Default values. Links to direct API methods for the corresponding property. General text overhaul and formatting. Test Plan: Builds and passes tests. Generate docgen or DocFX documentation and enjoy your new Text styling descriptions! Reviewers: ali.alzyod Reviewed By: ali.alzyod Subscribers: AbdullehGhujeh, cedric, #reviewers, #committers, woohyun, bu5hm4n Tags: #efl Differential Revision: https://phab.enlightenment.org/D10873
-rw-r--r--src/lib/efl/interfaces/efl_text_font.eo88
-rw-r--r--src/lib/efl/interfaces/efl_text_format.eo78
-rw-r--r--src/lib/efl/interfaces/efl_text_style.eo209
-rw-r--r--src/lib/evas/canvas/efl_canvas_textblock.eo580
4 files changed, 456 insertions, 499 deletions
diff --git a/src/lib/efl/interfaces/efl_text_font.eo b/src/lib/efl/interfaces/efl_text_font.eo
index 836835c2a6..dce81a7e10 100644
--- a/src/lib/efl/interfaces/efl_text_font.eo
+++ b/src/lib/efl/interfaces/efl_text_font.eo
@@ -1,53 +1,53 @@
1import efl_gfx_types; 1import efl_gfx_types;
2enum @beta Efl.Text_Font_Weight { 2enum @beta Efl.Text_Font_Weight {
3 [[Type of font weight]] 3 [[Type of font weight.]]
4 normal, [[Normal font weight]] 4 normal, [[Normal font weight.]]
5 thin, [[Thin font weight]] 5 thin, [[Thin font weight.]]
6 ultralight, [[Ultralight font weight]] 6 ultralight, [[Ultralight font weight.]]
7 extralight, [[Extralight font weight]] 7 extralight, [[Extralight font weight.]]
8 light, [[Light font weight]] 8 light, [[Light font weight.]]
9 book, [[Book font weight]] 9 book, [[Book font weight.]]
10 medium, [[Medium font weight]] 10 medium, [[Medium font weight.]]
11 semibold, [[Semibold font weight]] 11 semibold, [[Semibold font weight.]]
12 bold, [[Bold font weight]] 12 bold, [[Bold font weight.]]
13 ultrabold, [[Ultrabold font weight]] 13 ultrabold, [[Ultrabold font weight.]]
14 extrabold, [[Extrabold font weight]] 14 extrabold, [[Extrabold font weight.]]
15 black, [[Black font weight]] 15 black, [[Black font weight.]]
16 extrablack, [[Extrablack font weight]] 16 extrablack, [[Extrablack font weight.]]
17} 17}
18 18
19enum @beta Efl.Text_Font_Width { 19enum @beta Efl.Text_Font_Width {
20 [[Type of font width]] 20 [[Type of font width.]]
21 normal, [[Normal font width]] 21 normal, [[Normal font width.]]
22 ultracondensed, [[Ultracondensed font width]] 22 ultracondensed, [[Ultracondensed font width.]]
23 extracondensed, [[Extracondensed font width]] 23 extracondensed, [[Extracondensed font width.]]
24 condensed, [[Condensed font width]] 24 condensed, [[Condensed font width.]]
25 semicondensed, [[Semicondensed font width]] 25 semicondensed, [[Semicondensed font width.]]
26 semiexpanded, [[Semiexpanded font width]] 26 semiexpanded, [[Semiexpanded font width.]]
27 expanded, [[Expanded font width]] 27 expanded, [[Expanded font width.]]
28 extraexpanded, [[Extraexpanded font width]] 28 extraexpanded, [[Extraexpanded font width.]]
29 ultraexpanded, [[Ultraexpanded font width]] 29 ultraexpanded, [[Ultraexpanded font width.]]
30} 30}
31 31
32enum @beta Efl.Text_Font_Slant { 32enum @beta Efl.Text_Font_Slant {
33 [[Type of font slant]] 33 [[Type of font slant.]]
34 normal, [[Normal font slant]] 34 normal, [[Normal font slant.]]
35 oblique, [[Oblique font slant]] 35 oblique, [[Oblique font slant.]]
36 italic, [[Italic font slant]] 36 italic, [[Italic font slant.]]
37} 37}
38 38
39/* FIXME: It needs to support "normal" option for non-color bitmap font. 39/* FIXME: It needs to support "normal" option for non-color bitmap font.
40 For supporting "normal" option, S/W glyph drawing engine should be updated. 40 For supporting "normal" option, S/W glyph drawing engine should be updated.
41 */ 41 */
42enum @beta Efl.Text_Font_Bitmap_Scalable { 42enum @beta Efl.Text_Font_Bitmap_Scalable {
43 [[Scalable of bitmap fonts 43 [[Scalable of bitmap fonts.
44 ]] 44 ]]
45 none = 0, [[Disable scalable feature for bitmap fonts.]] 45 none = 0, [[Disable scalable feature for bitmap fonts.]]
46 color = (1 << 0), [[Enable scalable feature for color bitmap fonts.]] 46 color = (1 << 0), [[Enable scalable feature for color bitmap fonts.]]
47} 47}
48 48
49interface @beta Efl.Text_Font { 49interface @beta Efl.Text_Font {
50 [[Font settings of the text 50 [[Font settings for text.
51 ]] 51 ]]
52 c_prefix: efl_text; 52 c_prefix: efl_text;
53 methods { 53 methods {
@@ -105,42 +105,42 @@ interface @beta Efl.Text_Font {
105 } 105 }
106 106
107 @property font_fallbacks { 107 @property font_fallbacks {
108 [[Comma-separated list of font fallbacks 108 [[Comma-separated list of font fallbacks.
109 109
110 Will be used in case the primary font isn't available. 110 Will be used in case the primary font isn't available.
111 ]] 111 ]]
112 values { 112 values {
113 font_fallbacks: string; [[Font name fallbacks]] 113 font_fallbacks: string; [[List of fallback font names.]]
114 } 114 }
115 } 115 }
116 116
117 @property font_weight { 117 @property font_weight {
118 [[Type of weight of the displayed font 118 [[Type of weight of the displayed font
119 119
120 Default is @Efl.Text_Font_Weight.normal\. 120 Default is @Efl.Text_Font_Weight.normal.
121 ]] 121 ]]
122 values { 122 values {
123 font_weight: Efl.Text_Font_Weight; [[Font weight]] 123 font_weight: Efl.Text_Font_Weight; [[Font weight.]]
124 } 124 }
125 } 125 }
126 126
127 @property font_slant { 127 @property font_slant {
128 [[Type of slant of the displayed font 128 [[Type of slant of the displayed font.
129 129
130 Default is @Efl.Text_Font_Slant.normal\. 130 Default is @Efl.Text_Font_Slant.normal.
131 ]] 131 ]]
132 values { 132 values {
133 style: Efl.Text_Font_Slant; [[Font slant]] 133 style: Efl.Text_Font_Slant; [[Font slant.]]
134 } 134 }
135 } 135 }
136 136
137 @property font_width { 137 @property font_width {
138 [[Type of width of the displayed font 138 [[Type of width of the displayed font.
139 139
140 Default is @Efl.Text_Font_Width.normal\. 140 Default is @Efl.Text_Font_Width.normal.
141 ]] 141 ]]
142 values { 142 values {
143 width: Efl.Text_Font_Width; [[Font width]] 143 width: Efl.Text_Font_Width; [[Font width.]]
144 } 144 }
145 } 145 }
146 146
@@ -153,19 +153,19 @@ interface @beta Efl.Text_Font {
153 "auto" to use the system locale, or "none". 153 "auto" to use the system locale, or "none".
154 ]] 154 ]]
155 values { 155 values {
156 lang: string; [[Language]] 156 lang: string; [[Language code.]]
157 } 157 }
158 } 158 }
159 159
160 @property font_bitmap_scalable { 160 @property font_bitmap_scalable {
161 [[The bitmap fonts have fixed size glyphs for several available sizes. 161 [[The bitmap fonts have fixed size glyphs for several available sizes.
162 Basically, it is not scalable. But, it needs to be scalable for some use cases. 162 Basically, it is not scalable. But, it needs to be scalable for some use cases.
163 (ex. colorful emoji fonts) 163 (e.g. colorful emoji fonts)
164 164
165 Default is @Efl.Text_Font_Bitmap_Scalable.none\. 165 Default is @Efl.Text_Font_Bitmap_Scalable.none.
166 ]] 166 ]]
167 values { 167 values {
168 scalable: Efl.Text_Font_Bitmap_Scalable; [[Scalable]] 168 scalable: Efl.Text_Font_Bitmap_Scalable; [[Scalable.]]
169 } 169 }
170 } 170 }
171 } 171 }
diff --git a/src/lib/efl/interfaces/efl_text_format.eo b/src/lib/efl/interfaces/efl_text_format.eo
index 7ecc8fead4..05d5226407 100644
--- a/src/lib/efl/interfaces/efl_text_format.eo
+++ b/src/lib/efl/interfaces/efl_text_format.eo
@@ -1,22 +1,23 @@
1enum @beta Efl.Text_Format_Wrap { 1enum @beta Efl.Text_Format_Wrap {
2 [[Wrap mode of the text (not in effect if not multiline)]] 2 [[Wrapping policy of the text.]]
3 none, [[No wrapping]] 3 none, [[No wrapping.]]
4 char, [[Wrap mode character]] 4 char, [[Wrap at character boundaries.]]
5 word, [[Wrap mode word]] 5 word, [[Wrap at word boundaries.]]
6 mixed, [[Wrap mode mixed]] 6 mixed, [[Wrap at word boundaries if possible, at any character if not.]]
7 hyphenation [[Wrap mode hyphenation]] 7 hyphenation [[Hyphenate if possible, otherwise try word boundaries or
8 at any character.]]
8} 9}
9 10
10enum @beta Efl.Text_Format_Horizontal_Alignment_Auto_Type { 11enum @beta Efl.Text_Format_Horizontal_Alignment_Auto_Type {
11 [[Auto-horizontal alignment of the text]] 12 [[Auto-horizontal alignment of the text.]]
12 none, [[No auto-alignment rule]] 13 none, [[No auto-alignment rule.]]
13 normal, [[Respects LTR/RTL (bidirectional) settings]] 14 normal, [[Respects LTR/RTL (bidirectional) settings.]]
14 locale, [[Respects locale's langauge settings]] 15 locale, [[Respects locale's language settings.]]
15 end [[Text is places at opposite side of LTR/RTL (bidirectional) settings]] 16 end [[Text is placed at opposite side of LTR/RTL (bidirectional) settings.]]
16} 17}
17 18
18interface @beta Efl.Text_Format { 19interface @beta Efl.Text_Format {
19 [[The look and layout of the text 20 [[The look and layout of the text.
20 21
21 The text format can affect the geometry of the text object, as well as 22 The text format can affect the geometry of the text object, as well as
22 how characters are presented. 23 how characters are presented.
@@ -24,83 +25,96 @@ interface @beta Efl.Text_Format {
24 c_prefix: efl_text; 25 c_prefix: efl_text;
25 methods { 26 methods {
26 @property ellipsis { 27 @property ellipsis {
27 [[Ellipsis value (number from -1.0 to 1.0)]] 28 [[Controls automatic addition of ellipsis "..." to replace text which cannot be shown.
29 The value must be a number indicating the position of the ellipsis inside the visible text.
30 $[0.0] means the beginning of the text, $[1.0] means the end of the text, and values in between
31 mean the proportional position inside the text.
32 Any value smaller than 0 or greater than 1 disables ellipsis.
33 ]]
28 values 34 values
29 { 35 {
30 value: double; [[Ellipsis value]] 36 value: double; [[Ellipsis value.]]
31 } 37 }
32 } 38 }
33 39
34 @property wrap { 40 @property wrap {
35 [[Wrap mode for use in the text]] 41 [[Wrapping policy of the text. Requires @.multiline to be $true.]]
36 values { 42 values {
37 wrap: Efl.Text_Format_Wrap; [[Wrap mode]] 43 wrap: Efl.Text_Format_Wrap; [[Wrap mode.]]
38 } 44 }
39 } 45 }
40 46
41 @property multiline { 47 @property multiline {
42 [[Multiline is enabled or not]] 48 [[Enables text to span multiple lines.
49
50 When $false, new-line characters are ignored and no text wrapping occurs.
51 ]]
43 values { 52 values {
44 enabled: bool; [[$true if multiline is enabled, $false otherwise]] 53 enabled: bool; [[$true if multiline is enabled.]]
45 } 54 }
46 } 55 }
47 56
48 @property horizontal_align_auto_type { 57 @property horizontal_align_auto_type {
49 [[Horizontal alignment of text]] 58 [[Horizontal alignment of text.]]
50 values { 59 values {
51 value: Efl.Text_Format_Horizontal_Alignment_Auto_Type; [[Alignment type]] 60 value: Efl.Text_Format_Horizontal_Alignment_Auto_Type; [[Alignment type.]]
52 } 61 }
53 } 62 }
54 63
55 @property horizontal_align { 64 @property horizontal_align {
56 [[Horizontal alignment of text]] 65 [[Horizontal alignment of text. $[0.0] means "left"
66 and $[1.0] means "right".]]
57 values { 67 values {
58 value: double; [[Horizontal alignment value]] 68 value: double; [[Alignment value between $[0.0] and $[1.0].]]
59 } 69 }
60 } 70 }
61 71
62 @property vertical_align { 72 @property vertical_align {
63 [[Vertical alignment of text]] 73 [[Vertical alignment of text.$[0.0] means "top"
74 and $[1.0] means "bottom"]]
64 values { 75 values {
65 value: double; [[Vertical alignment value]] 76 value: double; [[Alignment value between $[0.0] and $[1.0].]]
66 } 77 }
67 } 78 }
68 79
69 @property linegap { 80 @property linegap {
70 [[Minimal line gap (top and bottom) for each line in the text 81 [[Minimal line gap (top and bottom) for each line in the text.
71 82
72 $value is absolute size. 83 $value is absolute size.
73 ]] 84 ]]
74 values 85 values
75 { 86 {
76 value: double; [[Line gap value]] 87 value: double; [[Line gap value, in pixels.]]
77 } 88 }
78 } 89 }
79 90
80 @property linerelgap { 91 @property linerelgap {
81 [[Relative line gap (top and bottom) for each line in the text 92 [[Relative line gap (top and bottom) for each line in the text.
82 93
83 The original line gap value is multiplied by $value. 94 The original line gap value is multiplied by $value.
84 ]] 95 ]]
85 values 96 values
86 { 97 {
87 value: double; [[Relative line gap value]] 98 value: double; [[Relative line gap value. $[1.0] means original size.]]
88 } 99 }
89 } 100 }
90 101
91 @property tabstops { 102 @property tabstops {
92 [[Tabstops value]] 103 [[Size of the tab character.]]
93 values 104 values
94 { 105 {
95 value: int; [[Tapstops value]] 106 value: int; [[Size in pixels.]]
96 } 107 }
97 } 108 }
98 109
99 @property password { 110 @property password {
100 [[Whether text is a password]] 111 [[Enabling this causes all characters to be replaced by @.replacement_char.
112
113 This is useful for password input boxes.
114 ]]
101 values 115 values
102 { 116 {
103 enabled: bool; [[$true if the text is a password, $false otherwise]] 117 enabled: bool; [[$true if the text is a password.]]
104 } 118 }
105 } 119 }
106 120
diff --git a/src/lib/efl/interfaces/efl_text_style.eo b/src/lib/efl/interfaces/efl_text_style.eo
index c42433b317..9b66595558 100644
--- a/src/lib/efl/interfaces/efl_text_style.eo
+++ b/src/lib/efl/interfaces/efl_text_style.eo
@@ -1,248 +1,257 @@
1enum @beta Efl.Text_Style_Backing_Type 1enum @beta Efl.Text_Style_Backing_Type
2{ 2{
3 [[Whether to apply backing style to the displayed text or not]] 3 [[Whether to add a background colored rectangle (backing) to each line of text or not.]]
4 disabled = 0, [[Do not use backing]] 4 disabled = 0, [[Do not use backing.]]
5 enabled, [[Use backing style]] 5 enabled, [[Use backing.]]
6} 6}
7 7
8enum @beta Efl.Text_Style_Strikethrough_Type 8enum @beta Efl.Text_Style_Strikethrough_Type
9{ 9{
10 [[Whether to apply strikethrough style to the displayed text or not]] 10 [[Whether to add a strike-through decoration to the displayed text or not.]]
11 disabled = 0, [[Do not use strikethrough]] 11 disabled = 0, [[Do not use strike-through.]]
12 enabled, [[Use strikethrough style]] 12 enabled, [[Use strike-through.]]
13} 13}
14 14
15enum @beta Efl.Text_Style_Effect_Type 15enum @beta Efl.Text_Style_Effect_Type
16{ 16{
17 [[Effect to apply to the displayed text]] 17 [[Effect to apply to the displayed text.]]
18 none = 0, [[No effect]] 18 none = 0, [[No effect.]]
19 19
20 // colored with shadow_color 20 // colored with shadow_color
21 shadow, [[Shadow effect]] 21 shadow, [[Shadow effect.]]
22 far_shadow, [[Far shadow effect]] 22 far_shadow, [[Far shadow effect.]]
23 soft_shadow, [[Soft shadow effect]] 23 soft_shadow, [[Soft shadow effect.]]
24 far_soft_shadow, [[Far and soft shadow effect]] 24 far_soft_shadow, [[Far and soft shadow effect.]]
25 // colored with glow_color 25 // colored with glow_color
26 glow, [[Glow effect]] 26 glow, [[Glow effect.]]
27 // colored with outline_color 27 // colored with outline_color
28 outline, [[Outline effect]] 28 outline, [[Outline effect.]]
29 soft_outline, [[Soft outline effect]] 29 soft_outline, [[Soft outline effect.]]
30 // colored with outline_color + shadow_color 30 // colored with outline_color + shadow_color
31 outline_shadow, [[Outline shadow effect]] 31 outline_shadow, [[Outline + shadow effect.]]
32 outline_soft_shadow, [[Outline soft shadow effect]] 32 outline_soft_shadow, [[Outline + soft shadow effect.]]
33} 33}
34 34
35enum @beta Efl.Text_Style_Shadow_Direction 35enum @beta Efl.Text_Style_Shadow_Direction
36{ 36{
37 [[Direction of the shadow style, if used]] 37 [[Direction of the shadow.]]
38 bottom_right = 0, [[Shadow towards bottom right]] 38 bottom_right = 0, [[Shadow towards bottom right.]]
39 bottom, [[Shadow towards botom]] 39 bottom, [[Shadow towards bottom.]]
40 bottom_left, [[Shadow towards bottom left]] 40 bottom_left, [[Shadow towards bottom left.]]
41 left, [[Shadow towards left]] 41 left, [[Shadow towards left.]]
42 top_left, [[Shadow towards top left]] 42 top_left, [[Shadow towards top left.]]
43 top, [[Shadow towards top]] 43 top, [[Shadow towards top.]]
44 top_right, [[Shadow towards top right]] 44 top_right, [[Shadow towards top right.]]
45 right, [[Shadow towards right]] 45 right, [[Shadow towards right.]]
46} 46}
47 47
48enum @beta Efl.Text_Style_Underline_Type 48enum @beta Efl.Text_Style_Underline_Type
49{ 49{
50 [[Underline type of the displayed text]] 50 [[Type of underline of the displayed text.]]
51 off = 0, [[Text without underline]] 51 off = 0, [[Text without underline.]]
52 on, [[Underline enabled]] 52 on, [[Underline enabled.]]
53 single, [[Underlined with a signle line]] 53 single, [[Underlined with a single line.]]
54 double, [[Underlined with a double line]] 54 double, [[Underlined with a double line.]]
55 dashed, [[Underlined with a dashed line]] 55 dashed, [[Underlined with a dashed line.]]
56} 56}
57 57
58interface @beta Efl.Text_Style { 58interface @beta Efl.Text_Style {
59 [[Style to apply to the text 59 [[Decorations to add to the text.
60 60
61 A style can be coloring, effects, underline, strikethrough etc. 61 Decorations can be coloring, effects, underlines, strike-through etc.
62 ]] 62 ]]
63 c_prefix: efl_text; 63 c_prefix: efl_text;
64 methods { 64 methods {
65 @property normal_color { 65 @property normal_color {
66 [[Color of text, excluding style]] 66 [[Color of text, excluding decorations like, shadow, outline or glow.]]
67 values 67 values
68 { 68 {
69 r: ubyte; [[Red component]] 69 r: ubyte; [[Red component.]]
70 g: ubyte; [[Green component]] 70 g: ubyte; [[Green component.]]
71 b: ubyte; [[Blue component]] 71 b: ubyte; [[Blue component.]]
72 a: ubyte; [[Alpha component]] 72 a: ubyte; [[Alpha component.]]
73 } 73 }
74 } 74 }
75 75
76 @property backing_type { 76 @property backing_type {
77 [[Enable or disable backing type]] 77 [[Enables rendering of a background rectangle behind each line of text.]]
78 values 78 values
79 { 79 {
80 type: Efl.Text_Style_Backing_Type; [[Backing type]] 80 type: Efl.Text_Style_Backing_Type; [[Backing type.]]
81 } 81 }
82 } 82 }
83 83
84 @property backing_color { 84 @property backing_color {
85 [[Backing color]] 85 [[Color of the background rectangle (backing) behind each line of text.]]
86 values 86 values
87 { 87 {
88 r: ubyte; [[Red component]] 88 r: ubyte; [[Red component.]]
89 g: ubyte; [[Green component]] 89 g: ubyte; [[Green component.]]
90 b: ubyte; [[Blue component]] 90 b: ubyte; [[Blue component.]]
91 a: ubyte; [[Alpha component]] 91 a: ubyte; [[Alpha component.]]
92 } 92 }
93 } 93 }
94 94
95 @property underline_type { 95 @property underline_type {
96 [[Sets an underline style on the text]] 96 [[Underline style for the text.]]
97 values 97 values
98 { 98 {
99 type: Efl.Text_Style_Underline_Type; [[Underline type]] 99 type: Efl.Text_Style_Underline_Type; [[Underline type.]]
100 } 100 }
101 } 101 }
102 102
103 @property underline_color 103 @property underline_color
104 { 104 {
105 [[Color of normal underline style]] 105 [[Color of normal underline style.]]
106 values 106 values
107 { 107 {
108 r: ubyte; [[Red component]] 108 r: ubyte; [[Red component.]]
109 g: ubyte; [[Green component]] 109 g: ubyte; [[Green component.]]
110 b: ubyte; [[Blue component]] 110 b: ubyte; [[Blue component.]]
111 a: ubyte; [[Alpha component]] 111 a: ubyte; [[Alpha component.]]
112 } 112 }
113 } 113 }
114 114
115 @property underline_height 115 @property underline_height
116 { 116 {
117 [[Height of underline style]] 117 [[Width (in pixels) of the single underline when @.underline_type is
118 @Efl.Text_Style_Underline_Type.single.]]
118 values 119 values
119 { 120 {
120 height: double; [[Height]] 121 height: double; [[Underline width in pixels.]]
121 } 122 }
122 } 123 }
123 124
124 @property underline_dashed_color 125 @property underline_dashed_color
125 { 126 {
126 [[Color of dashed underline style]] 127 [[Color of the dashed underline. Only valid when @.underline_type is
128 @Efl.Text_Style_Underline_Type.dashed.]]
127 values 129 values
128 { 130 {
129 r: ubyte; [[Red component]] 131 r: ubyte; [[Red component.]]
130 g: ubyte; [[Green component]] 132 g: ubyte; [[Green component.]]
131 b: ubyte; [[Blue component]] 133 b: ubyte; [[Blue component.]]
132 a: ubyte; [[Alpha component]] 134 a: ubyte; [[Alpha component.]]
133 } 135 }
134 } 136 }
135 137
136 @property underline_dashed_width 138 @property underline_dashed_width
137 { 139 {
138 [[Width of dashed underline style]] 140 [[Length (in pixels) of the dashes when @.underline_type is
141 @Efl.Text_Style_Underline_Type.dashed.]]
139 values 142 values
140 { 143 {
141 width: int; [[Width]] 144 width: int; [[Dash length in pixels.]]
142 } 145 }
143 } 146 }
144 147
145 @property underline_dashed_gap 148 @property underline_dashed_gap
146 { 149 {
147 [[Gap of dashed underline style]] 150 [[Length (in pixels) of the gaps between the dashes when @.underline_type is
151 @Efl.Text_Style_Underline_Type.dashed.]]
148 values 152 values
149 { 153 {
150 gap: int; [[Gap]] 154 gap: int; [[Gap length in pixels.]]
151 } 155 }
152 } 156 }
153 157
154 @property underline2_color 158 @property underline2_color
155 { 159 {
156 [[Color of underline2 style]] 160 [[Color of the secondary underline. Only valid when @.underline_type is
161 @Efl.Text_Style_Underline_Type.double.]]
157 values 162 values
158 { 163 {
159 r: ubyte; [[Red component]] 164 r: ubyte; [[Red component.]]
160 g: ubyte; [[Green component]] 165 g: ubyte; [[Green component.]]
161 b: ubyte; [[Blue component]] 166 b: ubyte; [[Blue component.]]
162 a: ubyte; [[Alpha component]] 167 a: ubyte; [[Alpha component.]]
163 } 168 }
164 } 169 }
165 170
166 @property strikethrough_type { 171 @property strikethrough_type {
167 [[Type of strikethrough style]] 172 [[Enables crossed-out text.]]
168 values 173 values
169 { 174 {
170 type: Efl.Text_Style_Strikethrough_Type; [[Strikethrough type]] 175 type: Efl.Text_Style_Strikethrough_Type; [[Strike-through type.]]
171 } 176 }
172 } 177 }
173 178
174 @property strikethrough_color 179 @property strikethrough_color
175 { 180 {
176 [[Color of strikethrough_style]] 181 [[Color of the line striking through the text.]]
177 values 182 values
178 { 183 {
179 r: ubyte; [[Red component]] 184 r: ubyte; [[Red component.]]
180 g: ubyte; [[Green component]] 185 g: ubyte; [[Green component.]]
181 b: ubyte; [[Blue component]] 186 b: ubyte; [[Blue component.]]
182 a: ubyte; [[Alpha component]] 187 a: ubyte; [[Alpha component.]]
183 } 188 }
184 } 189 }
185 190
186 @property effect_type { 191 @property effect_type {
187 [[Type of effect used for the displayed text]] 192 [[Controls a number of decorations around the text, like shadow, outline
193 and glow, including combinations of them.]]
188 values { 194 values {
189 type: Efl.Text_Style_Effect_Type; [[Effect type]] 195 type: Efl.Text_Style_Effect_Type; [[Effect type.]]
190 } 196 }
191 } 197 }
192 @property outline_color 198 @property outline_color
193 { 199 {
194 [[Color of outline effect]] 200 [[Color of the text outline.]]
195 values 201 values
196 { 202 {
197 r: ubyte; [[Red component]] 203 r: ubyte; [[Red component.]]
198 g: ubyte; [[Green component]] 204 g: ubyte; [[Green component.]]
199 b: ubyte; [[Blue component]] 205 b: ubyte; [[Blue component.]]
200 a: ubyte; [[Alpha component]] 206 a: ubyte; [[Alpha component.]]
201 } 207 }
202 } 208 }
203 209
204 @property shadow_direction 210 @property shadow_direction
205 { 211 {
206 [[Direction of shadow effect]] 212 [[Direction of shadow effect.]]
207 values 213 values
208 { 214 {
209 type: Efl.Text_Style_Shadow_Direction; [[Shadow direction]] 215 type: Efl.Text_Style_Shadow_Direction; [[Shadow direction.]]
210 } 216 }
211 } 217 }
212 218
213 @property shadow_color 219 @property shadow_color
214 { 220 {
215 [[Color of shadow effect]] 221 [[Color of the shadow.]]
216 values 222 values
217 { 223 {
218 r: ubyte; [[Red component]] 224 r: ubyte; [[Red component.]]
219 g: ubyte; [[Green component]] 225 g: ubyte; [[Green component.]]
220 b: ubyte; [[Blue component]] 226 b: ubyte; [[Blue component.]]
221 a: ubyte; [[Alpha component]] 227 a: ubyte; [[Alpha component.]]
222 } 228 }
223 } 229 }
224 230
225 @property glow_color 231 @property glow_color
226 { 232 {
227 [[Color of glow effect]] 233 [[Color of the glow decoration.]]
228 values 234 values
229 { 235 {
230 r: ubyte; [[Red component]] 236 r: ubyte; [[Red component.]]
231 g: ubyte; [[Green component]] 237 g: ubyte; [[Green component.]]
232 b: ubyte; [[Blue component]] 238 b: ubyte; [[Blue component.]]
233 a: ubyte; [[Alpha component]] 239 a: ubyte; [[Alpha component.]]
234 } 240 }
235 } 241 }
236 242
237 @property glow2_color 243 @property glow2_color
238 { 244 {
239 [[Second color of the glow effect]] 245 [[Color of the secondary glow decoration.
246 This is the color of the inner glow (where it touches the text) which
247 gradually fades into @.glow_color as it reaches the edge.
248 ]]
240 values 249 values
241 { 250 {
242 r: ubyte; [[Red component]] 251 r: ubyte; [[Red component.]]
243 g: ubyte; [[Green component]] 252 g: ubyte; [[Green component.]]
244 b: ubyte; [[Blue component]] 253 b: ubyte; [[Blue component.]]
245 a: ubyte; [[Alpha component]] 254 a: ubyte; [[Alpha component.]]
246 } 255 }
247 } 256 }
248 257
diff --git a/src/lib/evas/canvas/efl_canvas_textblock.eo b/src/lib/evas/canvas/efl_canvas_textblock.eo
index 7c6cf8e0e6..3b686918ee 100644
--- a/src/lib/evas/canvas/efl_canvas_textblock.eo
+++ b/src/lib/evas/canvas/efl_canvas_textblock.eo
@@ -6,7 +6,13 @@ class @beta Efl.Canvas.Textblock extends Efl.Canvas.Object implements Efl.Text,
6 Efl.Text_Markup, Efl.Ui.I18n 6 Efl.Text_Markup, Efl.Ui.I18n
7{ 7{
8 [[This is the Canvas-level text class. This class only takes care of rendering text, 8 [[This is the Canvas-level text class. This class only takes care of rendering text,
9 if you need user interaction consider the classes in $Efl.Ui.]] 9 if you need user interaction consider the classes in $[Efl.Ui].
10
11 Note: No text will be rendered until a font, a font size and a font color are specified.
12 This can be accomplished using @Efl.Text_Font.font_family, @Efl.Text_Font.font_size and
13 @Efl.Text_Style.normal_color.
14 Alternatively, @.style_apply can be used providing the attributes $font, $font_size and $color.
15 ]]
10 methods { 16 methods {
11 @property is_empty { 17 @property is_empty {
12 [[Whether the object is empty (no text) or not. 18 [[Whether the object is empty (no text) or not.
@@ -80,337 +86,265 @@ class @beta Efl.Canvas.Textblock extends Efl.Canvas.Object implements Efl.Text,
80 } 86 }
81 } 87 }
82 style_apply { 88 style_apply {
83 [[Applies a style to the text object. Applied style attributes override old ones, leaving other attributes 89 [[Applies several style attributes at once using a formatting string.
84 unaffected. 90 Given style attributes override previous values, leaving other attributes unaffected.
85 This is similar to setting individual style attributes using properties like @Efl.Text_Font.font_slant or 91 This is akin to setting individual style attributes using properties like
86 @Efl.Text_Format.wrap. 92 @Efl.Text_Font.font_slant or @Efl.Text_Format.wrap, for example.
87 93
88 The style can be set as "attribute"="Value". 94 The formatting string is a whitespace-separated list of $[attribute=value] pairs.
89 Multible attribute can be set at once separated by space. 95
90 96 The following attributes are accepted:
91 The following styling attributes are accepted: 97
92 98 - $font: Name of the font to use.
93 - Font 99 Default value is empty, meaning that no text will be rendered.
94 - Font fallback 100 Requires $font_size and $font_color.
95 - Font size 101 See @Efl.Text_Font.font_family.
96 - Font source 102
97 - Font weight 103 - $font_fallbacks: Comma-delimited list of fonts to try if finding the primary font fails.
98 - Font style 104 Example: $[font_fallbacks=consolas,courier,monospace].
99 - Font width 105 Default value is empty.
100 - Language 106 See @Efl.Text_Font.font_fallbacks.
101 - Color 107
102 - Underline Color 108 - $font_size: Height of font, in points.
103 - Second Underline Color 109 Default value is 0.
104 - Underline Dash Color 110 Requires $font and $font_color.
105 - Outline Color 111 See @Efl.Text_Font.font_size.
106 - Shadow Color 112
107 - First Glow Color 113 - $font_source: Path to the file containing the font to use.
108 - Second Glow Color 114 Example: $[font_source=/usr/share/fonts/Sans.ttf].
109 - Backing Color 115 Default value is empty.
110 - Strikethrough Color 116 See @Efl.Text_Font.font_source.
111 - Horizontal Align 117
112 - Vertical Align 118 - $font_weight: Thickness of the font. The value must be one of: $normal, $thin, $ultralight, $extralight,
113 - Wrap 119 $light, $book, $medium, $semibold, $bold, $ultrabold, $extrabold, $black and $extrablack.
114 - Left margin 120 Default value is $normal.
115 - Right margin 121 See @Efl.Text_Font.font_weight.
116 - Underline 122
117 - Strikethrough 123 - $font_style: Style of the font. The value must be one of: $normal, $oblique and $italic.
118 - Backing 124 Default value is $normal.
119 - Style 125 See @Efl.Text_Font.font_slant.
120 - Tabstops 126
121 - Line size 127 - $font_width: How wide the font is, relative to its height. The value must be one of:
122 - Relative line size 128 $normal, $ultracondensed, $extracondensed, $condensed, $semicondensed, $semiexpanded, $expanded,
123 - Line gap 129 $extraexpanded and $ultraexpanded.
124 - Relative line gap 130 Default value is $normal.
125 - Item 131 See @Efl.Text_Font.font_weight.
126 - Line fill 132
127 - Ellipsis 133 - $lang: A 2-letter ISO 639-1 language code, $auto (to use the system locale setting) or $none (to disable
128 - Password 134 language support).
129 - Underline dash width 135 Example: $[lang=he].
130 - Underline dash gap 136 Default value is empty.
131 - Underline height 137 See @Efl.Text_Font.font_lang.
132 138
133 Font 139 - $color: Color code for the text (See bottom for the complete list of supported codes).
134 This sets the name of the font to be used. 140 Default value is $[rgba(0,0,0,0)] meaning that no text will be rendered.
135 font=<font name> 141 Requires $font and $font_size.
136 142 See @Efl.Text_Style.normal_color.
137 Font fallback 143
138 A comma delimited list of fonts to try if finding the primary font fails. 144 - $underline_color: Color code for the text underline (See bottom for the complete list of supported codes).
139 font_fallbacks=<font names> 145 Default value is $[rgba(0,0,0,0)] meaning that no underline will be rendered.
140 146 Requires $underline.
141 Font size 147 See @Efl.Text_Style.underline_color.
142 This sets the the size of font in points to be used. 148
143 font_size=<size> 149 - $underline2_color: Color code for the secondary text underline (See bottom for the complete list of
144 150 supported codes). Only valid when $[underline=double].
145 Font source 151 Default value is $[rgba(0,0,0,0)] meaning that secondary underline will not be rendered.
146 Specify source from which to search for the font. 152 See @Efl.Text_Style.underline2_color.
147 font_source=<source> 153
148 154 - $underline_dash_color: Color code for the dashed underline (See bottom for the complete list of supported
149 Font weight 155 codes). Only valid when $[underline=dashed].
150 Sets the weight of the font. The value must be one of: 156 Default value is $[rgba(0,0,0,0)] meaning that dashed underline will not be rendered.
151 "normal" 157 See @Efl.Text_Style.underline_dashed_color.
152 "thin" 158
153 "ultralight" 159 - $outline_color: Color code for the text outline (See bottom for the complete list of supported codes).
154 "extralight" 160 Only valid when the $style attribute includes an outline.
155 "light" 161 Default value is $[rgba(0,0,0,0)] meaning that no outline will be rendered.
156 "book" 162 See @Efl.Text_Style.outline_color.
157 "medium" 163
158 "semibold" 164 - $shadow_color: Color code for the text shadow (See bottom for the complete list of supported codes).
159 "bold" 165 Only valid when the $style attribute includes a shadow.
160 "ultrabold" 166 Default value is $[rgba(0,0,0,0)] meaning that no shadow will be rendered.
161 "extrabold" 167 See @Efl.Text_Style.shadow_color.
162 "black" 168
163 "extrablack" 169 - $glow_color: Color code for the glow component of the text (See bottom for the complete list of supported
164 font_weight=<weight> 170 codes). Only valid when the $style attribute includes a glow.
165 171 Default value is $[rgba(0,0,0,0)] meaning that no glow will be rendered.
166 Font style 172 See @Efl.Text_Style.glow_color.
167 Sets the style of the font. The value must be one of: 173
168 "normal" 174 - $glow2_color: Color code for the secondary (inner) glow component of the text (See bottom for the complete
169 "oblique" 175 list of supported codes). Only valid when the $style attribute includes a glow.
170 "italic" 176 Default value is $[rgba(0,0,0,0)] meaning that only the primary $glow_color will be used.
171 font_style=<style> 177 See @Efl.Text_Style.glow2_color.
172 178
173 Font width 179 - $backing_color: Color code for the background of the text (See bottom for the complete list of supported
174 Sets the width of the font. The value must be one of: 180 codes). Use a fully transparent color to disable the background.
175 "normal" 181 Default value is $[rgba(0,0,0,0)] meaning that no backing will be rendered.
176 "ultracondensed" 182 Requires $backing.
177 "extracondensed" 183 See @Efl.Text_Style.backing_color.
178 "condensed" 184
179 "semicondensed" 185 - $strikethrough_color: Color code for the line striking through the text (See bottom for the complete list
180 "semiexpanded" 186 of supported codes). Only valid when $[strikethrough=on]
181 "expanded" 187 Default value is $[rgba(0,0,0,0)] meaning that no strike-through line will be rendered.
182 "extraexpanded" 188 See @Efl.Text_Style.strikethrough_color.
183 "ultraexpanded" 189
184 font_width=<width> 190 - $align: Horizontal alignment of the text. The value can either be a decimal number ($[0.0] means "left"
185 191 and $[1.0] means "right"), a percentage ($[0%] means "left" and $[100%] means "right") or one of:
186 Language 192 $auto (Respects LTR/RTL settings), $locale (Respects language direction settings), $center
187 Overrides the language defined in font. For example, lang=he. 193 (Centers the text in the line), $middle (Alias for $center), $left (Puts the text at the left of the line),
188 The value can either be a language text or one of presets: 194 $right (Puts the text at the right of the line), $start (Alias for $auto), $end (Puts the text at the
189 "auto" - Respects system locale settings as language 195 opposite side of LTR/RTL settings).
190 "none" - Disable language support 196 Default value is $auto.
191 lang=<language> 197 See @Efl.Text_Format.horizontal_align.
192 198
193 Color Commands <color>: 199 - $valign: Vertical alignment of the text. The value can either be a decimal number ($[0.0] means "top"
194 The following formats are accepted: 200 and $[1.0] means "bottom"), a percentage ($[0%] means "top" and $[100%] means "bottom") or one of:
195 "#RRGGBB" 201 $top (Puts the text at the top of the text box), $center (Puts the text at the middle of the text box),
196 "#RRGGBBAA" 202 $middle (Alias for $center), $bottom (Puts the text at the bottom of the text box),
197 "#RGB" 203 $baseline (Puts the text's baseline at the middle of the text box), $base (Alias for $baseline).
198 "#RGBA" 204 Default value is $baseline.
199 "rgb(r,g,b)" 205 See @Efl.Text_Format.vertical_align.
200 "rgba(r,g,b,a)" 206
201 "color_name" like "red" (X11 color names) 207 - $wrap: Wrapping policy of the text. The value must be one of the following: $word (Only wraps lines at
202 208 word boundaries), $char (Wraps at any character), $mixed (Wraps at word boundaries if possible,
203 Color 209 at any character if not), $hyphenation (Hyphenate if possible, otherwise try wrapping at word boundaries
204 Sets the color of the text. 210 or at any character) or $none to disable wrapping.
205 color=<color> 211 Default value is $none.
206 212 See @Efl.Text_Format.wrap.
207 Underline Color 213
208 Sets the color of the underline. 214 - $left_margin: Distance in pixels from the left side of the text block to the beginning of the text
209 underline_color=<color> 215 (inner margin). The value can be a number (to set the margin), or a number preceded by $[+] or $[-]
210 216 to increment or decrement the existing margin value. $reset is also accepted, to set the margin to
211 Second Underline Color 217 0 pixels.
212 Sets the color of the second line of underline(when using underline mode "double"). 218 Default value is $[0].
213 underline2_color=<color> 219 Examples: $[left_margin=10], $[left_margin=+10], $[left_margin=reset].
214 220
215 Underline Dash Color 221 - $right_margin: Distance in pixels from the right side of the text block to the beginning of the text
216 Sets the color of dashed underline. 222 (inner margin). The value can be a number (to set the margin), or a number preceded by $[+] or $[-]
217 underline_dash_color=<color> 223 to increment or decrement the existing margin value. $reset is also accepted, to set the margin to
218 224 0 pixels.
219 Outline Color 225 Default value is $[0].
220 Sets the color of the outline of the text. 226 Examples: $[right_margin=10], $[right_margin=+10], $[right_margin=reset].
221 outline_color=<color> 227
222 228 - $underline: Style of the underline. The value must be one of $off (No underlining),
223 Shadow Color 229 $single (A single line under the text), $on (Alias for $single), $double (Two lines under the text),
224 Sets the color of the shadow of the text. 230 $dashed (A dashed line under the text).
225 shadow_color=<color> 231 Default value is $off.
226 232 Requires either $underline_color, $underline2_color or $underline_dash_color.
227 First Glow Color 233 See @Efl.Text_Style.underline_type.
228 Sets the first color of the glow of text. 234
229 glow_color=<color> 235 - $strikethrough: Enables crossed-out text. Possible values are $on and $off.
230 236 Default value is $off.
231 Second Glow Color 237 Requires $strikethrough_color.
232 Sets the second color of the glow of text. 238 See @Efl.Text_Style.strikethrough_type.
233 glow2_color=<color> 239
234 240 - $backing: Enables background color for the text. Possible values are $on and $off.
235 Backing Color 241 Default value is $off.
236 Sets a background color for text. 242 Requires $backing_color.
237 backing_color=<color> 243 See @Efl.Text_Style.backing_type.
238 244
239 Strikethrough Color 245 - $style: Controls a number of decorations around the text, like shadow, outline and glow, including
240 Sets the color of text that is striked through. 246 combinations of them. Possible values are $plain (No decoration, alias for $off and $none),
241 strikethrough_color=<color> 247 $shadow, $outline, $soft_outline, $outline_shadow, $outline_soft_shadow, $glow (alias for $soft_outline),
242 248 $far_shadow, $soft_shadow and $far_soft_shadow.
243 Horizontal Align 249 All values involving a shadow accept a second parameter, separated by a comma, to indicate the shadow
244 Sets the horizontal alignment of the text. The value can either be a number, a percentage or one of several presets: 250 direction. Valid positions are $bottom_right, $bottom, $bottom_left, $left, $top_left, $top, $top_right
245 "auto" - Respects LTR/RTL settings 251 and $right.
246 "locale" - Respects locale(language) direction settings 252 Default value is $plain.
247 "center" - Centers the text in the line 253 Requires either $shadow_color, $glow_color or $outline_color.
248 "middle" - Alias for "center" 254 Examples: $[style=outline], $[style=shadow,bottom_right], $[style=outline_shadow,bottom].
249 "left" - Puts the text at the left of the line 255 See @Efl.Text_Style.effect_type and @Efl.Text_Style.shadow_direction.
250 "right" - Puts the text at the right of the line 256
251 "start" - Respects LTR/RTL settings. It is same with "auto" 257 - $tabstops: Size (in pixels) of the tab character. The value must be a number greater than one.
252 "end" - Puts the text at the opposite side of LTR/RTL settings 258 Default value is $[32].
253 <number> - A number between 0.0 and 1.0 where 0.0 represents "left" and 1.0 represents "right" 259 See @Efl.Text_Format.tabstops.
254 <number>% - A percentage between 0% and 100% where 0% represents "left" and 100% represents "right" 260
255 align=<value or preset> 261 - $linesize: Distance (in pixels) from the baseline of one line of text to the next. This is, a value of
256 262 $[0] would render all lines on top of each other (However, this value will be ignored if it results in
257 Vertical Align 263 overlapping lines of text).
258 Sets the vertical alignment of the text. 264 Setting this value sets $linerelsize to $[0%] (disables it).
259 The value can either be a number or one of the following presets: 265 Default value is $[0].
260 "top" - Puts text at the top of the line 266
261 "center" - Centers the text in the line 267 - $linerelsize: Distance (in percentage over the natural line height) from the baseline of one line of
262 "middle" - Alias for "center" 268 text to the next. A value of $[100%] does not have any impact, smaller values render lines closer together
263 "bottom" - Puts the text at the bottom of the line 269 and bigger values render them further apart.
264 "baseline" - Baseline 270 Setting this value sets $linesize to $[0] (disables it).
265 "base" - Alias for "baseline" 271 Default value is $[0%].
266 <number> - A number between 0.0 and 1.0 where 0.0 represents "top" and 1.0 represents "bottom" 272
267 <number>% - A percentage between 0% and 100% where 0% represents "top" and 100% represents "bottom" 273 - $linegap: Additional empty space (in pixels) between the bottom of one line of text and the top of the
268 valign=<value or preset> 274 next. Setting this value sets $linerelgap to $[0%] (disables it).
269 See explanation of baseline at: https://en.wikipedia.org/wiki/Baseline_%28typography%29 275 Default value is $[0].
270 276 See @Efl.Text_Format.linegap.
271 Wrap 277
272 Sets the wrap policy of the text. The value must be one of the following: 278 - $linerelgap: Additional empty space (in percentage over the natural line height) between the bottom of
273 "word" - Only wraps lines at word boundaries 279 one line of text and the top of the next.
274 "char" - Wraps at any character 280 Setting this value sets $linegap to $[0] (disables it).
275 "mixed" - Wrap at words if possible, if not at any character 281 Default value is $[0%].
276 "hyphenation" - Hyphenate if possible, if not wrap at words if possible, if not at any character 282 See @Efl.Text_Format.linerelgap.
277 "none" - Don't wrap, this is the default value 283
278 wrap=<value or preset> 284 - $linefill: An alternate way to specify the $linesize as a percentage of the canvas height.
279 285 A value of $[100%] means that a single line fills the canvas, whereas $[25%] means that 4 lines
280 Left margin 286 fit in the same height.
281 Sets the left margin of the text (in pixel). The value can be a number, an increment, decrement or "reset": 287 When both $linefill and $linesize are specified the one resulting in the smallest line size is used.
282 +<number> - Increments existing left margin by <number> 288 Default value is $[0].
283 -<number> - Decrements existing left margin by <number> 289
284 <number> - Sets left margin to <number> 290 - $ellipsis: Controls automatic addition of ellipsis "..." to replace text which cannot be shown.
285 "reset" - Sets left margin to 0 291 The value must be a number indicating the position of the ellipsis inside the visible text.
286 left_margin=<value or reset> 292 $[0.0] means the beginning of the text, $[1.0] means the end of the text, and values in between
287 293 mean the proportional position inside the text.
288 Right margin 294 Any value smaller than 0 or greater than 1 disables ellipsis.
289 Sets the right margin of the text (in pixel). The value can be a number, an increment, decrement or "reset": 295 Default value is $[-1].
290 +<number> - Increments existing right margin by <number> 296 Examples: $[ellipsis=0.5
291 -<number> - Decrements existing right margin by <number> 297 See @Efl.Text_Format.ellipsis.
292 <number> - Sets left margin to <number> 298
293 "reset" - Sets left margin to 0 299 - $password: Enabling this causes all characters to be replaced by $replacement_char.
294 right_margin=<value or reset> 300 This is useful for password input boxes.
295 301 Value must be either $on or $off.
296 Underline 302 Default value is $[off].
297 Sets if and how a text will be underlined. The value must be one of the following: 303 Requires $replacement_char.
298 "off" - No underlining 304 See @Efl.Text_Format.password.
299 "single" - A single line under the text 305
300 "on" - Alias for "single" 306 - $replacement_char: Character to use instead of the actual characters when $password is $on.
301 "double" - Two lines under the text 307 Default value is empty, meaning that no replacement will take place.
302 "dashed" - A dashed line under the text 308 Requires $password.
303 underline=off/single/on/double/dashed 309 Examples: $[replacement_char=*].
304 310 See @Efl.Text_Format.replacement_char.
305 Strikethrough 311
306 Sets if the text will be striked through. The value must be one of the following: 312 - $underline_dash_width: Length (in pixels) of the dashes when $underline is $dashed.
307 "off" - No strikethrough 313 Default value is $[6].
308 "on" - Strikethrough 314 See @Efl.Text_Style.underline_dashed_width.
309 strikethrough=on/off 315
310 316 - $underline_dash_gap: Length (in pixels) of the gaps between the dashes when $underline is $dashed.
311 Backing 317 Default value is $[2].
312 Sets if the text will have background color enabled or disabled. The value must be one of the following: 318 See @Efl.Text_Style.underline_dashed_gap.
313 "off" - No backing 319
314 "on" - Backing 320 - $underline_height: Width (in pixels) of the single underline when $underline is $single.
315 backing=on/off 321 Default value is $[1].
316 322 See @Efl.Text_Style.underline_height.
317 Style 323
318 Sets the style of the text. The value must be a string composed of two comma separated parts. 324 - $gfx_filter: Experimental filter name. See @Efl.Gfx.Filter for more information.
319 The first part of the value sets the appearance of the text, the second the position. 325
320 The first part may be any of the following values: 326 Color codes: Colors can be specified using any of the following formats:
321 "plain" 327 $[#RRGGBB], $[#RRGGBBAA], $[#RGB], $[#RGBA], $[rgb(r,g,b)], $[rgba(r,g,b,a)].
322 "off" - Alias for "plain" 328 Additionally, X11 color names like $red or $blanchedalmond can be used.
323 "none" - Alias for "plain" 329 See https://en.wikipedia.org/wiki/X11_color_names for the full list.
324 "shadow"
325 "outline"
326 "soft_outline"
327 "outline_shadow"
328 "outline_soft_shadow"
329 "glow"
330 "far_shadow"
331 "soft_shadow"
332 "far_soft_shadow" The second part may be any of the following values:
333 "bottom_right"
334 "bottom"
335 "bottom_left"
336 "left"
337 "top_left"
338 "top"
339 "top_right"
340 "right"
341 style=<appearance>,<position>
342
343 Tabstops
344 Sets the size (in pixel) of the tab character. The value must be a number greater than one.
345 tabstops=<number>
346
347 Line size
348 Sets the size (in pixel) of line of text. The value should be a number.
349 Setting this value sets linerelsize to 0%!
350 linesize=<number>
351
352 Relative line size
353 Percentage indicating the wanted size of the line relative to the calculated size.
354 Setting this value sets linesize to 0!
355 linerelsize=<number>%
356
357 Line gap
358 Sets the size (in pixel) of the line gap in text (distance between lines). The value should be a number.
359 Setting this value sets linerelgap to 0%!
360 linegap=<number>
361
362 Relative line gap
363 Sets the relative size of the line gap in text based calculated size. The value must be a percentage.
364 Setting this value sets linegap to 0!
365 linerelgap=<number>%
366
367 Line fill
368 Sets the size of the line fill in text. The value must be a percentage (how much line fill its canvas).
369 For example setting value to 100%, means the one line will fill it canvas.
370 linefill=<number>%
371
372 Ellipsis
373 Sets ellipsis mode. The value should be a number.
374 Any value smaller than 0.0 or greater than 1.0 disables ellipsis.
375 A value of 0 means ellipsizing the leftmost portion of the text first, 1 on the other hand the rightmost portion.
376 ellipsis=<number>
377
378 Password
379 Sets if the text is being used for passwords.
380 Enabling this causes all characters to be substituted for '*'. Value must be one of the following:
381 "on" - Enable
382 "off" - Disable
383 password=on/off
384
385 Underline dash width
386 Sets the width of the underline dash (in pixel). The value should be a number.
387 underline_dash_width=<number>
388
389 Underline dash gap
390 Sets the gap of the underline dash (in pixel). The value should be a number.
391 underline_dash_gap=<number>
392
393 Underline height
394 Sets the height of the single underline (in pixel). The value should be a floating number.
395 underline_height=<floatingnumber>
396
397 Gfx Filter
398 Experimental filter, see efl_gfx_filter for more information.
399 gfx_filter='filter name'
400 ]] 330 ]]
401 331
402 params { 332 params {
403 @in style: string; [[A whitespace-separated list of $[property=value] pairs, for example, $[font=sans font_size=30].]] 333 @in style: string; [[A whitespace-separated list of $[attribute=value] pairs, for example,
334 $[font=sans font_size=30 color=white].]]
404 } 335 }
405 } 336 }
406 @property all_styles { 337 @property all_styles {
407 [[A string representing the complete set of styles applied to this text object. 338 [[A string representing the complete set of attributes applied to this text object.
408 This includes the default attributes plus any additional style applied with @.style_apply 339 This includes the default attributes plus any additional style applied with @.style_apply
409 or individual style properties like @Efl.Text_Font.font_slant or @Efl.Text_Format.wrap.]] 340 or individual style properties like @Efl.Text_Font.font_slant or @Efl.Text_Format.wrap.
341
342 See @.style_apply for the description of all attributes.
343 ]]
410 get {} 344 get {}
411 values { 345 values {
412 style: string; [[A whitespace-separated list of $[property=value] pairs, for example, 346 style: string; [[A whitespace-separated list of $[attribute=value] pairs, for example,
413 $[font=sans size=30]. Do not free.]] 347 $[font=sans font_size=30 color=white].]]
414 } 348 }
415 } 349 }
416 @property size_formatted { 350 @property size_formatted {