1
2 void _evas_text_shadow_color_set(Eo *obj, Evas_Text_Data *pd, int r, int g, int b, int a);
3
4 EOAPI EFL_VOID_FUNC_BODYV(evas_obj_text_shadow_color_set, EFL_FUNC_CALL(r, g, b, a), int r, int g, int b, int a);
5
6 void _evas_text_shadow_color_get(const Eo *obj, Evas_Text_Data *pd, int *r, int *g, int *b, int *a);
7
8 EOAPI EFL_VOID_FUNC_BODYV_CONST(evas_obj_text_shadow_color_get, EFL_FUNC_CALL(r, g, b, a), int *r, int *g, int *b, int *a);
9
10 void _evas_text_ellipsis_set(Eo *obj, Evas_Text_Data *pd, double ellipsis);
11
12
13 static Eina_Error
__eolian_evas_text_ellipsis_set_reflect(Eo * obj,Eina_Value val)14 __eolian_evas_text_ellipsis_set_reflect(Eo *obj, Eina_Value val)
15 {
16 Eina_Error r = 0; double cval;
17 if (!eina_value_double_convert(&val, &cval))
18 {
19 r = EINA_ERROR_VALUE_FAILED;
20 goto end;
21 }
22 evas_obj_text_ellipsis_set(obj, cval);
23 end:
24 eina_value_flush(&val);
25 return r;
26 }
27
28 EOAPI EFL_VOID_FUNC_BODYV(evas_obj_text_ellipsis_set, EFL_FUNC_CALL(ellipsis), double ellipsis);
29
30 double _evas_text_ellipsis_get(const Eo *obj, Evas_Text_Data *pd);
31
32
33 static Eina_Value
__eolian_evas_text_ellipsis_get_reflect(const Eo * obj)34 __eolian_evas_text_ellipsis_get_reflect(const Eo *obj)
35 {
36 double val = evas_obj_text_ellipsis_get(obj);
37 return eina_value_double_init(val);
38 }
39
40 EOAPI EFL_FUNC_BODY_CONST(evas_obj_text_ellipsis_get, double, -1.000000 /* +1.000000 */);
41
42 void _evas_text_bidi_delimiters_set(Eo *obj, Evas_Text_Data *pd, const char *delim);
43
44
45 static Eina_Error
__eolian_evas_text_bidi_delimiters_set_reflect(Eo * obj,Eina_Value val)46 __eolian_evas_text_bidi_delimiters_set_reflect(Eo *obj, Eina_Value val)
47 {
48 Eina_Error r = 0; const char *cval;
49 if (!eina_value_string_convert(&val, &cval))
50 {
51 r = EINA_ERROR_VALUE_FAILED;
52 goto end;
53 }
54 evas_obj_text_bidi_delimiters_set(obj, cval);
55 end:
56 eina_value_flush(&val);
57 return r;
58 }
59
60 EOAPI EFL_VOID_FUNC_BODYV(evas_obj_text_bidi_delimiters_set, EFL_FUNC_CALL(delim), const char *delim);
61
62 const char *_evas_text_bidi_delimiters_get(const Eo *obj, Evas_Text_Data *pd);
63
64
65 static Eina_Value
__eolian_evas_text_bidi_delimiters_get_reflect(const Eo * obj)66 __eolian_evas_text_bidi_delimiters_get_reflect(const Eo *obj)
67 {
68 const char *val = evas_obj_text_bidi_delimiters_get(obj);
69 return eina_value_string_init(val);
70 }
71
72 EOAPI EFL_FUNC_BODY_CONST(evas_obj_text_bidi_delimiters_get, const char *, NULL);
73
74 void _evas_text_outline_color_set(Eo *obj, Evas_Text_Data *pd, int r, int g, int b, int a);
75
76 EOAPI EFL_VOID_FUNC_BODYV(evas_obj_text_outline_color_set, EFL_FUNC_CALL(r, g, b, a), int r, int g, int b, int a);
77
78 void _evas_text_outline_color_get(const Eo *obj, Evas_Text_Data *pd, int *r, int *g, int *b, int *a);
79
80 EOAPI EFL_VOID_FUNC_BODYV_CONST(evas_obj_text_outline_color_get, EFL_FUNC_CALL(r, g, b, a), int *r, int *g, int *b, int *a);
81
82 void _evas_text_glow2_color_set(Eo *obj, Evas_Text_Data *pd, int r, int g, int b, int a);
83
84 EOAPI EFL_VOID_FUNC_BODYV(evas_obj_text_glow2_color_set, EFL_FUNC_CALL(r, g, b, a), int r, int g, int b, int a);
85
86 void _evas_text_glow2_color_get(const Eo *obj, Evas_Text_Data *pd, int *r, int *g, int *b, int *a);
87
88 EOAPI EFL_VOID_FUNC_BODYV_CONST(evas_obj_text_glow2_color_get, EFL_FUNC_CALL(r, g, b, a), int *r, int *g, int *b, int *a);
89
90 void _evas_text_style_set(Eo *obj, Evas_Text_Data *pd, Evas_Text_Style_Type style);
91
92 EOAPI EFL_VOID_FUNC_BODYV(evas_obj_text_style_set, EFL_FUNC_CALL(style), Evas_Text_Style_Type style);
93
94 Evas_Text_Style_Type _evas_text_style_get(const Eo *obj, Evas_Text_Data *pd);
95
96 EOAPI EFL_FUNC_BODY_CONST(evas_obj_text_style_get, Evas_Text_Style_Type, 0);
97
98 void _evas_text_glow_color_set(Eo *obj, Evas_Text_Data *pd, int r, int g, int b, int a);
99
100 EOAPI EFL_VOID_FUNC_BODYV(evas_obj_text_glow_color_set, EFL_FUNC_CALL(r, g, b, a), int r, int g, int b, int a);
101
102 void _evas_text_glow_color_get(const Eo *obj, Evas_Text_Data *pd, int *r, int *g, int *b, int *a);
103
104 EOAPI EFL_VOID_FUNC_BODYV_CONST(evas_obj_text_glow_color_get, EFL_FUNC_CALL(r, g, b, a), int *r, int *g, int *b, int *a);
105
106 int _evas_text_max_descent_get(const Eo *obj, Evas_Text_Data *pd);
107
108 EOAPI EFL_FUNC_BODY_CONST(evas_obj_text_max_descent_get, int, 0);
109
110 void _evas_text_style_pad_get(const Eo *obj, Evas_Text_Data *pd, int *l, int *r, int *t, int *b);
111
112 EOAPI EFL_VOID_FUNC_BODYV_CONST(evas_obj_text_style_pad_get, EFL_FUNC_CALL(l, r, t, b), int *l, int *r, int *t, int *b);
113
114 Efl_Text_Bidirectional_Type _evas_text_direction_get(const Eo *obj, Evas_Text_Data *pd);
115
116 EOAPI EFL_FUNC_BODY_CONST(evas_obj_text_direction_get, Efl_Text_Bidirectional_Type, 0);
117
118 int _evas_text_ascent_get(const Eo *obj, Evas_Text_Data *pd);
119
120 EOAPI EFL_FUNC_BODY_CONST(evas_obj_text_ascent_get, int, 0);
121
122 int _evas_text_horiz_advance_get(const Eo *obj, Evas_Text_Data *pd);
123
124 EOAPI EFL_FUNC_BODY_CONST(evas_obj_text_horiz_advance_get, int, 0);
125
126 int _evas_text_inset_get(const Eo *obj, Evas_Text_Data *pd);
127
128 EOAPI EFL_FUNC_BODY_CONST(evas_obj_text_inset_get, int, 0);
129
130 int _evas_text_max_ascent_get(const Eo *obj, Evas_Text_Data *pd);
131
132 EOAPI EFL_FUNC_BODY_CONST(evas_obj_text_max_ascent_get, int, 0);
133
134 int _evas_text_vert_advance_get(const Eo *obj, Evas_Text_Data *pd);
135
136 EOAPI EFL_FUNC_BODY_CONST(evas_obj_text_vert_advance_get, int, 0);
137
138 int _evas_text_descent_get(const Eo *obj, Evas_Text_Data *pd);
139
140 EOAPI EFL_FUNC_BODY_CONST(evas_obj_text_descent_get, int, 0);
141
142 int _evas_text_last_up_to_pos(const Eo *obj, Evas_Text_Data *pd, int x, int y);
143
144 EOAPI EFL_FUNC_BODYV_CONST(evas_obj_text_last_up_to_pos, int, -1 /* +1 */, EFL_FUNC_CALL(x, y), int x, int y);
145
146 int _evas_text_char_coords_get(const Eo *obj, Evas_Text_Data *pd, int x, int y, int *cx, int *cy, int *cw, int *ch);
147
148 EOAPI EFL_FUNC_BODYV_CONST(evas_obj_text_char_coords_get, int, 0, EFL_FUNC_CALL(x, y, cx, cy, cw, ch), int x, int y, int *cx, int *cy, int *cw, int *ch);
149
150 Eina_Bool _evas_text_char_pos_get(const Eo *obj, Evas_Text_Data *pd, int pos, int *cx, int *cy, int *cw, int *ch);
151
152 EOAPI EFL_FUNC_BODYV_CONST(evas_obj_text_char_pos_get, Eina_Bool, 0, EFL_FUNC_CALL(pos, cx, cy, cw, ch), int pos, int *cx, int *cy, int *cw, int *ch);
153
154 Efl_Object *_evas_text_efl_object_constructor(Eo *obj, Evas_Text_Data *pd);
155
156
157 void _evas_text_efl_object_destructor(Eo *obj, Evas_Text_Data *pd);
158
159
160 void _evas_text_efl_gfx_entity_size_set(Eo *obj, Evas_Text_Data *pd, Eina_Size2D size);
161
162
163 void _evas_text_efl_gfx_entity_scale_set(Eo *obj, Evas_Text_Data *pd, double scale);
164
165
166 void _evas_text_efl_text_text_set(Eo *obj, Evas_Text_Data *pd, const char *text);
167
168
169 const char *_evas_text_efl_text_text_get(const Eo *obj, Evas_Text_Data *pd);
170
171
172 void _evas_text_efl_text_font_font_set(Eo *obj, Evas_Text_Data *pd, const char *font, Efl_Font_Size size);
173
174
175 void _evas_text_efl_text_font_font_get(const Eo *obj, Evas_Text_Data *pd, const char **font, Efl_Font_Size *size);
176
177
178 void _evas_text_efl_text_font_font_source_set(Eo *obj, Evas_Text_Data *pd, const char *font_source);
179
180
181 const char *_evas_text_efl_text_font_font_source_get(const Eo *obj, Evas_Text_Data *pd);
182
183
184 void _evas_text_efl_text_font_font_bitmap_scalable_set(Eo *obj, Evas_Text_Data *pd, Efl_Text_Font_Bitmap_Scalable scalable);
185
186
187 Efl_Text_Font_Bitmap_Scalable _evas_text_efl_text_font_font_bitmap_scalable_get(const Eo *obj, Evas_Text_Data *pd);
188
189
190 void _evas_text_efl_gfx_filter_filter_program_set(Eo *obj, Evas_Text_Data *pd, const char *code, const char *name);
191
192
193 void _evas_text_efl_canvas_filter_internal_filter_dirty(Eo *obj, Evas_Text_Data *pd);
194
195
196 Eina_Bool _evas_text_efl_canvas_filter_internal_filter_input_alpha(Eo *obj, Evas_Text_Data *pd);
197
198
199 Eina_Bool _evas_text_efl_canvas_filter_internal_filter_input_render(Eo *obj, Evas_Text_Data *pd, void *filter, void *engine, void *output, void *drawctx, void *data, int l, int r, int t, int b, int x, int y, Eina_Bool do_async);
200
201
202 void _evas_text_efl_canvas_filter_internal_filter_state_prepare(Eo *obj, Evas_Text_Data *pd, Efl_Canvas_Filter_State *state, void *data);
203
204
205 void _evas_text_efl_canvas_object_paragraph_direction_set(Eo *obj, Evas_Text_Data *pd, Efl_Text_Bidirectional_Type dir);
206
207
208 Efl_Text_Bidirectional_Type _evas_text_efl_canvas_object_paragraph_direction_get(const Eo *obj, Evas_Text_Data *pd);
209
210
211 static Eina_Bool
_evas_text_class_initializer(Efl_Class * klass)212 _evas_text_class_initializer(Efl_Class *klass)
213 {
214 const Efl_Object_Ops *opsp = NULL;
215
216 const Efl_Object_Property_Reflection_Ops *ropsp = NULL;
217
218 #ifndef EVAS_TEXT_EXTRA_OPS
219 #define EVAS_TEXT_EXTRA_OPS
220 #endif
221
222 EFL_OPS_DEFINE(ops,
223 EFL_OBJECT_OP_FUNC(evas_obj_text_shadow_color_set, _evas_text_shadow_color_set),
224 EFL_OBJECT_OP_FUNC(evas_obj_text_shadow_color_get, _evas_text_shadow_color_get),
225 EFL_OBJECT_OP_FUNC(evas_obj_text_ellipsis_set, _evas_text_ellipsis_set),
226 EFL_OBJECT_OP_FUNC(evas_obj_text_ellipsis_get, _evas_text_ellipsis_get),
227 EFL_OBJECT_OP_FUNC(evas_obj_text_bidi_delimiters_set, _evas_text_bidi_delimiters_set),
228 EFL_OBJECT_OP_FUNC(evas_obj_text_bidi_delimiters_get, _evas_text_bidi_delimiters_get),
229 EFL_OBJECT_OP_FUNC(evas_obj_text_outline_color_set, _evas_text_outline_color_set),
230 EFL_OBJECT_OP_FUNC(evas_obj_text_outline_color_get, _evas_text_outline_color_get),
231 EFL_OBJECT_OP_FUNC(evas_obj_text_glow2_color_set, _evas_text_glow2_color_set),
232 EFL_OBJECT_OP_FUNC(evas_obj_text_glow2_color_get, _evas_text_glow2_color_get),
233 EFL_OBJECT_OP_FUNC(evas_obj_text_style_set, _evas_text_style_set),
234 EFL_OBJECT_OP_FUNC(evas_obj_text_style_get, _evas_text_style_get),
235 EFL_OBJECT_OP_FUNC(evas_obj_text_glow_color_set, _evas_text_glow_color_set),
236 EFL_OBJECT_OP_FUNC(evas_obj_text_glow_color_get, _evas_text_glow_color_get),
237 EFL_OBJECT_OP_FUNC(evas_obj_text_max_descent_get, _evas_text_max_descent_get),
238 EFL_OBJECT_OP_FUNC(evas_obj_text_style_pad_get, _evas_text_style_pad_get),
239 EFL_OBJECT_OP_FUNC(evas_obj_text_direction_get, _evas_text_direction_get),
240 EFL_OBJECT_OP_FUNC(evas_obj_text_ascent_get, _evas_text_ascent_get),
241 EFL_OBJECT_OP_FUNC(evas_obj_text_horiz_advance_get, _evas_text_horiz_advance_get),
242 EFL_OBJECT_OP_FUNC(evas_obj_text_inset_get, _evas_text_inset_get),
243 EFL_OBJECT_OP_FUNC(evas_obj_text_max_ascent_get, _evas_text_max_ascent_get),
244 EFL_OBJECT_OP_FUNC(evas_obj_text_vert_advance_get, _evas_text_vert_advance_get),
245 EFL_OBJECT_OP_FUNC(evas_obj_text_descent_get, _evas_text_descent_get),
246 EFL_OBJECT_OP_FUNC(evas_obj_text_last_up_to_pos, _evas_text_last_up_to_pos),
247 EFL_OBJECT_OP_FUNC(evas_obj_text_char_coords_get, _evas_text_char_coords_get),
248 EFL_OBJECT_OP_FUNC(evas_obj_text_char_pos_get, _evas_text_char_pos_get),
249 EFL_OBJECT_OP_FUNC(efl_constructor, _evas_text_efl_object_constructor),
250 EFL_OBJECT_OP_FUNC(efl_destructor, _evas_text_efl_object_destructor),
251 EFL_OBJECT_OP_FUNC(efl_gfx_entity_size_set, _evas_text_efl_gfx_entity_size_set),
252 EFL_OBJECT_OP_FUNC(efl_gfx_entity_scale_set, _evas_text_efl_gfx_entity_scale_set),
253 EFL_OBJECT_OP_FUNC(efl_text_set, _evas_text_efl_text_text_set),
254 EFL_OBJECT_OP_FUNC(efl_text_get, _evas_text_efl_text_text_get),
255 EFL_OBJECT_OP_FUNC(efl_text_font_family_set, _evas_text_efl_text_font_font_family_set),
256 EFL_OBJECT_OP_FUNC(efl_text_font_family_get, _evas_text_efl_text_font_font_family_get),
257 EFL_OBJECT_OP_FUNC(efl_text_font_size_set, _evas_text_efl_text_font_font_size_set),
258 EFL_OBJECT_OP_FUNC(efl_text_font_size_get, _evas_text_efl_text_font_font_size_get),
259 EFL_OBJECT_OP_FUNC(efl_text_font_source_set, _evas_text_efl_text_font_font_source_set),
260 EFL_OBJECT_OP_FUNC(efl_text_font_source_get, _evas_text_efl_text_font_font_source_get),
261 EFL_OBJECT_OP_FUNC(efl_text_font_bitmap_scalable_set, _evas_text_efl_text_font_font_bitmap_scalable_set),
262 EFL_OBJECT_OP_FUNC(efl_text_font_bitmap_scalable_get, _evas_text_efl_text_font_font_bitmap_scalable_get),
263 EFL_OBJECT_OP_FUNC(efl_gfx_filter_program_set, _evas_text_efl_gfx_filter_filter_program_set),
264 EFL_OBJECT_OP_FUNC(evas_filter_dirty, _evas_text_efl_canvas_filter_internal_filter_dirty),
265 EFL_OBJECT_OP_FUNC(evas_filter_input_alpha, _evas_text_efl_canvas_filter_internal_filter_input_alpha),
266 EFL_OBJECT_OP_FUNC(evas_filter_input_render, _evas_text_efl_canvas_filter_internal_filter_input_render),
267 EFL_OBJECT_OP_FUNC(evas_filter_state_prepare, _evas_text_efl_canvas_filter_internal_filter_state_prepare),
268 EFL_OBJECT_OP_FUNC(efl_canvas_object_paragraph_direction_set, _evas_text_efl_canvas_object_paragraph_direction_set),
269 EFL_OBJECT_OP_FUNC(efl_canvas_object_paragraph_direction_get, _evas_text_efl_canvas_object_paragraph_direction_get),
270 EVAS_TEXT_EXTRA_OPS
271 );
272 opsp = &ops;
273
274 static const Efl_Object_Property_Reflection refl_table[] = {
275 {"ellipsis", __eolian_evas_text_ellipsis_set_reflect, __eolian_evas_text_ellipsis_get_reflect},
276 {"bidi_delimiters", __eolian_evas_text_bidi_delimiters_set_reflect, __eolian_evas_text_bidi_delimiters_get_reflect},
277 };
278 static const Efl_Object_Property_Reflection_Ops rops = {
279 refl_table, EINA_C_ARRAY_LENGTH(refl_table)
280 };
281 ropsp = &rops;
282
283 return efl_class_functions_set(klass, opsp, ropsp);
284 }
285
286 static const Efl_Class_Description _evas_text_class_desc = {
287 EO_VERSION,
288 "Evas.Text",
289 EFL_CLASS_TYPE_REGULAR,
290 sizeof(Evas_Text_Data),
291 _evas_text_class_initializer,
292 NULL,
293 NULL
294 };
295
296 EFL_DEFINE_CLASS(evas_text_class_get, &_evas_text_class_desc, EFL_CANVAS_OBJECT_CLASS, EFL_TEXT_INTERFACE, EFL_TEXT_FONT_PROPERTIES_INTERFACE, EFL_CANVAS_FILTER_INTERNAL_MIXIN, NULL);
297
298 #include "evas_text_eo.legacy.c"
299