aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/libraries/evas/src/lib/Evas.h
diff options
context:
space:
mode:
Diffstat (limited to 'libraries/evas/src/lib/Evas.h')
-rw-r--r--libraries/evas/src/lib/Evas.h310
1 files changed, 225 insertions, 85 deletions
diff --git a/libraries/evas/src/lib/Evas.h b/libraries/evas/src/lib/Evas.h
index b85bbeb..67d3018 100644
--- a/libraries/evas/src/lib/Evas.h
+++ b/libraries/evas/src/lib/Evas.h
@@ -2,9 +2,10 @@
2@mainpage Evas 2@mainpage Evas
3 3
4@version 1.1 4@version 1.1
5@date 2000-2011 5@date 2000-2012
6 6
7Please see the @ref authors page for contact details. 7Please see the @ref authors page for contact details.
8@link Evas.h Evas API @endlink
8 9
9@link Evas.h Evas API @endlink 10@link Evas.h Evas API @endlink
10 11
@@ -489,7 +490,7 @@ typedef enum _Evas_Event_Flags
489{ 490{
490 EVAS_EVENT_FLAG_NONE = 0, /**< No fancy flags set */ 491 EVAS_EVENT_FLAG_NONE = 0, /**< No fancy flags set */
491 EVAS_EVENT_FLAG_ON_HOLD = (1 << 0), /**< This event is being delivered but should be put "on hold" until the on hold flag is unset. the event should be used for informational purposes and maybe some indications visually, but not actually perform anything */ 492 EVAS_EVENT_FLAG_ON_HOLD = (1 << 0), /**< This event is being delivered but should be put "on hold" until the on hold flag is unset. the event should be used for informational purposes and maybe some indications visually, but not actually perform anything */
492 EVAS_EVENT_FLAG_ON_SCROLL = (1 << 1) /**< This event flag indicates the event occurs while scrolling; for exameple, DOWN event occurs during scrolling; the event should be used for informational purposes and maybe some indications visually, but not actually perform anything */ 493 EVAS_EVENT_FLAG_ON_SCROLL = (1 << 1) /**< This event flag indicates the event occurs while scrolling; for example, DOWN event occurs during scrolling; the event should be used for informational purposes and maybe some indications visually, but not actually perform anything */
493} Evas_Event_Flags; /**< Flags for Events */ 494} Evas_Event_Flags; /**< Flags for Events */
494 495
495/** 496/**
@@ -501,7 +502,7 @@ typedef enum _Evas_Touch_Point_State
501 EVAS_TOUCH_POINT_UP, /**< Touch point is released */ 502 EVAS_TOUCH_POINT_UP, /**< Touch point is released */
502 EVAS_TOUCH_POINT_MOVE, /**< Touch point is moved */ 503 EVAS_TOUCH_POINT_MOVE, /**< Touch point is moved */
503 EVAS_TOUCH_POINT_STILL, /**< Touch point is not moved after pressed */ 504 EVAS_TOUCH_POINT_STILL, /**< Touch point is not moved after pressed */
504 EVAS_TOUCH_POINT_CANCEL /**< Touch point is calcelled */ 505 EVAS_TOUCH_POINT_CANCEL /**< Touch point is cancelled */
505} Evas_Touch_Point_State; 506} Evas_Touch_Point_State;
506 507
507/** 508/**
@@ -527,7 +528,7 @@ typedef enum _Evas_Colorspace
527 EVAS_COLORSPACE_YCBCR422P709_PL,/**< YCbCr 4:2:2 Planar, ITU.BT-709 specifications. The data pointed to is just an array of row pointer, pointing to the Y rows, then the Cb, then Cr rows */ 528 EVAS_COLORSPACE_YCBCR422P709_PL,/**< YCbCr 4:2:2 Planar, ITU.BT-709 specifications. The data pointed to is just an array of row pointer, pointing to the Y rows, then the Cb, then Cr rows */
528 EVAS_COLORSPACE_RGB565_A5P, /**< 16bit rgb565 + Alpha plane at end - 5 bits of the 8 being used per alpha byte */ 529 EVAS_COLORSPACE_RGB565_A5P, /**< 16bit rgb565 + Alpha plane at end - 5 bits of the 8 being used per alpha byte */
529 EVAS_COLORSPACE_GRY8, /**< 8bit grayscale */ 530 EVAS_COLORSPACE_GRY8, /**< 8bit grayscale */
530 EVAS_COLORSPACE_YCBCR422601_PL, /**< YCbCr 4:2:2, ITU.BT-601 specifications. The data poitned to is just an array of row pointer, pointing to line of Y,Cb,Y,Cr bytes */ 531 EVAS_COLORSPACE_YCBCR422601_PL, /**< YCbCr 4:2:2, ITU.BT-601 specifications. The data pointed to is just an array of row pointer, pointing to line of Y,Cb,Y,Cr bytes */
531 EVAS_COLORSPACE_YCBCR420NV12601_PL, /**< YCbCr 4:2:0, ITU.BT-601 specification. The data pointed to is just an array of row pointer, pointing to the Y rows, then the Cb,Cr rows. */ 532 EVAS_COLORSPACE_YCBCR420NV12601_PL, /**< YCbCr 4:2:0, ITU.BT-601 specification. The data pointed to is just an array of row pointer, pointing to the Y rows, then the Cb,Cr rows. */
532 EVAS_COLORSPACE_YCBCR420TM12601_PL, /**< YCbCr 4:2:0, ITU.BT-601 specification. The data pointed to is just an array of tiled row pointer, pointing to the Y rows, then the Cb,Cr rows. */ 533 EVAS_COLORSPACE_YCBCR420TM12601_PL, /**< YCbCr 4:2:0, ITU.BT-601 specification. The data pointed to is just an array of tiled row pointer, pointing to the Y rows, then the Cb,Cr rows. */
533} Evas_Colorspace; /**< Colorspaces for pixel data supported by Evas */ 534} Evas_Colorspace; /**< Colorspaces for pixel data supported by Evas */
@@ -536,7 +537,7 @@ typedef enum _Evas_Colorspace
536 * How to pack items into cells in a table. 537 * How to pack items into cells in a table.
537 * @ingroup Evas_Object_Table 538 * @ingroup Evas_Object_Table
538 * 539 *
539 * @see evas_object_table_homogeneous_set() for an explanation of the funcion of 540 * @see evas_object_table_homogeneous_set() for an explanation of the function of
540 * each one. 541 * each one.
541 */ 542 */
542typedef enum _Evas_Object_Table_Homogeneous_Mode 543typedef enum _Evas_Object_Table_Homogeneous_Mode
@@ -693,7 +694,7 @@ typedef enum _Evas_Load_Error
693 EVAS_LOAD_ERROR_NONE = 0, /**< No error on load */ 694 EVAS_LOAD_ERROR_NONE = 0, /**< No error on load */
694 EVAS_LOAD_ERROR_GENERIC = 1, /**< A non-specific error occurred */ 695 EVAS_LOAD_ERROR_GENERIC = 1, /**< A non-specific error occurred */
695 EVAS_LOAD_ERROR_DOES_NOT_EXIST = 2, /**< File (or file path) does not exist */ 696 EVAS_LOAD_ERROR_DOES_NOT_EXIST = 2, /**< File (or file path) does not exist */
696 EVAS_LOAD_ERROR_PERMISSION_DENIED = 3, /**< Permission deinied to an existing file (or path) */ 697 EVAS_LOAD_ERROR_PERMISSION_DENIED = 3, /**< Permission denied to an existing file (or path) */
697 EVAS_LOAD_ERROR_RESOURCE_ALLOCATION_FAILED = 4, /**< Allocation of resources failure prevented load */ 698 EVAS_LOAD_ERROR_RESOURCE_ALLOCATION_FAILED = 4, /**< Allocation of resources failure prevented load */
698 EVAS_LOAD_ERROR_CORRUPT_FILE = 5, /**< File corrupt (but was detected as a known format) */ 699 EVAS_LOAD_ERROR_CORRUPT_FILE = 5, /**< File corrupt (but was detected as a known format) */
699 EVAS_LOAD_ERROR_UNKNOWN_FORMAT = 6 /**< File is not a known format */ 700 EVAS_LOAD_ERROR_UNKNOWN_FORMAT = 6 /**< File is not a known format */
@@ -721,7 +722,7 @@ typedef enum _Evas_Pixel_Import_Pixel_Format
721{ 722{
722 EVAS_PIXEL_FORMAT_NONE = 0, /**< No pixel format */ 723 EVAS_PIXEL_FORMAT_NONE = 0, /**< No pixel format */
723 EVAS_PIXEL_FORMAT_ARGB32 = 1, /**< ARGB 32bit pixel format with A in the high byte per 32bit pixel word */ 724 EVAS_PIXEL_FORMAT_ARGB32 = 1, /**< ARGB 32bit pixel format with A in the high byte per 32bit pixel word */
724 EVAS_PIXEL_FORMAT_YUV420P_601 = 2 /**< YUV 420 Planar format with CCIR 601 color encoding wuth contiguous planes in the order Y, U and V */ 725 EVAS_PIXEL_FORMAT_YUV420P_601 = 2 /**< YUV 420 Planar format with CCIR 601 color encoding with contiguous planes in the order Y, U and V */
725} Evas_Pixel_Import_Pixel_Format; /**< Pixel format for import call. See evas_object_image_pixels_import() */ 726} Evas_Pixel_Import_Pixel_Format; /**< Pixel format for import call. See evas_object_image_pixels_import() */
726 727
727struct _Evas_Pixel_Import_Source 728struct _Evas_Pixel_Import_Source
@@ -809,10 +810,10 @@ typedef enum _Evas_Render_Op
809 EVAS_RENDER_BLEND_REL = 1, /**< d = d*(1 - sa) + s*da */ 810 EVAS_RENDER_BLEND_REL = 1, /**< d = d*(1 - sa) + s*da */
810 EVAS_RENDER_COPY = 2, /**< d = s */ 811 EVAS_RENDER_COPY = 2, /**< d = s */
811 EVAS_RENDER_COPY_REL = 3, /**< d = s*da */ 812 EVAS_RENDER_COPY_REL = 3, /**< d = s*da */
812 EVAS_RENDER_ADD = 4, /**< d = d + s */ 813 EVAS_RENDER_ADD = 4, /* d = d + s */
813 EVAS_RENDER_ADD_REL = 5, /**< d = d + s*da */ 814 EVAS_RENDER_ADD_REL = 5, /**< d = d + s*da */
814 EVAS_RENDER_SUB = 6, /**< d = d - s */ 815 EVAS_RENDER_SUB = 6, /**< d = d - s */
815 EVAS_RENDER_SUB_REL = 7, /**< d = d - s*da */ 816 EVAS_RENDER_SUB_REL = 7, /* d = d - s*da */
816 EVAS_RENDER_TINT = 8, /**< d = d*s + d*(1 - sa) + s*(1 - da) */ 817 EVAS_RENDER_TINT = 8, /**< d = d*s + d*(1 - sa) + s*(1 - da) */
817 EVAS_RENDER_TINT_REL = 9, /**< d = d*(1 - sa + s) */ 818 EVAS_RENDER_TINT_REL = 9, /**< d = d*(1 - sa + s) */
818 EVAS_RENDER_MASK = 10, /**< d = d*sa */ 819 EVAS_RENDER_MASK = 10, /**< d = d*sa */
@@ -1280,7 +1281,7 @@ EAPI Eina_Bool evas_async_events_put (const void *target, Ev
1280 * directly, too, and not yet with its @b objects. They are the 1281 * directly, too, and not yet with its @b objects. They are the
1281 * functions you need to use at a minimum to get a working canvas. 1282 * functions you need to use at a minimum to get a working canvas.
1282 * 1283 *
1283 * Some of the funcions in this group are exemplified @ref 1284 * Some of the functions in this group are exemplified @ref
1284 * Example_Evas_Events "here". 1285 * Example_Evas_Events "here".
1285 */ 1286 */
1286 1287
@@ -1422,13 +1423,13 @@ EAPI void evas_damage_rectangle_add (Evas *e, int x, int y,
1422 * was just after this function took place. 1423 * was just after this function took place.
1423 * 1424 *
1424 * We call it "obscured region" because the most common use case for 1425 * We call it "obscured region" because the most common use case for
1425 * this rendering (partial) freeze is something else (most problaby 1426 * this rendering (partial) freeze is something else (most probably
1426 * other canvas) being on top of the specified rectangular region, 1427 * other canvas) being on top of the specified rectangular region,
1427 * thus shading it completely from the user's final scene in a 1428 * thus shading it completely from the user's final scene in a
1428 * display. To avoid unnecessary processing, one should indicate to the 1429 * display. To avoid unnecessary processing, one should indicate to the
1429 * obscured canvas not to bother about the non-important area. 1430 * obscured canvas not to bother about the non-important area.
1430 * 1431 *
1431 * The majority of users won't have to worry about this funcion, as 1432 * The majority of users won't have to worry about this function, as
1432 * they'll be using just one canvas in their applications, with 1433 * they'll be using just one canvas in their applications, with
1433 * nothing inset or on top of it in any form. 1434 * nothing inset or on top of it in any form.
1434 * 1435 *
@@ -2077,7 +2078,7 @@ EAPI void evas_pointer_canvas_xy_get (const Evas *e, Evas_Co
2077 * Returns a bitmask with the mouse buttons currently pressed, set to 1 2078 * Returns a bitmask with the mouse buttons currently pressed, set to 1
2078 * 2079 *
2079 * @param e The pointer to the Evas Canvas 2080 * @param e The pointer to the Evas Canvas
2080 * @return A bitmask of the currently depressed buttons on the cavas 2081 * @return A bitmask of the currently depressed buttons on the canvas
2081 * @ingroup Evas_Pointer_Group 2082 * @ingroup Evas_Pointer_Group
2082 * 2083 *
2083 * Calling this function will return a 32-bit integer with the 2084 * Calling this function will return a 32-bit integer with the
@@ -2150,7 +2151,7 @@ EAPI Eina_Bool evas_pointer_inside_get (const Evas *e) EINA_WA
2150 * its internal states changing (an object got focused, the rendering 2151 * its internal states changing (an object got focused, the rendering
2151 * is updated, etc). 2152 * is updated, etc).
2152 * 2153 *
2153 * Some of the funcions in this group are exemplified @ref 2154 * Some of the functions in this group are exemplified @ref
2154 * Example_Evas_Events "here". 2155 * Example_Evas_Events "here".
2155 * 2156 *
2156 * @ingroup Evas_Canvas 2157 * @ingroup Evas_Canvas
@@ -2308,14 +2309,14 @@ EAPI void *evas_event_callback_del_full (Evas *e, Evas_Callb
2308 * @param data The data pointer to be passed to the callback 2309 * @param data The data pointer to be passed to the callback
2309 * 2310 *
2310 * Evas has a stack of callbacks that get called after all the callbacks for 2311 * Evas has a stack of callbacks that get called after all the callbacks for
2311 * an event have triggered (all the objects it triggers on and al the callbacks 2312 * an event have triggered (all the objects it triggers on and all the callbacks
2312 * in each object triggered). When all these have been called, the stack is 2313 * in each object triggered). When all these have been called, the stack is
2313 * unwond from most recently to least recently pushed item and removed from the 2314 * unwond from most recently to least recently pushed item and removed from the
2314 * stack calling the callback set for it. 2315 * stack calling the callback set for it.
2315 * 2316 *
2316 * This is intended for doing reverse logic-like processing, example - when a 2317 * This is intended for doing reverse logic-like processing, example - when a
2317 * child object that happens to get the event later is meant to be able to 2318 * child object that happens to get the event later is meant to be able to
2318 * "steal" functions from a parent and thus on unwind of this stack hav its 2319 * "steal" functions from a parent and thus on unwind of this stack have its
2319 * function called first, thus being able to set flags, or return 0 from the 2320 * function called first, thus being able to set flags, or return 0 from the
2320 * post-callback that stops all other post-callbacks in the current stack from 2321 * post-callback that stops all other post-callbacks in the current stack from
2321 * being called (thus basically allowing a child to take control, if the event 2322 * being called (thus basically allowing a child to take control, if the event
@@ -2359,7 +2360,7 @@ EAPI void evas_post_event_callback_remove_full (Evas *e, Evas_Objec
2359 * an Evas canvas. 2360 * an Evas canvas.
2360 * 2361 *
2361 * There might be scenarios during a graphical user interface 2362 * There might be scenarios during a graphical user interface
2362 * program's use when the developer whishes the users wouldn't be able 2363 * program's use when the developer wishes the users wouldn't be able
2363 * to deliver input events to this application. It may, for example, 2364 * to deliver input events to this application. It may, for example,
2364 * be the time for it to populate a view or to change some 2365 * be the time for it to populate a view or to change some
2365 * layout. Assuming proper behavior with user interaction during this 2366 * layout. Assuming proper behavior with user interaction during this
@@ -2367,7 +2368,14 @@ EAPI void evas_post_event_callback_remove_full (Evas *e, Evas_Objec
2367 * programmer can then tell the canvas to ignore input events, 2368 * programmer can then tell the canvas to ignore input events,
2368 * bringing it back to normal behavior when he/she wants. 2369 * bringing it back to normal behavior when he/she wants.
2369 * 2370 *
2370 * Some of the funcions in this group are exemplified @ref 2371 * Most of the time use of freezing events is done like this:
2372 * @code
2373 * evas_event_freeze(my_evas_canvas);
2374 * function_that_does_work_which_cant_be_interrupted_by_events();
2375 * evas_event_thaw(my_evas_canvas);
2376 * @endcode
2377 *
2378 * Some of the functions in this group are exemplified @ref
2371 * Example_Evas_Events "here". 2379 * Example_Evas_Events "here".
2372 * 2380 *
2373 * @ingroup Evas_Canvas_Events 2381 * @ingroup Evas_Canvas_Events
@@ -2416,7 +2424,7 @@ EAPI Evas_Event_Flags evas_event_default_flags_get (const Evas *e) EINA_AR
2416 * of this kind during the freeze will get @b discarded. Every freeze 2424 * of this kind during the freeze will get @b discarded. Every freeze
2417 * call must be matched by a thaw call in order to completely thaw out 2425 * call must be matched by a thaw call in order to completely thaw out
2418 * a canvas (i.e. these calls may be nested). The most common use is 2426 * a canvas (i.e. these calls may be nested). The most common use is
2419 * when you don't want the user to interect with your user interface 2427 * when you don't want the user to interact with your user interface
2420 * when you're populating a view or changing the layout. 2428 * when you're populating a view or changing the layout.
2421 * 2429 *
2422 * Example: 2430 * Example:
@@ -2494,13 +2502,18 @@ EAPI void evas_event_thaw_eval (Evas *e) EINA_ARG_NONN
2494 * Functions to tell Evas that input events happened and should be 2502 * Functions to tell Evas that input events happened and should be
2495 * processed. 2503 * processed.
2496 * 2504 *
2505 * @warning Most of the time these functions are @b not what you're looking for.
2506 * These functions should only be used if you're not working with ecore evas(or
2507 * another input handling system). If you're not using ecore evas please
2508 * consider using it, in most situation it will make life a lot easier.
2509 *
2497 * As explained in @ref intro_not_evas, Evas does not know how to poll 2510 * As explained in @ref intro_not_evas, Evas does not know how to poll
2498 * for input events, so the developer should do it and then feed such 2511 * for input events, so the developer should do it and then feed such
2499 * events to the canvas to be processed. This is only required if 2512 * events to the canvas to be processed. This is only required if
2500 * operating Evas directly. Modules such as Ecore_Evas do that for 2513 * operating Evas directly. Modules such as Ecore_Evas do that for
2501 * you. 2514 * you.
2502 * 2515 *
2503 * Some of the funcions in this group are exemplified @ref 2516 * Some of the functions in this group are exemplified @ref
2504 * Example_Evas_Events "here". 2517 * Example_Evas_Events "here".
2505 * 2518 *
2506 * @ingroup Evas_Canvas_Events 2519 * @ingroup Evas_Canvas_Events
@@ -2928,7 +2941,7 @@ EAPI const Eina_List *evas_font_path_list (const Evas *e) EINA_WA
2928 * - textblock and 2941 * - textblock and
2929 * - image. 2942 * - image.
2930 * 2943 *
2931 * These functions apply to @b any Evas object, whichever type thay 2944 * These functions apply to @b any Evas object, whichever type that
2932 * may have. 2945 * may have.
2933 * 2946 *
2934 * @note The built-in types which are most used are rectangles, text 2947 * @note The built-in types which are most used are rectangles, text
@@ -2939,14 +2952,21 @@ EAPI const Eina_List *evas_font_path_list (const Evas *e) EINA_WA
2939/** 2952/**
2940 * @defgroup Evas_Object_Group_Basic Basic Object Manipulation 2953 * @defgroup Evas_Object_Group_Basic Basic Object Manipulation
2941 * 2954 *
2942 * Methods that are broadly used, like those that change the color, 2955 * Almost every evas object created will have some generic function used to
2943 * clippers and geometry of an Evas object. 2956 * manipulate it. That's because there are a number of basic actions to be done
2944 * 2957 * to objects that are irrespective of the object's type, things like:
2945 * An example on the most used functions in this group can be seen @ref 2958 * @li Showing/Hiding
2946 * Example_Evas_Object_Manipulation "here". 2959 * @li Setting(and getting) geometry
2947 * 2960 * @li Bring up or down a layer
2948 * For function dealing with stacking, the examples are gathered @ref 2961 * @li Color management
2949 * Example_Evas_Stacking "here". 2962 * @li Handling focus
2963 * @li Clipping
2964 * @li Reference counting
2965 *
2966 * All of this issues are handled through the functions here grouped. Examples
2967 * of these function can be seen in @ref Example_Evas_Object_Manipulation(which
2968 * deals with the most common ones) and in @ref Example_Evas_Stacking(which
2969 * deals with stacking functions).
2950 * 2970 *
2951 * @ingroup Evas_Object_Group 2971 * @ingroup Evas_Object_Group
2952 */ 2972 */
@@ -3444,7 +3464,7 @@ EAPI void evas_object_hide (Evas_Object *obj) EINA
3444 * @return @c EINA_TRUE if the object is visible, @c EINA_FALSE 3464 * @return @c EINA_TRUE if the object is visible, @c EINA_FALSE
3445 * otherwise. 3465 * otherwise.
3446 * 3466 *
3447 * This retrieves an object's visibily as the one enforced by 3467 * This retrieves an object's visibility as the one enforced by
3448 * evas_object_show() and evas_object_hide(). 3468 * evas_object_show() and evas_object_hide().
3449 * 3469 *
3450 * @note The value returned isn't, by any means, influenced by 3470 * @note The value returned isn't, by any means, influenced by
@@ -3492,7 +3512,7 @@ EAPI void evas_object_color_set (Evas_Object *obj, int
3492 * Retrieves the “main” color's RGB component (and alpha channel) 3512 * Retrieves the “main” color's RGB component (and alpha channel)
3493 * values, <b>which range from 0 to 255</b>. For the alpha channel, 3513 * values, <b>which range from 0 to 255</b>. For the alpha channel,
3494 * which defines the object's transparency level, 0 means totally 3514 * which defines the object's transparency level, 0 means totally
3495 * trasparent, while 255 means opaque. These color values are 3515 * transparent, while 255 means opaque. These color values are
3496 * premultiplied by the alpha value. 3516 * premultiplied by the alpha value.
3497 * 3517 *
3498 * Usually you’ll use this attribute for text and rectangle objects, 3518 * Usually you’ll use this attribute for text and rectangle objects,
@@ -4406,7 +4426,7 @@ EAPI Eina_Bool evas_object_freeze_events_get(const Evas_Object *obj) EIN
4406 * @image rtf map-uv-mapping-1.png 4426 * @image rtf map-uv-mapping-1.png
4407 * @image latex map-uv-mapping-1.eps 4427 * @image latex map-uv-mapping-1.eps
4408 * 4428 *
4409 * Images need some special handlign when mapped. Evas can easily take care 4429 * Images need some special handling when mapped. Evas can easily take care
4410 * of objects and do almost anything with them, but it's completely oblivious 4430 * of objects and do almost anything with them, but it's completely oblivious
4411 * to the content of images, so each point in the map needs to be told to what 4431 * to the content of images, so each point in the map needs to be told to what
4412 * pixel in the source image it belongs. Failing to do may sometimes result 4432 * pixel in the source image it belongs. Failing to do may sometimes result
@@ -4572,7 +4592,7 @@ EAPI void evas_object_map_set (Evas_Object *obj, cons
4572 * Get current object transformation map. 4592 * Get current object transformation map.
4573 * 4593 *
4574 * This returns the current internal map set on the indicated object. It is 4594 * This returns the current internal map set on the indicated object. It is
4575 * intended for read-only acces and is only valid as long as the object is 4595 * intended for read-only access and is only valid as long as the object is
4576 * not deleted or the map on the object is not changed. If you wish to modify 4596 * not deleted or the map on the object is not changed. If you wish to modify
4577 * the map and set it back do the following: 4597 * the map and set it back do the following:
4578 * 4598 *
@@ -4678,7 +4698,7 @@ EAPI void evas_map_util_points_color_set (Evas_Map *
4678 * 4698 *
4679 * This rotates the indicated map's coordinates around the center coordinate 4699 * This rotates the indicated map's coordinates around the center coordinate
4680 * given by @p cx and @p cy as the rotation center. The points will have their 4700 * given by @p cx and @p cy as the rotation center. The points will have their
4681 * X and Y coordinates rotated clockwise by @p degrees degress (360.0 is a 4701 * X and Y coordinates rotated clockwise by @p degrees degrees (360.0 is a
4682 * full rotation). Negative values for degrees will rotate counter-clockwise 4702 * full rotation). Negative values for degrees will rotate counter-clockwise
4683 * by that amount. All coordinates are canvas global coordinates. 4703 * by that amount. All coordinates are canvas global coordinates.
4684 * 4704 *
@@ -4698,7 +4718,7 @@ EAPI void evas_map_util_rotate (Evas_Map *
4698 * Like evas_map_util_rotate(), this zooms the points of the map from a center 4718 * Like evas_map_util_rotate(), this zooms the points of the map from a center
4699 * point. That center is defined by @p cx and @p cy. The @p zoomx and @p zoomy 4719 * point. That center is defined by @p cx and @p cy. The @p zoomx and @p zoomy
4700 * parameters specify how much to zoom in the X and Y direction respectively. 4720 * parameters specify how much to zoom in the X and Y direction respectively.
4701 * A value of 1.0 means "don't zoom". 2.0 means "dobule the size". 0.5 is 4721 * A value of 1.0 means "don't zoom". 2.0 means "double the size". 0.5 is
4702 * "half the size" etc. All coordinates are canvas global coordinates. 4722 * "half the size" etc. All coordinates are canvas global coordinates.
4703 * 4723 *
4704 * @param m map to change. 4724 * @param m map to change.
@@ -4723,9 +4743,9 @@ EAPI void evas_map_util_zoom (Evas_Map *
4723 * evas_map_util_rotate() you provide a center point to rotate around (in 3D). 4743 * evas_map_util_rotate() you provide a center point to rotate around (in 3D).
4724 * 4744 *
4725 * @param m map to change. 4745 * @param m map to change.
4726 * @param dx amount of degrees from 0.0 to 360.0 to rotate arount X axis. 4746 * @param dx amount of degrees from 0.0 to 360.0 to rotate around X axis.
4727 * @param dy amount of degrees from 0.0 to 360.0 to rotate arount Y axis. 4747 * @param dy amount of degrees from 0.0 to 360.0 to rotate around Y axis.
4728 * @param dz amount of degrees from 0.0 to 360.0 to rotate arount Z axis. 4748 * @param dz amount of degrees from 0.0 to 360.0 to rotate around Z axis.
4729 * @param cx rotation's center horizontal position. 4749 * @param cx rotation's center horizontal position.
4730 * @param cy rotation's center vertical position. 4750 * @param cy rotation's center vertical position.
4731 * @param cz rotation's center vertical position. 4751 * @param cz rotation's center vertical position.
@@ -4794,8 +4814,8 @@ EAPI void evas_map_util_3d_lighting (Evas_Map *
4794 * This applies a given perspective (3D) to the map coordinates. X, Y and Z 4814 * This applies a given perspective (3D) to the map coordinates. X, Y and Z
4795 * values are used. The px and py points specify the "infinite distance" point 4815 * values are used. The px and py points specify the "infinite distance" point
4796 * in the 3D conversion (where all lines converge to like when artists draw 4816 * in the 3D conversion (where all lines converge to like when artists draw
4797 * 3D by hand). The @p z0 value specifis the z value at which there is a 1:1 4817 * 3D by hand). The @p z0 value specifies the z value at which there is a 1:1
4798 * mapping between spatial coorinates and screen coordinates. Any points 4818 * mapping between spatial coordinates and screen coordinates. Any points
4799 * on this z value will not have their X and Y values modified in the transform. 4819 * on this z value will not have their X and Y values modified in the transform.
4800 * Those further away (Z value higher) will shrink into the distance, and 4820 * Those further away (Z value higher) will shrink into the distance, and
4801 * those less than this value will expand and become bigger. The @p foc value 4821 * those less than this value will expand and become bigger. The @p foc value
@@ -4805,8 +4825,8 @@ EAPI void evas_map_util_3d_lighting (Evas_Map *
4805 * control and @p foc must be greater than 0. 4825 * control and @p foc must be greater than 0.
4806 * 4826 *
4807 * @param m map to change. 4827 * @param m map to change.
4808 * @param px The pespective distance X coordinate 4828 * @param px The perspective distance X coordinate
4809 * @param py The pespective distance Y coordinate 4829 * @param py The perspective distance Y coordinate
4810 * @param z0 The "0" z plane value 4830 * @param z0 The "0" z plane value
4811 * @param foc The focal distance 4831 * @param foc The focal distance
4812 */ 4832 */
@@ -4885,7 +4905,7 @@ EAPI void evas_map_alpha_set (Evas_Map *m, Eina_Bool
4885/** 4905/**
4886 * get the alpha flag for map rendering 4906 * get the alpha flag for map rendering
4887 * 4907 *
4888 * This gets the alph flag for map rendering. 4908 * This gets the alpha flag for map rendering.
4889 * 4909 *
4890 * @param m map to get the alpha from. Must not be NULL. 4910 * @param m map to get the alpha from. Must not be NULL.
4891 */ 4911 */
@@ -4926,17 +4946,17 @@ EAPI int evas_map_count_get (const Evas_Map *m) EINA
4926 * 4946 *
4927 * This sets the fixed point's coordinate in the map. Note that points 4947 * This sets the fixed point's coordinate in the map. Note that points
4928 * describe the outline of a quadrangle and are ordered either clockwise 4948 * describe the outline of a quadrangle and are ordered either clockwise
4929 * or anit-clock-wise. It is suggested to keep your quadrangles concave and 4949 * or anti-clock-wise. It is suggested to keep your quadrangles concave and
4930 * non-complex, though these polygon modes may work, they may not render 4950 * non-complex, though these polygon modes may work, they may not render
4931 * a desired set of output. The quadrangle will use points 0 and 1 , 1 and 2, 4951 * a desired set of output. The quadrangle will use points 0 and 1 , 1 and 2,
4932 * 2 and 3, and 3 and 0 to describe the edges of the quandrangle. 4952 * 2 and 3, and 3 and 0 to describe the edges of the quadrangle.
4933 * 4953 *
4934 * The X and Y and Z coordinates are in canvas units. Z is optional and may 4954 * The X and Y and Z coordinates are in canvas units. Z is optional and may
4935 * or may not be honored in drawing. Z is a hint and does not affect the 4955 * or may not be honored in drawing. Z is a hint and does not affect the
4936 * X and Y rendered coordinates. It may be used for calculating fills with 4956 * X and Y rendered coordinates. It may be used for calculating fills with
4937 * perspective correct rendering. 4957 * perspective correct rendering.
4938 * 4958 *
4939 * Remember all coordinates are canvas global ones like with move and reize 4959 * Remember all coordinates are canvas global ones like with move and resize
4940 * in evas. 4960 * in evas.
4941 * 4961 *
4942 * @param m map to change point. Must not be @c NULL. 4962 * @param m map to change point. Must not be @c NULL.
@@ -5466,7 +5486,7 @@ EAPI void evas_object_size_hint_padding_set (Evas_Object *obj, Evas
5466 * 5486 *
5467 * @param obj The object to attach the data pointer to 5487 * @param obj The object to attach the data pointer to
5468 * @param key The string key for the data to access it 5488 * @param key The string key for the data to access it
5469 * @param data The ponter to the data to be attached 5489 * @param data The pointer to the data to be attached
5470 * 5490 *
5471 * This attaches the pointer @p data to the object @p obj, given the 5491 * This attaches the pointer @p data to the object @p obj, given the
5472 * access string @p key. This pointer will stay "hooked" to the object 5492 * access string @p key. This pointer will stay "hooked" to the object
@@ -6124,13 +6144,99 @@ EAPI void *evas_object_intercept_move_callback_del (Evas_Obje
6124 * 6144 *
6125 * @brief Function to create evas rectangle objects. 6145 * @brief Function to create evas rectangle objects.
6126 * 6146 *
6127 * This function may seem useless given there are no functions to manipulate 6147 * There is only one function to deal with rectangle objects, this may make this
6128 * the created rectangle, however the rectangle is actually very useful and can 6148 * function seem useless given there are no functions to manipulate the created
6129 * be manipulate using the generic @ref Evas_Object_Group 6149 * rectangle, however the rectangle is actually very useful and should be
6130 * "evas object functions". 6150 * manipulated using the generic @ref Evas_Object_Group "evas object functions".
6151 *
6152 * The evas rectangle server a number of key functions when working on evas
6153 * programs:
6154 * @li Background
6155 * @li Debugging
6156 * @li Clipper
6157 *
6158 * @section Background
6131 * 6159 *
6132 * For an example of use of an evas_object_rectangle see @ref 6160 * One extremely common requirement of evas programs is to have a solid color
6133 * Example_Evas_Object_Manipulation "here". 6161 * background, this can be accomplished with the following very simple code:
6162 * @code
6163 * Evas_Object *bg = evas_object_rectangle_add(evas_canvas);
6164 * //Here we set the rectangles red, green, blue and opacity levels
6165 * evas_object_color_set(bg, 255, 255, 255, 255); // opaque white background
6166 * evas_object_resize(bg, WIDTH, HEIGHT); // covers full canvas
6167 * evas_object_show(bg);
6168 * @endcode
6169 *
6170 * This however will have issues if the @c evas_canvas is resized, however most
6171 * windows are created using ecore evas and that has a solution to using the
6172 * rectangle as a background:
6173 * @code
6174 * Evas_Object *bg = evas_object_rectangle_add(ecore_evas_get(ee));
6175 * //Here we set the rectangles red, green, blue and opacity levels
6176 * evas_object_color_set(bg, 255, 255, 255, 255); // opaque white background
6177 * evas_object_resize(bg, WIDTH, HEIGHT); // covers full canvas
6178 * evas_object_show(bg);
6179 * ecore_evas_object_associate(ee, bg, ECORE_EVAS_OBJECT_ASSOCIATE_BASE);
6180 * @endcode
6181 * So this gives us a white background to our window that will be resized
6182 * together with it.
6183 *
6184 * @section Debugging
6185 *
6186 * Debugging is a major part of any programmers task and when debugging visual
6187 * issues with evas programs the rectangle is an extremely useful tool. The
6188 * rectangle's simplicity means that it's easier to pinpoint issues with it than
6189 * with more complex objects. Therefore a common technique to use when writing
6190 * an evas program and not getting the desired visual result is to replace the
6191 * misbehaving object for a solid color rectangle and seeing how it interacts
6192 * with the other elements, this often allows us to notice clipping, parenting
6193 * or positioning issues. Once the issues have been identified and corrected the
6194 * rectangle can be replaced for the original part and in all likelihood any
6195 * remaining issues will be specific to that object's type.
6196 *
6197 * @section clipping Clipping
6198 *
6199 * Clipping serves two main functions:
6200 * @li Limiting visibility(i.e. hiding portions of an object).
6201 * @li Applying a layer of color to an object.
6202 *
6203 * @subsection hiding Limiting visibility
6204 *
6205 * It is often necessary to show only parts of an object, while it may be
6206 * possible to create an object that corresponds only to the part that must be
6207 * shown(and it isn't always possible) it's usually easier to use a a clipper. A
6208 * clipper is a rectangle that defines what's visible and what is not. The way
6209 * to do this is to create a solid white rectangle(which is the default, no need
6210 * to call evas_object_color_set()) and give it a position and size of what
6211 * should be visible. The following code exemplifies showing the center half of
6212 * @c my_evas_object:
6213 * @code
6214 * Evas_Object *clipper = evas_object_rectangle_add(evas_canvas);
6215 * evas_object_move(clipper, my_evas_object_x / 4, my_evas_object_y / 4);
6216 * evas_object_resize(clipper, my_evas_object_width / 2, my_evas_object_height / 2);
6217 * evas_object_clip_set(my_evas_object, clipper);
6218 * evas_object_show(clipper);
6219 * @endcode
6220 *
6221 * @subsection color Layer of color
6222 *
6223 * In the @ref clipping section we used a solid white clipper, which produced no
6224 * change in the color of the clipped object, it just hid what was outside the
6225 * clippers area. It is however sometimes desirable to change the of color an
6226 * object, this can be accomplished using a clipper that has a non-white color.
6227 * Clippers with color work by multiplying the colors of clipped object. The
6228 * following code will show how to remove all the red from an object:
6229 * @code
6230 * Evas_Object *clipper = evas_object_rectangle_add(evas);
6231 * evas_object_move(clipper, my_evas_object_x, my_evas_object_y);
6232 * evas_object_resize(clipper, my_evas_object_width, my_evas_object_height);
6233 * evas_object_color_set(clipper, 0, 255, 255, 255);
6234 * evas_object_clip_set(obj, clipper);
6235 * evas_object_show(clipper);
6236 * @endcode
6237 *
6238 * For an example that more fully exercise the use of an evas object rectangle
6239 * see @ref Example_Evas_Object_Manipulation.
6134 * 6240 *
6135 * @ingroup Evas_Object_Specific 6241 * @ingroup Evas_Object_Specific
6136 */ 6242 */
@@ -6172,7 +6278,7 @@ EAPI Evas_Object *evas_object_rectangle_add (Evas *e) EINA_WARN_UNU
6172 * object's area</b> with that given pixel data. One could use just a 6278 * object's area</b> with that given pixel data. One could use just a
6173 * sub-region of the original image or even have it tiled repeatedly 6279 * sub-region of the original image or even have it tiled repeatedly
6174 * on the image object. For the common case of having the whole source 6280 * on the image object. For the common case of having the whole source
6175 * image to be displayed on the image object, streched to the 6281 * image to be displayed on the image object, stretched to the
6176 * destination's size, there's also a function helper, to be used 6282 * destination's size, there's also a function helper, to be used
6177 * instead of evas_object_image_fill_set(): 6283 * instead of evas_object_image_fill_set():
6178 * @code 6284 * @code
@@ -6208,7 +6314,7 @@ EAPI Evas_Object *evas_object_rectangle_add (Evas *e) EINA_WARN_UNU
6208 * at a given image, at full size, and will desire that the navigation 6314 * at a given image, at full size, and will desire that the navigation
6209 * to the adjacent images on his/her album be fluid and fast. Thus, 6315 * to the adjacent images on his/her album be fluid and fast. Thus,
6210 * while displaying a given image, the program can be on the 6316 * while displaying a given image, the program can be on the
6211 * background loading the next and previous imagens already, so that 6317 * background loading the next and previous images already, so that
6212 * displaying them on the sequence is just a matter of repainting the 6318 * displaying them on the sequence is just a matter of repainting the
6213 * screen (and not decoding image data). 6319 * screen (and not decoding image data).
6214 * 6320 *
@@ -6247,7 +6353,7 @@ EAPI Evas_Object *evas_object_rectangle_add (Evas *e) EINA_WARN_UNU
6247 * are also some tips on how to boost the performance of your 6353 * are also some tips on how to boost the performance of your
6248 * application. If the animation involves resizing of an image (thus, 6354 * application. If the animation involves resizing of an image (thus,
6249 * re-scaling), you'd better turn off smooth scaling on it @b during 6355 * re-scaling), you'd better turn off smooth scaling on it @b during
6250 * the animation, turning it back on afterwrads, for less 6356 * the animation, turning it back on afterwards, for less
6251 * computations. Also, in this case you'd better flag the image object 6357 * computations. Also, in this case you'd better flag the image object
6252 * in question not to cache scaled versions of it: 6358 * in question not to cache scaled versions of it:
6253 * @code 6359 * @code
@@ -6290,7 +6396,7 @@ EAPI Evas_Object *evas_object_rectangle_add (Evas *e) EINA_WARN_UNU
6290 * your own data as an image's pixel data, fetch an image's pixel data 6396 * your own data as an image's pixel data, fetch an image's pixel data
6291 * for saving/altering, convert images between different color spaces 6397 * for saving/altering, convert images between different color spaces
6292 * and even advanced operations like setting a native surface as image 6398 * and even advanced operations like setting a native surface as image
6293 * objecs' data. 6399 * objects' data.
6294 * 6400 *
6295 * @section Evas_Object_Image_Color_Spaces Color spaces 6401 * @section Evas_Object_Image_Color_Spaces Color spaces
6296 * 6402 *
@@ -6679,7 +6785,7 @@ EAPI double evas_object_image_border_scale_get (const Ev
6679 * 6785 *
6680 * See the following image to better understand the effects of this 6786 * See the following image to better understand the effects of this
6681 * call. On this diagram, both image object and original image source 6787 * call. On this diagram, both image object and original image source
6682 * have @c a x @c a dimentions and the image itself is a circle, with 6788 * have @c a x @c a dimensions and the image itself is a circle, with
6683 * empty space around it: 6789 * empty space around it:
6684 * 6790 *
6685 * @image html image-fill.png 6791 * @image html image-fill.png
@@ -6689,7 +6795,7 @@ EAPI double evas_object_image_border_scale_get (const Ev
6689 * @warning The default values for the fill parameters are @p x = 0, 6795 * @warning The default values for the fill parameters are @p x = 0,
6690 * @p y = 0, @p w = 0 and @p h = 0. Thus, if you're not using the 6796 * @p y = 0, @p w = 0 and @p h = 0. Thus, if you're not using the
6691 * evas_object_image_filled_add() helper and want your image 6797 * evas_object_image_filled_add() helper and want your image
6692 * displayed, you'll have to set valid values with this fuction on 6798 * displayed, you'll have to set valid values with this function on
6693 * your object. 6799 * your object.
6694 * 6800 *
6695 * @note evas_object_image_filled_set() is a helper function which 6801 * @note evas_object_image_filled_set() is a helper function which
@@ -6823,7 +6929,7 @@ EAPI void evas_object_image_data_set (Evas_Obj
6823 * This is best suited for when you want to modify an existing image, 6929 * This is best suited for when you want to modify an existing image,
6824 * without changing its dimensions. 6930 * without changing its dimensions.
6825 * 6931 *
6826 * @note The contents' formart returned by it depend on the color 6932 * @note The contents' format returned by it depend on the color
6827 * space of the given image object. 6933 * space of the given image object.
6828 * 6934 *
6829 * @note You may want to use evas_object_image_data_update_add() to 6935 * @note You may want to use evas_object_image_data_update_add() to
@@ -7022,7 +7128,7 @@ EAPI Eina_Bool evas_object_image_save (const Ev
7022EAPI Eina_Bool evas_object_image_pixels_import (Evas_Object *obj, Evas_Pixel_Import_Source *pixels) EINA_ARG_NONNULL(1, 2); 7128EAPI Eina_Bool evas_object_image_pixels_import (Evas_Object *obj, Evas_Pixel_Import_Source *pixels) EINA_ARG_NONNULL(1, 2);
7023 7129
7024/** 7130/**
7025 * Set the callback function to get pixels from a canva's image. 7131 * Set the callback function to get pixels from a canvas' image.
7026 * 7132 *
7027 * @param obj The given canvas pointer. 7133 * @param obj The given canvas pointer.
7028 * @param func The callback function. 7134 * @param func The callback function.
@@ -7403,7 +7509,7 @@ EAPI Eina_Bool evas_object_image_extension_can_load_get(const char *file);
7403 * Check if a file extension may be supported by @ref Evas_Object_Image. 7509 * Check if a file extension may be supported by @ref Evas_Object_Image.
7404 * 7510 *
7405 * @param file The file to check, it should be an Eina_Stringshare. 7511 * @param file The file to check, it should be an Eina_Stringshare.
7406 * @return EINA_TRUE if we may be able to opeen it, EINA_FALSE if it's unlikely. 7512 * @return EINA_TRUE if we may be able to open it, EINA_FALSE if it's unlikely.
7407 * @since 1.1.0 7513 * @since 1.1.0
7408 * 7514 *
7409 * This functions is threadsafe. 7515 * This functions is threadsafe.
@@ -7607,7 +7713,7 @@ EAPI void evas_object_image_animated_frame_set(Evas_Object *obj, int frame_num);
7607/** 7713/**
7608 * Text style type creation macro. This one will impose shadow 7714 * Text style type creation macro. This one will impose shadow
7609 * directions on the style type variable -- use the @c 7715 * directions on the style type variable -- use the @c
7610 * EVAS_TEXT_STYLE_SHADOW_DIRECTION_* values on 's', incremmentally. 7716 * EVAS_TEXT_STYLE_SHADOW_DIRECTION_* values on 's', incrementally.
7611 */ 7717 */
7612#define EVAS_TEXT_STYLE_SHADOW_DIRECTION_SET(x, s) \ 7718#define EVAS_TEXT_STYLE_SHADOW_DIRECTION_SET(x, s) \
7613 do { x = ((x) & ~EVAS_TEXT_STYLE_MASK_SHADOW_DIRECTION) | (s); } while (0) 7719 do { x = ((x) & ~EVAS_TEXT_STYLE_MASK_SHADOW_DIRECTION) | (s); } while (0)
@@ -7686,7 +7792,7 @@ EAPI const char *evas_object_text_font_source_get (const Evas_Object *obj
7686 * 7792 *
7687 * This function allows the font name and size of a text object to be 7793 * This function allows the font name and size of a text object to be
7688 * set. The @p font string has to follow fontconfig's convention on 7794 * set. The @p font string has to follow fontconfig's convention on
7689 * naming fonts, as it's the underlying lybrary used to query system 7795 * naming fonts, as it's the underlying library used to query system
7690 * fonts by Evas (see the @c fc-list command's output, on your system, 7796 * fonts by Evas (see the @c fc-list command's output, on your system,
7691 * to get an idea). 7797 * to get an idea).
7692 * 7798 *
@@ -8286,6 +8392,40 @@ EAPI void evas_object_textblock_style_set(Evas_Object *o
8286EAPI const Evas_Textblock_Style *evas_object_textblock_style_get(const Evas_Object *obj) EINA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1); 8392EAPI const Evas_Textblock_Style *evas_object_textblock_style_get(const Evas_Object *obj) EINA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1);
8287 8393
8288/** 8394/**
8395 * Push ts to the top of the user style stack.
8396 *
8397 * FIXME: API is solid but currently only supports 1 style in the stack.
8398 *
8399 * The user style overrides the corresponding elements of the regular style.
8400 * This is the proper way to do theme overrides in code.
8401 * @param obj the Evas object to set the style to.
8402 * @param ts the style to set.
8403 * @return Returns no value.
8404 * @see evas_object_textblock_style_set
8405 * @since 1.2.0
8406 */
8407EAPI void evas_object_textblock_style_user_push(Evas_Object *obj, Evas_Textblock_Style *ts) EINA_ARG_NONNULL(1);
8408
8409/**
8410 * Del the from the top of the user style stack.
8411 *
8412 * @param obj the object to get the style from.
8413 * @see evas_object_textblock_style_get
8414 * @since 1.2.0
8415 */
8416EAPI void evas_object_textblock_style_user_pop(Evas_Object *obj) EINA_ARG_NONNULL(1);
8417
8418/**
8419 * Get (don't remove) the style at the top of the user style stack.
8420 *
8421 * @param obj the object to get the style from.
8422 * @return the style of the object.
8423 * @see evas_object_textblock_style_get
8424 * @since 1.2.0
8425 */
8426EAPI const Evas_Textblock_Style *evas_object_textblock_style_user_peek(const Evas_Object *obj) EINA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1);
8427
8428/**
8289 * @brief Set the "replacement character" to use for the given textblock object. 8429 * @brief Set the "replacement character" to use for the given textblock object.
8290 * 8430 *
8291 * @param obj The given textblock object. 8431 * @param obj The given textblock object.
@@ -8320,7 +8460,7 @@ EAPI void evas_object_textblock_valign_set(Evas_Object *
8320 * @brief Gets the vertical alignment of a textblock 8460 * @brief Gets the vertical alignment of a textblock
8321 * 8461 *
8322 * @param obj The given textblock object. 8462 * @param obj The given textblock object.
8323 * @return The elignment set for the object 8463 * @return The alignment set for the object
8324 * @since 1.1.0 8464 * @since 1.1.0
8325 */ 8465 */
8326EAPI double evas_object_textblock_valign_get(const Evas_Object *obj); 8466EAPI double evas_object_textblock_valign_get(const Evas_Object *obj);
@@ -8524,7 +8664,7 @@ EAPI void evas_textblock_node_format_remove_pair(Evas_Ob
8524 * @param n the format node to update according. 8664 * @param n the format node to update according.
8525 * @deprecated duplicate of evas_textblock_cursor_at_format_set 8665 * @deprecated duplicate of evas_textblock_cursor_at_format_set
8526 */ 8666 */
8527EINA_DEPRECATED EAPI void evas_textblock_cursor_set_at_format(Evas_Textblock_Cursor *cur, const Evas_Object_Textblock_Node_Format *n) EINA_ARG_NONNULL(1, 2); 8667EAPI void evas_textblock_cursor_set_at_format(Evas_Textblock_Cursor *cur, const Evas_Object_Textblock_Node_Format *n) EINA_ARG_NONNULL(1, 2);
8528 8668
8529/** 8669/**
8530 * Return the format node at the position pointed by cur. 8670 * Return the format node at the position pointed by cur.
@@ -8847,7 +8987,7 @@ EAPI char *evas_textblock_cursor_content_get(const Evas_T
8847 * get, except for the case of the last char of a line which depends on the 8987 * get, except for the case of the last char of a line which depends on the
8848 * paragraph direction. 8988 * paragraph direction.
8849 * 8989 *
8850 * in '|' cursor mode (i.e a line between two chars) it is very varyable. 8990 * in '|' cursor mode (i.e a line between two chars) it is very variable.
8851 * For example consider the following visual string: 8991 * For example consider the following visual string:
8852 * "abcCBA" (ABC are rtl chars), a cursor pointing on A should actually draw 8992 * "abcCBA" (ABC are rtl chars), a cursor pointing on A should actually draw
8853 * a '|' between the c and the C. 8993 * a '|' between the c and the C.
@@ -9348,7 +9488,7 @@ struct _Evas_Smart_Cb_Description
9348 return; \ 9488 return; \
9349 if (!prefix##_parent_sc) \ 9489 if (!prefix##_parent_sc) \
9350 prefix##_parent_sc = parent_func(); \ 9490 prefix##_parent_sc = parent_func(); \
9351 evas_smart_class_inherit(sc, (const Evas_Smart_Class *)prefix##_parent_sc); \ 9491 evas_smart_class_inherit(sc, prefix##_parent_sc); \
9352 prefix##_smart_set_user(api); \ 9492 prefix##_smart_set_user(api); \
9353 } \ 9493 } \
9354 static Evas_Smart * prefix##_smart_class_new(void) \ 9494 static Evas_Smart * prefix##_smart_class_new(void) \
@@ -9557,7 +9697,7 @@ EAPI int evas_smart_usage_get(const Evas_Smart *s);
9557 * @return 1 on success, 0 on failure. 9697 * @return 1 on success, 0 on failure.
9558 * @ingroup Evas_Smart_Group 9698 * @ingroup Evas_Smart_Group
9559 */ 9699 */
9560#define evas_smart_class_inherit(sc, parent_sc) evas_smart_class_inherit_full(sc, parent_sc, sizeof(*parent_sc)) 9700#define evas_smart_class_inherit(sc, parent_sc) evas_smart_class_inherit_full(sc, (Evas_Smart_Class *)parent_sc, sizeof(*parent_sc))
9561 9701
9562/** 9702/**
9563 * @} 9703 * @}
@@ -9576,13 +9716,13 @@ EAPI int evas_smart_usage_get(const Evas_Smart *s);
9576 * used on the icon object. 9716 * used on the icon object.
9577 * 9717 *
9578 * Besides that, generally smart objects implement a <b>specific 9718 * Besides that, generally smart objects implement a <b>specific
9579 * API</b>, so that users interect with its own custom features. The 9719 * API</b>, so that users interact with its own custom features. The
9580 * API takes form of explicit exported functions one may call and 9720 * API takes form of explicit exported functions one may call and
9581 * <b>smart callbacks</b>. 9721 * <b>smart callbacks</b>.
9582 * 9722 *
9583 * @section Evas_Smart_Object_Group_Callbacks Smart events and callbacks 9723 * @section Evas_Smart_Object_Group_Callbacks Smart events and callbacks
9584 * 9724 *
9585 * Smart objects can elect events (smart events, from now on) ocurring 9725 * Smart objects can elect events (smart events, from now on) occurring
9586 * inside of them to be reported back to their users via callback 9726 * inside of them to be reported back to their users via callback
9587 * functions (smart callbacks). This way, you can extend Evas' own 9727 * functions (smart callbacks). This way, you can extend Evas' own
9588 * object events. They are defined by an <b>event string</b>, which 9728 * object events. They are defined by an <b>event string</b>, which
@@ -9590,7 +9730,7 @@ EAPI int evas_smart_usage_get(const Evas_Smart *s);
9590 * definition for the callback functions: #Evas_Smart_Cb. 9730 * definition for the callback functions: #Evas_Smart_Cb.
9591 * 9731 *
9592 * When defining an #Evas_Smart_Class, smart object implementors are 9732 * When defining an #Evas_Smart_Class, smart object implementors are
9593 * strongly encorauged to properly set the Evas_Smart_Class::callbacks 9733 * strongly encouraged to properly set the Evas_Smart_Class::callbacks
9594 * callbacks description array, so that the users of the smart object 9734 * callbacks description array, so that the users of the smart object
9595 * can have introspection on its events API <b>at run time</b>. 9735 * can have introspection on its events API <b>at run time</b>.
9596 * 9736 *
@@ -9890,7 +10030,7 @@ EAPI void *evas_object_smart_callback_del_full(Evas_Object *obj, con
9890 * object should include a list of possible events and what type of @p 10030 * object should include a list of possible events and what type of @p
9891 * event_info to expect for each of them. Also, when defining an 10031 * event_info to expect for each of them. Also, when defining an
9892 * #Evas_Smart_Class, smart object implementors are strongly 10032 * #Evas_Smart_Class, smart object implementors are strongly
9893 * encorauged to properly set the Evas_Smart_Class::callbacks 10033 * encouraged to properly set the Evas_Smart_Class::callbacks
9894 * callbacks description array, so that the users of the smart object 10034 * callbacks description array, so that the users of the smart object
9895 * can have introspection on its events API <b>at run time</b>. 10035 * can have introspection on its events API <b>at run time</b>.
9896 * 10036 *
@@ -9949,7 +10089,7 @@ EAPI Eina_Bool evas_object_smart_callbacks_descriptions_set(Evas_Object
9949 * @param instance_count Returns how many instance callbacks 10089 * @param instance_count Returns how many instance callbacks
9950 * descriptions are known. 10090 * descriptions are known.
9951 * 10091 *
9952 * This call searchs for registered callback descriptions for both 10092 * This call searches for registered callback descriptions for both
9953 * instance and class of the given smart object. These arrays will be 10093 * instance and class of the given smart object. These arrays will be
9954 * sorted by Evas_Smart_Cb_Description::name and also @c NULL 10094 * sorted by Evas_Smart_Cb_Description::name and also @c NULL
9955 * terminated, so both @a class_count and @a instance_count can be 10095 * terminated, so both @a class_count and @a instance_count can be
@@ -10052,7 +10192,7 @@ EAPI void evas_object_smart_need_recalculate_set(Evas_Object *obj,
10052EAPI Eina_Bool evas_object_smart_need_recalculate_get(const Evas_Object *obj) EINA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1); 10192EAPI Eina_Bool evas_object_smart_need_recalculate_get(const Evas_Object *obj) EINA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1);
10053 10193
10054/** 10194/**
10055 * Call the @b calculate() smart function immediataly on a given smart 10195 * Call the @b calculate() smart function immediately on a given smart
10056 * object. 10196 * object.
10057 * 10197 *
10058 * @param obj the smart object's handle 10198 * @param obj the smart object's handle
@@ -10091,7 +10231,7 @@ EAPI void evas_smart_objects_calculate (Evas *e);
10091 * that this function returns the value of. It starts at the value of 0 and 10231 * that this function returns the value of. It starts at the value of 0 and
10092 * will increase (and eventually wrap around to negative values and so on) by 10232 * will increase (and eventually wrap around to negative values and so on) by
10093 * 1 every time objects are calculated. You can use this counter to ensure 10233 * 1 every time objects are calculated. You can use this counter to ensure
10094 * you dont re-do calculations withint the same calculation generation/run 10234 * you don't re-do calculations withint the same calculation generation/run
10095 * if the calculations maybe cause self-feeding effects. 10235 * if the calculations maybe cause self-feeding effects.
10096 * 10236 *
10097 * @ingroup Evas_Smart_Object_Group 10237 * @ingroup Evas_Smart_Object_Group
@@ -10348,7 +10488,7 @@ EAPI const Evas_Smart_Class *evas_object_smart_clipped_class_get (void) EINA
10348 Evas_Object_Box_Option *(*prepend) (Evas_Object *o, Evas_Object_Box_Data *priv, Evas_Object *child); /**< Smart function to prepend child elements in boxes */ 10488 Evas_Object_Box_Option *(*prepend) (Evas_Object *o, Evas_Object_Box_Data *priv, Evas_Object *child); /**< Smart function to prepend child elements in boxes */
10349 Evas_Object_Box_Option *(*insert_before) (Evas_Object *o, Evas_Object_Box_Data *priv, Evas_Object *child, const Evas_Object *reference); /**< Smart function to insert a child element before another in boxes */ 10489 Evas_Object_Box_Option *(*insert_before) (Evas_Object *o, Evas_Object_Box_Data *priv, Evas_Object *child, const Evas_Object *reference); /**< Smart function to insert a child element before another in boxes */
10350 Evas_Object_Box_Option *(*insert_after) (Evas_Object *o, Evas_Object_Box_Data *priv, Evas_Object *child, const Evas_Object *reference); /**< Smart function to insert a child element after another in boxes */ 10490 Evas_Object_Box_Option *(*insert_after) (Evas_Object *o, Evas_Object_Box_Data *priv, Evas_Object *child, const Evas_Object *reference); /**< Smart function to insert a child element after another in boxes */
10351 Evas_Object_Box_Option *(*insert_at) (Evas_Object *o, Evas_Object_Box_Data *priv, Evas_Object *child, unsigned int pos); /**< Smart function to insert a child element at a given positon on boxes */ 10491 Evas_Object_Box_Option *(*insert_at) (Evas_Object *o, Evas_Object_Box_Data *priv, Evas_Object *child, unsigned int pos); /**< Smart function to insert a child element at a given position on boxes */
10352 Evas_Object *(*remove) (Evas_Object *o, Evas_Object_Box_Data *priv, Evas_Object *child); /**< Smart function to remove a child element from boxes */ 10492 Evas_Object *(*remove) (Evas_Object *o, Evas_Object_Box_Data *priv, Evas_Object *child); /**< Smart function to remove a child element from boxes */
10353 Evas_Object *(*remove_at) (Evas_Object *o, Evas_Object_Box_Data *priv, unsigned int pos); /**< Smart function to remove a child element from boxes, by its position */ 10493 Evas_Object *(*remove_at) (Evas_Object *o, Evas_Object_Box_Data *priv, unsigned int pos); /**< Smart function to remove a child element from boxes, by its position */
10354 Eina_Bool (*property_set) (Evas_Object *o, Evas_Object_Box_Option *opt, int property, va_list args); /**< Smart function to set a custom property on a box child */ 10494 Eina_Bool (*property_set) (Evas_Object *o, Evas_Object_Box_Option *opt, int property, va_list args); /**< Smart function to set a custom property on a box child */
@@ -10472,7 +10612,7 @@ EAPI const Evas_Smart_Class *evas_object_smart_clipped_class_get (void) EINA
10472 * with the default values. May be used to extend that API. 10612 * with the default values. May be used to extend that API.
10473 * 10613 *
10474 * @param api The box API struct to set back, most probably with 10614 * @param api The box API struct to set back, most probably with
10475 * overriden fields (on class extensions scenarios) 10615 * overridden fields (on class extensions scenarios)
10476 */ 10616 */
10477EAPI void evas_object_box_smart_set (Evas_Object_Box_Api *api) EINA_ARG_NONNULL(1); 10617EAPI void evas_object_box_smart_set (Evas_Object_Box_Api *api) EINA_ARG_NONNULL(1);
10478 10618
@@ -10697,7 +10837,7 @@ EAPI void evas_object_box_layout_homogeneous_horizontal
10697 * of this overall child width in its allocated cell (@c 0.0 to 10837 * of this overall child width in its allocated cell (@c 0.0 to
10698 * extreme left, @c 1.0 to extreme right). A value of @c -1.0 to 10838 * extreme left, @c 1.0 to extreme right). A value of @c -1.0 to
10699 * @c align_x makes the box try to resize this child element to the exact 10839 * @c align_x makes the box try to resize this child element to the exact
10700 * width of its cell (respecting the minimun and maximum size hints on 10840 * width of its cell (respecting the minimum and maximum size hints on
10701 * the child's width and accounting for its horizontal padding 10841 * the child's width and accounting for its horizontal padding
10702 * hints). The child's @c padding_t, @c padding_b and @c align_y 10842 * hints). The child's @c padding_t, @c padding_b and @c align_y
10703 * properties apply for padding/alignment relative to the overall 10843 * properties apply for padding/alignment relative to the overall
@@ -10978,7 +11118,7 @@ EAPI Evas_Object_Box_Option *evas_object_box_insert_at
10978 * On removal, you'll get an unparented object again, just as it was 11118 * On removal, you'll get an unparented object again, just as it was
10979 * before you inserted it in the box. The 11119 * before you inserted it in the box. The
10980 * _Evas_Object_Box_Api::option_free box smart callback will be called 11120 * _Evas_Object_Box_Api::option_free box smart callback will be called
10981 * automatilly for you and, also, the @c "child,removed" smart event 11121 * automatically for you and, also, the @c "child,removed" smart event
10982 * will take place. 11122 * will take place.
10983 * 11123 *
10984 * @note This call will trigger the box's _Evas_Object_Box_Api::remove 11124 * @note This call will trigger the box's _Evas_Object_Box_Api::remove
@@ -10997,7 +11137,7 @@ EAPI Eina_Bool evas_object_box_remove
10997 * 11137 *
10998 * On removal, you'll get an unparented object again, just as it was 11138 * On removal, you'll get an unparented object again, just as it was
10999 * before you inserted it in the box. The @c option_free() box smart 11139 * before you inserted it in the box. The @c option_free() box smart
11000 * callback will be called automatilly for you and, also, the 11140 * callback will be called automatically for you and, also, the
11001 * @c "child,removed" smart event will take place. 11141 * @c "child,removed" smart event will take place.
11002 * 11142 *
11003 * @note This function will fail if the given position is invalid, 11143 * @note This function will fail if the given position is invalid,
@@ -11589,8 +11729,8 @@ EAPI Eina_List *evas_object_grid_children_get (const
11589 { 11729 {
11590 int saved_memory; /**< current amount of saved memory, in bytes */ 11730 int saved_memory; /**< current amount of saved memory, in bytes */
11591 int wasted_memory; /**< current amount of wasted memory, in bytes */ 11731 int wasted_memory; /**< current amount of wasted memory, in bytes */
11592 int saved_memory_peak; /**< peak ammount of saved memory, in bytes */ 11732 int saved_memory_peak; /**< peak amount of saved memory, in bytes */
11593 int wasted_memory_peak; /**< peak ammount of wasted memory, in bytes */ 11733 int wasted_memory_peak; /**< peak amount of wasted memory, in bytes */
11594 double saved_time_image_header_load; /**< time, in seconds, saved in header loads by sharing cached loads instead */ 11734 double saved_time_image_header_load; /**< time, in seconds, saved in header loads by sharing cached loads instead */
11595 double saved_time_image_data_load; /**< time, in seconds, saved in data loads by sharing cached loads instead */ 11735 double saved_time_image_data_load; /**< time, in seconds, saved in data loads by sharing cached loads instead */
11596 }; 11736 };
@@ -11803,7 +11943,7 @@ EAPI void evas_color_rgb_to_hsv (int r, int g, int b, f
11803 * @param g The Green component of the color. 11943 * @param g The Green component of the color.
11804 * @param b The Blue component of the color. 11944 * @param b The Blue component of the color.
11805 * 11945 *
11806 * This function pre-multiplies a given rbg triplet by an alpha 11946 * This function pre-multiplies a given rgb triplet by an alpha
11807 * factor. Alpha factor is used to define transparency. 11947 * factor. Alpha factor is used to define transparency.
11808 * 11948 *
11809 * @ingroup Evas_Utils 11949 * @ingroup Evas_Utils
@@ -12233,7 +12373,7 @@ EAPI Evas_Modifier_Mask evas_key_modifier_mask_get (const Evas *e, const c
12233 * modifiers that must and mustn't, respectively, be pressed along 12373 * modifiers that must and mustn't, respectively, be pressed along
12234 * with @p keyname key in order to trigger this new key 12374 * with @p keyname key in order to trigger this new key
12235 * grab. Modifiers can be things such as Shift and Ctrl as well as 12375 * grab. Modifiers can be things such as Shift and Ctrl as well as
12236 * user defigned types via evas_key_modifier_add(). Retrieve them with 12376 * user defined types via evas_key_modifier_add(). Retrieve them with
12237 * evas_key_modifier_mask_get() or use @c 0 for empty masks. 12377 * evas_key_modifier_mask_get() or use @c 0 for empty masks.
12238 * 12378 *
12239 * @p exclusive will make the given object the only one permitted to 12379 * @p exclusive will make the given object the only one permitted to