diff options
Diffstat (limited to 'libraries/edje/src/lib/Edje.h')
-rw-r--r-- | libraries/edje/src/lib/Edje.h | 585 |
1 files changed, 368 insertions, 217 deletions
diff --git a/libraries/edje/src/lib/Edje.h b/libraries/edje/src/lib/Edje.h index 6413014..1449d70 100644 --- a/libraries/edje/src/lib/Edje.h +++ b/libraries/edje/src/lib/Edje.h | |||
@@ -5,7 +5,7 @@ These routines are used for Edje. | |||
5 | 5 | ||
6 | @mainpage Edje Library Documentation | 6 | @mainpage Edje Library Documentation |
7 | @version 1.1 | 7 | @version 1.1 |
8 | @date 2003-2011 | 8 | @date 2003-2012 |
9 | 9 | ||
10 | Please see the @ref authors page for contact details. | 10 | Please see the @ref authors page for contact details. |
11 | 11 | ||
@@ -19,7 +19,7 @@ Please see the @ref authors page for contact details. | |||
19 | 19 | ||
20 | Edje is a complex graphical design & layout library. | 20 | Edje is a complex graphical design & layout library. |
21 | 21 | ||
22 | It doesn't pretend to do containing and regular layout like a widget | 22 | It doesn't intend to do containing and regular layout like a widget |
23 | set, but it is the base for such components. Based on the requirements | 23 | set, but it is the base for such components. Based on the requirements |
24 | of Enlightenment 0.17, Edje should serve all the purposes of creating | 24 | of Enlightenment 0.17, Edje should serve all the purposes of creating |
25 | visual elements (borders of windows, buttons, scrollbars, etc.) and | 25 | visual elements (borders of windows, buttons, scrollbars, etc.) and |
@@ -110,197 +110,11 @@ The application using Edje will then create an object in its Evas | |||
110 | canvas and set the bundle file to use, specifying the @b group name to | 110 | canvas and set the bundle file to use, specifying the @b group name to |
111 | use. Edje will load such information and create all the required | 111 | use. Edje will load such information and create all the required |
112 | children objects with the specified properties as defined in each @b | 112 | children objects with the specified properties as defined in each @b |
113 | part of the given group. See the following annotated example: | 113 | part of the given group. See the following example: |
114 | @include edje_example.c | ||
114 | 115 | ||
115 | @code | 116 | The above example requires the following annotated source Edje file: |
116 | 117 | @include edje_example.edc | |
117 | #include <Eina.h> | ||
118 | #include <Evas.h> | ||
119 | #include <Ecore.h> | ||
120 | #include <Ecore_Evas.h> | ||
121 | #include <Edje.h> | ||
122 | |||
123 | #define WIDTH 320 | ||
124 | #define HEIGHT 240 | ||
125 | |||
126 | static Evas_Object *create_my_group(Evas *canvas, const char *text) | ||
127 | { | ||
128 | Evas_Object *edje; | ||
129 | |||
130 | edje = edje_object_add(canvas); | ||
131 | if (!edje) | ||
132 | { | ||
133 | EINA_LOG_CRIT("could not create edje object!"); | ||
134 | return NULL; | ||
135 | } | ||
136 | |||
137 | if (!edje_object_file_set(edje, "edje_example.edj", "my_group")) | ||
138 | { | ||
139 | int err = edje_object_load_error_get(edje); | ||
140 | const char *errmsg = edje_load_error_str(err); | ||
141 | EINA_LOG_ERR("could not load 'my_group' from edje_example.edj: %s", | ||
142 | errmsg); | ||
143 | |||
144 | evas_object_del(edje); | ||
145 | return NULL; | ||
146 | } | ||
147 | |||
148 | if (text) | ||
149 | { | ||
150 | if (!edje_object_part_text_set(edje, "text", text)) | ||
151 | { | ||
152 | EINA_LOG_WARN("could not set the text. " | ||
153 | "Maybe part 'text' does not exist?"); | ||
154 | } | ||
155 | } | ||
156 | |||
157 | evas_object_move(edje, 0, 0); | ||
158 | evas_object_resize(edje, WIDTH, HEIGHT); | ||
159 | evas_object_show(edje); | ||
160 | return edje; | ||
161 | } | ||
162 | |||
163 | int main(int argc, char *argv[]) | ||
164 | { | ||
165 | Ecore_Evas *window; | ||
166 | Evas *canvas; | ||
167 | Evas_Object *edje; | ||
168 | const char *text; | ||
169 | |||
170 | eina_init(); | ||
171 | evas_init(); | ||
172 | ecore_init(); | ||
173 | ecore_evas_init(); | ||
174 | edje_init(); | ||
175 | |||
176 | window = ecore_evas_new(NULL, 0, 0, WIDTH, HEIGHT, NULL); | ||
177 | if (!window) | ||
178 | { | ||
179 | EINA_LOG_CRIT("could not create window."); | ||
180 | return -1; | ||
181 | } | ||
182 | canvas = ecore_evas_get(window); | ||
183 | |||
184 | text = (argc > 1) ? argv[1] : NULL; | ||
185 | |||
186 | edje = create_my_group(canvas, text); | ||
187 | if (!edje) | ||
188 | return -2; | ||
189 | |||
190 | ecore_evas_show(window); | ||
191 | ecore_main_loop_begin(); | ||
192 | |||
193 | evas_object_del(edje); | ||
194 | ecore_evas_free(window); | ||
195 | |||
196 | return 0; | ||
197 | } | ||
198 | @endcode | ||
199 | |||
200 | It requires the following source Edje file: | ||
201 | @code | ||
202 | // compile: edje_cc edje_example.edc | ||
203 | collections { | ||
204 | group { | ||
205 | name: "my_group"; // must be the same as in edje_example.c | ||
206 | |||
207 | parts { | ||
208 | part { | ||
209 | name: "background"; | ||
210 | type: RECT; // plain boring rectangle | ||
211 | mouse_events: 0; // we don't need any mouse event on the background | ||
212 | |||
213 | // just one state "default" | ||
214 | description { | ||
215 | state: "default" 0.0; // must always exist | ||
216 | color: 255 255 255 255; // white | ||
217 | |||
218 | // define part coordinates: | ||
219 | |||
220 | rel1 { // top-left point at (0, 0) [WIDTH * 0 + 0, HEIGHT * 0 + 0] | ||
221 | relative: 0.0 0.0; | ||
222 | offset: 0 0; | ||
223 | } | ||
224 | rel2 { // bottom-right point at (WIDTH * 1.0 - 1, HEIGHT * 1.0 - 1) | ||
225 | relative: 1.0 1.0; | ||
226 | offset: -1 -1; | ||
227 | } | ||
228 | } | ||
229 | } | ||
230 | |||
231 | part { | ||
232 | name: "text"; | ||
233 | type: TEXT; | ||
234 | mouse_events: 1; // we want to change the color on mouse-over | ||
235 | |||
236 | // 2 states, one "default" and another "over" to be used | ||
237 | // on mouse over effect | ||
238 | |||
239 | description { | ||
240 | state: "default" 0.0; | ||
241 | color: 255 0 0 255; // red | ||
242 | |||
243 | // define part coordinates: | ||
244 | |||
245 | rel1 { // top-left at (WIDTH * 0.1 + 5, HEIGHT * 0.2 + 10) | ||
246 | relative: 0.1 0.2; | ||
247 | offset: 5 10; | ||
248 | } | ||
249 | rel2 { // bottom-right at (WIDTH * 0.9 - 6, HEIGHT * 0.8 - 11) | ||
250 | relative: 0.9 0.8; | ||
251 | offset: -6 -11; | ||
252 | } | ||
253 | |||
254 | // define text specific state details | ||
255 | text { | ||
256 | font: "Sans"; // using fontconfig name! | ||
257 | size: 10; | ||
258 | text: "hello world"; | ||
259 | } | ||
260 | } | ||
261 | |||
262 | description { | ||
263 | state: "over" 0.0; | ||
264 | inherit: "default" 0.0; // copy everything from "default" at this point | ||
265 | |||
266 | color: 0 255 0 255; // override color, now it is green | ||
267 | } | ||
268 | } | ||
269 | |||
270 | // do programs to change color on text mouse in/out (over) | ||
271 | programs { | ||
272 | program { | ||
273 | // what triggers this program: | ||
274 | signal: "mouse,in"; | ||
275 | source: "text"; | ||
276 | |||
277 | // what this program does: | ||
278 | action: STATE_SET "over" 0.0; | ||
279 | target: "text"; | ||
280 | |||
281 | // do the state-set in a nice interpolation animation | ||
282 | // using linear time in 0.1 second | ||
283 | transition: LINEAR 0.1; | ||
284 | } | ||
285 | |||
286 | program { | ||
287 | // what triggers this program: | ||
288 | signal: "mouse,out"; | ||
289 | source: "text"; | ||
290 | |||
291 | // what this program does: | ||
292 | action: STATE_SET "default" 0.0; | ||
293 | target: "text"; | ||
294 | |||
295 | // do the state-set in a nice interpolation animation | ||
296 | // using linear time in 0.1 second | ||
297 | transition: LINEAR 0.1; | ||
298 | } | ||
299 | } | ||
300 | } | ||
301 | } | ||
302 | } | ||
303 | @endcode | ||
304 | 118 | ||
305 | 119 | ||
306 | One should save these files as edje_example.c and edje_example.edc then: | 120 | One should save these files as edje_example.c and edje_example.edc then: |
@@ -452,6 +266,10 @@ param in edje programs | |||
452 | # undef EAPI | 266 | # undef EAPI |
453 | #endif | 267 | #endif |
454 | 268 | ||
269 | #ifdef HAVE_ECORE_IMF | ||
270 | #include <Ecore_IMF.h> | ||
271 | #endif | ||
272 | |||
455 | #ifdef _WIN32 | 273 | #ifdef _WIN32 |
456 | # ifdef EFL_EDJE_BUILD | 274 | # ifdef EFL_EDJE_BUILD |
457 | # ifdef DLL_EXPORT | 275 | # ifdef DLL_EXPORT |
@@ -778,7 +596,7 @@ typedef enum _Edje_External_Param_Type | |||
778 | { | 596 | { |
779 | EDJE_EXTERNAL_PARAM_TYPE_INT, /**< Parameter value is an integer. */ | 597 | EDJE_EXTERNAL_PARAM_TYPE_INT, /**< Parameter value is an integer. */ |
780 | EDJE_EXTERNAL_PARAM_TYPE_DOUBLE, /**< Parameter value is a double. */ | 598 | EDJE_EXTERNAL_PARAM_TYPE_DOUBLE, /**< Parameter value is a double. */ |
781 | EDJE_EXTERNAL_PARAM_TYPE_STRING, /**< Paramater value is a string. */ | 599 | EDJE_EXTERNAL_PARAM_TYPE_STRING, /**< Parameter value is a string. */ |
782 | EDJE_EXTERNAL_PARAM_TYPE_BOOL, /**< Parameter value is boolean. */ | 600 | EDJE_EXTERNAL_PARAM_TYPE_BOOL, /**< Parameter value is boolean. */ |
783 | EDJE_EXTERNAL_PARAM_TYPE_CHOICE, /**< Parameter value is one of a set of | 601 | EDJE_EXTERNAL_PARAM_TYPE_CHOICE, /**< Parameter value is one of a set of |
784 | predefined string choices. */ | 602 | predefined string choices. */ |
@@ -791,10 +609,10 @@ typedef enum _Edje_External_Param_Type | |||
791 | */ | 609 | */ |
792 | typedef enum _Edje_External_Param_Flags | 610 | typedef enum _Edje_External_Param_Flags |
793 | { | 611 | { |
794 | EDJE_EXTERNAL_PARAM_FLAGS_NONE = 0, /**< Propery is incapable of operations, this is used to catch bogus flags. */ | 612 | EDJE_EXTERNAL_PARAM_FLAGS_NONE = 0, /**< Property is incapable of operations, this is used to catch bogus flags. */ |
795 | EDJE_EXTERNAL_PARAM_FLAGS_GET = (1 << 0), /**< Property can be read/get. */ | 613 | EDJE_EXTERNAL_PARAM_FLAGS_GET = (1 << 0), /**< Property can be read/get. */ |
796 | EDJE_EXTERNAL_PARAM_FLAGS_SET = (1 << 1), /**< Property can be written/set. This only enables edje_object_part_external_param_set() and Embryo scripts. To enable the parameter being set from state description whenever it changes state, use #EDJE_EXTERNAL_PARAM_FLAGS_STATE. */ | 614 | EDJE_EXTERNAL_PARAM_FLAGS_SET = (1 << 1), /**< Property can be written/set. This only enables edje_object_part_external_param_set() and Embryo scripts. To enable the parameter being set from state description whenever it changes state, use #EDJE_EXTERNAL_PARAM_FLAGS_STATE. */ |
797 | EDJE_EXTERNAL_PARAM_FLAGS_STATE = (1 << 2), /**< Property can be set from state dsecription. */ | 615 | EDJE_EXTERNAL_PARAM_FLAGS_STATE = (1 << 2), /**< Property can be set from state description. */ |
798 | EDJE_EXTERNAL_PARAM_FLAGS_CONSTRUCTOR = (1 << 3), /**< This property is only set once when the object is constructed using its value from "default" 0.0 state description. Setting this overrides #EDJE_EXTERNAL_PARAM_FLAGS_STATE. */ | 616 | EDJE_EXTERNAL_PARAM_FLAGS_CONSTRUCTOR = (1 << 3), /**< This property is only set once when the object is constructed using its value from "default" 0.0 state description. Setting this overrides #EDJE_EXTERNAL_PARAM_FLAGS_STATE. */ |
799 | EDJE_EXTERNAL_PARAM_FLAGS_REGULAR = (EDJE_EXTERNAL_PARAM_FLAGS_GET | | 617 | EDJE_EXTERNAL_PARAM_FLAGS_REGULAR = (EDJE_EXTERNAL_PARAM_FLAGS_GET | |
800 | EDJE_EXTERNAL_PARAM_FLAGS_SET | | 618 | EDJE_EXTERNAL_PARAM_FLAGS_SET | |
@@ -817,6 +635,24 @@ typedef enum _Edje_Input_Panel_Layout | |||
817 | EDJE_INPUT_PANEL_LAYOUT_PASSWORD /**< Like normal, but no auto-correct, no auto-capitalization etc. @since 1.2 */ | 635 | EDJE_INPUT_PANEL_LAYOUT_PASSWORD /**< Like normal, but no auto-correct, no auto-capitalization etc. @since 1.2 */ |
818 | } Edje_Input_Panel_Layout; | 636 | } Edje_Input_Panel_Layout; |
819 | 637 | ||
638 | typedef enum _Edje_Input_Panel_Lang | ||
639 | { | ||
640 | EDJE_INPUT_PANEL_LANG_AUTOMATIC, /**< Automatic @since 1.2 */ | ||
641 | EDJE_INPUT_PANEL_LANG_ALPHABET /**< Alphabet @since 1.2 */ | ||
642 | } Edje_Input_Panel_Lang; | ||
643 | |||
644 | typedef enum _Edje_Input_Panel_Return_Key_Type | ||
645 | { | ||
646 | EDJE_INPUT_PANEL_RETURN_KEY_TYPE_DEFAULT, /**< Default @since 1.2 */ | ||
647 | EDJE_INPUT_PANEL_RETURN_KEY_TYPE_DONE, /**< Done @since 1.2 */ | ||
648 | EDJE_INPUT_PANEL_RETURN_KEY_TYPE_GO, /**< Go @since 1.2 */ | ||
649 | EDJE_INPUT_PANEL_RETURN_KEY_TYPE_JOIN, /**< Join @since 1.2 */ | ||
650 | EDJE_INPUT_PANEL_RETURN_KEY_TYPE_LOGIN, /**< Login @since 1.2 */ | ||
651 | EDJE_INPUT_PANEL_RETURN_KEY_TYPE_NEXT, /**< Next @since 1.2 */ | ||
652 | EDJE_INPUT_PANEL_RETURN_KEY_TYPE_SEARCH, /**< Search or magnifier icon @since 1.2 */ | ||
653 | EDJE_INPUT_PANEL_RETURN_KEY_TYPE_SEND /**< Send @since 1.2 */ | ||
654 | } Edje_Input_Panel_Return_Key_Type; | ||
655 | |||
820 | /** | 656 | /** |
821 | * @brief Converts type identifier to string nicer representation. | 657 | * @brief Converts type identifier to string nicer representation. |
822 | * | 658 | * |
@@ -886,18 +722,18 @@ struct _Edje_External_Param_Info | |||
886 | used. */ | 722 | used. */ |
887 | union { | 723 | union { |
888 | struct { | 724 | struct { |
889 | int def, /**< Default value for the paramter. */ | 725 | int def, /**< Default value for the parameter. */ |
890 | min, /**< Minimum value it can have. */ | 726 | min, /**< Minimum value it can have. */ |
891 | max, /**< Maximum value it can have. */ | 727 | max, /**< Maximum value it can have. */ |
892 | step; /**< Values will be a multiple of this. */ | 728 | step; /**< Values will be a multiple of this. */ |
893 | } i; /**< Info about integer type parametrs. Use #EDJE_EXTERNAL_INT_UNSET | 729 | } i; /**< Info about integer type parameters. Use #EDJE_EXTERNAL_INT_UNSET |
894 | on any of them to indicate they are not defined.*/ | 730 | on any of them to indicate they are not defined.*/ |
895 | struct { | 731 | struct { |
896 | double def, /**< Default value for the paramter. */ | 732 | double def, /**< Default value for the parameter. */ |
897 | min, /**< Minimum value it can have. */ | 733 | min, /**< Minimum value it can have. */ |
898 | max, /**< Maximum value it can have. */ | 734 | max, /**< Maximum value it can have. */ |
899 | step; /**< Values will be a multiple of this. */ | 735 | step; /**< Values will be a multiple of this. */ |
900 | } d; /**< Info about double type parametrs. Use | 736 | } d; /**< Info about double type parameters. Use |
901 | #EDJE_EXTERNAL_DOUBLE_UNSET on any of them to indicate they are not defined.*/ | 737 | #EDJE_EXTERNAL_DOUBLE_UNSET on any of them to indicate they are not defined.*/ |
902 | struct { | 738 | struct { |
903 | const char *def; /**< Default value. */ | 739 | const char *def; /**< Default value. */ |
@@ -1054,6 +890,7 @@ typedef void (*Edje_Signal_Cb) (void *data, Evas_Object *obj, c | |||
1054 | typedef void (*Edje_Text_Change_Cb) (void *data, Evas_Object *obj, const char *part); | 890 | typedef void (*Edje_Text_Change_Cb) (void *data, Evas_Object *obj, const char *part); |
1055 | typedef void (*Edje_Message_Handler_Cb) (void *data, Evas_Object *obj, Edje_Message_Type type, int id, void *msg); /**< Edje message handler callback functions's prototype definition. @c data will have the auxiliary data pointer set at the time the callback registration. @c obj will be a pointer the Edje object where the message comes from. @c type will identify the type of the given message and @c msg will be a pointer the message's contents, de facto, which depend on @c type. */ | 891 | typedef void (*Edje_Message_Handler_Cb) (void *data, Evas_Object *obj, Edje_Message_Type type, int id, void *msg); /**< Edje message handler callback functions's prototype definition. @c data will have the auxiliary data pointer set at the time the callback registration. @c obj will be a pointer the Edje object where the message comes from. @c type will identify the type of the given message and @c msg will be a pointer the message's contents, de facto, which depend on @c type. */ |
1056 | typedef void (*Edje_Text_Filter_Cb) (void *data, Evas_Object *obj, const char *part, Edje_Text_Filter_Type type, char **text); | 892 | typedef void (*Edje_Text_Filter_Cb) (void *data, Evas_Object *obj, const char *part, Edje_Text_Filter_Type type, char **text); |
893 | typedef void (*Edje_Markup_Filter_Cb) (void *data, Evas_Object *obj, const char *part, char **text); | ||
1057 | typedef Evas_Object *(*Edje_Item_Provider_Cb) (void *data, Evas_Object *obj, const char *part, const char *item); | 894 | typedef Evas_Object *(*Edje_Item_Provider_Cb) (void *data, Evas_Object *obj, const char *part, const char *item); |
1058 | 895 | ||
1059 | /** | 896 | /** |
@@ -1187,7 +1024,7 @@ EAPI const char *edje_fontset_append_get (void); | |||
1187 | * edje_object_scale_set(), that factor will @b override the global | 1024 | * edje_object_scale_set(), that factor will @b override the global |
1188 | * one. | 1025 | * one. |
1189 | * | 1026 | * |
1190 | * Scaling affects the values of mininum/maximum @b part sizes, which | 1027 | * Scaling affects the values of minimum/maximum @b part sizes, which |
1191 | * are @b multiplied by it. Font sizes are scaled, too. | 1028 | * are @b multiplied by it. Font sizes are scaled, too. |
1192 | * | 1029 | * |
1193 | * @warning Only parts which, at EDC level, had the @c "scale" | 1030 | * @warning Only parts which, at EDC level, had the @c "scale" |
@@ -1244,7 +1081,7 @@ EAPI void edje_password_show_last_timeout_set(double password_show_last_timeout) | |||
1244 | * | 1081 | * |
1245 | * @param obj A handle to an Edje object | 1082 | * @param obj A handle to an Edje object |
1246 | * @param scale The scaling factor (the default value is @c 0.0, | 1083 | * @param scale The scaling factor (the default value is @c 0.0, |
1247 | * meaning indivinual scaling @b not set) | 1084 | * meaning individual scaling @b not set) |
1248 | * | 1085 | * |
1249 | * This function sets an @b individual scaling factor on the @a obj | 1086 | * This function sets an @b individual scaling factor on the @a obj |
1250 | * Edje object. This property (or Edje's global scaling factor, when | 1087 | * Edje object. This property (or Edje's global scaling factor, when |
@@ -1663,9 +1500,9 @@ EAPI void edje_box_layout_register (const char *name, Evas_Object | |||
1663 | * | 1500 | * |
1664 | * @note You can get a callback every time edje re-calculates the object | 1501 | * @note You can get a callback every time edje re-calculates the object |
1665 | * (either due to animation or some kind of signal or input). This is called | 1502 | * (either due to animation or some kind of signal or input). This is called |
1666 | * in-line just after the recalculation has occured. It is a good idea not | 1503 | * in-line just after the recalculation has occurred. It is a good idea not |
1667 | * to go and delete or alter the object inside this callbacks, simply make | 1504 | * to go and delete or alter the object inside this callbacks, simply make |
1668 | * a note that the recalculation has taken place and then do somethnig about | 1505 | * a note that the recalculation has taken place and then do something about |
1669 | * it outside the callback. to register a callback use code like: | 1506 | * it outside the callback. to register a callback use code like: |
1670 | * | 1507 | * |
1671 | * @code | 1508 | * @code |
@@ -1883,7 +1720,7 @@ EAPI Eina_Bool edje_object_preload (Evas_Object *obj, Eina_Bool c | |||
1883 | * buttons on an interface, you'd be registering for notifications on | 1720 | * buttons on an interface, you'd be registering for notifications on |
1884 | * events of mouse buttons being pressed down on either of those parts | 1721 | * events of mouse buttons being pressed down on either of those parts |
1885 | * (those events all have the @c "mouse,down," common prefix on their | 1722 | * (those events all have the @c "mouse,down," common prefix on their |
1886 | * names, with a suffix giving the button number). The actual emisson | 1723 | * names, with a suffix giving the button number). The actual emission |
1887 | * and source strings of an event will be passed in as the @a emission | 1724 | * and source strings of an event will be passed in as the @a emission |
1888 | * and @a source parameters of the callback function (e.g. @c | 1725 | * and @a source parameters of the callback function (e.g. @c |
1889 | * "mouse,down,2" and @c "button.close"), for each of those events. | 1726 | * "mouse,down,2" and @c "button.close"), for each of those events. |
@@ -2214,6 +2051,27 @@ EAPI Eina_Bool edje_object_text_class_set (Evas_Object *obj, const c | |||
2214 | EAPI void edje_object_size_min_get (const Evas_Object *obj, Evas_Coord *minw, Evas_Coord *minh); | 2051 | EAPI void edje_object_size_min_get (const Evas_Object *obj, Evas_Coord *minw, Evas_Coord *minh); |
2215 | 2052 | ||
2216 | /** | 2053 | /** |
2054 | * @brief Edje will automatically update the size hints on itself. | ||
2055 | * | ||
2056 | * @param obj A handle to an Edje object. | ||
2057 | * @param update Wether or not update the size hints. | ||
2058 | * | ||
2059 | * By default edje doesn't set size hints on itself. With this function | ||
2060 | * call, it will do so if update is true. Be carefully, it cost a lot to | ||
2061 | * trigger this feature as it will recalc the object every time it make | ||
2062 | * sense to be sure that's its minimal size hint is always accurate. | ||
2063 | */ | ||
2064 | EAPI void edje_object_update_hints_set(Evas_Object *obj, Eina_Bool update); | ||
2065 | |||
2066 | /** | ||
2067 | * @brief Wether or not Edje will update size hints on itself. | ||
2068 | * | ||
2069 | * @param obj A handle to an Edje object. | ||
2070 | * @return @c true if does, @c false if it doesn't. | ||
2071 | */ | ||
2072 | EAPI Eina_Bool edje_object_update_hints_get(Evas_Object *obj); | ||
2073 | |||
2074 | /** | ||
2217 | * @brief Get the maximum size specified -- as an EDC property -- for a | 2075 | * @brief Get the maximum size specified -- as an EDC property -- for a |
2218 | * given Edje object | 2076 | * given Edje object |
2219 | * | 2077 | * |
@@ -2362,12 +2220,12 @@ EAPI Eina_Bool edje_object_part_exists (const Evas_Object *obj, c | |||
2362 | * @return A pointer to the Evas object implementing the given part, | 2220 | * @return A pointer to the Evas object implementing the given part, |
2363 | * or @c NULL on failure (e.g. the given part doesn't exist) | 2221 | * or @c NULL on failure (e.g. the given part doesn't exist) |
2364 | * | 2222 | * |
2365 | * This function gets a pointer the Evas object corresponding to a | 2223 | * This function gets a pointer of the Evas object corresponding to a |
2366 | * given part in the @p obj object's group. | 2224 | * given part in the @p obj object's group. |
2367 | * | 2225 | * |
2368 | * You should @b never modify the state of the returned object (with | 2226 | * You should @b never modify the state of the returned object (with |
2369 | * @c evas_object_move() or @c evas_object_hide() for example), | 2227 | * @c evas_object_move() or @c evas_object_hide() for example), |
2370 | * because it's meant to be managed be Edje, solely. You are safe to | 2228 | * because it's meant to be managed by Edje, solely. You are safe to |
2371 | * query information about its current state (with @c | 2229 | * query information about its current state (with @c |
2372 | * evas_object_visible_get() or @c evas_object_color_get() for | 2230 | * evas_object_visible_get() or @c evas_object_color_get() for |
2373 | * example), though. | 2231 | * example), though. |
@@ -2448,6 +2306,43 @@ EAPI Eina_Bool edje_object_part_text_set (Evas_Object *obj, const c | |||
2448 | EAPI const char *edje_object_part_text_get (const Evas_Object *obj, const char *part); | 2306 | EAPI const char *edje_object_part_text_get (const Evas_Object *obj, const char *part); |
2449 | 2307 | ||
2450 | /** | 2308 | /** |
2309 | * @brief Set the style of the | ||
2310 | * | ||
2311 | * @param obj A valid Evas_Object handle | ||
2312 | * @param part The part name | ||
2313 | * @param style The style to set (textblock conventions). | ||
2314 | * | ||
2315 | * This function sets the style associated with the textblock part. | ||
2316 | * | ||
2317 | * @since 1.2.0 | ||
2318 | */ | ||
2319 | EAPI void edje_object_part_text_style_user_push(Evas_Object *obj, const char *part, const char *style); | ||
2320 | |||
2321 | /** | ||
2322 | * @brief Return the text of the object part. | ||
2323 | * | ||
2324 | * @param obj A valid Evas_Object handle | ||
2325 | * @param part The part name | ||
2326 | * | ||
2327 | * @return The text string | ||
2328 | * | ||
2329 | * This function returns the style associated with the textblock part. | ||
2330 | * | ||
2331 | * @since 1.2.0 | ||
2332 | */ | ||
2333 | EAPI const char *edje_object_part_text_style_user_peek(const Evas_Object *obj, const char *part); | ||
2334 | |||
2335 | /** | ||
2336 | * @brief Delete the top style form the user style stack. | ||
2337 | * | ||
2338 | * @param obj A valid Evas_Object handle | ||
2339 | * @param part The part name | ||
2340 | * | ||
2341 | * @since 1.2.0 | ||
2342 | */ | ||
2343 | EAPI void edje_object_part_text_style_user_pop(Evas_Object *obj, const char *part); | ||
2344 | |||
2345 | /** | ||
2451 | * @brief Sets the raw (non escaped) text for an object part. | 2346 | * @brief Sets the raw (non escaped) text for an object part. |
2452 | * | 2347 | * |
2453 | * @param obj A valid Evas Object handle | 2348 | * @param obj A valid Evas Object handle |
@@ -2615,6 +2510,15 @@ EAPI Eina_Bool edje_object_part_text_item_geometry_get (const Evas_ | |||
2615 | EAPI void edje_object_part_text_cursor_geometry_get (const Evas_Object *obj, const char *part, Evas_Coord *x, Evas_Coord *y, Evas_Coord *w, Evas_Coord *h); | 2510 | EAPI void edje_object_part_text_cursor_geometry_get (const Evas_Object *obj, const char *part, Evas_Coord *x, Evas_Coord *y, Evas_Coord *w, Evas_Coord *h); |
2616 | 2511 | ||
2617 | /** | 2512 | /** |
2513 | * @brief Deletes the selection and emits a change event. | ||
2514 | * | ||
2515 | * @param obj A valid Evas_Object handle | ||
2516 | * @param part The part name | ||
2517 | * @since 1.2.0 | ||
2518 | */ | ||
2519 | EAPI void edje_object_part_text_user_insert (const Evas_Object *obj, const char *part, const char *text); | ||
2520 | |||
2521 | /** | ||
2618 | * @brief Enables selection if the entry is an EXPLICIT selection mode | 2522 | * @brief Enables selection if the entry is an EXPLICIT selection mode |
2619 | * type. | 2523 | * type. |
2620 | * | 2524 | * |
@@ -2813,8 +2717,33 @@ EAPI void edje_object_part_text_cursor_pos_set (Evas_Ob | |||
2813 | EAPI int edje_object_part_text_cursor_pos_get (const Evas_Object *obj, const char *part, Edje_Cursor cur); | 2717 | EAPI int edje_object_part_text_cursor_pos_get (const Evas_Object *obj, const char *part, Edje_Cursor cur); |
2814 | 2718 | ||
2815 | /** | 2719 | /** |
2720 | * @brief Reset the input method context if needed. | ||
2721 | * | ||
2722 | * This can be necessary in the case where modifying the buffer would confuse on-going input method behavior | ||
2723 | * | ||
2724 | * @param obj A valid Evas_Object handle | ||
2725 | * @param part The part name | ||
2726 | * @since 1.2.0 | ||
2727 | */ | ||
2728 | EAPI void edje_object_part_text_imf_context_reset (const Evas_Object *obj, const char *part); | ||
2729 | |||
2730 | /** | ||
2731 | * @brief Get the input method context in entry. | ||
2732 | * | ||
2733 | * If ecore_imf was not available when edje was compiled, this function returns NULL | ||
2734 | * otherwise, the returned pointer is an Ecore_IMF * | ||
2735 | * | ||
2736 | * @param obj A valid Evas_Object handle | ||
2737 | * @param part The part name | ||
2738 | * | ||
2739 | * @return The input method context (Ecore_IMF_Context *) in entry | ||
2740 | * @since 1.2.0 | ||
2741 | */ | ||
2742 | EAPI void *edje_object_part_text_imf_context_get (const Evas_Object *obj, const char *part); | ||
2743 | |||
2744 | /** | ||
2816 | * @brief Set the layout of the input panel. | 2745 | * @brief Set the layout of the input panel. |
2817 | * | 2746 | * |
2818 | * The layout of the input panel or virtual keyboard can make it easier or | 2747 | * The layout of the input panel or virtual keyboard can make it easier or |
2819 | * harder to enter content. This allows you to hint what kind of input you | 2748 | * harder to enter content. This allows you to hint what kind of input you |
2820 | * are expecting to enter and thus have the input panel automatically | 2749 | * are expecting to enter and thus have the input panel automatically |
@@ -2825,7 +2754,7 @@ EAPI int edje_object_part_text_cursor_pos_get (const E | |||
2825 | * @param layout layout type | 2754 | * @param layout layout type |
2826 | * @since 1.1 | 2755 | * @since 1.1 |
2827 | */ | 2756 | */ |
2828 | EAPI void edje_object_part_text_input_panel_layout_set (const Evas_Object *obj, const char *part, Edje_Input_Panel_Layout layout); | 2757 | EAPI void edje_object_part_text_input_panel_layout_set (Evas_Object *obj, const char *part, Edje_Input_Panel_Layout layout); |
2829 | 2758 | ||
2830 | /** | 2759 | /** |
2831 | * @brief Get the layout of the input panel. | 2760 | * @brief Get the layout of the input panel. |
@@ -2848,7 +2777,7 @@ EAPI Edje_Input_Panel_Layout edje_object_part_text_input_panel_layout_get (const | |||
2848 | * @param autocapital_type The type of autocapitalization | 2777 | * @param autocapital_type The type of autocapitalization |
2849 | * @since 1.1.0 | 2778 | * @since 1.1.0 |
2850 | */ | 2779 | */ |
2851 | EAPI void edje_object_part_text_autocapital_type_set (const Evas_Object *obj, const char *part, Edje_Text_Autocapital_Type autocapital_type); | 2780 | EAPI void edje_object_part_text_autocapital_type_set (Evas_Object *obj, const char *part, Edje_Text_Autocapital_Type autocapital_type); |
2852 | 2781 | ||
2853 | /** | 2782 | /** |
2854 | * @brief Retrieves the autocapitalization type | 2783 | * @brief Retrieves the autocapitalization type |
@@ -2861,6 +2790,26 @@ EAPI void edje_object_part_text_autocapital_type_set (const Evas_ | |||
2861 | EAPI Edje_Text_Autocapital_Type edje_object_part_text_autocapital_type_get (const Evas_Object *obj, const char *part); | 2790 | EAPI Edje_Text_Autocapital_Type edje_object_part_text_autocapital_type_get (const Evas_Object *obj, const char *part); |
2862 | 2791 | ||
2863 | /** | 2792 | /** |
2793 | * @brief Set whether the prediction is allowed or not. | ||
2794 | * | ||
2795 | * @param obj A valid Evas_Object handle | ||
2796 | * @param part The part name | ||
2797 | * @param prediction If true, the prediction feature is allowed. | ||
2798 | * @since 1.2.0 | ||
2799 | */ | ||
2800 | EAPI void edje_object_part_text_prediction_allow_set (Evas_Object *obj, const char *part, Eina_Bool prediction); | ||
2801 | |||
2802 | /** | ||
2803 | * @brief Get whether the prediction is allowed or not. | ||
2804 | * | ||
2805 | * @param obj A valid Evas_Object handle | ||
2806 | * @param part The part name | ||
2807 | * @return EINA_TRUE if prediction feature is allowed. | ||
2808 | * @since 1.2.0 | ||
2809 | */ | ||
2810 | EAPI Eina_Bool edje_object_part_text_prediction_allow_get (const Evas_Object *obj, const char *part); | ||
2811 | |||
2812 | /** | ||
2864 | * @brief Sets the attribute to show the input panel automatically. | 2813 | * @brief Sets the attribute to show the input panel automatically. |
2865 | * | 2814 | * |
2866 | * @param obj A valid Evas_Object handle | 2815 | * @param obj A valid Evas_Object handle |
@@ -2868,7 +2817,7 @@ EAPI Edje_Text_Autocapital_Type edje_object_part_text_autocapital_type_get (cons | |||
2868 | * @param enabled If true, the input panel is appeared when entry is clicked or has a focus | 2817 | * @param enabled If true, the input panel is appeared when entry is clicked or has a focus |
2869 | * @since 1.1.0 | 2818 | * @since 1.1.0 |
2870 | */ | 2819 | */ |
2871 | EAPI void edje_object_part_text_input_panel_enabled_set (const Evas_Object *obj, const char *part, Eina_Bool enabled); | 2820 | EAPI void edje_object_part_text_input_panel_enabled_set (Evas_Object *obj, const char *part, Eina_Bool enabled); |
2872 | 2821 | ||
2873 | /** | 2822 | /** |
2874 | * @brief Retrieve the attribute to show the input panel automatically. | 2823 | * @brief Retrieve the attribute to show the input panel automatically. |
@@ -2882,6 +2831,125 @@ EAPI void edje_object_part_text_input_panel_enabled_set (const Evas_ | |||
2882 | EAPI Eina_Bool edje_object_part_text_input_panel_enabled_get (const Evas_Object *obj, const char *part); | 2831 | EAPI Eina_Bool edje_object_part_text_input_panel_enabled_get (const Evas_Object *obj, const char *part); |
2883 | 2832 | ||
2884 | /** | 2833 | /** |
2834 | * @brief Show the input panel (virtual keyboard) based on the input panel property such as layout, autocapital types, and so on. | ||
2835 | * | ||
2836 | * Note that input panel is shown or hidden automatically according to the focus state. | ||
2837 | * This API can be used in the case of manually controlling by using edje_object_part_text_input_panel_enabled_set. | ||
2838 | * | ||
2839 | * @param obj A valid Evas_Object handle | ||
2840 | * @param part The part name | ||
2841 | * @since 1.2.0 | ||
2842 | */ | ||
2843 | EAPI void edje_object_part_text_input_panel_show(const Evas_Object *obj, const char *part); | ||
2844 | |||
2845 | /** | ||
2846 | * @brief Hide the input panel (virtual keyboard). | ||
2847 | * @see edje_object_part_text_input_panel_show | ||
2848 | * | ||
2849 | * Note that input panel is shown or hidden automatically according to the focus state. | ||
2850 | * This API can be used in the case of manually controlling by using edje_object_part_text_input_panel_enabled_set. | ||
2851 | * | ||
2852 | * @param obj A valid Evas_Object handle | ||
2853 | * @param part The part name | ||
2854 | * @since 1.2.0 | ||
2855 | */ | ||
2856 | EAPI void edje_object_part_text_input_panel_hide(const Evas_Object *obj, const char *part); | ||
2857 | |||
2858 | /** | ||
2859 | * Set the language mode of the input panel. | ||
2860 | * | ||
2861 | * This API can be used if you want to show the Alphabet keyboard. | ||
2862 | * | ||
2863 | * @param obj A valid Evas_Object handle | ||
2864 | * @param part The part name | ||
2865 | * @param lang the language to be set to the input panel. | ||
2866 | * @since 1.2.0 | ||
2867 | */ | ||
2868 | EAPI void edje_object_part_text_input_panel_language_set(Evas_Object *obj, const char *part, Edje_Input_Panel_Lang lang); | ||
2869 | |||
2870 | /** | ||
2871 | * Get the language mode of the input panel. | ||
2872 | * | ||
2873 | * See @ref edje_object_part_text_input_panel_language_set for more details. | ||
2874 | * | ||
2875 | * @param obj A valid Evas_Object handle | ||
2876 | * @param part The part name | ||
2877 | * @return input panel language type | ||
2878 | * @since 1.2.0 | ||
2879 | */ | ||
2880 | EAPI Edje_Input_Panel_Lang edje_object_part_text_input_panel_language_get(const Evas_Object *obj, const char *part); | ||
2881 | |||
2882 | /** | ||
2883 | * Set the input panel-specific data to deliver to the input panel. | ||
2884 | * | ||
2885 | * This API is used by applications to deliver specific data to the input panel. | ||
2886 | * The data format MUST be negotiated by both application and the input panel. | ||
2887 | * The size and format of data are defined by the input panel. | ||
2888 | * | ||
2889 | * @param obj A valid Evas_Object handle | ||
2890 | * @param part The part name | ||
2891 | * @param data The specific data to be set to the input panel. | ||
2892 | * @param len the length of data, in bytes, to send to the input panel | ||
2893 | * @since 1.2.0 | ||
2894 | */ | ||
2895 | EAPI void edje_object_part_text_input_panel_imdata_set(Evas_Object *obj, const char *part, const void *data, int len); | ||
2896 | |||
2897 | /** | ||
2898 | * Get the specific data of the current active input panel. | ||
2899 | * | ||
2900 | * @param obj A valid Evas_Object handle | ||
2901 | * @param part The part name | ||
2902 | * @param data The specific data to be got from the input panel | ||
2903 | * @param len The length of data | ||
2904 | * @since 1.2.0 | ||
2905 | */ | ||
2906 | EAPI void edje_object_part_text_input_panel_imdata_get(const Evas_Object *obj, const char *part, void *data, int *len); | ||
2907 | |||
2908 | /** | ||
2909 | * Set the "return" key type. This type is used to set string or icon on the "return" key of the input panel. | ||
2910 | * | ||
2911 | * An input panel displays the string or icon associated with this type | ||
2912 | * | ||
2913 | * @param obj A valid Evas_Object handle | ||
2914 | * @param part The part name | ||
2915 | * @param return_key_type The type of "return" key on the input panel | ||
2916 | * @since 1.2.0 | ||
2917 | */ | ||
2918 | EAPI void edje_object_part_text_input_panel_return_key_type_set(Evas_Object *obj, const char *part, Edje_Input_Panel_Return_Key_Type return_key_type); | ||
2919 | |||
2920 | /** | ||
2921 | * Get the "return" key type. | ||
2922 | * | ||
2923 | * @see edje_object_part_text_input_panel_return_key_type_set() for more details | ||
2924 | * | ||
2925 | * @param obj A valid Evas_Object handle | ||
2926 | * @param part The part name | ||
2927 | * @return The type of "return" key on the input panel | ||
2928 | * @since 1.2.0 | ||
2929 | */ | ||
2930 | EAPI Edje_Input_Panel_Return_Key_Type edje_object_part_text_input_panel_return_key_type_get(const Evas_Object *obj, const char *part); | ||
2931 | |||
2932 | /** | ||
2933 | * Set the return key on the input panel to be disabled. | ||
2934 | * | ||
2935 | * @param obj A valid Evas_Object handle | ||
2936 | * @param part The part name | ||
2937 | * @param disabled The state | ||
2938 | * @since 1.2.0 | ||
2939 | */ | ||
2940 | EAPI void edje_object_part_text_input_panel_return_key_disabled_set(Evas_Object *obj, const char *part, Eina_Bool disabled); | ||
2941 | |||
2942 | /** | ||
2943 | * Get whether the return key on the input panel should be disabled or not. | ||
2944 | * | ||
2945 | * @param obj A valid Evas_Object handle | ||
2946 | * @param part The part name | ||
2947 | * @return EINA_TRUE if it should be disabled | ||
2948 | * @since 1.2.0 | ||
2949 | */ | ||
2950 | EAPI Eina_Bool edje_object_part_text_input_panel_return_key_disabled_get(const Evas_Object *obj, const char *part); | ||
2951 | |||
2952 | /** | ||
2885 | * Add a filter function for newly inserted text. | 2953 | * Add a filter function for newly inserted text. |
2886 | * | 2954 | * |
2887 | * Whenever text is inserted (not the same as set) into the given @p part, | 2955 | * Whenever text is inserted (not the same as set) into the given @p part, |
@@ -2897,8 +2965,20 @@ EAPI Eina_Bool edje_object_part_text_input_panel_enabled_get (const Evas_ | |||
2897 | * will make Edje break out of the filter cycle and reject the inserted | 2965 | * will make Edje break out of the filter cycle and reject the inserted |
2898 | * text. | 2966 | * text. |
2899 | * | 2967 | * |
2968 | * @warning This function will be deprecated because of difficulty in use. | ||
2969 | * The type(format, text, or markup) of text should be always | ||
2970 | * checked in the filter function for correct filtering. | ||
2971 | * Please use edje_object_text_markup_filter_callback_add() instead. There | ||
2972 | * is no need to check the type of text in the filter function | ||
2973 | * because the text is always markup. | ||
2974 | * @warning If you use this function with | ||
2975 | * edje_object_text_markup_filter_callback_add() together, all | ||
2976 | * Edje_Text_Filter_Cb functions and Edje_Markup_Filter_Cb functions | ||
2977 | * will be executed, and then filtered text will be inserted. | ||
2978 | * | ||
2900 | * @see edje_object_text_insert_filter_callback_del | 2979 | * @see edje_object_text_insert_filter_callback_del |
2901 | * @see edje_object_text_insert_filter_callback_del_full | 2980 | * @see edje_object_text_insert_filter_callback_del_full |
2981 | * @see edje_object_text_markup_filter_callback_add | ||
2902 | * | 2982 | * |
2903 | * @param obj A valid Evas_Object handle | 2983 | * @param obj A valid Evas_Object handle |
2904 | * @param part The part name | 2984 | * @param part The part name |
@@ -2920,7 +3000,7 @@ EAPI void edje_object_text_insert_filter_callback_add (Evas_Ob | |||
2920 | * @param part The part name | 3000 | * @param part The part name |
2921 | * @param func The function callback to remove | 3001 | * @param func The function callback to remove |
2922 | * | 3002 | * |
2923 | * @return The user data pointer if succesful, or NULL otherwise | 3003 | * @return The user data pointer if successful, or NULL otherwise |
2924 | */ | 3004 | */ |
2925 | EAPI void *edje_object_text_insert_filter_callback_del (Evas_Object *obj, const char *part, Edje_Text_Filter_Cb func); | 3005 | EAPI void *edje_object_text_insert_filter_callback_del (Evas_Object *obj, const char *part, Edje_Text_Filter_Cb func); |
2926 | 3006 | ||
@@ -2939,11 +3019,82 @@ EAPI void *edje_object_text_insert_filter_callback_del (Evas_Ob | |||
2939 | * @param func The function callback to remove | 3019 | * @param func The function callback to remove |
2940 | * @param data The data passed to the callback function | 3020 | * @param data The data passed to the callback function |
2941 | * | 3021 | * |
2942 | * @return The same data pointer if succesful, or NULL otherwise | 3022 | * @return The same data pointer if successful, or NULL otherwise |
2943 | */ | 3023 | */ |
2944 | EAPI void *edje_object_text_insert_filter_callback_del_full (Evas_Object *obj, const char *part, Edje_Text_Filter_Cb func, void *data); | 3024 | EAPI void *edje_object_text_insert_filter_callback_del_full (Evas_Object *obj, const char *part, Edje_Text_Filter_Cb func, void *data); |
2945 | 3025 | ||
2946 | /** | 3026 | /** |
3027 | * Add a markup filter function for newly inserted text. | ||
3028 | * | ||
3029 | * Whenever text is inserted (not the same as set) into the given @p part, | ||
3030 | * the list of markup filter functions will be called to decide if and how | ||
3031 | * the new text will be accepted. | ||
3032 | * The text parameter in the @p func filter is always markup. It can be | ||
3033 | * modified by the user and it's up to him to free the one passed if he's to | ||
3034 | * change the pointer. If doing so, the newly set text should be malloc'ed, | ||
3035 | * as once all the filters are called Edje will free it. | ||
3036 | * If the text is to be rejected, freeing it and setting the pointer to NULL | ||
3037 | * will make Edje break out of the filter cycle and reject the inserted | ||
3038 | * text. | ||
3039 | * This function is different from edje_object_text_insert_filter_callback_add() | ||
3040 | * in that the text parameter in the @p fucn filter is always markup. | ||
3041 | * | ||
3042 | * @warning If you use this function with | ||
3043 | * edje_object_text_insert_filter_callback_add() togehter, all | ||
3044 | * Edje_Text_Filter_Cb functions and Edje_Markup_Filter_Cb functions | ||
3045 | * will be executed, and then filtered text will be inserted. | ||
3046 | * | ||
3047 | * @see edje_object_text_markup_filter_callback_del | ||
3048 | * @see edje_object_text_markup_filter_callback_del_full | ||
3049 | * @see edje_object_text_insert_filter_callback_add | ||
3050 | * | ||
3051 | * @param obj A valid Evas_Object handle | ||
3052 | * @param part The part name | ||
3053 | * @param func The callback function that will act as markup filter | ||
3054 | * @param data User provided data to pass to the filter function | ||
3055 | * @since 1.2.0 | ||
3056 | */ | ||
3057 | EAPI void edje_object_text_markup_filter_callback_add(Evas_Object *obj, const char *part, Edje_Markup_Filter_Cb func, void *data); | ||
3058 | |||
3059 | /** | ||
3060 | * Delete a function from the markup filter list. | ||
3061 | * | ||
3062 | * Delete the given @p func filter from the list in @p part. Returns | ||
3063 | * the user data pointer given when added. | ||
3064 | * | ||
3065 | * @see edje_object_text_markup_filter_callback_add | ||
3066 | * @see edje_object_text_markup_filter_callback_del_full | ||
3067 | * | ||
3068 | * @param obj A valid Evas_Object handle | ||
3069 | * @param part The part name | ||
3070 | * @param func The function callback to remove | ||
3071 | * | ||
3072 | * @return The user data pointer if successful, or NULL otherwise | ||
3073 | * @since 1.2.0 | ||
3074 | */ | ||
3075 | EAPI void *edje_object_text_markup_filter_callback_del(Evas_Object *obj, const char *part, Edje_Markup_Filter_Cb func); | ||
3076 | |||
3077 | /** | ||
3078 | * Delete a function and matching user data from the markup filter list. | ||
3079 | * | ||
3080 | * Delete the given @p func filter and @p data user data from the list | ||
3081 | * in @p part. | ||
3082 | * Returns the user data pointer given when added. | ||
3083 | * | ||
3084 | * @see edje_object_text_markup_filter_callback_add | ||
3085 | * @see edje_object_text_markup_filter_callback_del | ||
3086 | * | ||
3087 | * @param obj A valid Evas_Object handle | ||
3088 | * @param part The part name | ||
3089 | * @param func The function callback to remove | ||
3090 | * @param data The data passed to the callback function | ||
3091 | * | ||
3092 | * @return The same data pointer if successful, or NULL otherwise | ||
3093 | * @since 1.2.0 | ||
3094 | */ | ||
3095 | EAPI void *edje_object_text_markup_filter_callback_del_full(Evas_Object *obj, const char *part, Edje_Markup_Filter_Cb func, void *data); | ||
3096 | |||
3097 | /** | ||
2947 | * @brief Swallows an object into the edje. | 3098 | * @brief Swallows an object into the edje. |
2948 | * | 3099 | * |
2949 | * @param obj A valid Evas_Object handle | 3100 | * @param obj A valid Evas_Object handle |
@@ -3244,7 +3395,7 @@ EAPI Eina_Bool edje_object_part_external_param_set (Evas_Ob | |||
3244 | * | 3395 | * |
3245 | * Parts of type external may carry extra properties that have | 3396 | * Parts of type external may carry extra properties that have |
3246 | * meanings defined by the external plugin. For instance, it may be a | 3397 | * meanings defined by the external plugin. For instance, it may be a |
3247 | * string that defines a button label. This property can be modifed by | 3398 | * string that defines a button label. This property can be modified by |
3248 | * state parameters, by explicit calls to | 3399 | * state parameters, by explicit calls to |
3249 | * edje_object_part_external_param_set() or getting the actual object | 3400 | * edje_object_part_external_param_set() or getting the actual object |
3250 | * with edje_object_part_external_object_get() and calling native | 3401 | * with edje_object_part_external_object_get() and calling native |
@@ -3850,8 +4001,8 @@ EAPI const Edje_External_Param_Info *edje_external_param_info_get (const char | |||
3850 | * This sets the parameters of the perspective transformation. X, Y and Z | 4001 | * This sets the parameters of the perspective transformation. X, Y and Z |
3851 | * values are used. The px and py points specify the "infinite distance" point | 4002 | * values are used. The px and py points specify the "infinite distance" point |
3852 | * in the 3D conversion (where all lines converge to like when artists draw | 4003 | * in the 3D conversion (where all lines converge to like when artists draw |
3853 | * 3D by hand). The @p z0 value specifis the z value at which there is a 1:1 | 4004 | * 3D by hand). The @p z0 value specifies the z value at which there is a 1:1 |
3854 | * mapping between spatial coorinates and screen coordinates. Any points | 4005 | * mapping between spatial coordinates and screen coordinates. Any points |
3855 | * on this z value will not have their X and Y values modified in the transform. | 4006 | * on this z value will not have their X and Y values modified in the transform. |
3856 | * Those further away (Z value higher) will shrink into the distance, and | 4007 | * Those further away (Z value higher) will shrink into the distance, and |
3857 | * those less than this value will expand and become bigger. The @p foc value | 4008 | * those less than this value will expand and become bigger. The @p foc value |
@@ -3861,8 +4012,8 @@ EAPI const Edje_External_Param_Info *edje_external_param_info_get (const char | |||
3861 | * control and @p foc must be greater than 0. | 4012 | * control and @p foc must be greater than 0. |
3862 | * | 4013 | * |
3863 | * @param m map to change. | 4014 | * @param m map to change. |
3864 | * @param px The pespective distance X coordinate | 4015 | * @param px The perspective distance X coordinate |
3865 | * @param py The pespective distance Y coordinate | 4016 | * @param py The perspective distance Y coordinate |
3866 | * @param z0 The "0" z plane value | 4017 | * @param z0 The "0" z plane value |
3867 | * @param foc The focal distance | 4018 | * @param foc The focal distance |
3868 | */ | 4019 | */ |