diff options
Diffstat (limited to '')
-rw-r--r-- | libraries/evas/src/lib/Evas.h | 310 |
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 | ||
7 | Please see the @ref authors page for contact details. | 7 | Please 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 | */ |
542 | typedef enum _Evas_Object_Table_Homogeneous_Mode | 543 | typedef 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 | ||
727 | struct _Evas_Pixel_Import_Source | 728 | struct _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 | |||
7022 | EAPI Eina_Bool evas_object_image_pixels_import (Evas_Object *obj, Evas_Pixel_Import_Source *pixels) EINA_ARG_NONNULL(1, 2); | 7128 | EAPI 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 | |||
8286 | EAPI const Evas_Textblock_Style *evas_object_textblock_style_get(const Evas_Object *obj) EINA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1); | 8392 | EAPI 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 | */ | ||
8407 | EAPI 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 | */ | ||
8416 | EAPI 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 | */ | ||
8426 | EAPI 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 | */ |
8326 | EAPI double evas_object_textblock_valign_get(const Evas_Object *obj); | 8466 | EAPI 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 | */ |
8527 | EINA_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); | 8667 | EAPI 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, | |||
10052 | EAPI Eina_Bool evas_object_smart_need_recalculate_get(const Evas_Object *obj) EINA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1); | 10192 | EAPI 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 | */ |
10477 | EAPI void evas_object_box_smart_set (Evas_Object_Box_Api *api) EINA_ARG_NONNULL(1); | 10617 | EAPI 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 |