| Evas.h | | Evas.h | |
| /** | | /** | |
| @mainpage Evas | | @mainpage Evas | |
| | | | |
| @version 1.1 | | @version 1.1 | |
|
| @date 2000-2011 | | @date 2000-2012 | |
| | | | |
| Please see the @ref authors page for contact details. | | Please see the @ref authors page for contact details. | |
| @link Evas.h Evas API @endlink | | @link Evas.h Evas API @endlink | |
| | | | |
|
| | | @link Evas.h Evas API @endlink | |
| | | | |
| @section toc Table of Contents | | @section toc Table of Contents | |
| | | | |
| @li @ref intro | | @li @ref intro | |
| @li @ref work | | @li @ref work | |
| @li @ref compiling | | @li @ref compiling | |
| @li @ref install | | @li @ref install | |
| @li @ref next_steps | | @li @ref next_steps | |
| @li @ref intro_example | | @li @ref intro_example | |
| | | | |
| @section intro What is Evas? | | @section intro What is Evas? | |
| | | | |
| skipping to change at line 289 | | skipping to change at line 291 | |
| @author Bernhard Nemec <Bernhard.Nemec@@viasyshc.com> | | @author Bernhard Nemec <Bernhard.Nemec@@viasyshc.com> | |
| @author Jorge Luis Zapata Muga <jorgeluis.zapata@@gmail.com> | | @author Jorge Luis Zapata Muga <jorgeluis.zapata@@gmail.com> | |
| @author Cedric Bail <cedric.bail@@free.fr> | | @author Cedric Bail <cedric.bail@@free.fr> | |
| @author Gustavo Sverzut Barbieri <barbieri@@profusion.mobi> | | @author Gustavo Sverzut Barbieri <barbieri@@profusion.mobi> | |
| @author Vincent Torri <vtorri@@univ-evry.fr> | | @author Vincent Torri <vtorri@@univ-evry.fr> | |
| @author Tim Horton <hortont424@@gmail.com> | | @author Tim Horton <hortont424@@gmail.com> | |
| @author Tom Hacohen <tom@@stosb.com> | | @author Tom Hacohen <tom@@stosb.com> | |
| @author Mathieu Taillefumier <mathieu.taillefumier@@free.fr> | | @author Mathieu Taillefumier <mathieu.taillefumier@@free.fr> | |
| @author Iván Briano <ivan@@profusion.mobi> | | @author Iván Briano <ivan@@profusion.mobi> | |
| @author Gustavo Lima Chaves <glima@@profusion.mobi> | | @author Gustavo Lima Chaves <glima@@profusion.mobi> | |
|
| @author Samsung Electronics <tbd> | | @author Samsung Electronics | |
| @author Samsung SAIT <tbd> | | @author Samsung SAIT | |
| @author Sung W. Park <sungwoo@@gmail.com> | | @author Sung W. Park <sungwoo@@gmail.com> | |
| @author Jiyoun Park <jy0703.park@@samsung.com> | | @author Jiyoun Park <jy0703.park@@samsung.com> | |
| @author Myoungwoon Roy Kim(roy_kim) <myoungwoon.kim@@samsung.com> <myoungwo
on@@gmail.com> | | @author Myoungwoon Roy Kim(roy_kim) <myoungwoon.kim@@samsung.com> <myoungwo
on@@gmail.com> | |
| @author Thierry el Borgi <thierry@@substantiel.fr> | | @author Thierry el Borgi <thierry@@substantiel.fr> | |
| @author ChunEon Park <hermet@@hermet.pe.kr> | | @author ChunEon Park <hermet@@hermet.pe.kr> | |
| @author Christopher 'devilhorns' Michael <cpmichael1@comcast.net> | | @author Christopher 'devilhorns' Michael <cpmichael1@comcast.net> | |
| @author Seungsoo Woo <om101.woo@samsung.com> | | @author Seungsoo Woo <om101.woo@samsung.com> | |
| | | | |
| Please contact <enlightenment-devel@lists.sourceforge.net> to get in | | Please contact <enlightenment-devel@lists.sourceforge.net> to get in | |
| contact with the developers and maintainers. | | contact with the developers and maintainers. | |
| | | | |
| skipping to change at line 341 | | skipping to change at line 343 | |
| # else | | # else | |
| # define EAPI | | # define EAPI | |
| # endif | | # endif | |
| #endif /* ! _WIN32 */ | | #endif /* ! _WIN32 */ | |
| | | | |
| #ifdef __cplusplus | | #ifdef __cplusplus | |
| extern "C" { | | extern "C" { | |
| #endif | | #endif | |
| | | | |
| #define EVAS_VERSION_MAJOR 1 | | #define EVAS_VERSION_MAJOR 1 | |
|
| #define EVAS_VERSION_MINOR 0 | | #define EVAS_VERSION_MINOR 2 | |
| | | | |
| typedef struct _Evas_Version | | typedef struct _Evas_Version | |
| { | | { | |
| int major; | | int major; | |
| int minor; | | int minor; | |
| int micro; | | int micro; | |
| int revision; | | int revision; | |
| } Evas_Version; | | } Evas_Version; | |
| | | | |
| EAPI extern Evas_Version *evas_version; | | EAPI extern Evas_Version *evas_version; | |
| | | | |
| skipping to change at line 429 | | skipping to change at line 431 | |
| EVAS_CALLBACK_CANVAS_FOCUS_IN, /**< Canvas got focus as a whole */ | | EVAS_CALLBACK_CANVAS_FOCUS_IN, /**< Canvas got focus as a whole */ | |
| EVAS_CALLBACK_CANVAS_FOCUS_OUT, /**< Canvas lost focus as a whole */ | | EVAS_CALLBACK_CANVAS_FOCUS_OUT, /**< Canvas lost focus as a whole */ | |
| EVAS_CALLBACK_RENDER_FLUSH_PRE, /**< Called just before rendering is upd
ated on the canvas target */ | | EVAS_CALLBACK_RENDER_FLUSH_PRE, /**< Called just before rendering is upd
ated on the canvas target */ | |
| EVAS_CALLBACK_RENDER_FLUSH_POST, /**< Called just after rendering is upd
ated on the canvas target */ | | EVAS_CALLBACK_RENDER_FLUSH_POST, /**< Called just after rendering is upd
ated on the canvas target */ | |
| EVAS_CALLBACK_CANVAS_OBJECT_FOCUS_IN, /**< Canvas object got focus */ | | EVAS_CALLBACK_CANVAS_OBJECT_FOCUS_IN, /**< Canvas object got focus */ | |
| EVAS_CALLBACK_CANVAS_OBJECT_FOCUS_OUT, /**< Canvas object lost focus */ | | EVAS_CALLBACK_CANVAS_OBJECT_FOCUS_OUT, /**< Canvas object lost focus */ | |
| | | | |
| /* | | /* | |
| * More Evas object event types - see evas_object_event_callback_add(): | | * More Evas object event types - see evas_object_event_callback_add(): | |
| */ | | */ | |
|
| EVAS_CALLBACK_IMAGE_UNLOADED, /**< Image data has been unloaded (by some | | EVAS_CALLBACK_IMAGE_UNLOADED, /**< Image data has been unloaded (by some | |
| mechanims in Evas that throw out original image data) */ | | mechanism in Evas that throw out original image data) */ | |
| | | | |
| | | EVAS_CALLBACK_RENDER_PRE, /**< Called just before rendering starts on th | |
| | | e canvas target @since 1.2 */ | |
| | | EVAS_CALLBACK_RENDER_POST, /**< Called just after rendering stops on the | |
| | | canvas target @since 1.2 */ | |
| | | | |
| EVAS_CALLBACK_LAST /**< kept as last element/sentinel -- not really an e
vent */ | | EVAS_CALLBACK_LAST /**< kept as last element/sentinel -- not really an e
vent */ | |
| } Evas_Callback_Type; /**< The types of events triggering a callback */ | | } Evas_Callback_Type; /**< The types of events triggering a callback */ | |
| | | | |
| /** | | /** | |
| * @def EVAS_CALLBACK_PRIORITY_BEFORE | | * @def EVAS_CALLBACK_PRIORITY_BEFORE | |
| * Slightly more prioritized than default. | | * Slightly more prioritized than default. | |
| * @since 1.1.0 | | * @since 1.1.0 | |
| */ | | */ | |
| #define EVAS_CALLBACK_PRIORITY_BEFORE -100 | | #define EVAS_CALLBACK_PRIORITY_BEFORE -100 | |
| | | | |
| skipping to change at line 484 | | skipping to change at line 489 | |
| EVAS_BUTTON_TRIPLE_CLICK = (1 << 1) /**< This mouse button press was the
3rd press of a triple click */ | | EVAS_BUTTON_TRIPLE_CLICK = (1 << 1) /**< This mouse button press was the
3rd press of a triple click */ | |
| } Evas_Button_Flags; /**< Flags for Mouse Button events */ | | } Evas_Button_Flags; /**< Flags for Mouse Button events */ | |
| | | | |
| /** | | /** | |
| * Flags for Events | | * Flags for Events | |
| */ | | */ | |
| typedef enum _Evas_Event_Flags | | typedef enum _Evas_Event_Flags | |
| { | | { | |
| EVAS_EVENT_FLAG_NONE = 0, /**< No fancy flags set */ | | EVAS_EVENT_FLAG_NONE = 0, /**< No fancy flags set */ | |
| EVAS_EVENT_FLAG_ON_HOLD = (1 << 0), /**< This event is being delivered b
ut should be put "on hold" until the on hold flag is unset. the event shoul
d be used for informational purposes and maybe some indications visually, b
ut not actually perform anything */ | | EVAS_EVENT_FLAG_ON_HOLD = (1 << 0), /**< This event is being delivered b
ut should be put "on hold" until the on hold flag is unset. the event shoul
d be used for informational purposes and maybe some indications visually, b
ut not actually perform anything */ | |
|
| EVAS_EVENT_FLAG_ON_SCROLL = (1 << 1) /**< This event flag indicates the
event occurs while scrolling; for exameple, DOWN event occurs during scroll
ing; the event should be used for informational purposes and maybe some ind
ications visually, but not actually perform anything */ | | EVAS_EVENT_FLAG_ON_SCROLL = (1 << 1) /**< This event flag indicates the
event occurs while scrolling; for example, DOWN event occurs during scrolli
ng; the event should be used for informational purposes and maybe some indi
cations visually, but not actually perform anything */ | |
| } Evas_Event_Flags; /**< Flags for Events */ | | } Evas_Event_Flags; /**< Flags for Events */ | |
| | | | |
| /** | | /** | |
| * State of Evas_Coord_Touch_Point | | * State of Evas_Coord_Touch_Point | |
| */ | | */ | |
| typedef enum _Evas_Touch_Point_State | | typedef enum _Evas_Touch_Point_State | |
| { | | { | |
| EVAS_TOUCH_POINT_DOWN, /**< Touch point is pressed down */ | | EVAS_TOUCH_POINT_DOWN, /**< Touch point is pressed down */ | |
| EVAS_TOUCH_POINT_UP, /**< Touch point is released */ | | EVAS_TOUCH_POINT_UP, /**< Touch point is released */ | |
| EVAS_TOUCH_POINT_MOVE, /**< Touch point is moved */ | | EVAS_TOUCH_POINT_MOVE, /**< Touch point is moved */ | |
| EVAS_TOUCH_POINT_STILL, /**< Touch point is not moved after pressed */ | | EVAS_TOUCH_POINT_STILL, /**< Touch point is not moved after pressed */ | |
|
| EVAS_TOUCH_POINT_CANCEL /**< Touch point is calcelled */ | | EVAS_TOUCH_POINT_CANCEL /**< Touch point is cancelled */ | |
| } Evas_Touch_Point_State; | | } Evas_Touch_Point_State; | |
| | | | |
| /** | | /** | |
| * Flags for Font Hinting | | * Flags for Font Hinting | |
| * @ingroup Evas_Font_Group | | * @ingroup Evas_Font_Group | |
| */ | | */ | |
| typedef enum _Evas_Font_Hinting_Flags | | typedef enum _Evas_Font_Hinting_Flags | |
| { | | { | |
| EVAS_FONT_HINTING_NONE, /**< No font hinting */ | | EVAS_FONT_HINTING_NONE, /**< No font hinting */ | |
| EVAS_FONT_HINTING_AUTO, /**< Automatic font hinting */ | | EVAS_FONT_HINTING_AUTO, /**< Automatic font hinting */ | |
| | | | |
| skipping to change at line 522 | | skipping to change at line 527 | |
| * @ingroup Evas_Object_Image | | * @ingroup Evas_Object_Image | |
| */ | | */ | |
| typedef enum _Evas_Colorspace | | typedef enum _Evas_Colorspace | |
| { | | { | |
| EVAS_COLORSPACE_ARGB8888, /**< ARGB 32 bits per pixel, high-byte is Alph
a, accessed 1 32bit word at a time */ | | EVAS_COLORSPACE_ARGB8888, /**< ARGB 32 bits per pixel, high-byte is Alph
a, accessed 1 32bit word at a time */ | |
| /* these are not currently supported - but planned for the future */ | | /* these are not currently supported - but planned for the future */ | |
| EVAS_COLORSPACE_YCBCR422P601_PL, /**< YCbCr 4:2:2 Planar, ITU.BT-601 spe
cifications. The data pointed to is just an array of row pointer, pointing
to the Y rows, then the Cb, then Cr rows */ | | EVAS_COLORSPACE_YCBCR422P601_PL, /**< YCbCr 4:2:2 Planar, ITU.BT-601 spe
cifications. The data pointed to is just an array of row pointer, pointing
to the Y rows, then the Cb, then Cr rows */ | |
| EVAS_COLORSPACE_YCBCR422P709_PL,/**< YCbCr 4:2:2 Planar, ITU.BT-709 spec
ifications. The data pointed to is just an array of row pointer, pointing t
o the Y rows, then the Cb, then Cr rows */ | | EVAS_COLORSPACE_YCBCR422P709_PL,/**< YCbCr 4:2:2 Planar, ITU.BT-709 spec
ifications. The data pointed to is just an array of row pointer, pointing t
o the Y rows, then the Cb, then Cr rows */ | |
| EVAS_COLORSPACE_RGB565_A5P, /**< 16bit rgb565 + Alpha plane at end - 5 b
its of the 8 being used per alpha byte */ | | EVAS_COLORSPACE_RGB565_A5P, /**< 16bit rgb565 + Alpha plane at end - 5 b
its of the 8 being used per alpha byte */ | |
| EVAS_COLORSPACE_GRY8, /**< 8bit grayscale */ | | EVAS_COLORSPACE_GRY8, /**< 8bit grayscale */ | |
|
| EVAS_COLORSPACE_YCBCR422601_PL, /**< YCbCr 4:2:2, ITU.BT-601 specificat
ions. The data poitned to is just an array of row pointer, pointing to line
of Y,Cb,Y,Cr bytes */ | | EVAS_COLORSPACE_YCBCR422601_PL, /**< YCbCr 4:2:2, ITU.BT-601 specificat
ions. The data pointed to is just an array of row pointer, pointing to line
of Y,Cb,Y,Cr bytes */ | |
| EVAS_COLORSPACE_YCBCR420NV12601_PL, /**< YCbCr 4:2:0, ITU.BT-601 specifi
cation. The data pointed to is just an array of row pointer, pointing to th
e Y rows, then the Cb,Cr rows. */ | | EVAS_COLORSPACE_YCBCR420NV12601_PL, /**< YCbCr 4:2:0, ITU.BT-601 specifi
cation. The data pointed to is just an array of row pointer, pointing to th
e Y rows, then the Cb,Cr rows. */ | |
| EVAS_COLORSPACE_YCBCR420TM12601_PL, /**< YCbCr 4:2:0, ITU.BT-601 specifi
cation. The data pointed to is just an array of tiled row pointer, pointing
to the Y rows, then the Cb,Cr rows. */ | | EVAS_COLORSPACE_YCBCR420TM12601_PL, /**< YCbCr 4:2:0, ITU.BT-601 specifi
cation. The data pointed to is just an array of tiled row pointer, pointing
to the Y rows, then the Cb,Cr rows. */ | |
| } Evas_Colorspace; /**< Colorspaces for pixel data supported by Evas */ | | } Evas_Colorspace; /**< Colorspaces for pixel data supported by Evas */ | |
| | | | |
| /** | | /** | |
| * How to pack items into cells in a table. | | * How to pack items into cells in a table. | |
| * @ingroup Evas_Object_Table | | * @ingroup Evas_Object_Table | |
| * | | * | |
|
| * @see evas_object_table_homogeneous_set() for an explanation of the funci
on of | | * @see evas_object_table_homogeneous_set() for an explanation of the funct
ion of | |
| * each one. | | * each one. | |
| */ | | */ | |
| typedef enum _Evas_Object_Table_Homogeneous_Mode | | typedef enum _Evas_Object_Table_Homogeneous_Mode | |
| { | | { | |
| EVAS_OBJECT_TABLE_HOMOGENEOUS_NONE = 0, | | EVAS_OBJECT_TABLE_HOMOGENEOUS_NONE = 0, | |
| EVAS_OBJECT_TABLE_HOMOGENEOUS_TABLE = 1, | | EVAS_OBJECT_TABLE_HOMOGENEOUS_TABLE = 1, | |
| EVAS_OBJECT_TABLE_HOMOGENEOUS_ITEM = 2 | | EVAS_OBJECT_TABLE_HOMOGENEOUS_ITEM = 2 | |
| } Evas_Object_Table_Homogeneous_Mode; /**< Table cell pack mode. */ | | } Evas_Object_Table_Homogeneous_Mode; /**< Table cell pack mode. */ | |
| | | | |
| typedef struct _Evas_Coord_Rectangle Evas_Coord_Rectangle; /**< A generic
rectangle handle */ | | typedef struct _Evas_Coord_Rectangle Evas_Coord_Rectangle; /**< A generic
rectangle handle */ | |
| | | | |
| skipping to change at line 688 | | skipping to change at line 693 | |
| typedef struct _Evas_Event_Multi_Move Evas_Event_Multi_Move; /**< Event str
ucture for #EVAS_CALLBACK_MULTI_MOVE event callbacks */ | | typedef struct _Evas_Event_Multi_Move Evas_Event_Multi_Move; /**< Event str
ucture for #EVAS_CALLBACK_MULTI_MOVE event callbacks */ | |
| typedef struct _Evas_Event_Key_Down Evas_Event_Key_Down; /**< Event struc
ture for #EVAS_CALLBACK_KEY_DOWN event callbacks */ | | typedef struct _Evas_Event_Key_Down Evas_Event_Key_Down; /**< Event struc
ture for #EVAS_CALLBACK_KEY_DOWN event callbacks */ | |
| typedef struct _Evas_Event_Key_Up Evas_Event_Key_Up; /**< Event structu
re for #EVAS_CALLBACK_KEY_UP event callbacks */ | | typedef struct _Evas_Event_Key_Up Evas_Event_Key_Up; /**< Event structu
re for #EVAS_CALLBACK_KEY_UP event callbacks */ | |
| typedef struct _Evas_Event_Hold Evas_Event_Hold; /**< Event structure
for #EVAS_CALLBACK_HOLD event callbacks */ | | typedef struct _Evas_Event_Hold Evas_Event_Hold; /**< Event structure
for #EVAS_CALLBACK_HOLD event callbacks */ | |
| | | | |
| typedef enum _Evas_Load_Error | | typedef enum _Evas_Load_Error | |
| { | | { | |
| EVAS_LOAD_ERROR_NONE = 0, /**< No error on load */ | | EVAS_LOAD_ERROR_NONE = 0, /**< No error on load */ | |
| EVAS_LOAD_ERROR_GENERIC = 1, /**< A non-specific error occurred */ | | EVAS_LOAD_ERROR_GENERIC = 1, /**< A non-specific error occurred */ | |
| EVAS_LOAD_ERROR_DOES_NOT_EXIST = 2, /**< File (or file path) does not ex
ist */ | | EVAS_LOAD_ERROR_DOES_NOT_EXIST = 2, /**< File (or file path) does not ex
ist */ | |
|
| EVAS_LOAD_ERROR_PERMISSION_DENIED = 3, /**< Permission deinied to an exi
sting file (or path) */ | | EVAS_LOAD_ERROR_PERMISSION_DENIED = 3, /**< Permission denied to an exis
ting file (or path) */ | |
| EVAS_LOAD_ERROR_RESOURCE_ALLOCATION_FAILED = 4, /**< Allocation of resou
rces failure prevented load */ | | EVAS_LOAD_ERROR_RESOURCE_ALLOCATION_FAILED = 4, /**< Allocation of resou
rces failure prevented load */ | |
| EVAS_LOAD_ERROR_CORRUPT_FILE = 5, /**< File corrupt (but was detected as
a known format) */ | | EVAS_LOAD_ERROR_CORRUPT_FILE = 5, /**< File corrupt (but was detected as
a known format) */ | |
| EVAS_LOAD_ERROR_UNKNOWN_FORMAT = 6 /**< File is not a known format */ | | EVAS_LOAD_ERROR_UNKNOWN_FORMAT = 6 /**< File is not a known format */ | |
| } Evas_Load_Error; /**< Evas image load error codes one can get - see evas_
load_error_str() too. */ | | } Evas_Load_Error; /**< Evas image load error codes one can get - see evas_
load_error_str() too. */ | |
| | | | |
| typedef enum _Evas_Alloc_Error | | typedef enum _Evas_Alloc_Error | |
| { | | { | |
| EVAS_ALLOC_ERROR_NONE = 0, /**< No allocation error */ | | EVAS_ALLOC_ERROR_NONE = 0, /**< No allocation error */ | |
| EVAS_ALLOC_ERROR_FATAL = 1, /**< Allocation failed despite attempts to f
ree up memory */ | | EVAS_ALLOC_ERROR_FATAL = 1, /**< Allocation failed despite attempts to f
ree up memory */ | |
| EVAS_ALLOC_ERROR_RECOVERED = 2 /**< Allocation succeeded, but extra memo
ry had to be found by freeing up speculative resources */ | | EVAS_ALLOC_ERROR_RECOVERED = 2 /**< Allocation succeeded, but extra memo
ry had to be found by freeing up speculative resources */ | |
| | | | |
| skipping to change at line 715 | | skipping to change at line 720 | |
| EVAS_TEXTURE_RESTRICT = 2, /**< tiling clamps - range offset ignored */ | | EVAS_TEXTURE_RESTRICT = 2, /**< tiling clamps - range offset ignored */ | |
| EVAS_TEXTURE_RESTRICT_REFLECT = 3, /**< tiling clamps and any range offs
et reflects */ | | EVAS_TEXTURE_RESTRICT_REFLECT = 3, /**< tiling clamps and any range offs
et reflects */ | |
| EVAS_TEXTURE_RESTRICT_REPEAT = 4, /**< tiling clamps and any range offse
t repeats */ | | EVAS_TEXTURE_RESTRICT_REPEAT = 4, /**< tiling clamps and any range offse
t repeats */ | |
| EVAS_TEXTURE_PAD = 5 /**< tiling extends with end values */ | | EVAS_TEXTURE_PAD = 5 /**< tiling extends with end values */ | |
| } Evas_Fill_Spread; /**< Fill types used for evas_object_image_fill_spread_
set() */ | | } Evas_Fill_Spread; /**< Fill types used for evas_object_image_fill_spread_
set() */ | |
| | | | |
| typedef enum _Evas_Pixel_Import_Pixel_Format | | typedef enum _Evas_Pixel_Import_Pixel_Format | |
| { | | { | |
| EVAS_PIXEL_FORMAT_NONE = 0, /**< No pixel format */ | | EVAS_PIXEL_FORMAT_NONE = 0, /**< No pixel format */ | |
| EVAS_PIXEL_FORMAT_ARGB32 = 1, /**< ARGB 32bit pixel format with A in the
high byte per 32bit pixel word */ | | EVAS_PIXEL_FORMAT_ARGB32 = 1, /**< ARGB 32bit pixel format with A in the
high byte per 32bit pixel word */ | |
|
| EVAS_PIXEL_FORMAT_YUV420P_601 = 2 /**< YUV 420 Planar format with CCIR 6
01 color encoding wuth contiguous planes in the order Y, U and V */ | | EVAS_PIXEL_FORMAT_YUV420P_601 = 2 /**< YUV 420 Planar format with CCIR 6
01 color encoding with contiguous planes in the order Y, U and V */ | |
| } Evas_Pixel_Import_Pixel_Format; /**< Pixel format for import call. See ev
as_object_image_pixels_import() */ | | } Evas_Pixel_Import_Pixel_Format; /**< Pixel format for import call. See ev
as_object_image_pixels_import() */ | |
| | | | |
| struct _Evas_Pixel_Import_Source | | struct _Evas_Pixel_Import_Source | |
| { | | { | |
| Evas_Pixel_Import_Pixel_Format format; /**< pixel format type ie ARGB32,
YUV420P_601 etc. */ | | Evas_Pixel_Import_Pixel_Format format; /**< pixel format type ie ARGB32,
YUV420P_601 etc. */ | |
| int w, h; /**< width and height of source in pixels */ | | int w, h; /**< width and height of source in pixels */ | |
| void **rows; /**< an array of pointers (size depends on format) pointing
to left edge of each scanline */ | | void **rows; /**< an array of pointers (size depends on format) pointing
to left edge of each scanline */ | |
| }; | | }; | |
| | | | |
| /* magic version number to know what the native surf struct looks like */ | | /* magic version number to know what the native surf struct looks like */ | |
| | | | |
| skipping to change at line 803 | | skipping to change at line 808 | |
| /** | | /** | |
| * How the object should be rendered to output. | | * How the object should be rendered to output. | |
| * @ingroup Evas_Object_Group_Extras | | * @ingroup Evas_Object_Group_Extras | |
| */ | | */ | |
| typedef enum _Evas_Render_Op | | typedef enum _Evas_Render_Op | |
| { | | { | |
| EVAS_RENDER_BLEND = 0, /**< default op: d = d*(1-sa) + s */ | | EVAS_RENDER_BLEND = 0, /**< default op: d = d*(1-sa) + s */ | |
| EVAS_RENDER_BLEND_REL = 1, /**< d = d*(1 - sa) + s*da */ | | EVAS_RENDER_BLEND_REL = 1, /**< d = d*(1 - sa) + s*da */ | |
| EVAS_RENDER_COPY = 2, /**< d = s */ | | EVAS_RENDER_COPY = 2, /**< d = s */ | |
| EVAS_RENDER_COPY_REL = 3, /**< d = s*da */ | | EVAS_RENDER_COPY_REL = 3, /**< d = s*da */ | |
|
| EVAS_RENDER_ADD = 4, /**< d = d + s */ | | EVAS_RENDER_ADD = 4, /* d = d + s */ | |
| EVAS_RENDER_ADD_REL = 5, /**< d = d + s*da */ | | EVAS_RENDER_ADD_REL = 5, /**< d = d + s*da */ | |
| EVAS_RENDER_SUB = 6, /**< d = d - s */ | | EVAS_RENDER_SUB = 6, /**< d = d - s */ | |
|
| EVAS_RENDER_SUB_REL = 7, /**< d = d - s*da */ | | EVAS_RENDER_SUB_REL = 7, /* d = d - s*da */ | |
| EVAS_RENDER_TINT = 8, /**< d = d*s + d*(1 - sa) + s*(1 - da) */ | | EVAS_RENDER_TINT = 8, /**< d = d*s + d*(1 - sa) + s*(1 - da) */ | |
| EVAS_RENDER_TINT_REL = 9, /**< d = d*(1 - sa + s) */ | | EVAS_RENDER_TINT_REL = 9, /**< d = d*(1 - sa + s) */ | |
| EVAS_RENDER_MASK = 10, /**< d = d*sa */ | | EVAS_RENDER_MASK = 10, /**< d = d*sa */ | |
| EVAS_RENDER_MUL = 11 /**< d = d*s */ | | EVAS_RENDER_MUL = 11 /**< d = d*s */ | |
| } Evas_Render_Op; /**< How the object should be rendered to output. */ | | } Evas_Render_Op; /**< How the object should be rendered to output. */ | |
| | | | |
| typedef enum _Evas_Border_Fill_Mode | | typedef enum _Evas_Border_Fill_Mode | |
| { | | { | |
| EVAS_BORDER_FILL_NONE = 0, /**< Image's center region is @b not to be re
ndered */ | | EVAS_BORDER_FILL_NONE = 0, /**< Image's center region is @b not to be re
ndered */ | |
| EVAS_BORDER_FILL_DEFAULT = 1, /**< Image's center region is to be @b ble
nded with objects underneath it, if it has transparency. This is the defaul
t behavior for image objects */ | | EVAS_BORDER_FILL_DEFAULT = 1, /**< Image's center region is to be @b ble
nded with objects underneath it, if it has transparency. This is the defaul
t behavior for image objects */ | |
| | | | |
| skipping to change at line 1058 | | skipping to change at line 1063 | |
| * the final position is over it or not and do something about it. | | * the final position is over it or not and do something about it. | |
| * | | * | |
| * In the mode #EVAS_OBJECT_POINTER_MODE_NOGRAB, the pointer will | | * In the mode #EVAS_OBJECT_POINTER_MODE_NOGRAB, the pointer will | |
| * always be bound to the object right below it. | | * always be bound to the object right below it. | |
| * | | * | |
| * @ingroup Evas_Object_Group_Extras | | * @ingroup Evas_Object_Group_Extras | |
| */ | | */ | |
| typedef enum _Evas_Object_Pointer_Mode | | typedef enum _Evas_Object_Pointer_Mode | |
| { | | { | |
| EVAS_OBJECT_POINTER_MODE_AUTOGRAB, /**< default, X11-like */ | | EVAS_OBJECT_POINTER_MODE_AUTOGRAB, /**< default, X11-like */ | |
|
| EVAS_OBJECT_POINTER_MODE_NOGRAB /**< pointer always bound to the object | | EVAS_OBJECT_POINTER_MODE_NOGRAB, /**< pointer always bound to the object | |
| right below it */ | | right below it */ | |
| | | EVAS_OBJECT_POINTER_MODE_NOGRAB_NO_REPEAT_UPDOWN /**< useful on object w | |
| | | ith "repeat events" enabled, where mouse/touch up and down events WONT be r | |
| | | epeated to objects and these objects wont be auto-grabbed. @since 1.2 */ | |
| } Evas_Object_Pointer_Mode; /**< How the mouse pointer should be handled by
Evas. */ | | } Evas_Object_Pointer_Mode; /**< How the mouse pointer should be handled by
Evas. */ | |
| | | | |
| typedef void (*Evas_Smart_Cb) (void *data, Evas_Object *obj, void *eve
nt_info); /**< Evas smart objects' "smart callback" function signature */ | | typedef void (*Evas_Smart_Cb) (void *data, Evas_Object *obj, void *eve
nt_info); /**< Evas smart objects' "smart callback" function signature */ | |
| typedef void (*Evas_Event_Cb) (void *data, Evas *e, void *event_info);
/**< Evas event callback function signature */ | | typedef void (*Evas_Event_Cb) (void *data, Evas *e, void *event_info);
/**< Evas event callback function signature */ | |
| typedef Eina_Bool (*Evas_Object_Event_Post_Cb) (void *data, Evas *e); | | typedef Eina_Bool (*Evas_Object_Event_Post_Cb) (void *data, Evas *e); | |
| typedef void (*Evas_Object_Event_Cb) (void *data, Evas *e, Evas_Object
*obj, void *event_info); /**< Evas object event callback function signatur
e */ | | typedef void (*Evas_Object_Event_Cb) (void *data, Evas *e, Evas_Object
*obj, void *event_info); /**< Evas object event callback function signatur
e */ | |
| typedef void (*Evas_Async_Events_Put_Cb)(void *target, Evas_Callback_T
ype type, void *event_info); | | typedef void (*Evas_Async_Events_Put_Cb)(void *target, Evas_Callback_T
ype type, void *event_info); | |
| | | | |
| /** | | /** | |
| * @defgroup Evas_Group Top Level Functions | | * @defgroup Evas_Group Top Level Functions | |
| | | | |
| skipping to change at line 1215 | | skipping to change at line 1221 | |
| * preload inside evas. If the canvas was instantiated through | | * preload inside evas. If the canvas was instantiated through | |
| * ecore-evas usage, ecore itself will take care of calling those | | * ecore-evas usage, ecore itself will take care of calling those | |
| * events' processing. | | * events' processing. | |
| * | | * | |
| * This function returns the read file descriptor where to get the | | * This function returns the read file descriptor where to get the | |
| * asynchronous events of the canvas. Naturally, other mainloops, | | * asynchronous events of the canvas. Naturally, other mainloops, | |
| * apart from ecore, may make use of it. | | * apart from ecore, may make use of it. | |
| * | | * | |
| * @ingroup Evas_Group | | * @ingroup Evas_Group | |
| */ | | */ | |
|
| EAPI int evas_async_events_fd_get (void) EINA_WARN_U
NUSED_RESULT EINA_PURE; | | EAPI int evas_async_events_fd_get (void) EINA_WARN_U
NUSED_RESULT; | |
| | | | |
| /** | | /** | |
| * @brief Trigger the processing of all events waiting on the file | | * @brief Trigger the processing of all events waiting on the file | |
| * descriptor returned by evas_async_events_fd_get(). | | * descriptor returned by evas_async_events_fd_get(). | |
| * | | * | |
| * @return The number of events processed. | | * @return The number of events processed. | |
| * | | * | |
| * All asynchronous events queued up by evas_async_events_put() are | | * All asynchronous events queued up by evas_async_events_put() are | |
| * processed here. More precisely, the callback functions, informed | | * processed here. More precisely, the callback functions, informed | |
| * together with other event parameters, when queued, get called (with | | * together with other event parameters, when queued, get called (with | |
| | | | |
| skipping to change at line 1270 | | skipping to change at line 1276 | |
| * | | * | |
| * Most users will be using Evas by means of the @c Ecore_Evas | | * Most users will be using Evas by means of the @c Ecore_Evas | |
| * wrapper, which deals with all the above mentioned issues | | * wrapper, which deals with all the above mentioned issues | |
| * automatically for them. Thus, you'll be looking at this section | | * automatically for them. Thus, you'll be looking at this section | |
| * only if you're building low level stuff. | | * only if you're building low level stuff. | |
| * | | * | |
| * The groups within present you functions that deal with the canvas | | * The groups within present you functions that deal with the canvas | |
| * directly, too, and not yet with its @b objects. They are the | | * directly, too, and not yet with its @b objects. They are the | |
| * functions you need to use at a minimum to get a working canvas. | | * functions you need to use at a minimum to get a working canvas. | |
| * | | * | |
|
| * Some of the funcions in this group are exemplified @ref | | * Some of the functions in this group are exemplified @ref | |
| * Example_Evas_Events "here". | | * Example_Evas_Events "here". | |
| */ | | */ | |
| | | | |
| /** | | /** | |
| * Creates a new empty evas. | | * Creates a new empty evas. | |
| * | | * | |
| * Note that before you can use the evas, you will to at a minimum: | | * Note that before you can use the evas, you will to at a minimum: | |
| * @li Set its render method with @ref evas_output_method_set . | | * @li Set its render method with @ref evas_output_method_set . | |
| * @li Set its viewport size with @ref evas_output_viewport_set . | | * @li Set its viewport size with @ref evas_output_viewport_set . | |
| * @li Set its size of the canvas with @ref evas_output_size_set . | | * @li Set its size of the canvas with @ref evas_output_size_set . | |
| | | | |
| skipping to change at line 1294 | | skipping to change at line 1300 | |
| * This function should only fail if the memory allocation fails | | * This function should only fail if the memory allocation fails | |
| * | | * | |
| * @note this function is very low level. Instead of using it | | * @note this function is very low level. Instead of using it | |
| * directly, consider using the high level functions in | | * directly, consider using the high level functions in | |
| * Ecore_Evas such as @c ecore_evas_new(). See | | * Ecore_Evas such as @c ecore_evas_new(). See | |
| * http://docs.enlightenment.org/auto/ecore/. | | * http://docs.enlightenment.org/auto/ecore/. | |
| * | | * | |
| * @attention it is recommended that one calls evas_init() before | | * @attention it is recommended that one calls evas_init() before | |
| * creating new canvas. | | * creating new canvas. | |
| * | | * | |
|
| * @return A new uninitialised Evas canvas on success. Otherwise, @c | | * @return A new uninitialised Evas canvas on success. Otherwise, @c NULL. | |
| * NULL. | | | |
| * @ingroup Evas_Canvas | | * @ingroup Evas_Canvas | |
| */ | | */ | |
| EAPI Evas *evas_new (void) EINA_WARN_U
NUSED_RESULT EINA_MALLOC; | | EAPI Evas *evas_new (void) EINA_WARN_U
NUSED_RESULT EINA_MALLOC; | |
| | | | |
| /** | | /** | |
| * Frees the given evas and any objects created on it. | | * Frees the given evas and any objects created on it. | |
| * | | * | |
| * Any objects with 'free' callbacks will have those callbacks called | | * Any objects with 'free' callbacks will have those callbacks called | |
| * in this function. | | * in this function. | |
| * | | * | |
| | | | |
| skipping to change at line 1334 | | skipping to change at line 1339 | |
| * @ingroup Evas_Canvas | | * @ingroup Evas_Canvas | |
| */ | | */ | |
| EAPI void evas_focus_out (Evas *e); | | EAPI void evas_focus_out (Evas *e); | |
| | | | |
| /** | | /** | |
| * Get the focus state known by the given evas | | * Get the focus state known by the given evas | |
| * | | * | |
| * @param e The evas to query information. | | * @param e The evas to query information. | |
| * @ingroup Evas_Canvas | | * @ingroup Evas_Canvas | |
| */ | | */ | |
|
| EAPI Eina_Bool evas_focus_state_get (const Evas *e) EI
NA_PURE; | | EAPI Eina_Bool evas_focus_state_get (const Evas *e); | |
| | | | |
| /** | | /** | |
| * Push the nochange flag up 1 | | * Push the nochange flag up 1 | |
| * | | * | |
| * This tells evas, that while the nochange flag is greater than 0, do not | | * This tells evas, that while the nochange flag is greater than 0, do not | |
| * mark objects as "changed" when making changes. | | * mark objects as "changed" when making changes. | |
| * | | * | |
| * @param e The evas to change information. | | * @param e The evas to change information. | |
| * @ingroup Evas_Canvas | | * @ingroup Evas_Canvas | |
| */ | | */ | |
| | | | |
| skipping to change at line 1374 | | skipping to change at line 1379 | |
| */ | | */ | |
| EAPI void evas_data_attach_set (Evas *e, void *da
ta) EINA_ARG_NONNULL(1); | | EAPI void evas_data_attach_set (Evas *e, void *da
ta) EINA_ARG_NONNULL(1); | |
| | | | |
| /** | | /** | |
| * Returns the pointer attached by evas_data_attach_set() | | * Returns the pointer attached by evas_data_attach_set() | |
| * | | * | |
| * @param e The canvas to attach the pointer to | | * @param e The canvas to attach the pointer to | |
| * @return The pointer attached | | * @return The pointer attached | |
| * @ingroup Evas_Canvas | | * @ingroup Evas_Canvas | |
| */ | | */ | |
|
| EAPI void *evas_data_attach_get (const Evas *e) EI
NA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1) EINA_PURE; | | EAPI void *evas_data_attach_get (const Evas *e) EI
NA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1); | |
| | | | |
| /** | | /** | |
| * Add a damage rectangle. | | * Add a damage rectangle. | |
| * | | * | |
| * @param e The given canvas pointer. | | * @param e The given canvas pointer. | |
| * @param x The rectangle's left position. | | * @param x The rectangle's left position. | |
| * @param y The rectangle's top position. | | * @param y The rectangle's top position. | |
| * @param w The rectangle's width. | | * @param w The rectangle's width. | |
| * @param h The rectangle's height. | | * @param h The rectangle's height. | |
| * | | * | |
| | | | |
| skipping to change at line 1410 | | skipping to change at line 1415 | |
| * | | * | |
| * This is the function by which one tells an Evas canvas that a part | | * This is the function by which one tells an Evas canvas that a part | |
| * of it <b>must not</b> be repainted. The region must be | | * of it <b>must not</b> be repainted. The region must be | |
| * rectangular and its coordinates inside the canvas viewport are | | * rectangular and its coordinates inside the canvas viewport are | |
| * passed in the call. After this call, the region specified won't | | * passed in the call. After this call, the region specified won't | |
| * participate in any form in Evas' calculations and actions during | | * participate in any form in Evas' calculations and actions during | |
| * its rendering updates, having its displaying content frozen as it | | * its rendering updates, having its displaying content frozen as it | |
| * was just after this function took place. | | * was just after this function took place. | |
| * | | * | |
| * We call it "obscured region" because the most common use case for | | * We call it "obscured region" because the most common use case for | |
|
| * this rendering (partial) freeze is something else (most problaby | | * this rendering (partial) freeze is something else (most probably | |
| * other canvas) being on top of the specified rectangular region, | | * other canvas) being on top of the specified rectangular region, | |
| * thus shading it completely from the user's final scene in a | | * thus shading it completely from the user's final scene in a | |
| * display. To avoid unnecessary processing, one should indicate to the | | * display. To avoid unnecessary processing, one should indicate to the | |
| * obscured canvas not to bother about the non-important area. | | * obscured canvas not to bother about the non-important area. | |
| * | | * | |
|
| * The majority of users won't have to worry about this funcion, as | | * The majority of users won't have to worry about this function, as | |
| * they'll be using just one canvas in their applications, with | | * they'll be using just one canvas in their applications, with | |
| * nothing inset or on top of it in any form. | | * nothing inset or on top of it in any form. | |
| * | | * | |
| * To make this region one that @b has to be repainted again, call the | | * To make this region one that @b has to be repainted again, call the | |
| * function evas_obscured_clear(). | | * function evas_obscured_clear(). | |
| * | | * | |
| * @note This is a <b>very low level function</b>, which most of | | * @note This is a <b>very low level function</b>, which most of | |
| * Evas' users wouldn't care about. | | * Evas' users wouldn't care about. | |
| * | | * | |
| * @note This function does @b not flag the canvas as having its state | | * @note This function does @b not flag the canvas as having its state | |
| | | | |
| skipping to change at line 1484 | | skipping to change at line 1489 | |
| | | | |
| /** | | /** | |
| * Force immediate renderization of the given Evas canvas. | | * Force immediate renderization of the given Evas canvas. | |
| * | | * | |
| * @param e The given canvas pointer. | | * @param e The given canvas pointer. | |
| * @return A newly allocated list of updated rectangles of the canvas | | * @return A newly allocated list of updated rectangles of the canvas | |
| * (@c Eina_Rectangle structs). Free this list with | | * (@c Eina_Rectangle structs). Free this list with | |
| * evas_render_updates_free(). | | * evas_render_updates_free(). | |
| * | | * | |
| * This function forces an immediate renderization update of the given | | * This function forces an immediate renderization update of the given | |
|
| * canvas @e. | | * canvas @p e. | |
| * | | * | |
| * @note This is a <b>very low level function</b>, which most of | | * @note This is a <b>very low level function</b>, which most of | |
| * Evas' users wouldn't care about. One would use it, for example, to | | * Evas' users wouldn't care about. One would use it, for example, to | |
| * grab an Evas' canvas update regions and paint them back, using the | | * grab an Evas' canvas update regions and paint them back, using the | |
| * canvas' pixmap, on a displaying system working below Evas. | | * canvas' pixmap, on a displaying system working below Evas. | |
| * | | * | |
| * @note Evas is a stateful canvas. If no operations changing its | | * @note Evas is a stateful canvas. If no operations changing its | |
| * state took place since the last rendering action, you won't see no | | * state took place since the last rendering action, you won't see no | |
| * changes and this call will be a no-op. | | * changes and this call will be a no-op. | |
| * | | * | |
| | | | |
| skipping to change at line 1664 | | skipping to change at line 1669 | |
| * | | * | |
| * @return A linked list whose data members are C strings of engine names | | * @return A linked list whose data members are C strings of engine names | |
| * @ingroup Evas_Output_Method | | * @ingroup Evas_Output_Method | |
| * | | * | |
| * Calling this will return a handle (pointer) to an Evas linked | | * Calling this will return a handle (pointer) to an Evas linked | |
| * list. Each node in the linked list will have the data pointer be a | | * list. Each node in the linked list will have the data pointer be a | |
| * (char *) pointer to the name string of the rendering engine | | * (char *) pointer to the name string of the rendering engine | |
| * available. The strings should never be modified, neither should the | | * available. The strings should never be modified, neither should the | |
| * list be modified. This list should be cleaned up as soon as the | | * list be modified. This list should be cleaned up as soon as the | |
| * program no longer needs it using evas_render_method_list_free(). If | | * program no longer needs it using evas_render_method_list_free(). If | |
|
| * no engines are available from Evas, NULL will be returned. | | * no engines are available from Evas, @c NULL will be returned. | |
| * | | * | |
| * Example: | | * Example: | |
| * @code | | * @code | |
| * Eina_List *engine_list, *l; | | * Eina_List *engine_list, *l; | |
| * char *engine_name; | | * char *engine_name; | |
| * | | * | |
| * engine_list = evas_render_method_list(); | | * engine_list = evas_render_method_list(); | |
| * if (!engine_list) | | * if (!engine_list) | |
| * { | | * { | |
| * fprintf(stderr, "ERROR: Evas supports no engines! Exit.\n"); | | * fprintf(stderr, "ERROR: Evas supports no engines! Exit.\n"); | |
| | | | |
| skipping to change at line 1739 | | skipping to change at line 1744 | |
| */ | | */ | |
| EAPI void evas_output_method_set (Evas *e, int rend
er_method) EINA_ARG_NONNULL(1); | | EAPI void evas_output_method_set (Evas *e, int rend
er_method) EINA_ARG_NONNULL(1); | |
| | | | |
| /** | | /** | |
| * Retrieves the number of the output engine used for the given evas. | | * Retrieves the number of the output engine used for the given evas. | |
| * @param e The given evas. | | * @param e The given evas. | |
| * @return The ID number of the output engine being used. @c 0 is | | * @return The ID number of the output engine being used. @c 0 is | |
| * returned if there is an error. | | * returned if there is an error. | |
| * @ingroup Evas_Output_Method | | * @ingroup Evas_Output_Method | |
| */ | | */ | |
|
| EAPI int evas_output_method_get (const Evas *e) EI
NA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1) EINA_PURE; | | EAPI int evas_output_method_get (const Evas *e) EI
NA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1); | |
| | | | |
| /** | | /** | |
| * Retrieves the current render engine info struct from the given evas. | | * Retrieves the current render engine info struct from the given evas. | |
| * | | * | |
| * The returned structure is publicly modifiable. The contents are | | * The returned structure is publicly modifiable. The contents are | |
| * valid until either @ref evas_engine_info_set or @ref evas_render | | * valid until either @ref evas_engine_info_set or @ref evas_render | |
| * are called. | | * are called. | |
| * | | * | |
| * This structure does not need to be freed by the caller. | | * This structure does not need to be freed by the caller. | |
| * | | * | |
| * @param e The given evas. | | * @param e The given evas. | |
| * @return A pointer to the Engine Info structure. @c NULL is returned if | | * @return A pointer to the Engine Info structure. @c NULL is returned if | |
| * an engine has not yet been assigned. | | * an engine has not yet been assigned. | |
| * @ingroup Evas_Output_Method | | * @ingroup Evas_Output_Method | |
| */ | | */ | |
|
| EAPI Evas_Engine_Info *evas_engine_info_get (const Evas *e) EI
NA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1) EINA_PURE; | | EAPI Evas_Engine_Info *evas_engine_info_get (const Evas *e) EI
NA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1); | |
| | | | |
| /** | | /** | |
| * Applies the engine settings for the given evas from the given @c | | * Applies the engine settings for the given evas from the given @c | |
| * Evas_Engine_Info structure. | | * Evas_Engine_Info structure. | |
| * | | * | |
| * To get the Evas_Engine_Info structure to use, call @ref | | * To get the Evas_Engine_Info structure to use, call @ref | |
| * evas_engine_info_get . Do not try to obtain a pointer to an | | * evas_engine_info_get . Do not try to obtain a pointer to an | |
| * @c Evas_Engine_Info structure in any other way. | | * @c Evas_Engine_Info structure in any other way. | |
| * | | * | |
| * You will need to call this function at least once before you can | | * You will need to call this function at least once before you can | |
| * create objects on an evas or render that evas. Some engines allow | | * create objects on an evas or render that evas. Some engines allow | |
| * their settings to be changed more than once. | | * their settings to be changed more than once. | |
| * | | * | |
| * Once called, the @p info pointer should be considered invalid. | | * Once called, the @p info pointer should be considered invalid. | |
| * | | * | |
| * @param e The pointer to the Evas Canvas | | * @param e The pointer to the Evas Canvas | |
| * @param info The pointer to the Engine Info to use | | * @param info The pointer to the Engine Info to use | |
|
| * @return 1 if no error occurred, 0 otherwise | | * @return @c EINA_TRUE if no error occurred, @c EINA_FALSE otherwise. | |
| * @ingroup Evas_Output_Method | | * @ingroup Evas_Output_Method | |
| */ | | */ | |
| EAPI Eina_Bool evas_engine_info_set (Evas *e, Evas_Eng
ine_Info *info) EINA_ARG_NONNULL(1); | | EAPI Eina_Bool evas_engine_info_set (Evas *e, Evas_Eng
ine_Info *info) EINA_ARG_NONNULL(1); | |
| | | | |
| /** | | /** | |
| * @defgroup Evas_Output_Size Output and Viewport Resizing Functions | | * @defgroup Evas_Output_Size Output and Viewport Resizing Functions | |
| * | | * | |
| * Functions that set and retrieve the output and viewport size of an | | * Functions that set and retrieve the output and viewport size of an | |
| * evas. | | * evas. | |
| * | | * | |
| | | | |
| skipping to change at line 1853 | | skipping to change at line 1858 | |
| * @param x The pointer to a x variable to be filled in | | * @param x The pointer to a x variable to be filled in | |
| * @param y The pointer to a y variable to be filled in | | * @param y The pointer to a y variable to be filled in | |
| * @param w The pointer to a width variable to be filled in | | * @param w The pointer to a width variable to be filled in | |
| * @param h The pointer to a height variable to be filled in | | * @param h The pointer to a height variable to be filled in | |
| * @ingroup Evas_Output_Size | | * @ingroup Evas_Output_Size | |
| * | | * | |
| * Calling this function writes the current canvas output viewport | | * Calling this function writes the current canvas output viewport | |
| * size and location values into the variables pointed to by @p x, @p | | * size and location values into the variables pointed to by @p x, @p | |
| * y, @p w and @p h. On success the variables have the output | | * y, @p w and @p h. On success the variables have the output | |
| * location and size values written to them in canvas units. Any of @p | | * location and size values written to them in canvas units. Any of @p | |
|
| * x, @p y, @p w or @p h that are NULL will not be written to. If @p e | | * x, @p y, @p w or @p h that are @c NULL will not be written to. If @p e | |
| * is invalid, the results are undefined. | | * is invalid, the results are undefined. | |
| * | | * | |
| * Example: | | * Example: | |
| * @code | | * @code | |
| * extern Evas *evas; | | * extern Evas *evas; | |
| * Evas_Coord x, y, width, height; | | * Evas_Coord x, y, width, height; | |
| * | | * | |
| * evas_output_viewport_get(evas, &x, &y, &w, &h); | | * evas_output_viewport_get(evas, &x, &y, &w, &h); | |
| * @endcode | | * @endcode | |
| */ | | */ | |
| EAPI void evas_output_viewport_get (const Evas *e, Ev
as_Coord *x, Evas_Coord *y, Evas_Coord *w, Evas_Coord *h) EINA_ARG_NONNULL(
1); | | EAPI void evas_output_viewport_get (const Evas *e, Ev
as_Coord *x, Evas_Coord *y, Evas_Coord *w, Evas_Coord *h) EINA_ARG_NONNULL(
1); | |
| | | | |
| /** | | /** | |
|
| | | * Sets the output framespace size of the render engine of the given evas. | |
| | | * | |
| | | * The framespace size is used in the Wayland engines to denote space where | |
| | | * the output is not drawn. This is mainly used in ecore_evas to draw borde | |
| | | rs | |
| | | * | |
| | | * The units used for @p w and @p h depend on the engine used by the | |
| | | * evas. | |
| | | * | |
| | | * @param e The given evas. | |
| | | * @param x The left coordinate in output units, usually pixels. | |
| | | * @param y The top coordinate in output units, usually pixels. | |
| | | * @param w The width in output units, usually pixels. | |
| | | * @param h The height in output units, usually pixels. | |
| | | * @ingroup Evas_Output_Size | |
| | | * @since 1.1.0 | |
| | | */ | |
| | | EAPI void evas_output_framespace_set (Evas *e, Evas_Coo | |
| | | rd x, Evas_Coord y, Evas_Coord w, Evas_Coord h); | |
| | | | |
| | | /** | |
| | | * Get the render engine's output framespace co-ordinates in canvas units. | |
| | | * | |
| | | * @param e The pointer to the Evas Canvas | |
| | | * @param x The pointer to a x variable to be filled in | |
| | | * @param y The pointer to a y variable to be filled in | |
| | | * @param w The pointer to a width variable to be filled in | |
| | | * @param h The pointer to a height variable to be filled in | |
| | | * @ingroup Evas_Output_Size | |
| | | * @since 1.1.0 | |
| | | */ | |
| | | EAPI void evas_output_framespace_get (const Evas *e, Ev | |
| | | as_Coord *x, Evas_Coord *y, Evas_Coord *w, Evas_Coord *h); | |
| | | | |
| | | /** | |
| * @defgroup Evas_Coord_Mapping_Group Coordinate Mapping Functions | | * @defgroup Evas_Coord_Mapping_Group Coordinate Mapping Functions | |
| * | | * | |
| * Functions that are used to map coordinates from the canvas to the | | * Functions that are used to map coordinates from the canvas to the | |
| * screen or the screen to the canvas. | | * screen or the screen to the canvas. | |
| * | | * | |
| * @ingroup Evas_Canvas | | * @ingroup Evas_Canvas | |
| */ | | */ | |
| | | | |
| /** | | /** | |
| * Convert/scale an ouput screen co-ordinate into canvas co-ordinates | | * Convert/scale an ouput screen co-ordinate into canvas co-ordinates | |
| | | | |
| skipping to change at line 2031 | | skipping to change at line 2068 | |
| * evas_pointer_output_xy_get(evas, &mouse_x, &mouse_y); | | * evas_pointer_output_xy_get(evas, &mouse_x, &mouse_y); | |
| * printf("Mouse is at canvas position %f, %f\n", mouse_x, mouse_y); | | * printf("Mouse is at canvas position %f, %f\n", mouse_x, mouse_y); | |
| * @endcode | | * @endcode | |
| */ | | */ | |
| EAPI void evas_pointer_canvas_xy_get (const Evas *e, Ev
as_Coord *x, Evas_Coord *y) EINA_ARG_NONNULL(1); | | EAPI void evas_pointer_canvas_xy_get (const Evas *e, Ev
as_Coord *x, Evas_Coord *y) EINA_ARG_NONNULL(1); | |
| | | | |
| /** | | /** | |
| * Returns a bitmask with the mouse buttons currently pressed, set to 1 | | * Returns a bitmask with the mouse buttons currently pressed, set to 1 | |
| * | | * | |
| * @param e The pointer to the Evas Canvas | | * @param e The pointer to the Evas Canvas | |
|
| * @return A bitmask of the currently depressed buttons on the cavas | | * @return A bitmask of the currently depressed buttons on the canvas | |
| * @ingroup Evas_Pointer_Group | | * @ingroup Evas_Pointer_Group | |
| * | | * | |
| * Calling this function will return a 32-bit integer with the | | * Calling this function will return a 32-bit integer with the | |
| * appropriate bits set to 1 that correspond to a mouse button being | | * appropriate bits set to 1 that correspond to a mouse button being | |
| * depressed. This limits Evas to a mouse devices with a maximum of 32 | | * depressed. This limits Evas to a mouse devices with a maximum of 32 | |
| * buttons, but that is generally in excess of any host system's | | * buttons, but that is generally in excess of any host system's | |
| * pointing device abilities. | | * pointing device abilities. | |
| * | | * | |
| * A canvas by default begins with no mouse buttons being pressed and | | * A canvas by default begins with no mouse buttons being pressed and | |
| * only calls to evas_event_feed_mouse_down(), | | * only calls to evas_event_feed_mouse_down(), | |
| | | | |
| skipping to change at line 2104 | | skipping to change at line 2141 | |
| EAPI Eina_Bool evas_pointer_inside_get (const Evas *e) EI
NA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1); | | EAPI Eina_Bool evas_pointer_inside_get (const Evas *e) EI
NA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1); | |
| EAPI void evas_sync(Evas *e) EINA_ARG_NONNULL(1); | | EAPI void evas_sync(Evas *e) EINA_ARG_NONNULL(1); | |
| | | | |
| /** | | /** | |
| * @defgroup Evas_Canvas_Events Canvas Events | | * @defgroup Evas_Canvas_Events Canvas Events | |
| * | | * | |
| * Functions relating to canvas events, which are mainly reports on | | * Functions relating to canvas events, which are mainly reports on | |
| * its internal states changing (an object got focused, the rendering | | * its internal states changing (an object got focused, the rendering | |
| * is updated, etc). | | * is updated, etc). | |
| * | | * | |
|
| * Some of the funcions in this group are exemplified @ref | | * Some of the functions in this group are exemplified @ref | |
| * Example_Evas_Events "here". | | * Example_Evas_Events "here". | |
| * | | * | |
| * @ingroup Evas_Canvas | | * @ingroup Evas_Canvas | |
| */ | | */ | |
| | | | |
| /** | | /** | |
| * @addtogroup Evas_Canvas_Events | | * @addtogroup Evas_Canvas_Events | |
| * @{ | | * @{ | |
| */ | | */ | |
| | | | |
| | | | |
| skipping to change at line 2209 | | skipping to change at line 2246 | |
| * @param e Canvas to remove a callback from | | * @param e Canvas to remove a callback from | |
| * @param type The type of event that was triggering the callback | | * @param type The type of event that was triggering the callback | |
| * @param func The function that was to be called when the event was trigge
red | | * @param func The function that was to be called when the event was trigge
red | |
| * @return The data pointer that was to be passed to the callback | | * @return The data pointer that was to be passed to the callback | |
| * | | * | |
| * This function removes the most recently added callback from the | | * This function removes the most recently added callback from the | |
| * canvas @p e which was triggered by the event type @p type and was | | * canvas @p e which was triggered by the event type @p type and was | |
| * calling the function @p func when triggered. If the removal is | | * calling the function @p func when triggered. If the removal is | |
| * successful it will also return the data pointer that was passed to | | * successful it will also return the data pointer that was passed to | |
| * evas_event_callback_add() when the callback was added to the | | * evas_event_callback_add() when the callback was added to the | |
|
| * canvas. If not successful NULL will be returned. | | * canvas. If not successful @c NULL will be returned. | |
| * | | * | |
| * Example: | | * Example: | |
| * @code | | * @code | |
| * extern Evas *e; | | * extern Evas *e; | |
| * void *my_data; | | * void *my_data; | |
| * void focus_in_callback(void *data, Evas *e, void *event_info); | | * void focus_in_callback(void *data, Evas *e, void *event_info); | |
| * | | * | |
| * my_data = evas_event_callback_del(ebject, EVAS_CALLBACK_CANVAS_FOCUS_IN,
focus_in_callback); | | * my_data = evas_event_callback_del(ebject, EVAS_CALLBACK_CANVAS_FOCUS_IN,
focus_in_callback); | |
| * @endcode | | * @endcode | |
| */ | | */ | |
| | | | |
| skipping to change at line 2262 | | skipping to change at line 2299 | |
| EAPI void *evas_event_callback_del_full (Evas *e, Evas_
Callback_Type type, Evas_Event_Cb func, const void *data) EINA_ARG_NONNULL(
1, 3); | | EAPI void *evas_event_callback_del_full (Evas *e, Evas_
Callback_Type type, Evas_Event_Cb func, const void *data) EINA_ARG_NONNULL(
1, 3); | |
| | | | |
| /** | | /** | |
| * Push a callback on the post-event callback stack | | * Push a callback on the post-event callback stack | |
| * | | * | |
| * @param e Canvas to push the callback on | | * @param e Canvas to push the callback on | |
| * @param func The function that to be called when the stack is unwound | | * @param func The function that to be called when the stack is unwound | |
| * @param data The data pointer to be passed to the callback | | * @param data The data pointer to be passed to the callback | |
| * | | * | |
| * Evas has a stack of callbacks that get called after all the callbacks fo
r | | * Evas has a stack of callbacks that get called after all the callbacks fo
r | |
|
| * an event have triggered (all the objects it triggers on and al the callb
acks | | * an event have triggered (all the objects it triggers on and all the call
backs | |
| * in each object triggered). When all these have been called, the stack is | | * in each object triggered). When all these have been called, the stack is | |
| * unwond from most recently to least recently pushed item and removed from
the | | * unwond from most recently to least recently pushed item and removed from
the | |
| * stack calling the callback set for it. | | * stack calling the callback set for it. | |
| * | | * | |
| * This is intended for doing reverse logic-like processing, example - when
a | | * This is intended for doing reverse logic-like processing, example - when
a | |
| * child object that happens to get the event later is meant to be able to | | * child object that happens to get the event later is meant to be able to | |
|
| * "steal" functions from a parent and thus on unwind of this stack hav its | | * "steal" functions from a parent and thus on unwind of this stack have it
s | |
| * function called first, thus being able to set flags, or return 0 from th
e | | * function called first, thus being able to set flags, or return 0 from th
e | |
| * post-callback that stops all other post-callbacks in the current stack f
rom | | * post-callback that stops all other post-callbacks in the current stack f
rom | |
| * being called (thus basically allowing a child to take control, if the ev
ent | | * being called (thus basically allowing a child to take control, if the ev
ent | |
| * callback prepares information ready for taking action, but the post call
back | | * callback prepares information ready for taking action, but the post call
back | |
| * actually does the action). | | * actually does the action). | |
| * | | * | |
| */ | | */ | |
| EAPI void evas_post_event_callback_push (Evas *e, Evas_
Object_Event_Post_Cb func, const void *data); | | EAPI void evas_post_event_callback_push (Evas *e, Evas_
Object_Event_Post_Cb func, const void *data); | |
| | | | |
| /** | | /** | |
| | | | |
| skipping to change at line 2313 | | skipping to change at line 2350 | |
| */ | | */ | |
| EAPI void evas_post_event_callback_remove_full (Evas *e, Evas_
Object_Event_Post_Cb func, const void *data); | | EAPI void evas_post_event_callback_remove_full (Evas *e, Evas_
Object_Event_Post_Cb func, const void *data); | |
| | | | |
| /** | | /** | |
| * @defgroup Evas_Event_Freezing_Group Input Events Freezing Functions | | * @defgroup Evas_Event_Freezing_Group Input Events Freezing Functions | |
| * | | * | |
| * Functions that deal with the freezing of input event processing of | | * Functions that deal with the freezing of input event processing of | |
| * an Evas canvas. | | * an Evas canvas. | |
| * | | * | |
| * There might be scenarios during a graphical user interface | | * There might be scenarios during a graphical user interface | |
|
| * program's use when the developer whishes the users wouldn't be able | | * program's use when the developer wishes the users wouldn't be able | |
| * to deliver input events to this application. It may, for example, | | * to deliver input events to this application. It may, for example, | |
| * be the time for it to populate a view or to change some | | * be the time for it to populate a view or to change some | |
| * layout. Assuming proper behavior with user interaction during this | | * layout. Assuming proper behavior with user interaction during this | |
| * exact time would be hard, as things are in a changing state. The | | * exact time would be hard, as things are in a changing state. The | |
| * programmer can then tell the canvas to ignore input events, | | * programmer can then tell the canvas to ignore input events, | |
| * bringing it back to normal behavior when he/she wants. | | * bringing it back to normal behavior when he/she wants. | |
| * | | * | |
|
| * Some of the funcions in this group are exemplified @ref | | * Most of the time use of freezing events is done like this: | |
| | | * @code | |
| | | * evas_event_freeze(my_evas_canvas); | |
| | | * function_that_does_work_which_cant_be_interrupted_by_events(); | |
| | | * evas_event_thaw(my_evas_canvas); | |
| | | * @endcode | |
| | | * | |
| | | * Some of the functions in this group are exemplified @ref | |
| * Example_Evas_Events "here". | | * Example_Evas_Events "here". | |
| * | | * | |
| * @ingroup Evas_Canvas_Events | | * @ingroup Evas_Canvas_Events | |
| */ | | */ | |
| | | | |
| /** | | /** | |
| * @addtogroup Evas_Event_Freezing_Group | | * @addtogroup Evas_Event_Freezing_Group | |
| * @{ | | * @{ | |
| */ | | */ | |
| | | | |
| /** | | /** | |
|
| | | * Set the default set of flags an event begins with | |
| | | * | |
| | | * @param e The canvas to set the default event flags of | |
| | | * @param flags The default flags to use | |
| | | * | |
| | | * Events in evas can have an event_flags member. This starts out with | |
| | | * and initial value (no flags). this lets you set the default flags that | |
| | | * an event begins with to be @p flags | |
| | | * | |
| | | * @since 1.2 | |
| | | */ | |
| | | EAPI void evas_event_default_flags_set (Evas *e, Evas_Eve | |
| | | nt_Flags flags) EINA_ARG_NONNULL(1); | |
| | | | |
| | | /** | |
| | | * Get the defaulty set of flags an event begins with | |
| | | * | |
| | | * @param e The canvas to get the default event flags from | |
| | | * @return The default event flags for that canvas | |
| | | * | |
| | | * This gets the default event flags events are produced with when fed in. | |
| | | * | |
| | | * @see evas_event_default_flags_set() | |
| | | * @since 1.2 | |
| | | */ | |
| | | EAPI Evas_Event_Flags evas_event_default_flags_get (const Evas *e) EI | |
| | | NA_ARG_NONNULL(1); | |
| | | | |
| | | /** | |
| * Freeze all input events processing. | | * Freeze all input events processing. | |
| * | | * | |
| * @param e The canvas to freeze input events processing on. | | * @param e The canvas to freeze input events processing on. | |
| * | | * | |
| * This function will indicate to Evas that the canvas @p e is to have | | * This function will indicate to Evas that the canvas @p e is to have | |
| * all input event processing frozen until a matching | | * all input event processing frozen until a matching | |
| * evas_event_thaw() function is called on the same canvas. All events | | * evas_event_thaw() function is called on the same canvas. All events | |
| * of this kind during the freeze will get @b discarded. Every freeze | | * of this kind during the freeze will get @b discarded. Every freeze | |
| * call must be matched by a thaw call in order to completely thaw out | | * call must be matched by a thaw call in order to completely thaw out | |
| * a canvas (i.e. these calls may be nested). The most common use is | | * a canvas (i.e. these calls may be nested). The most common use is | |
|
| * when you don't want the user to interect with your user interface | | * when you don't want the user to interact with your user interface | |
| * when you're populating a view or changing the layout. | | * when you're populating a view or changing the layout. | |
| * | | * | |
| * Example: | | * Example: | |
| * @dontinclude evas-events.c | | * @dontinclude evas-events.c | |
| * @skip freeze input for 3 seconds | | * @skip freeze input for 3 seconds | |
| * @until } | | * @until } | |
| * @dontinclude evas-events.c | | * @dontinclude evas-events.c | |
| * @skip let's have our events back | | * @skip let's have our events back | |
| * @until } | | * @until } | |
| * | | * | |
| | | | |
| skipping to change at line 2398 | | skipping to change at line 2469 | |
| * where the count is high. | | * where the count is high. | |
| * | | * | |
| * Example: | | * Example: | |
| * @code | | * @code | |
| * extern Evas *evas; | | * extern Evas *evas; | |
| * | | * | |
| * while (evas_event_freeze_get(evas) > 0) evas_event_thaw(evas); | | * while (evas_event_freeze_get(evas) > 0) evas_event_thaw(evas); | |
| * @endcode | | * @endcode | |
| * | | * | |
| */ | | */ | |
|
| EAPI int evas_event_freeze_get (const Evas *e) EI
NA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1) EINA_PURE; | | EAPI int evas_event_freeze_get (const Evas *e) EI
NA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1); | |
| | | | |
| /** | | /** | |
| * After thaw of a canvas, re-evaluate the state of objects and call callba
cks | | * After thaw of a canvas, re-evaluate the state of objects and call callba
cks | |
| * | | * | |
| * @param e The canvas to evaluate after a thaw | | * @param e The canvas to evaluate after a thaw | |
| * | | * | |
| * This is normally called after evas_event_thaw() to re-evaluate mouse | | * This is normally called after evas_event_thaw() to re-evaluate mouse | |
| * containment and other states and thus also call callbacks for mouse in a
nd | | * containment and other states and thus also call callbacks for mouse in a
nd | |
| * out on new objects if the state change demands it. | | * out on new objects if the state change demands it. | |
| */ | | */ | |
| | | | |
| skipping to change at line 2421 | | skipping to change at line 2492 | |
| /** | | /** | |
| * @} | | * @} | |
| */ | | */ | |
| | | | |
| /** | | /** | |
| * @defgroup Evas_Event_Feeding_Group Input Events Feeding Functions | | * @defgroup Evas_Event_Feeding_Group Input Events Feeding Functions | |
| * | | * | |
| * Functions to tell Evas that input events happened and should be | | * Functions to tell Evas that input events happened and should be | |
| * processed. | | * processed. | |
| * | | * | |
|
| | | * @warning Most of the time these functions are @b not what you're looking | |
| | | for. | |
| | | * These functions should only be used if you're not working with ecore eva | |
| | | s(or | |
| | | * another input handling system). If you're not using ecore evas please | |
| | | * consider using it, in most situation it will make life a lot easier. | |
| | | * | |
| * As explained in @ref intro_not_evas, Evas does not know how to poll | | * As explained in @ref intro_not_evas, Evas does not know how to poll | |
| * for input events, so the developer should do it and then feed such | | * for input events, so the developer should do it and then feed such | |
| * events to the canvas to be processed. This is only required if | | * events to the canvas to be processed. This is only required if | |
| * operating Evas directly. Modules such as Ecore_Evas do that for | | * operating Evas directly. Modules such as Ecore_Evas do that for | |
| * you. | | * you. | |
| * | | * | |
|
| * Some of the funcions in this group are exemplified @ref | | * Some of the functions in this group are exemplified @ref | |
| * Example_Evas_Events "here". | | * Example_Evas_Events "here". | |
| * | | * | |
| * @ingroup Evas_Canvas_Events | | * @ingroup Evas_Canvas_Events | |
| */ | | */ | |
| | | | |
| /** | | /** | |
| * @addtogroup Evas_Event_Feeding_Group | | * @addtogroup Evas_Event_Feeding_Group | |
| * @{ | | * @{ | |
| */ | | */ | |
| | | | |
| /** | | /** | |
|
| | | * Get the number of mouse or multi presses currently active | |
| | | * | |
| | | * @p e The given canvas pointer. | |
| | | * @return The numer of presses (0 if none active). | |
| | | * | |
| | | * @since 1.2 | |
| | | */ | |
| | | EAPI int evas_event_down_count_get (const Evas *e) EI | |
| | | NA_ARG_NONNULL(1); | |
| | | | |
| | | /** | |
| * Mouse down event feed. | | * Mouse down event feed. | |
| * | | * | |
| * @param e The given canvas pointer. | | * @param e The given canvas pointer. | |
| * @param b The button number. | | * @param b The button number. | |
| * @param flags The evas button flags. | | * @param flags The evas button flags. | |
| * @param timestamp The timestamp of the mouse down event. | | * @param timestamp The timestamp of the mouse down event. | |
| * @param data The data for canvas. | | * @param data The data for canvas. | |
| * | | * | |
| * This function will set some evas properties that is necessary when | | * This function will set some evas properties that is necessary when | |
| * the mouse button is pressed. It prepares information to be treated | | * the mouse button is pressed. It prepares information to be treated | |
| | | | |
| skipping to change at line 2669 | | skipping to change at line 2755 | |
| EAPI void evas_image_cache_set (Evas *e, int size
) EINA_ARG_NONNULL(1); | | EAPI void evas_image_cache_set (Evas *e, int size
) EINA_ARG_NONNULL(1); | |
| | | | |
| /** | | /** | |
| * Get the image cache | | * Get the image cache | |
| * | | * | |
| * @param e The given evas pointer. | | * @param e The given evas pointer. | |
| * | | * | |
| * This function returns the image cache size of canvas in bytes. | | * This function returns the image cache size of canvas in bytes. | |
| * | | * | |
| */ | | */ | |
|
| EAPI int evas_image_cache_get (const Evas *e) EI
NA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1) EINA_PURE; | | EAPI int evas_image_cache_get (const Evas *e) EI
NA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1); | |
| | | | |
| /** | | /** | |
| * Get the maximum image size evas can possibly handle | | * Get the maximum image size evas can possibly handle | |
| * | | * | |
| * @param e The given evas pointer. | | * @param e The given evas pointer. | |
| * @param maxw Pointer to hold the return value in pixels of the maxumum wi
dth | | * @param maxw Pointer to hold the return value in pixels of the maxumum wi
dth | |
| * @param maxh Pointer to hold the return value in pixels of the maximum he
ight | | * @param maxh Pointer to hold the return value in pixels of the maximum he
ight | |
| * | | * | |
| * This function returns the larges image or surface size that evas can han
dle | | * This function returns the larges image or surface size that evas can han
dle | |
|
| * in pixels, and if there is one, returns EINA_TRUE. It returns EINA_FALSE | | * in pixels, and if there is one, returns @c EINA_TRUE. It returns | |
| * if no extra constraint on maximum image size exists. You still should | | * @c EINA_FALSE if no extra constraint on maximum image size exists. You s | |
| * check the return values of @p maxw and @p maxh as there may still be a | | till | |
| * limit, just a much higher one. | | * should check the return values of @p maxw and @p maxh as there may still | |
| | | be | |
| | | * a limit, just a much higher one. | |
| * | | * | |
| * @since 1.1 | | * @since 1.1 | |
| */ | | */ | |
| EAPI Eina_Bool evas_image_max_size_get (const Evas *e, in
t *maxw, int *maxh) EINA_ARG_NONNULL(1); | | EAPI Eina_Bool evas_image_max_size_get (const Evas *e, in
t *maxw, int *maxh) EINA_ARG_NONNULL(1); | |
| | | | |
| /** | | /** | |
| * @} | | * @} | |
| */ | | */ | |
| | | | |
| /** | | /** | |
| | | | |
| skipping to change at line 2718 | | skipping to change at line 2804 | |
| EAPI void evas_font_hinting_set (Evas *e, Evas_F
ont_Hinting_Flags hinting) EINA_ARG_NONNULL(1); | | EAPI void evas_font_hinting_set (Evas *e, Evas_F
ont_Hinting_Flags hinting) EINA_ARG_NONNULL(1); | |
| | | | |
| /** | | /** | |
| * Retrieves the font hinting used by the given evas. | | * Retrieves the font hinting used by the given evas. | |
| * | | * | |
| * @param e The given evas to query. | | * @param e The given evas to query. | |
| * @return The hinting in use, one of #EVAS_FONT_HINTING_NONE, | | * @return The hinting in use, one of #EVAS_FONT_HINTING_NONE, | |
| * #EVAS_FONT_HINTING_AUTO, #EVAS_FONT_HINTING_BYTECODE. | | * #EVAS_FONT_HINTING_AUTO, #EVAS_FONT_HINTING_BYTECODE. | |
| * @ingroup Evas_Font_Group | | * @ingroup Evas_Font_Group | |
| */ | | */ | |
|
| EAPI Evas_Font_Hinting_Flags evas_font_hinting_get (const Evas *e)
EINA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1) EINA_PURE; | | EAPI Evas_Font_Hinting_Flags evas_font_hinting_get (const Evas *e)
EINA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1); | |
| | | | |
| /** | | /** | |
| * Checks if the font hinting is supported by the given evas. | | * Checks if the font hinting is supported by the given evas. | |
| * | | * | |
| * @param e The given evas to query. | | * @param e The given evas to query. | |
| * @param hinting The hinting to use, one of #EVAS_FONT_HINTING_NONE, | | * @param hinting The hinting to use, one of #EVAS_FONT_HINTING_NONE, | |
| * #EVAS_FONT_HINTING_AUTO, #EVAS_FONT_HINTING_BYTECODE. | | * #EVAS_FONT_HINTING_AUTO, #EVAS_FONT_HINTING_BYTECODE. | |
| * @return @c EINA_TRUE if it is supported, @c EINA_FALSE otherwise. | | * @return @c EINA_TRUE if it is supported, @c EINA_FALSE otherwise. | |
| * @ingroup Evas_Font_Group | | * @ingroup Evas_Font_Group | |
| */ | | */ | |
|
| EAPI Eina_Bool evas_font_hinting_can_hint (const Evas *e,
Evas_Font_Hinting_Flags hinting) EINA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1
) EINA_PURE; | | EAPI Eina_Bool evas_font_hinting_can_hint (const Evas *e,
Evas_Font_Hinting_Flags hinting) EINA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1
); | |
| | | | |
| /** | | /** | |
| * Force the given evas and associated engine to flush its font cache. | | * Force the given evas and associated engine to flush its font cache. | |
| * | | * | |
| * @param e The given evas to flush font cache. | | * @param e The given evas to flush font cache. | |
| * @ingroup Evas_Font_Group | | * @ingroup Evas_Font_Group | |
| */ | | */ | |
| EAPI void evas_font_cache_flush (Evas *e) EINA_A
RG_NONNULL(1); | | EAPI void evas_font_cache_flush (Evas *e) EINA_A
RG_NONNULL(1); | |
| | | | |
| /** | | /** | |
| | | | |
| skipping to change at line 2757 | | skipping to change at line 2843 | |
| EAPI void evas_font_cache_set (Evas *e, int si
ze) EINA_ARG_NONNULL(1); | | EAPI void evas_font_cache_set (Evas *e, int si
ze) EINA_ARG_NONNULL(1); | |
| | | | |
| /** | | /** | |
| * Changes the size of font cache of the given evas. | | * Changes the size of font cache of the given evas. | |
| * | | * | |
| * @param e The given evas to flush font cache. | | * @param e The given evas to flush font cache. | |
| * @return The size, in bytes. | | * @return The size, in bytes. | |
| * | | * | |
| * @ingroup Evas_Font_Group | | * @ingroup Evas_Font_Group | |
| */ | | */ | |
|
| EAPI int evas_font_cache_get (const Evas *e)
EINA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1) EINA_PURE; | | EAPI int evas_font_cache_get (const Evas *e)
EINA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1); | |
| | | | |
| /** | | /** | |
| * List of available font descriptions known or found by this evas. | | * List of available font descriptions known or found by this evas. | |
| * | | * | |
| * The list depends on Evas compile time configuration, such as | | * The list depends on Evas compile time configuration, such as | |
| * fontconfig support, and the paths provided at runtime as explained | | * fontconfig support, and the paths provided at runtime as explained | |
| * in @ref Evas_Font_Path_Group. | | * in @ref Evas_Font_Path_Group. | |
| * | | * | |
| * @param e The evas instance to query. | | * @param e The evas instance to query. | |
| * @return a newly allocated list of strings. Do not change the | | * @return a newly allocated list of strings. Do not change the | |
| * strings. Be sure to call evas_font_available_list_free() | | * strings. Be sure to call evas_font_available_list_free() | |
| * after you're done. | | * after you're done. | |
| * | | * | |
| * @ingroup Evas_Font_Group | | * @ingroup Evas_Font_Group | |
| */ | | */ | |
|
| EAPI Eina_List *evas_font_available_list (const Evas *e)
EINA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1) EINA_PURE; | | EAPI Eina_List *evas_font_available_list (const Evas *e)
EINA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1); | |
| | | | |
| /** | | /** | |
| * Free list of font descriptions returned by evas_font_dir_available_list(
). | | * Free list of font descriptions returned by evas_font_dir_available_list(
). | |
| * | | * | |
| * @param e The evas instance that returned such list. | | * @param e The evas instance that returned such list. | |
| * @param available the list returned by evas_font_dir_available_list(). | | * @param available the list returned by evas_font_dir_available_list(). | |
| * | | * | |
| * @ingroup Evas_Font_Group | | * @ingroup Evas_Font_Group | |
| */ | | */ | |
| EAPI void evas_font_available_list_free(Evas *e, Eina_L
ist *available) EINA_ARG_NONNULL(1); | | EAPI void evas_font_available_list_free(Evas *e, Eina_L
ist *available) EINA_ARG_NONNULL(1); | |
| | | | |
| skipping to change at line 2822 | | skipping to change at line 2908 | |
| * @ingroup Evas_Font_Path_Group | | * @ingroup Evas_Font_Path_Group | |
| */ | | */ | |
| EAPI void evas_font_path_prepend (Evas *e, const ch
ar *path) EINA_ARG_NONNULL(1, 2); | | EAPI void evas_font_path_prepend (Evas *e, const ch
ar *path) EINA_ARG_NONNULL(1, 2); | |
| | | | |
| /** | | /** | |
| * Retrieves the list of font paths used by the given evas. | | * Retrieves the list of font paths used by the given evas. | |
| * @param e The given evas. | | * @param e The given evas. | |
| * @return The list of font paths used. | | * @return The list of font paths used. | |
| * @ingroup Evas_Font_Path_Group | | * @ingroup Evas_Font_Path_Group | |
| */ | | */ | |
|
| EAPI const Eina_List *evas_font_path_list (const Evas *e) EI
NA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1) EINA_PURE; | | EAPI const Eina_List *evas_font_path_list (const Evas *e) EI
NA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1); | |
| | | | |
| /** | | /** | |
| * @defgroup Evas_Object_Group Generic Object Functions | | * @defgroup Evas_Object_Group Generic Object Functions | |
| * | | * | |
| * Functions that manipulate generic Evas objects. | | * Functions that manipulate generic Evas objects. | |
| * | | * | |
| * All Evas displaying units are Evas objects. One handles them all by | | * All Evas displaying units are Evas objects. One handles them all by | |
| * means of the handle ::Evas_Object. Besides Evas treats their | | * means of the handle ::Evas_Object. Besides Evas treats their | |
| * objects equally, they have @b types, which define their specific | | * objects equally, they have @b types, which define their specific | |
| * behavior (and individual API). | | * behavior (and individual API). | |
| * | | * | |
| * Evas comes with a set of built-in object types: | | * Evas comes with a set of built-in object types: | |
| * - rectangle, | | * - rectangle, | |
| * - line, | | * - line, | |
| * - polygon, | | * - polygon, | |
| * - text, | | * - text, | |
| * - textblock and | | * - textblock and | |
| * - image. | | * - image. | |
| * | | * | |
|
| * These functions apply to @b any Evas object, whichever type thay | | * These functions apply to @b any Evas object, whichever type that | |
| * may have. | | * may have. | |
| * | | * | |
| * @note The built-in types which are most used are rectangles, text | | * @note The built-in types which are most used are rectangles, text | |
| * and images. In fact, with these ones one can create 2D interfaces | | * and images. In fact, with these ones one can create 2D interfaces | |
| * of arbitrary complexity and EFL makes it easy. | | * of arbitrary complexity and EFL makes it easy. | |
| */ | | */ | |
| | | | |
| /** | | /** | |
| * @defgroup Evas_Object_Group_Basic Basic Object Manipulation | | * @defgroup Evas_Object_Group_Basic Basic Object Manipulation | |
| * | | * | |
|
| * Methods that are broadly used, like those that change the color, | | * Almost every evas object created will have some generic function used to | |
| * clippers and geometry of an Evas object. | | * manipulate it. That's because there are a number of basic actions to be | |
| * | | done | |
| * An example on the most used functions in this group can be seen @ref | | * to objects that are irrespective of the object's type, things like: | |
| * Example_Evas_Object_Manipulation "here". | | * @li Showing/Hiding | |
| * | | * @li Setting(and getting) geometry | |
| * For function dealing with stacking, the examples are gathered @ref | | * @li Bring up or down a layer | |
| * Example_Evas_Stacking "here". | | * @li Color management | |
| | | * @li Handling focus | |
| | | * @li Clipping | |
| | | * @li Reference counting | |
| | | * | |
| | | * All of this issues are handled through the functions here grouped. Examp | |
| | | les | |
| | | * of these function can be seen in @ref Example_Evas_Object_Manipulation(w | |
| | | hich | |
| | | * deals with the most common ones) and in @ref Example_Evas_Stacking(which | |
| | | * deals with stacking functions). | |
| * | | * | |
| * @ingroup Evas_Object_Group | | * @ingroup Evas_Object_Group | |
| */ | | */ | |
| | | | |
| /** | | /** | |
| * @addtogroup Evas_Object_Group_Basic | | * @addtogroup Evas_Object_Group_Basic | |
| * @{ | | * @{ | |
| */ | | */ | |
| | | | |
| /** | | /** | |
| | | | |
| skipping to change at line 2946 | | skipping to change at line 3039 | |
| * See also evas_object_clip_set(), evas_object_clip_unset() and | | * See also evas_object_clip_set(), evas_object_clip_unset() and | |
| * evas_object_clipees_get(). | | * evas_object_clipees_get(). | |
| * | | * | |
| * Example: | | * Example: | |
| * @dontinclude evas-object-manipulation.c | | * @dontinclude evas-object-manipulation.c | |
| * @skip if (evas_object_clip_get(d.img) == d.clipper) | | * @skip if (evas_object_clip_get(d.img) == d.clipper) | |
| * @until return | | * @until return | |
| * | | * | |
| * See the full @ref Example_Evas_Object_Manipulation "example". | | * See the full @ref Example_Evas_Object_Manipulation "example". | |
| */ | | */ | |
|
| EAPI Evas_Object *evas_object_clip_get (const Evas_Object
*obj) EINA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1) EINA_PURE; | | EAPI Evas_Object *evas_object_clip_get (const Evas_Object
*obj) EINA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1); | |
| | | | |
| /** | | /** | |
| * Disable/cease clipping on a clipped @p obj object. | | * Disable/cease clipping on a clipped @p obj object. | |
| * | | * | |
| * @param obj The object to cease clipping on | | * @param obj The object to cease clipping on | |
| * | | * | |
| * This function disables clipping for the object @p obj, if it was | | * This function disables clipping for the object @p obj, if it was | |
| * already clipped, i.e., its visibility and color get detached from | | * already clipped, i.e., its visibility and color get detached from | |
| * the previous clipper. If it wasn't, this has no effect. The object | | * the previous clipper. If it wasn't, this has no effect. The object | |
| * @p obj must be a valid ::Evas_Object. | | * @p obj must be a valid ::Evas_Object. | |
| | | | |
| skipping to change at line 3003 | | skipping to change at line 3096 | |
| * Eina_List *clippees, *l; | | * Eina_List *clippees, *l; | |
| * Evas_Object *obj_tmp; | | * Evas_Object *obj_tmp; | |
| * | | * | |
| * clippees = evas_object_clipees_get(clipper); | | * clippees = evas_object_clipees_get(clipper); | |
| * printf("Clipper clips %i objects\n", eina_list_count(clippees)); | | * printf("Clipper clips %i objects\n", eina_list_count(clippees)); | |
| * EINA_LIST_FOREACH(clippees, l, obj_tmp) | | * EINA_LIST_FOREACH(clippees, l, obj_tmp) | |
| * evas_object_show(obj_tmp); | | * evas_object_show(obj_tmp); | |
| * } | | * } | |
| * @endcode | | * @endcode | |
| */ | | */ | |
|
| EAPI const Eina_List *evas_object_clipees_get (const Evas_Object
*obj) EINA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1) EINA_PURE; | | EAPI const Eina_List *evas_object_clipees_get (const Evas_Object
*obj) EINA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1); | |
| | | | |
| /** | | /** | |
| * Sets or unsets a given object as the currently focused one on its | | * Sets or unsets a given object as the currently focused one on its | |
| * canvas. | | * canvas. | |
| * | | * | |
| * @param obj The object to be focused or unfocused. | | * @param obj The object to be focused or unfocused. | |
| * @param focus @c EINA_TRUE, to set it as focused or @c EINA_FALSE, | | * @param focus @c EINA_TRUE, to set it as focused or @c EINA_FALSE, | |
| * to take away the focus from it. | | * to take away the focus from it. | |
| * | | * | |
| * Changing focus only affects where (key) input events go. There can | | * Changing focus only affects where (key) input events go. There can | |
|
| * be only one object focused at any time. If @p focus is @c | | * be only one object focused at any time. If @p focus is @c EINA_TRUE, | |
| * EINA_TRUE, @p obj will be set as the currently focused object and | | * @p obj will be set as the currently focused object and it will | |
| * it will receive all keyboard events that are not exclusive key | | * receive all keyboard events that are not exclusive key grabs on | |
| * grabs on other objects. | | * other objects. | |
| * | | * | |
| * Example: | | * Example: | |
| * @dontinclude evas-events.c | | * @dontinclude evas-events.c | |
| * @skip evas_object_focus_set | | * @skip evas_object_focus_set | |
| * @until evas_object_focus_set | | * @until evas_object_focus_set | |
| * | | * | |
| * See the full example @ref Example_Evas_Events "here". | | * See the full example @ref Example_Evas_Events "here". | |
| * | | * | |
| * @see evas_object_focus_get | | * @see evas_object_focus_get | |
| * @see evas_focus_get | | * @see evas_focus_get | |
| * @see evas_object_key_grab | | * @see evas_object_key_grab | |
| * @see evas_object_key_ungrab | | * @see evas_object_key_ungrab | |
| */ | | */ | |
| EAPI void evas_object_focus_set (Evas_Object *obj,
Eina_Bool focus) EINA_ARG_NONNULL(1); | | EAPI void evas_object_focus_set (Evas_Object *obj,
Eina_Bool focus) EINA_ARG_NONNULL(1); | |
| | | | |
| /** | | /** | |
| * Retrieve whether an object has the focus. | | * Retrieve whether an object has the focus. | |
| * | | * | |
| * @param obj The object to retrieve focus information from. | | * @param obj The object to retrieve focus information from. | |
|
| * @return @c EINA_TRUE if the object has the focus, @c EINA_FALSE | | * @return @c EINA_TRUE if the object has the focus, @c EINA_FALSE otherwis | |
| * otherwise. | | e. | |
| * | | * | |
| * If the passed object is the currently focused one, @c EINA_TRUE is | | * If the passed object is the currently focused one, @c EINA_TRUE is | |
| * returned. @c EINA_FALSE is returned, otherwise. | | * returned. @c EINA_FALSE is returned, otherwise. | |
| * | | * | |
| * Example: | | * Example: | |
| * @dontinclude evas-events.c | | * @dontinclude evas-events.c | |
| * @skip And again | | * @skip And again | |
| * @until something is bad | | * @until something is bad | |
| * | | * | |
| * See the full example @ref Example_Evas_Events "here". | | * See the full example @ref Example_Evas_Events "here". | |
| * | | * | |
| * @see evas_object_focus_set | | * @see evas_object_focus_set | |
| * @see evas_focus_get | | * @see evas_focus_get | |
| * @see evas_object_key_grab | | * @see evas_object_key_grab | |
| * @see evas_object_key_ungrab | | * @see evas_object_key_ungrab | |
| */ | | */ | |
|
| EAPI Eina_Bool evas_object_focus_get (const Evas_Object
*obj) EINA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1) EINA_PURE; | | EAPI Eina_Bool evas_object_focus_get (const Evas_Object
*obj) EINA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1); | |
| | | | |
| /** | | /** | |
| * Sets the layer of the its canvas that the given object will be part | | * Sets the layer of the its canvas that the given object will be part | |
| * of. | | * of. | |
| * | | * | |
| * @param obj The given Evas object. | | * @param obj The given Evas object. | |
| * @param l The number of the layer to place the object on. | | * @param l The number of the layer to place the object on. | |
| * Must be between #EVAS_LAYER_MIN and #EVAS_LAYER_MAX. | | * Must be between #EVAS_LAYER_MIN and #EVAS_LAYER_MAX. | |
| * | | * | |
| * If you don't use this function, you'll be dealing with an @b unique | | * If you don't use this function, you'll be dealing with an @b unique | |
| | | | |
| skipping to change at line 3090 | | skipping to change at line 3182 | |
| EAPI void evas_object_layer_set (Evas_Object *obj,
short l) EINA_ARG_NONNULL(1); | | EAPI void evas_object_layer_set (Evas_Object *obj,
short l) EINA_ARG_NONNULL(1); | |
| | | | |
| /** | | /** | |
| * Retrieves the layer of its canvas that the given object is part of. | | * Retrieves the layer of its canvas that the given object is part of. | |
| * | | * | |
| * @param obj The given Evas object to query layer from | | * @param obj The given Evas object to query layer from | |
| * @return Number of the its layer | | * @return Number of the its layer | |
| * | | * | |
| * @see evas_object_layer_set() | | * @see evas_object_layer_set() | |
| */ | | */ | |
|
| EAPI short evas_object_layer_get (const Evas_Object
*obj) EINA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1) EINA_PURE; | | EAPI short evas_object_layer_get (const Evas_Object
*obj) EINA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1); | |
| | | | |
| /** | | /** | |
| * Sets the name of the given Evas object to the given name. | | * Sets the name of the given Evas object to the given name. | |
| * | | * | |
| * @param obj The given object. | | * @param obj The given object. | |
| * @param name The given name. | | * @param name The given name. | |
| * | | * | |
| * There might be occasions where one would like to name his/her | | * There might be occasions where one would like to name his/her | |
| * objects. | | * objects. | |
| * | | * | |
| | | | |
| skipping to change at line 3124 | | skipping to change at line 3216 | |
| * @return The name of the object or @c NULL, if no name has been given | | * @return The name of the object or @c NULL, if no name has been given | |
| * to it. | | * to it. | |
| * | | * | |
| * Example: | | * Example: | |
| * @dontinclude evas-events.c | | * @dontinclude evas-events.c | |
| * @skip fprintf(stdout, "An object got focused: %s\n", | | * @skip fprintf(stdout, "An object got focused: %s\n", | |
| * @until evas_focus_get | | * @until evas_focus_get | |
| * | | * | |
| * See the full @ref Example_Evas_Events "example". | | * See the full @ref Example_Evas_Events "example". | |
| */ | | */ | |
|
| EAPI const char *evas_object_name_get (const Evas_Object
*obj) EINA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1) EINA_PURE; | | EAPI const char *evas_object_name_get (const Evas_Object
*obj) EINA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1); | |
| | | | |
| /** | | /** | |
| * Increments object reference count to defer its deletion. | | * Increments object reference count to defer its deletion. | |
| * | | * | |
| * @param obj The given Evas object to reference | | * @param obj The given Evas object to reference | |
| * | | * | |
| * This increments the reference count of an object, which if greater | | * This increments the reference count of an object, which if greater | |
| * than 0 will defer deletion by evas_object_del() until all | | * than 0 will defer deletion by evas_object_del() until all | |
| * references are released back (counter back to 0). References cannot | | * references are released back (counter back to 0). References cannot | |
| * go below 0 and unreferencing past that will result in the reference | | * go below 0 and unreferencing past that will result in the reference | |
| * count being limited to 0. References are limited to <c>2^32 - 1</c> | | * count being limited to 0. References are limited to <c>2^32 - 1</c> | |
| * for an object. Referencing it more than this will result in it | | * for an object. Referencing it more than this will result in it | |
| * being limited to this value. | | * being limited to this value. | |
| * | | * | |
| * @see evas_object_unref() | | * @see evas_object_unref() | |
| * @see evas_object_del() | | * @see evas_object_del() | |
| * | | * | |
|
| * @note This is a <b>very simple<b> reference counting mechanism! For | | * @note This is a <b>very simple</b> reference counting mechanism! For | |
| * instance, Evas is not ready to check for pending references on a | | * instance, Evas is not ready to check for pending references on a | |
| * canvas deletion, or things like that. This is useful on scenarios | | * canvas deletion, or things like that. This is useful on scenarios | |
| * where, inside a code block, callbacks exist which would possibly | | * where, inside a code block, callbacks exist which would possibly | |
| * delete an object we are operating on afterwards. Then, one would | | * delete an object we are operating on afterwards. Then, one would | |
| * evas_object_ref() it on the beginning of the block and | | * evas_object_ref() it on the beginning of the block and | |
| * evas_object_unref() it on the end. It would then be deleted at this | | * evas_object_unref() it on the end. It would then be deleted at this | |
| * point, if it should be. | | * point, if it should be. | |
| * | | * | |
| * Example: | | * Example: | |
| * @code | | * @code | |
| | | | |
| skipping to change at line 3185 | | skipping to change at line 3277 | |
| * | | * | |
| * @see evas_object_ref() (for an example) | | * @see evas_object_ref() (for an example) | |
| * @see evas_object_del() | | * @see evas_object_del() | |
| * | | * | |
| * @ingroup Evas_Object_Group_Basic | | * @ingroup Evas_Object_Group_Basic | |
| * @since 1.1.0 | | * @since 1.1.0 | |
| */ | | */ | |
| EAPI void evas_object_unref (Evas_Object *obj)
; | | EAPI void evas_object_unref (Evas_Object *obj)
; | |
| | | | |
| /** | | /** | |
|
| | | * Get the object reference count. | |
| | | * | |
| | | * @param obj The given Evas object to query | |
| | | * | |
| | | * This gets the reference count for an object (normally 0 until it is | |
| | | * referenced). Values of 1 or greater mean that someone is holding a | |
| | | * reference to this object that needs to be unreffed before it can be | |
| | | * deleted. | |
| | | * | |
| | | * @see evas_object_ref() | |
| | | * @see evas_object_unref() | |
| | | * @see evas_object_del() | |
| | | * | |
| | | * @ingroup Evas_Object_Group_Basic | |
| | | * @since 1.2.0 | |
| | | */ | |
| | | EAPI int evas_object_ref_get (const Evas_Object | |
| | | *obj); | |
| | | | |
| | | /** | |
| * Marks the given Evas object for deletion (when Evas will free its | | * Marks the given Evas object for deletion (when Evas will free its | |
| * memory). | | * memory). | |
| * | | * | |
| * @param obj The given Evas object. | | * @param obj The given Evas object. | |
| * | | * | |
| * This call will mark @p obj for deletion, which will take place | | * This call will mark @p obj for deletion, which will take place | |
| * whenever it has no more references to it (see evas_object_ref() and | | * whenever it has no more references to it (see evas_object_ref() and | |
| * evas_object_unref()). | | * evas_object_unref()). | |
| * | | * | |
| * At actual deletion time, which may or may not be just after this | | * At actual deletion time, which may or may not be just after this | |
| | | | |
| skipping to change at line 3352 | | skipping to change at line 3463 | |
| */ | | */ | |
| EAPI void evas_object_hide (Evas_Object *obj)
EINA_ARG_NONNULL(1); | | EAPI void evas_object_hide (Evas_Object *obj)
EINA_ARG_NONNULL(1); | |
| | | | |
| /** | | /** | |
| * Retrieves whether or not the given Evas object is visible. | | * Retrieves whether or not the given Evas object is visible. | |
| * | | * | |
| * @param obj The given Evas object. | | * @param obj The given Evas object. | |
| * @return @c EINA_TRUE if the object is visible, @c EINA_FALSE | | * @return @c EINA_TRUE if the object is visible, @c EINA_FALSE | |
| * otherwise. | | * otherwise. | |
| * | | * | |
|
| * This retrieves an object's visibily as the one enforced by | | * This retrieves an object's visibility as the one enforced by | |
| * evas_object_show() and evas_object_hide(). | | * evas_object_show() and evas_object_hide(). | |
| * | | * | |
| * @note The value returned isn't, by any means, influenced by | | * @note The value returned isn't, by any means, influenced by | |
|
| * clippers covering @obj, it being out of its canvas' viewport or | | * clippers covering @p obj, it being out of its canvas' viewport or | |
| * stacked below other object. | | * stacked below other object. | |
| * | | * | |
| * @see evas_object_show() | | * @see evas_object_show() | |
| * @see evas_object_hide() (for an example) | | * @see evas_object_hide() (for an example) | |
| * | | * | |
| * @ingroup Evas_Object_Group_Basic | | * @ingroup Evas_Object_Group_Basic | |
| */ | | */ | |
|
| EAPI Eina_Bool evas_object_visible_get (const Evas_Object
*obj) EINA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1) EINA_PURE; | | EAPI Eina_Bool evas_object_visible_get (const Evas_Object
*obj) EINA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1); | |
| | | | |
| /** | | /** | |
| * Sets the general/main color of the given Evas object to the given | | * Sets the general/main color of the given Evas object to the given | |
| * one. | | * one. | |
| * | | * | |
| * @param obj The given Evas object. | | * @param obj The given Evas object. | |
| * @param r The red component of the given color. | | * @param r The red component of the given color. | |
| * @param g The green component of the given color. | | * @param g The green component of the given color. | |
| * @param b The blue component of the given color. | | * @param b The blue component of the given color. | |
| * @param a The alpha component of the given color. | | * @param a The alpha component of the given color. | |
| | | | |
| skipping to change at line 3399 | | skipping to change at line 3510 | |
| * @param g Pointer to an integer in which to store the green | | * @param g Pointer to an integer in which to store the green | |
| * component of the color. | | * component of the color. | |
| * @param b Pointer to an integer in which to store the blue component | | * @param b Pointer to an integer in which to store the blue component | |
| * of the color. | | * of the color. | |
| * @param a Pointer to an integer in which to store the alpha | | * @param a Pointer to an integer in which to store the alpha | |
| * component of the color. | | * component of the color. | |
| * | | * | |
| * Retrieves the “main” color's RGB component (and alpha channel) | | * Retrieves the “main” color's RGB component (and alpha channel) | |
| * values, <b>which range from 0 to 255</b>. For the alpha channel, | | * values, <b>which range from 0 to 255</b>. For the alpha channel, | |
| * which defines the object's transparency level, 0 means totally | | * which defines the object's transparency level, 0 means totally | |
|
| * trasparent, while 255 means opaque. These color values are | | * transparent, while 255 means opaque. These color values are | |
| * premultiplied by the alpha value. | | * premultiplied by the alpha value. | |
| * | | * | |
| * Usually you’ll use this attribute for text and rectangle objects, | | * Usually you’ll use this attribute for text and rectangle objects, | |
| * where the “main” color is their unique one. If set for objects | | * where the “main” color is their unique one. If set for objects | |
| * which themselves have colors, like the images one, those colors get | | * which themselves have colors, like the images one, those colors get | |
| * modulated by this one. | | * modulated by this one. | |
| * | | * | |
| * @note All newly created Evas rectangles get the default color | | * @note All newly created Evas rectangles get the default color | |
| * values of <code>255 255 255 255</code> (opaque white). | | * values of <code>255 255 255 255</code> (opaque white). | |
| * | | * | |
| | | | |
| skipping to change at line 3435 | | skipping to change at line 3546 | |
| * Retrieves the Evas canvas that the given object lives on. | | * Retrieves the Evas canvas that the given object lives on. | |
| * | | * | |
| * @param obj The given Evas object. | | * @param obj The given Evas object. | |
| * @return A pointer to the canvas where the object is on. | | * @return A pointer to the canvas where the object is on. | |
| * | | * | |
| * This function is most useful at code contexts where you need to | | * This function is most useful at code contexts where you need to | |
| * operate on the canvas but have only the object pointer. | | * operate on the canvas but have only the object pointer. | |
| * | | * | |
| * @ingroup Evas_Object_Group_Basic | | * @ingroup Evas_Object_Group_Basic | |
| */ | | */ | |
|
| EAPI Evas *evas_object_evas_get (const Evas_Object
*obj) EINA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1) EINA_PURE; | | EAPI Evas *evas_object_evas_get (const Evas_Object
*obj) EINA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1); | |
| | | | |
| /** | | /** | |
| * Retrieves the type of the given Evas object. | | * Retrieves the type of the given Evas object. | |
| * | | * | |
| * @param obj The given object. | | * @param obj The given object. | |
| * @return The type of the object. | | * @return The type of the object. | |
| * | | * | |
| * For Evas' builtin types, the return strings will be one of: | | * For Evas' builtin types, the return strings will be one of: | |
| * - <c>"rectangle"</c>, | | * - <c>"rectangle"</c>, | |
| * - <c>"line"</c>, | | * - <c>"line"</c>, | |
| | | | |
| skipping to change at line 3465 | | skipping to change at line 3576 | |
| * - <c>"Evas_Object_Box"</c>, for the box object and | | * - <c>"Evas_Object_Box"</c>, for the box object and | |
| * - <c>"Evas_Object_Table"</c>, for the table object. | | * - <c>"Evas_Object_Table"</c>, for the table object. | |
| * | | * | |
| * Example: | | * Example: | |
| * @dontinclude evas-object-manipulation.c | | * @dontinclude evas-object-manipulation.c | |
| * @skip d.img = evas_object_image_filled_add(d.canvas); | | * @skip d.img = evas_object_image_filled_add(d.canvas); | |
| * @until border on the | | * @until border on the | |
| * | | * | |
| * See the full @ref Example_Evas_Object_Manipulation "example". | | * See the full @ref Example_Evas_Object_Manipulation "example". | |
| */ | | */ | |
|
| EAPI const char *evas_object_type_get (const Evas_Object
*obj) EINA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1) EINA_PURE; | | EAPI const char *evas_object_type_get (const Evas_Object
*obj) EINA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1); | |
| | | | |
| /** | | /** | |
| * Raise @p obj to the top of its layer. | | * Raise @p obj to the top of its layer. | |
| * | | * | |
| * @param obj the object to raise | | * @param obj the object to raise | |
| * | | * | |
| * @p obj will, then, be the highest one in the layer it belongs | | * @p obj will, then, be the highest one in the layer it belongs | |
| * to. Object on other layers won't get touched. | | * to. Object on other layers won't get touched. | |
| * | | * | |
| * @see evas_object_stack_above() | | * @see evas_object_stack_above() | |
| | | | |
| skipping to change at line 3566 | | skipping to change at line 3677 | |
| * if none | | * if none | |
| * | | * | |
| * This function will traverse layers in its search, if there are | | * This function will traverse layers in its search, if there are | |
| * objects on layers above the one @p obj is placed at. | | * objects on layers above the one @p obj is placed at. | |
| * | | * | |
| * @see evas_object_layer_get() | | * @see evas_object_layer_get() | |
| * @see evas_object_layer_set() | | * @see evas_object_layer_set() | |
| * @see evas_object_below_get() | | * @see evas_object_below_get() | |
| * | | * | |
| */ | | */ | |
|
| EAPI Evas_Object *evas_object_above_get (const Evas_Object
*obj) EINA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1) EINA_PURE; | | EAPI Evas_Object *evas_object_above_get (const Evas_Object
*obj) EINA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1); | |
| | | | |
| /** | | /** | |
| * Get the Evas object stacked right below @p obj | | * Get the Evas object stacked right below @p obj | |
| * | | * | |
| * @param obj an #Evas_Object | | * @param obj an #Evas_Object | |
| * @return the #Evas_Object directly below @p obj, if any, or @c NULL, | | * @return the #Evas_Object directly below @p obj, if any, or @c NULL, | |
| * if none | | * if none | |
| * | | * | |
| * This function will traverse layers in its search, if there are | | * This function will traverse layers in its search, if there are | |
| * objects on layers below the one @p obj is placed at. | | * objects on layers below the one @p obj is placed at. | |
| * | | * | |
| * @see evas_object_layer_get() | | * @see evas_object_layer_get() | |
| * @see evas_object_layer_set() | | * @see evas_object_layer_set() | |
| * @see evas_object_below_get() | | * @see evas_object_below_get() | |
| */ | | */ | |
|
| EAPI Evas_Object *evas_object_below_get (const Evas_Object
*obj) EINA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1) EINA_PURE; | | EAPI Evas_Object *evas_object_below_get (const Evas_Object
*obj) EINA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1); | |
| | | | |
| /** | | /** | |
| * @} | | * @} | |
| */ | | */ | |
| | | | |
| /** | | /** | |
| * @defgroup Evas_Object_Group_Events Object Events | | * @defgroup Evas_Object_Group_Events Object Events | |
| * | | * | |
| * Objects generate events when they are moved, resized, when their | | * Objects generate events when they are moved, resized, when their | |
| * visibility change, when they are deleted and so on. These methods | | * visibility change, when they are deleted and so on. These methods | |
| | | | |
| skipping to change at line 3607 | | skipping to change at line 3718 | |
| * | | * | |
| * For each of those events, Evas provides a way for one to register | | * For each of those events, Evas provides a way for one to register | |
| * callback functions to be issued just after they happen. | | * callback functions to be issued just after they happen. | |
| * | | * | |
| * The following figure illustrates some Evas (event) callbacks: | | * The following figure illustrates some Evas (event) callbacks: | |
| * | | * | |
| * @image html evas-callbacks.png | | * @image html evas-callbacks.png | |
| * @image rtf evas-callbacks.png | | * @image rtf evas-callbacks.png | |
| * @image latex evas-callbacks.eps | | * @image latex evas-callbacks.eps | |
| * | | * | |
|
| * Thees events have their values in the #Evas_Callback_Type | | * These events have their values in the #Evas_Callback_Type | |
| * enumeration, which has also ones happening on the canvas level (se | | * enumeration, which has also ones happening on the canvas level (see | |
| * #Evas_Canvas_Events). | | * @ref Evas_Canvas_Events ). | |
| * | | * | |
| * Examples on this group of functions can be found @ref | | * Examples on this group of functions can be found @ref | |
| * Example_Evas_Stacking "here" and @ref Example_Evas_Events "here". | | * Example_Evas_Stacking "here" and @ref Example_Evas_Events "here". | |
| * | | * | |
| * @ingroup Evas_Object_Group | | * @ingroup Evas_Object_Group | |
| */ | | */ | |
| | | | |
| /** | | /** | |
| * @addtogroup Evas_Object_Group_Events | | * @addtogroup Evas_Object_Group_Events | |
| * @{ | | * @{ | |
| | | | |
| skipping to change at line 3838 | | skipping to change at line 3949 | |
| * @param obj Object to remove a callback from | | * @param obj Object to remove a callback from | |
| * @param type The type of event that was triggering the callback | | * @param type The type of event that was triggering the callback | |
| * @param func The function that was to be called when the event was trigge
red | | * @param func The function that was to be called when the event was trigge
red | |
| * @return The data pointer that was to be passed to the callback | | * @return The data pointer that was to be passed to the callback | |
| * | | * | |
| * This function removes the most recently added callback from the | | * This function removes the most recently added callback from the | |
| * object @p obj which was triggered by the event type @p type and was | | * object @p obj which was triggered by the event type @p type and was | |
| * calling the function @p func when triggered. If the removal is | | * calling the function @p func when triggered. If the removal is | |
| * successful it will also return the data pointer that was passed to | | * successful it will also return the data pointer that was passed to | |
| * evas_object_event_callback_add() when the callback was added to the | | * evas_object_event_callback_add() when the callback was added to the | |
|
| * object. If not successful NULL will be returned. | | * object. If not successful @c NULL will be returned. | |
| * | | * | |
| * Example: | | * Example: | |
| * @code | | * @code | |
| * extern Evas_Object *object; | | * extern Evas_Object *object; | |
| * void *my_data; | | * void *my_data; | |
| * void up_callback(void *data, Evas *e, Evas_Object *obj, void *event_info
); | | * void up_callback(void *data, Evas *e, Evas_Object *obj, void *event_info
); | |
| * | | * | |
| * my_data = evas_object_event_callback_del(object, EVAS_CALLBACK_MOUSE_UP,
up_callback); | | * my_data = evas_object_event_callback_del(object, EVAS_CALLBACK_MOUSE_UP,
up_callback); | |
| * @endcode | | * @endcode | |
| */ | | */ | |
| | | | |
| skipping to change at line 3925 | | skipping to change at line 4036 | |
| * @skip if (strcmp(ev->keyname, "p") == 0) | | * @skip if (strcmp(ev->keyname, "p") == 0) | |
| * @until } | | * @until } | |
| * | | * | |
| * See the full @ref Example_Evas_Stacking "example". | | * See the full @ref Example_Evas_Stacking "example". | |
| * | | * | |
| * @see evas_object_pass_events_set() | | * @see evas_object_pass_events_set() | |
| * @see evas_object_repeat_events_get() | | * @see evas_object_repeat_events_get() | |
| * @see evas_object_propagate_events_get() | | * @see evas_object_propagate_events_get() | |
| * @see evas_object_freeze_events_get() | | * @see evas_object_freeze_events_get() | |
| */ | | */ | |
|
| EAPI Eina_Bool evas_object_pass_events_get (const Evas_Objec
t *obj) EINA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1) EINA_PURE; | | EAPI Eina_Bool evas_object_pass_events_get (const Evas_Objec
t *obj) EINA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1); | |
| | | | |
| /** | | /** | |
| * Set whether an Evas object is to repeat events. | | * Set whether an Evas object is to repeat events. | |
| * | | * | |
| * @param obj the Evas object to operate on | | * @param obj the Evas object to operate on | |
| * @param repeat whether @p obj is to repeat events (@c EINA_TRUE) or not | | * @param repeat whether @p obj is to repeat events (@c EINA_TRUE) or not | |
| * (@c EINA_FALSE) | | * (@c EINA_FALSE) | |
| * | | * | |
| * If @p repeat is @c EINA_TRUE, it will make events on @p obj to also | | * If @p repeat is @c EINA_TRUE, it will make events on @p obj to also | |
| * be repeated for the @b next lower object in the objects' stack (see | | * be repeated for the @b next lower object in the objects' stack (see | |
| | | | |
| skipping to change at line 3959 | | skipping to change at line 4070 | |
| * @see evas_object_pass_events_set() | | * @see evas_object_pass_events_set() | |
| * @see evas_object_propagate_events_set() | | * @see evas_object_propagate_events_set() | |
| * @see evas_object_freeze_events_set() | | * @see evas_object_freeze_events_set() | |
| */ | | */ | |
| EAPI void evas_object_repeat_events_set (Evas_Object *obj
, Eina_Bool repeat) EINA_ARG_NONNULL(1); | | EAPI void evas_object_repeat_events_set (Evas_Object *obj
, Eina_Bool repeat) EINA_ARG_NONNULL(1); | |
| | | | |
| /** | | /** | |
| * Determine whether an object is set to repeat events. | | * Determine whether an object is set to repeat events. | |
| * | | * | |
| * @param obj the given Evas object pointer | | * @param obj the given Evas object pointer | |
|
| * @retrieve whether @p obj is set to repeat events (@c EINA_TRUE) | | * @return whether @p obj is set to repeat events (@c EINA_TRUE) | |
| * or not (@c EINA_FALSE) | | * or not (@c EINA_FALSE) | |
| * | | * | |
| * @see evas_object_repeat_events_set() for an example | | * @see evas_object_repeat_events_set() for an example | |
| * @see evas_object_pass_events_get() | | * @see evas_object_pass_events_get() | |
| * @see evas_object_propagate_events_get() | | * @see evas_object_propagate_events_get() | |
| * @see evas_object_freeze_events_get() | | * @see evas_object_freeze_events_get() | |
| */ | | */ | |
|
| EAPI Eina_Bool evas_object_repeat_events_get (const Evas_Objec
t *obj) EINA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1) EINA_PURE; | | EAPI Eina_Bool evas_object_repeat_events_get (const Evas_Objec
t *obj) EINA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1); | |
| | | | |
| /** | | /** | |
| * Set whether events on a smart object's member should get propagated | | * Set whether events on a smart object's member should get propagated | |
| * up to its parent. | | * up to its parent. | |
| * | | * | |
| * @param obj the smart object's child to operate on | | * @param obj the smart object's child to operate on | |
|
| * @param prop whether to propagate events (@c EINA_TRUE) or not (@c | | * @param prop whether to propagate events (@c EINA_TRUE) or not | |
| * EINA_FALSE) | | * (@c EINA_FALSE) | |
| * | | * | |
| * This function has @b no effect if @p obj is not a member of a smart | | * This function has @b no effect if @p obj is not a member of a smart | |
| * object. | | * object. | |
| * | | * | |
| * If @p prop is @c EINA_TRUE, events occurring on this object will be | | * If @p prop is @c EINA_TRUE, events occurring on this object will be | |
| * propagated on to the smart object of which @p obj is a member. If | | * propagated on to the smart object of which @p obj is a member. If | |
| * @p prop is @c EINA_FALSE, events occurring on this object will @b | | * @p prop is @c EINA_FALSE, events occurring on this object will @b | |
| * not be propagated on to the smart object of which @p obj is a | | * not be propagated on to the smart object of which @p obj is a | |
| * member. The default value is @c EINA_TRUE. | | * member. The default value is @c EINA_TRUE. | |
| * | | * | |
| | | | |
| skipping to change at line 4005 | | skipping to change at line 4116 | |
| * | | * | |
| * @param obj the given Evas object pointer | | * @param obj the given Evas object pointer | |
| * @return whether @p obj is set to propagate events (@c EINA_TRUE) | | * @return whether @p obj is set to propagate events (@c EINA_TRUE) | |
| * or not (@c EINA_FALSE) | | * or not (@c EINA_FALSE) | |
| * | | * | |
| * @see evas_object_propagate_events_set() | | * @see evas_object_propagate_events_set() | |
| * @see evas_object_repeat_events_get() | | * @see evas_object_repeat_events_get() | |
| * @see evas_object_pass_events_get() | | * @see evas_object_pass_events_get() | |
| * @see evas_object_freeze_events_get() | | * @see evas_object_freeze_events_get() | |
| */ | | */ | |
|
| EAPI Eina_Bool evas_object_propagate_events_get (const Evas_Objec
t *obj) EINA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1) EINA_PURE; | | EAPI Eina_Bool evas_object_propagate_events_get (const Evas_Objec
t *obj) EINA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1); | |
| | | | |
| /** | | /** | |
| * Set whether an Evas object is to freeze (discard) events. | | * Set whether an Evas object is to freeze (discard) events. | |
| * | | * | |
| * @param obj the Evas object to operate on | | * @param obj the Evas object to operate on | |
|
| * @param pass whether @p obj is to freeze events (@c EINA_TRUE) or not | | * @param freeze pass whether @p obj is to freeze events (@c EINA_TRUE) or
not | |
| * (@c EINA_FALSE) | | * (@c EINA_FALSE) | |
| * | | * | |
| * If @p freeze is @c EINA_TRUE, it will make events on @p obj to be @b | | * If @p freeze is @c EINA_TRUE, it will make events on @p obj to be @b | |
| * discarded. Unlike evas_object_pass_events_set(), events will not be | | * discarded. Unlike evas_object_pass_events_set(), events will not be | |
| * passed to @b next lower object. This API can be used for blocking | | * passed to @b next lower object. This API can be used for blocking | |
| * events while @p obj is on transiting. | | * events while @p obj is on transiting. | |
| * | | * | |
| * If @p freeze is @c EINA_FALSE, events will be processed on that | | * If @p freeze is @c EINA_FALSE, events will be processed on that | |
| * object as normal. | | * object as normal. | |
| * | | * | |
| | | | |
| skipping to change at line 4043 | | skipping to change at line 4154 | |
| * @param obj the Evas object to get information from. | | * @param obj the Evas object to get information from. | |
| * @return freeze whether @p obj is set to freeze events (@c EINA_TRUE) or | | * @return freeze whether @p obj is set to freeze events (@c EINA_TRUE) or | |
| * not (@c EINA_FALSE) | | * not (@c EINA_FALSE) | |
| * | | * | |
| * @see evas_object_freeze_events_set() | | * @see evas_object_freeze_events_set() | |
| * @see evas_object_pass_events_get() | | * @see evas_object_pass_events_get() | |
| * @see evas_object_repeat_events_get() | | * @see evas_object_repeat_events_get() | |
| * @see evas_object_propagate_events_get() | | * @see evas_object_propagate_events_get() | |
| * @since 1.1.0 | | * @since 1.1.0 | |
| */ | | */ | |
|
| EAPI Eina_Bool evas_object_freeze_events_get(const Evas_Object *obj
) EINA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1) EINA_PURE; | | EAPI Eina_Bool evas_object_freeze_events_get(const Evas_Object *obj
) EINA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1); | |
| | | | |
| /** | | /** | |
| * @} | | * @} | |
| */ | | */ | |
| | | | |
| /** | | /** | |
| * @defgroup Evas_Object_Group_Map UV Mapping (Rotation, Perspective, 3D...
) | | * @defgroup Evas_Object_Group_Map UV Mapping (Rotation, Perspective, 3D...
) | |
| * | | * | |
| * Evas allows different transformations to be applied to all kinds of | | * Evas allows different transformations to be applied to all kinds of | |
| * objects. These are applied by means of UV mapping. | | * objects. These are applied by means of UV mapping. | |
| * | | * | |
| * With UV mapping, one maps points in the source object to a 3D space | | * With UV mapping, one maps points in the source object to a 3D space | |
| * positioning at target. This allows rotation, perspective, scale and | | * positioning at target. This allows rotation, perspective, scale and | |
| * lots of other effects, depending on the map that is used. | | * lots of other effects, depending on the map that is used. | |
| * | | * | |
| * Each map point may carry a multiplier color. If properly | | * Each map point may carry a multiplier color. If properly | |
| * calculated, these can do shading effects on the object, producing | | * calculated, these can do shading effects on the object, producing | |
| * 3D effects. | | * 3D effects. | |
| * | | * | |
| * As usual, Evas provides both the raw and easy to use methods. The | | * As usual, Evas provides both the raw and easy to use methods. The | |
|
| * raw methods allow developer to create its maps somewhere else, | | * raw methods allow developers to create their maps somewhere else, | |
| * maybe load them from some file format. The easy to use methods, | | * possibly loading them from some file format. The easy to use methods | |
| * calculate the points given some high-level parameters, such as | | * calculate the points given some high-level parameters such as | |
| * rotation angle, ambient light and so on. | | * rotation angle, ambient light, and so on. | |
| * | | * | |
| * @note applying mapping will reduce performance, so use with | | * @note applying mapping will reduce performance, so use with | |
| * care. The impact on performance depends on engine in | | * care. The impact on performance depends on engine in | |
| * use. Software is quite optimized, but not as fast as OpenGL. | | * use. Software is quite optimized, but not as fast as OpenGL. | |
| * | | * | |
| * @section sec-map-points Map points | | * @section sec-map-points Map points | |
| * @subsection subsec-rotation Rotation | | * @subsection subsec-rotation Rotation | |
| * | | * | |
| * A map consists of a set of points, currently only four are supported. Ea
ch | | * A map consists of a set of points, currently only four are supported. Ea
ch | |
| * of these points contains a set of canvas coordinates @c x and @c y that | | * of these points contains a set of canvas coordinates @c x and @c y that | |
| | | | |
| skipping to change at line 4311 | | skipping to change at line 4422 | |
| * @image rtf map-light2.png | | * @image rtf map-light2.png | |
| * @image latex map-light2.eps | | * @image latex map-light2.eps | |
| * @note Same object facing away from the user | | * @note Same object facing away from the user | |
| * | | * | |
| * @section Image mapping | | * @section Image mapping | |
| * | | * | |
| * @image html map-uv-mapping-1.png | | * @image html map-uv-mapping-1.png | |
| * @image rtf map-uv-mapping-1.png | | * @image rtf map-uv-mapping-1.png | |
| * @image latex map-uv-mapping-1.eps | | * @image latex map-uv-mapping-1.eps | |
| * | | * | |
|
| * Images need some special handlign when mapped. Evas can easily take care | | * Images need some special handling when mapped. Evas can easily take care | |
| * of objects and do almost anything with them, but it's completely oblivio
us | | * of objects and do almost anything with them, but it's completely oblivio
us | |
| * to the content of images, so each point in the map needs to be told to w
hat | | * to the content of images, so each point in the map needs to be told to w
hat | |
| * pixel in the source image it belongs. Failing to do may sometimes result | | * pixel in the source image it belongs. Failing to do may sometimes result | |
| * in the expected behavior, or it may look like a partial work. | | * in the expected behavior, or it may look like a partial work. | |
| * | | * | |
| * The next image illustrates one possibility of a map being set to an imag
e | | * The next image illustrates one possibility of a map being set to an imag
e | |
| * object, without setting the right UV mapping for each point. The objects | | * object, without setting the right UV mapping for each point. The objects | |
| * themselves are mapped properly to their new geometry, but the image cont
ent | | * themselves are mapped properly to their new geometry, but the image cont
ent | |
| * may not be displayed correctly within the mapped object. | | * may not be displayed correctly within the mapped object. | |
| * | | * | |
| | | | |
| skipping to change at line 4477 | | skipping to change at line 4588 | |
| * @param map new map to use | | * @param map new map to use | |
| * | | * | |
| * @see evas_map_new() | | * @see evas_map_new() | |
| */ | | */ | |
| EAPI void evas_object_map_set (Evas_Object *obj,
const Evas_Map *map); | | EAPI void evas_object_map_set (Evas_Object *obj,
const Evas_Map *map); | |
| | | | |
| /** | | /** | |
| * Get current object transformation map. | | * Get current object transformation map. | |
| * | | * | |
| * This returns the current internal map set on the indicated object. It is | | * This returns the current internal map set on the indicated object. It is | |
|
| * intended for read-only acces and is only valid as long as the object is | | * intended for read-only access and is only valid as long as the object is | |
| * not deleted or the map on the object is not changed. If you wish to modi
fy | | * not deleted or the map on the object is not changed. If you wish to modi
fy | |
| * the map and set it back do the following: | | * the map and set it back do the following: | |
| * | | * | |
| * @code | | * @code | |
| * const Evas_Map *m = evas_object_map_get(obj); | | * const Evas_Map *m = evas_object_map_get(obj); | |
| * Evas_Map *m2 = evas_map_dup(m); | | * Evas_Map *m2 = evas_map_dup(m); | |
| * evas_map_util_rotate(m2, 30.0, 0, 0); | | * evas_map_util_rotate(m2, 30.0, 0, 0); | |
| * evas_object_map_set(obj); | | * evas_object_map_set(obj); | |
| * evas_map_free(m2); | | * evas_map_free(m2); | |
| * @endcode | | * @endcode | |
| | | | |
| skipping to change at line 4582 | | skipping to change at line 4693 | |
| * | | * | |
| * @see evas_map_point_color_set() | | * @see evas_map_point_color_set() | |
| */ | | */ | |
| EAPI void evas_map_util_points_color_set (Evas_
Map *m, int r, int g, int b, int a); | | EAPI void evas_map_util_points_color_set (Evas_
Map *m, int r, int g, int b, int a); | |
| | | | |
| /** | | /** | |
| * Change the map to apply the given rotation. | | * Change the map to apply the given rotation. | |
| * | | * | |
| * This rotates the indicated map's coordinates around the center coordinat
e | | * This rotates the indicated map's coordinates around the center coordinat
e | |
| * given by @p cx and @p cy as the rotation center. The points will have th
eir | | * given by @p cx and @p cy as the rotation center. The points will have th
eir | |
|
| * X and Y coordinates rotated clockwise by @p degrees degress (360.0 is a | | * X and Y coordinates rotated clockwise by @p degrees degrees (360.0 is a | |
| * full rotation). Negative values for degrees will rotate counter-clockwis
e | | * full rotation). Negative values for degrees will rotate counter-clockwis
e | |
| * by that amount. All coordinates are canvas global coordinates. | | * by that amount. All coordinates are canvas global coordinates. | |
| * | | * | |
| * @param m map to change. | | * @param m map to change. | |
| * @param degrees amount of degrees from 0.0 to 360.0 to rotate. | | * @param degrees amount of degrees from 0.0 to 360.0 to rotate. | |
| * @param cx rotation's center horizontal position. | | * @param cx rotation's center horizontal position. | |
| * @param cy rotation's center vertical position. | | * @param cy rotation's center vertical position. | |
| * | | * | |
| * @see evas_map_point_coord_set() | | * @see evas_map_point_coord_set() | |
| * @see evas_map_util_zoom() | | * @see evas_map_util_zoom() | |
| */ | | */ | |
| EAPI void evas_map_util_rotate (Evas_
Map *m, double degrees, Evas_Coord cx, Evas_Coord cy); | | EAPI void evas_map_util_rotate (Evas_
Map *m, double degrees, Evas_Coord cx, Evas_Coord cy); | |
| | | | |
| /** | | /** | |
| * Change the map to apply the given zooming. | | * Change the map to apply the given zooming. | |
| * | | * | |
| * Like evas_map_util_rotate(), this zooms the points of the map from a cen
ter | | * Like evas_map_util_rotate(), this zooms the points of the map from a cen
ter | |
| * point. That center is defined by @p cx and @p cy. The @p zoomx and @p zo
omy | | * point. That center is defined by @p cx and @p cy. The @p zoomx and @p zo
omy | |
| * parameters specify how much to zoom in the X and Y direction respectivel
y. | | * parameters specify how much to zoom in the X and Y direction respectivel
y. | |
|
| * A value of 1.0 means "don't zoom". 2.0 means "dobule the size". 0.5 is | | * A value of 1.0 means "don't zoom". 2.0 means "double the size". 0.5 is | |
| * "half the size" etc. All coordinates are canvas global coordinates. | | * "half the size" etc. All coordinates are canvas global coordinates. | |
| * | | * | |
| * @param m map to change. | | * @param m map to change. | |
| * @param zoomx horizontal zoom to use. | | * @param zoomx horizontal zoom to use. | |
| * @param zoomy vertical zoom to use. | | * @param zoomy vertical zoom to use. | |
| * @param cx zooming center horizontal position. | | * @param cx zooming center horizontal position. | |
| * @param cy zooming center vertical position. | | * @param cy zooming center vertical position. | |
| * | | * | |
| * @see evas_map_point_coord_set() | | * @see evas_map_point_coord_set() | |
| * @see evas_map_util_rotate() | | * @see evas_map_util_rotate() | |
| | | | |
| skipping to change at line 4627 | | skipping to change at line 4738 | |
| * Rotate the map around 3 axes in 3D | | * Rotate the map around 3 axes in 3D | |
| * | | * | |
| * This will rotate not just around the "Z" axis as in evas_map_util_rotate
() | | * This will rotate not just around the "Z" axis as in evas_map_util_rotate
() | |
| * (which is a convenience call for those only wanting 2D). This will rotat
e | | * (which is a convenience call for those only wanting 2D). This will rotat
e | |
| * around the X, Y and Z axes. The Z axis points "into" the screen with low | | * around the X, Y and Z axes. The Z axis points "into" the screen with low | |
| * values at the screen and higher values further away. The X axis runs fro
m | | * values at the screen and higher values further away. The X axis runs fro
m | |
| * left to right on the screen and the Y axis from top to bottom. Like with | | * left to right on the screen and the Y axis from top to bottom. Like with | |
| * evas_map_util_rotate() you provide a center point to rotate around (in 3
D). | | * evas_map_util_rotate() you provide a center point to rotate around (in 3
D). | |
| * | | * | |
| * @param m map to change. | | * @param m map to change. | |
|
| * @param dx amount of degrees from 0.0 to 360.0 to rotate arount X axis. | | * @param dx amount of degrees from 0.0 to 360.0 to rotate around X axis. | |
| * @param dy amount of degrees from 0.0 to 360.0 to rotate arount Y axis. | | * @param dy amount of degrees from 0.0 to 360.0 to rotate around Y axis. | |
| * @param dz amount of degrees from 0.0 to 360.0 to rotate arount Z axis. | | * @param dz amount of degrees from 0.0 to 360.0 to rotate around Z axis. | |
| * @param cx rotation's center horizontal position. | | * @param cx rotation's center horizontal position. | |
| * @param cy rotation's center vertical position. | | * @param cy rotation's center vertical position. | |
| * @param cz rotation's center vertical position. | | * @param cz rotation's center vertical position. | |
| */ | | */ | |
| EAPI void evas_map_util_3d_rotate (Evas_
Map *m, double dx, double dy, double dz, Evas_Coord cx, Evas_Coord cy, Evas
_Coord cz); | | EAPI void evas_map_util_3d_rotate (Evas_
Map *m, double dx, double dy, double dz, Evas_Coord cx, Evas_Coord cy, Evas
_Coord cz); | |
| | | | |
| /** | | /** | |
| * Perform lighting calculations on the given Map | | * Perform lighting calculations on the given Map | |
| * | | * | |
| * This is used to apply lighting calculations (from a single light source) | | * This is used to apply lighting calculations (from a single light source) | |
| | | | |
| skipping to change at line 4698 | | skipping to change at line 4809 | |
| * @param ab ambient color blue value (0 - 255) | | * @param ab ambient color blue value (0 - 255) | |
| */ | | */ | |
| EAPI void evas_map_util_3d_lighting (Evas_
Map *m, Evas_Coord lx, Evas_Coord ly, Evas_Coord lz, int lr, int lg, int lb
, int ar, int ag, int ab); | | EAPI void evas_map_util_3d_lighting (Evas_
Map *m, Evas_Coord lx, Evas_Coord ly, Evas_Coord lz, int lr, int lg, int lb
, int ar, int ag, int ab); | |
| | | | |
| /** | | /** | |
| * Apply a perspective transform to the map | | * Apply a perspective transform to the map | |
| * | | * | |
| * This applies a given perspective (3D) to the map coordinates. X, Y and Z | | * This applies a given perspective (3D) to the map coordinates. X, Y and Z | |
| * values are used. The px and py points specify the "infinite distance" po
int | | * values are used. The px and py points specify the "infinite distance" po
int | |
| * in the 3D conversion (where all lines converge to like when artists draw | | * in the 3D conversion (where all lines converge to like when artists draw | |
|
| * 3D by hand). The @p z0 value specifis the z value at which there is a 1: | | * 3D by hand). The @p z0 value specifies the z value at which there is a 1 | |
| 1 | | :1 | |
| * mapping between spatial coorinates and screen coordinates. Any points | | * mapping between spatial coordinates and screen coordinates. Any points | |
| * on this z value will not have their X and Y values modified in the trans
form. | | * on this z value will not have their X and Y values modified in the trans
form. | |
| * Those further away (Z value higher) will shrink into the distance, and | | * Those further away (Z value higher) will shrink into the distance, and | |
| * those less than this value will expand and become bigger. The @p foc val
ue | | * those less than this value will expand and become bigger. The @p foc val
ue | |
| * determines the "focal length" of the camera. This is in reality the dist
ance | | * determines the "focal length" of the camera. This is in reality the dist
ance | |
| * between the camera lens plane itself (at or closer than this rendering | | * between the camera lens plane itself (at or closer than this rendering | |
| * results are undefined) and the "z0" z value. This allows for some "depth
" | | * results are undefined) and the "z0" z value. This allows for some "depth
" | |
| * control and @p foc must be greater than 0. | | * control and @p foc must be greater than 0. | |
| * | | * | |
| * @param m map to change. | | * @param m map to change. | |
|
| * @param px The pespective distance X coordinate | | * @param px The perspective distance X coordinate | |
| * @param py The pespective distance Y coordinate | | * @param py The perspective distance Y coordinate | |
| * @param z0 The "0" z plane value | | * @param z0 The "0" z plane value | |
| * @param foc The focal distance | | * @param foc The focal distance | |
| */ | | */ | |
| EAPI void evas_map_util_3d_perspective (Evas_
Map *m, Evas_Coord px, Evas_Coord py, Evas_Coord z0, Evas_Coord foc); | | EAPI void evas_map_util_3d_perspective (Evas_
Map *m, Evas_Coord px, Evas_Coord py, Evas_Coord z0, Evas_Coord foc); | |
| | | | |
| /** | | /** | |
| * Get the clockwise state of a map | | * Get the clockwise state of a map | |
| * | | * | |
| * This determines if the output points (X and Y. Z is not used) are | | * This determines if the output points (X and Y. Z is not used) are | |
| * clockwise or anti-clockwise. This can be used for "back-face culling". T
his | | * clockwise or anti-clockwise. This can be used for "back-face culling". T
his | |
| | | | |
| skipping to change at line 4788 | | skipping to change at line 4899 | |
| * useful if you know the object and/or all sub-objects is 100% solid. | | * useful if you know the object and/or all sub-objects is 100% solid. | |
| * | | * | |
| * @param m map to modify. Must not be NULL. | | * @param m map to modify. Must not be NULL. | |
| * @param enabled enable or disable alpha map rendering | | * @param enabled enable or disable alpha map rendering | |
| */ | | */ | |
| EAPI void evas_map_alpha_set (Evas_Map *m, Eina
_Bool enabled); | | EAPI void evas_map_alpha_set (Evas_Map *m, Eina
_Bool enabled); | |
| | | | |
| /** | | /** | |
| * get the alpha flag for map rendering | | * get the alpha flag for map rendering | |
| * | | * | |
|
| * This gets the alph flag for map rendering. | | * This gets the alpha flag for map rendering. | |
| * | | * | |
| * @param m map to get the alpha from. Must not be NULL. | | * @param m map to get the alpha from. Must not be NULL. | |
| */ | | */ | |
| EAPI Eina_Bool evas_map_alpha_get (const Evas_Map *m
); | | EAPI Eina_Bool evas_map_alpha_get (const Evas_Map *m
); | |
| | | | |
| /** | | /** | |
| * Copy a previously allocated map. | | * Copy a previously allocated map. | |
| * | | * | |
| * This makes a duplicate of the @p m object and returns it. | | * This makes a duplicate of the @p m object and returns it. | |
| * | | * | |
| | | | |
| skipping to change at line 4829 | | skipping to change at line 4940 | |
| * @param m map to get size. | | * @param m map to get size. | |
| * @return -1 on error, points otherwise. | | * @return -1 on error, points otherwise. | |
| */ | | */ | |
| EAPI int evas_map_count_get (const Evas_Map *m)
EINA_CONST; | | EAPI int evas_map_count_get (const Evas_Map *m)
EINA_CONST; | |
| | | | |
| /** | | /** | |
| * Change the map point's coordinate. | | * Change the map point's coordinate. | |
| * | | * | |
| * This sets the fixed point's coordinate in the map. Note that points | | * This sets the fixed point's coordinate in the map. Note that points | |
| * describe the outline of a quadrangle and are ordered either clockwise | | * describe the outline of a quadrangle and are ordered either clockwise | |
|
| * or anit-clock-wise. It is suggested to keep your quadrangles concave and | | * or anti-clock-wise. It is suggested to keep your quadrangles concave and | |
| * non-complex, though these polygon modes may work, they may not render | | * non-complex, though these polygon modes may work, they may not render | |
| * a desired set of output. The quadrangle will use points 0 and 1 , 1 and
2, | | * a desired set of output. The quadrangle will use points 0 and 1 , 1 and
2, | |
|
| * 2 and 3, and 3 and 0 to describe the edges of the quandrangle. | | * 2 and 3, and 3 and 0 to describe the edges of the quadrangle. | |
| * | | * | |
| * The X and Y and Z coordinates are in canvas units. Z is optional and may | | * The X and Y and Z coordinates are in canvas units. Z is optional and may | |
| * or may not be honored in drawing. Z is a hint and does not affect the | | * or may not be honored in drawing. Z is a hint and does not affect the | |
| * X and Y rendered coordinates. It may be used for calculating fills with | | * X and Y rendered coordinates. It may be used for calculating fills with | |
| * perspective correct rendering. | | * perspective correct rendering. | |
| * | | * | |
|
| * Remember all coordinates are canvas global ones like with move and reize | | * Remember all coordinates are canvas global ones like with move and resiz
e | |
| * in evas. | | * in evas. | |
| * | | * | |
| * @param m map to change point. Must not be @c NULL. | | * @param m map to change point. Must not be @c NULL. | |
| * @param idx index of point to change. Must be smaller than map size. | | * @param idx index of point to change. Must be smaller than map size. | |
| * @param x Point X Coordinate | | * @param x Point X Coordinate | |
| * @param y Point Y Coordinate | | * @param y Point Y Coordinate | |
| * @param z Point Z Coordinate hint (pre-perspective transform) | | * @param z Point Z Coordinate hint (pre-perspective transform) | |
| * | | * | |
| * @see evas_map_util_rotate() | | * @see evas_map_util_rotate() | |
| * @see evas_map_util_zoom() | | * @see evas_map_util_zoom() | |
| | | | |
| skipping to change at line 5005 | | skipping to change at line 5116 | |
| * should be used whenever appropriate. | | * should be used whenever appropriate. | |
| * | | * | |
| * Values @c 0 will be treated as unset hint components, when queried | | * Values @c 0 will be treated as unset hint components, when queried | |
| * by managers. | | * by managers. | |
| * | | * | |
| * Example: | | * Example: | |
| * @dontinclude evas-hints.c | | * @dontinclude evas-hints.c | |
| * @skip evas_object_size_hint_min_set | | * @skip evas_object_size_hint_min_set | |
| * @until return | | * @until return | |
| * | | * | |
|
| * In this example the minimum size hints change de behavior of an | | * In this example the minimum size hints change the behavior of an | |
| * Evas box when layouting its children. See the full @ref | | * Evas box when layouting its children. See the full @ref | |
| * Example_Evas_Size_Hints "example". | | * Example_Evas_Size_Hints "example". | |
| * | | * | |
| * @see evas_object_size_hint_min_get() | | * @see evas_object_size_hint_min_get() | |
| */ | | */ | |
| EAPI void evas_object_size_hint_min_set (Evas_Object *obj,
Evas_Coord w, Evas_Coord h) EINA_ARG_NONNULL(1); | | EAPI void evas_object_size_hint_min_set (Evas_Object *obj,
Evas_Coord w, Evas_Coord h) EINA_ARG_NONNULL(1); | |
| | | | |
| /** | | /** | |
| * Retrieves the hints for an object's maximum size. | | * Retrieves the hints for an object's maximum size. | |
| * | | * | |
| | | | |
| skipping to change at line 5049 | | skipping to change at line 5160 | |
| * should be used whenever appropriate. | | * should be used whenever appropriate. | |
| * | | * | |
| * Values @c -1 will be treated as unset hint components, when queried | | * Values @c -1 will be treated as unset hint components, when queried | |
| * by managers. | | * by managers. | |
| * | | * | |
| * Example: | | * Example: | |
| * @dontinclude evas-hints.c | | * @dontinclude evas-hints.c | |
| * @skip evas_object_size_hint_max_set | | * @skip evas_object_size_hint_max_set | |
| * @until return | | * @until return | |
| * | | * | |
|
| * In this example the maximum size hints change de behavior of an | | * In this example the maximum size hints change the behavior of an | |
| * Evas box when layouting its children. See the full @ref | | * Evas box when layouting its children. See the full @ref | |
| * Example_Evas_Size_Hints "example". | | * Example_Evas_Size_Hints "example". | |
| * | | * | |
| * @see evas_object_size_hint_max_get() | | * @see evas_object_size_hint_max_get() | |
| */ | | */ | |
| EAPI void evas_object_size_hint_max_set (Evas_Object *obj,
Evas_Coord w, Evas_Coord h) EINA_ARG_NONNULL(1); | | EAPI void evas_object_size_hint_max_set (Evas_Object *obj,
Evas_Coord w, Evas_Coord h) EINA_ARG_NONNULL(1); | |
| | | | |
| /** | | /** | |
| * Retrieves the hints for an object's optimum size. | | * Retrieves the hints for an object's optimum size. | |
| * | | * | |
| | | | |
| skipping to change at line 5224 | | skipping to change at line 5335 | |
| * @image latex alignment-hints.eps | | * @image latex alignment-hints.eps | |
| * | | * | |
| * This is not a size enforcement in any way, it's just a hint that | | * This is not a size enforcement in any way, it's just a hint that | |
| * should be used whenever appropriate. | | * should be used whenever appropriate. | |
| * | | * | |
| * Example: | | * Example: | |
| * @dontinclude evas-hints.c | | * @dontinclude evas-hints.c | |
| * @skip evas_object_size_hint_align_set | | * @skip evas_object_size_hint_align_set | |
| * @until return | | * @until return | |
| * | | * | |
|
| * In this example the alignment hints change de behavior of an Evas | | * In this example the alignment hints change the behavior of an Evas | |
| * box when layouting its children. See the full @ref | | * box when layouting its children. See the full @ref | |
| * Example_Evas_Size_Hints "example". | | * Example_Evas_Size_Hints "example". | |
| * | | * | |
| * @see evas_object_size_hint_align_get() | | * @see evas_object_size_hint_align_get() | |
| * @see evas_object_size_hint_max_set() | | * @see evas_object_size_hint_max_set() | |
| * @see evas_object_size_hint_padding_set() | | * @see evas_object_size_hint_padding_set() | |
| */ | | */ | |
| EAPI void evas_object_size_hint_align_set (Evas_Object *obj,
double x, double y) EINA_ARG_NONNULL(1); | | EAPI void evas_object_size_hint_align_set (Evas_Object *obj,
double x, double y) EINA_ARG_NONNULL(1); | |
| | | | |
| /** | | /** | |
| | | | |
| skipping to change at line 5283 | | skipping to change at line 5394 | |
| * to, after @b normalizing the weights of its children (with weight | | * to, after @b normalizing the weights of its children (with weight | |
| * hints), distribute the space it has to layout them by those factors | | * hints), distribute the space it has to layout them by those factors | |
| * -- most weighted children get larger in this process than the least | | * -- most weighted children get larger in this process than the least | |
| * ones. | | * ones. | |
| * | | * | |
| * Example: | | * Example: | |
| * @dontinclude evas-hints.c | | * @dontinclude evas-hints.c | |
| * @skip evas_object_size_hint_weight_set | | * @skip evas_object_size_hint_weight_set | |
| * @until return | | * @until return | |
| * | | * | |
|
| * In this example the weight hints change de behavior of an Evas box | | * In this example the weight hints change the behavior of an Evas box | |
| * when layouting its children. See the full @ref | | * when layouting its children. See the full @ref | |
| * Example_Evas_Size_Hints "example". | | * Example_Evas_Size_Hints "example". | |
| * | | * | |
| * @see evas_object_size_hint_weight_get() for more information | | * @see evas_object_size_hint_weight_get() for more information | |
| */ | | */ | |
| EAPI void evas_object_size_hint_weight_set (Evas_Object *obj,
double x, double y) EINA_ARG_NONNULL(1); | | EAPI void evas_object_size_hint_weight_set (Evas_Object *obj,
double x, double y) EINA_ARG_NONNULL(1); | |
| | | | |
| /** | | /** | |
| * Retrieves the hints for an object's padding space. | | * Retrieves the hints for an object's padding space. | |
| * | | * | |
| | | | |
| skipping to change at line 5319 | | skipping to change at line 5430 | |
| * should be used whenever appropriate. | | * should be used whenever appropriate. | |
| * | | * | |
| * @note Use @c NULL pointers on the hint components you're not | | * @note Use @c NULL pointers on the hint components you're not | |
| * interested in: they'll be ignored by the function. | | * interested in: they'll be ignored by the function. | |
| * | | * | |
| * Example: | | * Example: | |
| * @dontinclude evas-hints.c | | * @dontinclude evas-hints.c | |
| * @skip evas_object_size_hint_padding_set | | * @skip evas_object_size_hint_padding_set | |
| * @until return | | * @until return | |
| * | | * | |
|
| * In this example the padding hints change de behavior of an Evas box | | * In this example the padding hints change the behavior of an Evas box | |
| * when layouting its children. See the full @ref | | * when layouting its children. See the full @ref | |
| * Example_Evas_Size_Hints "example". | | * Example_Evas_Size_Hints "example". | |
| * | | * | |
| * @see evas_object_size_hint_padding_set() | | * @see evas_object_size_hint_padding_set() | |
| */ | | */ | |
| EAPI void evas_object_size_hint_padding_get (const Evas_Object
*obj, Evas_Coord *l, Evas_Coord *r, Evas_Coord *t, Evas_Coord *b) EINA_ARG
_NONNULL(1); | | EAPI void evas_object_size_hint_padding_get (const Evas_Object
*obj, Evas_Coord *l, Evas_Coord *r, Evas_Coord *t, Evas_Coord *b) EINA_ARG
_NONNULL(1); | |
| | | | |
| /** | | /** | |
| * Sets the hints for an object's padding space. | | * Sets the hints for an object's padding space. | |
| * | | * | |
| | | | |
| skipping to change at line 5369 | | skipping to change at line 5480 | |
| /** | | /** | |
| * @addtogroup Evas_Object_Group_Extras | | * @addtogroup Evas_Object_Group_Extras | |
| * @{ | | * @{ | |
| */ | | */ | |
| | | | |
| /** | | /** | |
| * Set an attached data pointer to an object with a given string key. | | * Set an attached data pointer to an object with a given string key. | |
| * | | * | |
| * @param obj The object to attach the data pointer to | | * @param obj The object to attach the data pointer to | |
| * @param key The string key for the data to access it | | * @param key The string key for the data to access it | |
|
| * @param data The ponter to the data to be attached | | * @param data The pointer to the data to be attached | |
| * | | * | |
| * This attaches the pointer @p data to the object @p obj, given the | | * This attaches the pointer @p data to the object @p obj, given the | |
| * access string @p key. This pointer will stay "hooked" to the object | | * access string @p key. This pointer will stay "hooked" to the object | |
| * until a new pointer with the same string key is attached with | | * until a new pointer with the same string key is attached with | |
| * evas_object_data_set() or it is deleted with | | * evas_object_data_set() or it is deleted with | |
| * evas_object_data_del(). On deletion of the object @p obj, the | | * evas_object_data_del(). On deletion of the object @p obj, the | |
| * pointers will not be accessible from the object anymore. | | * pointers will not be accessible from the object anymore. | |
| * | | * | |
| * You can find the pointer attached under a string key using | | * You can find the pointer attached under a string key using | |
| * evas_object_data_get(). It is the job of the calling application to | | * evas_object_data_get(). It is the job of the calling application to | |
| | | | |
| skipping to change at line 5433 | | skipping to change at line 5544 | |
| * | | * | |
| * @code | | * @code | |
| * int *my_data; | | * int *my_data; | |
| * extern Evas_Object *obj; | | * extern Evas_Object *obj; | |
| * | | * | |
| * my_data = evas_object_data_get(obj, "name_of_my_data"); | | * my_data = evas_object_data_get(obj, "name_of_my_data"); | |
| * if (my_data) printf("Data stored was %p\n", my_data); | | * if (my_data) printf("Data stored was %p\n", my_data); | |
| * else printf("No data was stored on the object\n"); | | * else printf("No data was stored on the object\n"); | |
| * @endcode | | * @endcode | |
| */ | | */ | |
|
| EAPI void *evas_object_data_get (const Evas
_Object *obj, const char *key) EINA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1,
2) EINA_PURE; | | EAPI void *evas_object_data_get (const Evas
_Object *obj, const char *key) EINA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1,
2); | |
| | | | |
| /** | | /** | |
| * Delete an attached data pointer from an object. | | * Delete an attached data pointer from an object. | |
| * | | * | |
| * @param obj The object to delete the data pointer from | | * @param obj The object to delete the data pointer from | |
| * @param key The string key the data was stored under | | * @param key The string key the data was stored under | |
| * @return The original data pointer stored at @p key on @p obj | | * @return The original data pointer stored at @p key on @p obj | |
| * | | * | |
| * This will remove the stored data pointer from @p obj stored under | | * This will remove the stored data pointer from @p obj stored under | |
| * @p key and return this same pointer, if actually there was data | | * @p key and return this same pointer, if actually there was data | |
| | | | |
| skipping to change at line 5486 | | skipping to change at line 5597 | |
| * @ingroup Evas_Object_Group_Extras | | * @ingroup Evas_Object_Group_Extras | |
| */ | | */ | |
| EAPI void evas_object_pointer_mode_set (Evas_Objec
t *obj, Evas_Object_Pointer_Mode setting) EINA_ARG_NONNULL(1); | | EAPI void evas_object_pointer_mode_set (Evas_Objec
t *obj, Evas_Object_Pointer_Mode setting) EINA_ARG_NONNULL(1); | |
| | | | |
| /** | | /** | |
| * Determine how pointer will behave. | | * Determine how pointer will behave. | |
| * @param obj | | * @param obj | |
| * @return pointer behavior. | | * @return pointer behavior. | |
| * @ingroup Evas_Object_Group_Extras | | * @ingroup Evas_Object_Group_Extras | |
| */ | | */ | |
|
| EAPI Evas_Object_Pointer_Mode evas_object_pointer_mode_get (const Evas
_Object *obj) EINA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1) EINA_PURE; | | EAPI Evas_Object_Pointer_Mode evas_object_pointer_mode_get (const Evas
_Object *obj) EINA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1); | |
| | | | |
| /** | | /** | |
| * Sets whether or not the given Evas object is to be drawn anti-aliased. | | * Sets whether or not the given Evas object is to be drawn anti-aliased. | |
| * | | * | |
| * @param obj The given Evas object. | | * @param obj The given Evas object. | |
|
| * @param anti_alias 1 if the object is to be anti_aliased, 0 otherwise. | | * @param antialias 1 if the object is to be anti_aliased, 0 otherwise. | |
| * @ingroup Evas_Object_Group_Extras | | * @ingroup Evas_Object_Group_Extras | |
| */ | | */ | |
| EAPI void evas_object_anti_alias_set (Evas_Objec
t *obj, Eina_Bool antialias) EINA_ARG_NONNULL(1); | | EAPI void evas_object_anti_alias_set (Evas_Objec
t *obj, Eina_Bool antialias) EINA_ARG_NONNULL(1); | |
| | | | |
| /** | | /** | |
| * Retrieves whether or not the given Evas object is to be drawn anti_alias
ed. | | * Retrieves whether or not the given Evas object is to be drawn anti_alias
ed. | |
| * @param obj The given Evas object. | | * @param obj The given Evas object. | |
| * @return @c 1 if the object is to be anti_aliased. @c 0 otherwise. | | * @return @c 1 if the object is to be anti_aliased. @c 0 otherwise. | |
| * @ingroup Evas_Object_Group_Extras | | * @ingroup Evas_Object_Group_Extras | |
| */ | | */ | |
|
| EAPI Eina_Bool evas_object_anti_alias_get (const Evas
_Object *obj) EINA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1) EINA_PURE; | | EAPI Eina_Bool evas_object_anti_alias_get (const Evas
_Object *obj) EINA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1); | |
| | | | |
| /** | | /** | |
| * Sets the scaling factor for an Evas object. Does not affect all | | * Sets the scaling factor for an Evas object. Does not affect all | |
| * objects. | | * objects. | |
| * | | * | |
| * @param obj The given Evas object. | | * @param obj The given Evas object. | |
| * @param scale The scaling factor. <c>1.0</c> means no scaling, | | * @param scale The scaling factor. <c>1.0</c> means no scaling, | |
| * default size. | | * default size. | |
| * | | * | |
| * This will multiply the object's dimension by the given factor, thus | | * This will multiply the object's dimension by the given factor, thus | |
| | | | |
| skipping to change at line 5536 | | skipping to change at line 5647 | |
| /** | | /** | |
| * Retrieves the scaling factor for the given Evas object. | | * Retrieves the scaling factor for the given Evas object. | |
| * | | * | |
| * @param obj The given Evas object. | | * @param obj The given Evas object. | |
| * @return The scaling factor. | | * @return The scaling factor. | |
| * | | * | |
| * @ingroup Evas_Object_Group_Extras | | * @ingroup Evas_Object_Group_Extras | |
| * | | * | |
| * @see evas_object_scale_set() | | * @see evas_object_scale_set() | |
| */ | | */ | |
|
| EAPI double evas_object_scale_get (const Evas
_Object *obj) EINA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1) EINA_PURE; | | EAPI double evas_object_scale_get (const Evas
_Object *obj) EINA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1); | |
| | | | |
| /** | | /** | |
| * Sets the render_op to be used for rendering the Evas object. | | * Sets the render_op to be used for rendering the Evas object. | |
| * @param obj The given Evas object. | | * @param obj The given Evas object. | |
|
| * @param render_op one of the Evas_Render_Op values. | | * @param op one of the Evas_Render_Op values. | |
| * @ingroup Evas_Object_Group_Extras | | * @ingroup Evas_Object_Group_Extras | |
| */ | | */ | |
| EAPI void evas_object_render_op_set (Evas_Objec
t *obj, Evas_Render_Op op) EINA_ARG_NONNULL(1); | | EAPI void evas_object_render_op_set (Evas_Objec
t *obj, Evas_Render_Op op) EINA_ARG_NONNULL(1); | |
| | | | |
| /** | | /** | |
| * Retrieves the current value of the operation used for rendering the Evas
object. | | * Retrieves the current value of the operation used for rendering the Evas
object. | |
| * @param obj The given Evas object. | | * @param obj The given Evas object. | |
| * @return one of the enumerated values in Evas_Render_Op. | | * @return one of the enumerated values in Evas_Render_Op. | |
| * @ingroup Evas_Object_Group_Extras | | * @ingroup Evas_Object_Group_Extras | |
| */ | | */ | |
|
| EAPI Evas_Render_Op evas_object_render_op_get (const Evas
_Object *obj) EINA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1) EINA_PURE; | | EAPI Evas_Render_Op evas_object_render_op_get (const Evas
_Object *obj) EINA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1); | |
| | | | |
| /** | | /** | |
| * Set whether to use precise (usually expensive) point collision | | * Set whether to use precise (usually expensive) point collision | |
| * detection for a given Evas object. | | * detection for a given Evas object. | |
| * | | * | |
| * @param obj The given object. | | * @param obj The given object. | |
|
| * @param precise whether to use precise point collision detection or | | * @param precise Whether to use precise point collision detection or | |
| * not The default value is false. | | * not. The default value is false. | |
| * | | * | |
| * Use this function to make Evas treat objects' transparent areas as | | * Use this function to make Evas treat objects' transparent areas as | |
| * @b not belonging to it with regard to mouse pointer events. By | | * @b not belonging to it with regard to mouse pointer events. By | |
| * default, all of the object's boundary rectangle will be taken in | | * default, all of the object's boundary rectangle will be taken in | |
| * account for them. | | * account for them. | |
| * | | * | |
| * @warning By using precise point collision detection you'll be | | * @warning By using precise point collision detection you'll be | |
| * making Evas more resource intensive. | | * making Evas more resource intensive. | |
| * | | * | |
| * Example code follows. | | * Example code follows. | |
| | | | |
| skipping to change at line 5594 | | skipping to change at line 5705 | |
| * detection. | | * detection. | |
| * | | * | |
| * @param obj The given object. | | * @param obj The given object. | |
| * @return whether @p obj is set to use precise point collision | | * @return whether @p obj is set to use precise point collision | |
| * detection or not The default value is false. | | * detection or not The default value is false. | |
| * | | * | |
| * @see evas_object_precise_is_inside_set() for an example | | * @see evas_object_precise_is_inside_set() for an example | |
| * | | * | |
| * @ingroup Evas_Object_Group_Extras | | * @ingroup Evas_Object_Group_Extras | |
| */ | | */ | |
|
| EAPI Eina_Bool evas_object_precise_is_inside_get(const E
vas_Object *obj) EINA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1) EINA_PURE; | | EAPI Eina_Bool evas_object_precise_is_inside_get(const E
vas_Object *obj) EINA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1); | |
| | | | |
| /** | | /** | |
| * Set a hint flag on the given Evas object that it's used as a "static | | * Set a hint flag on the given Evas object that it's used as a "static | |
| * clipper". | | * clipper". | |
| * | | * | |
| * @param obj The given object. | | * @param obj The given object. | |
| * @param is_static_clip @c EINA_TRUE if it's to be used as a static | | * @param is_static_clip @c EINA_TRUE if it's to be used as a static | |
|
| * clipper, @c EINA_FALSE otherwise | | * clipper, @c EINA_FALSE otherwise. | |
| * | | * | |
| * This is a hint to Evas that this object is used as a big static | | * This is a hint to Evas that this object is used as a big static | |
| * clipper and shouldn't be moved with children and otherwise | | * clipper and shouldn't be moved with children and otherwise | |
|
| * considered specially. The default value for new objects is @c | | * considered specially. The default value for new objects is | |
| * EINA_FALSE. | | * @c EINA_FALSE. | |
| * | | * | |
| * @see evas_object_static_clip_get() | | * @see evas_object_static_clip_get() | |
| * | | * | |
| * @ingroup Evas_Object_Group_Extras | | * @ingroup Evas_Object_Group_Extras | |
| */ | | */ | |
| EAPI void evas_object_static_clip_set (Evas_Ob
ject *obj, Eina_Bool is_static_clip) EINA_ARG_NONNULL(1); | | EAPI void evas_object_static_clip_set (Evas_Ob
ject *obj, Eina_Bool is_static_clip) EINA_ARG_NONNULL(1); | |
| | | | |
| /** | | /** | |
| * Get the "static clipper" hint flag for a given Evas object. | | * Get the "static clipper" hint flag for a given Evas object. | |
| * | | * | |
| * @param obj The given object. | | * @param obj The given object. | |
|
| * @returrn @c EINA_TRUE if it's set as a static clipper, @c | | * @return @c EINA_TRUE if it's set as a static clipper, | |
| * EINA_FALSE otherwise | | * @c EINA_FALSE otherwise. | |
| * | | * | |
| * @see evas_object_static_clip_set() for more details | | * @see evas_object_static_clip_set() for more details | |
| * | | * | |
| * @ingroup Evas_Object_Group_Extras | | * @ingroup Evas_Object_Group_Extras | |
| */ | | */ | |
|
| EAPI Eina_Bool evas_object_static_clip_get (const E
vas_Object *obj) EINA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1) EINA_PURE; | | EAPI Eina_Bool evas_object_static_clip_get (const E
vas_Object *obj) EINA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1); | |
| | | | |
| /** | | /** | |
| * @} | | * @} | |
| */ | | */ | |
| | | | |
| /** | | /** | |
| * @defgroup Evas_Object_Group_Find Finding Objects | | * @defgroup Evas_Object_Group_Find Finding Objects | |
| * | | * | |
| * Functions that allows finding objects by their position, name or | | * Functions that allows finding objects by their position, name or | |
| * other properties. | | * other properties. | |
| | | | |
| skipping to change at line 5683 | | skipping to change at line 5794 | |
| * @until evas_object_focus_set(d.bg, EINA_TRUE); | | * @until evas_object_focus_set(d.bg, EINA_TRUE); | |
| * @dontinclude evas-events.c | | * @dontinclude evas-events.c | |
| * @skip called when our rectangle gets focus | | * @skip called when our rectangle gets focus | |
| * @until } | | * @until } | |
| * | | * | |
| * In this example the @c event_info is exactly a pointer to that | | * In this example the @c event_info is exactly a pointer to that | |
| * focused rectangle. See the full @ref Example_Evas_Events "example". | | * focused rectangle. See the full @ref Example_Evas_Events "example". | |
| * | | * | |
| * @ingroup Evas_Object_Group_Find | | * @ingroup Evas_Object_Group_Find | |
| */ | | */ | |
|
| EAPI Evas_Object *evas_focus_get (const Evas *e) EI
NA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1) EINA_PURE; | | EAPI Evas_Object *evas_focus_get (const Evas *e) EI
NA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1); | |
| | | | |
| /** | | /** | |
| * Retrieves the object on the given evas with the given name. | | * Retrieves the object on the given evas with the given name. | |
| * @param e The given evas. | | * @param e The given evas. | |
| * @param name The given name. | | * @param name The given name. | |
| * @return If successful, the Evas object with the given name. Otherwise, | | * @return If successful, the Evas object with the given name. Otherwise, | |
| * @c NULL. | | * @c NULL. | |
|
| | | * | |
| | | * This looks for the evas object given a name by evas_object_name_set(). I | |
| | | f | |
| | | * the name is not unique canvas-wide, then which one of the many objects | |
| | | * with that name is returned is undefined, so only use this if you can ens | |
| | | ure | |
| | | * the object name is unique. | |
| | | * | |
| * @ingroup Evas_Object_Group_Find | | * @ingroup Evas_Object_Group_Find | |
| */ | | */ | |
|
| EAPI Evas_Object *evas_object_name_find (const Evas *e, co | | EAPI Evas_Object *evas_object_name_find (const Evas *e, co | |
| nst char *name) EINA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1) EINA_PURE; | | nst char *name) EINA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1); | |
| | | | |
| | | /** | |
| | | * Retrieves the object from children of the given object with the given na | |
| | | me. | |
| | | * @param obj The parent (smart) object whose children to search. | |
| | | * @param name The given name. | |
| | | * @param recurse Set to the number of child levels to recurse (0 == don' | |
| | | t recurse, 1 == only look at the children of @p obj or their immediate chil | |
| | | dren, but no further etc.). | |
| | | * @return If successful, the Evas object with the given name. Otherwise, | |
| | | * @c NULL. | |
| | | * | |
| | | * This looks for the evas object given a name by evas_object_name_set(), b | |
| | | ut | |
| | | * it ONLY looks at the children of the object *p obj, and will only recurs | |
| | | e | |
| | | * into those children if @p recurse is greater than 0. If the name is not | |
| | | * unique within immediate children (or the whole child tree) then it is no | |
| | | t | |
| | | * defined which child object will be returned. If @p recurse is set to -1 | |
| | | then | |
| | | * it will recurse without limit. | |
| | | * | |
| | | * @since 1.2 | |
| | | * | |
| | | * @ingroup Evas_Object_Group_Find | |
| | | */ | |
| | | EAPI Evas_Object *evas_object_name_child_find (const Evas_Objec | |
| | | t *obj, const char *name, int recurse) EINA_WARN_UNUSED_RESULT EINA_ARG_NON | |
| | | NULL(1); | |
| | | | |
| /** | | /** | |
| * Retrieve the Evas object stacked at the top of a given position in | | * Retrieve the Evas object stacked at the top of a given position in | |
| * a canvas | | * a canvas | |
| * | | * | |
| * @param e A handle to the canvas. | | * @param e A handle to the canvas. | |
| * @param x The horizontal coordinate of the position | | * @param x The horizontal coordinate of the position | |
| * @param y The vertical coordinate of the position | | * @param y The vertical coordinate of the position | |
| * @param include_pass_events_objects Boolean flag to include or not | | * @param include_pass_events_objects Boolean flag to include or not | |
| * objects which pass events in this calculation | | * objects which pass events in this calculation | |
| | | | |
| skipping to change at line 5718 | | skipping to change at line 5856 | |
| * | | * | |
| * This function will traverse all the layers of the given canvas, | | * This function will traverse all the layers of the given canvas, | |
| * from top to bottom, querying for objects with areas covering the | | * from top to bottom, querying for objects with areas covering the | |
| * given position. The user can remove from from the query | | * given position. The user can remove from from the query | |
| * objects which are hidden and/or which are set to pass events. | | * objects which are hidden and/or which are set to pass events. | |
| * | | * | |
| * @warning This function will @b skip objects parented by smart | | * @warning This function will @b skip objects parented by smart | |
| * objects, acting only on the ones at the "top level", with regard to | | * objects, acting only on the ones at the "top level", with regard to | |
| * object parenting. | | * object parenting. | |
| */ | | */ | |
|
| EAPI Evas_Object *evas_object_top_at_xy_get (const Evas *e, Ev
as_Coord x, Evas_Coord y, Eina_Bool include_pass_events_objects, Eina_Bool
include_hidden_objects) EINA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1) EINA_PU
RE; | | EAPI Evas_Object *evas_object_top_at_xy_get (const Evas *e, Ev
as_Coord x, Evas_Coord y, Eina_Bool include_pass_events_objects, Eina_Bool
include_hidden_objects) EINA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1); | |
| | | | |
| /** | | /** | |
| * Retrieve the Evas object stacked at the top at the position of the | | * Retrieve the Evas object stacked at the top at the position of the | |
| * mouse cursor, over a given canvas | | * mouse cursor, over a given canvas | |
| * | | * | |
| * @param e A handle to the canvas. | | * @param e A handle to the canvas. | |
| * @return The Evas object that is over all other objects at the mouse | | * @return The Evas object that is over all other objects at the mouse | |
| * pointer's position | | * pointer's position | |
| * | | * | |
| * This function will traverse all the layers of the given canvas, | | * This function will traverse all the layers of the given canvas, | |
| * from top to bottom, querying for objects with areas covering the | | * from top to bottom, querying for objects with areas covering the | |
| * mouse pointer's position, over @p e. | | * mouse pointer's position, over @p e. | |
| * | | * | |
| * @warning This function will @b skip objects parented by smart | | * @warning This function will @b skip objects parented by smart | |
| * objects, acting only on the ones at the "top level", with regard to | | * objects, acting only on the ones at the "top level", with regard to | |
| * object parenting. | | * object parenting. | |
| */ | | */ | |
|
| EAPI Evas_Object *evas_object_top_at_pointer_get (const Evas *e) EI
NA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1) EINA_PURE; | | EAPI Evas_Object *evas_object_top_at_pointer_get (const Evas *e) EI
NA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1); | |
| | | | |
| /** | | /** | |
| * Retrieve the Evas object stacked at the top of a given rectangular | | * Retrieve the Evas object stacked at the top of a given rectangular | |
| * region in a canvas | | * region in a canvas | |
| * | | * | |
| * @param e A handle to the canvas. | | * @param e A handle to the canvas. | |
| * @param x The top left corner's horizontal coordinate for the | | * @param x The top left corner's horizontal coordinate for the | |
| * rectangular region | | * rectangular region | |
| * @param y The top left corner's vertical coordinate for the | | * @param y The top left corner's vertical coordinate for the | |
| * rectangular region | | * rectangular region | |
| | | | |
| skipping to change at line 5766 | | skipping to change at line 5904 | |
| * This function will traverse all the layers of the given canvas, | | * This function will traverse all the layers of the given canvas, | |
| * from top to bottom, querying for objects with areas overlapping | | * from top to bottom, querying for objects with areas overlapping | |
| * with the given rectangular region inside @p e. The user can remove | | * with the given rectangular region inside @p e. The user can remove | |
| * from the query objects which are hidden and/or which are set to | | * from the query objects which are hidden and/or which are set to | |
| * pass events. | | * pass events. | |
| * | | * | |
| * @warning This function will @b skip objects parented by smart | | * @warning This function will @b skip objects parented by smart | |
| * objects, acting only on the ones at the "top level", with regard to | | * objects, acting only on the ones at the "top level", with regard to | |
| * object parenting. | | * object parenting. | |
| */ | | */ | |
|
| EAPI Evas_Object *evas_object_top_in_rectangle_get (const Evas *e, Ev
as_Coord x, Evas_Coord y, Evas_Coord w, Evas_Coord h, Eina_Bool include_pas
s_events_objects, Eina_Bool include_hidden_objects) EINA_WARN_UNUSED_RESULT
EINA_ARG_NONNULL(1) EINA_PURE; | | EAPI Evas_Object *evas_object_top_in_rectangle_get (const Evas *e, Ev
as_Coord x, Evas_Coord y, Evas_Coord w, Evas_Coord h, Eina_Bool include_pas
s_events_objects, Eina_Bool include_hidden_objects) EINA_WARN_UNUSED_RESULT
EINA_ARG_NONNULL(1); | |
| | | | |
| /** | | /** | |
| * Retrieve a list of Evas objects lying over a given position in | | * Retrieve a list of Evas objects lying over a given position in | |
| * a canvas | | * a canvas | |
| * | | * | |
| * @param e A handle to the canvas. | | * @param e A handle to the canvas. | |
| * @param x The horizontal coordinate of the position | | * @param x The horizontal coordinate of the position | |
| * @param y The vertical coordinate of the position | | * @param y The vertical coordinate of the position | |
| * @param include_pass_events_objects Boolean flag to include or not | | * @param include_pass_events_objects Boolean flag to include or not | |
| * objects which pass events in this calculation | | * objects which pass events in this calculation | |
| | | | |
| skipping to change at line 5791 | | skipping to change at line 5929 | |
| * | | * | |
| * This function will traverse all the layers of the given canvas, | | * This function will traverse all the layers of the given canvas, | |
| * from top to bottom, querying for objects with areas covering the | | * from top to bottom, querying for objects with areas covering the | |
| * given position. The user can remove from from the query | | * given position. The user can remove from from the query | |
| * objects which are hidden and/or which are set to pass events. | | * objects which are hidden and/or which are set to pass events. | |
| * | | * | |
| * @warning This function will @b skip objects parented by smart | | * @warning This function will @b skip objects parented by smart | |
| * objects, acting only on the ones at the "top level", with regard to | | * objects, acting only on the ones at the "top level", with regard to | |
| * object parenting. | | * object parenting. | |
| */ | | */ | |
|
| EAPI Eina_List *evas_objects_at_xy_get (const Evas *e, Ev | | EAPI Eina_List *evas_objects_at_xy_get (const Evas *e, Ev | |
| as_Coord x, Evas_Coord y, Eina_Bool include_pass_events_objects, Eina_Bool | | as_Coord x, Evas_Coord y, Eina_Bool include_pass_events_objects, Eina_Bool | |
| include_hidden_objects) EINA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1) EINA_PU | | include_hidden_objects) EINA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1); | |
| RE; | | EAPI Eina_List *evas_objects_in_rectangle_get (const Evas *e, | |
| EAPI Eina_List *evas_objects_in_rectangle_get (const Evas *e, | | Evas_Coord x, Evas_Coord y, Evas_Coord w, Evas_Coord h, Eina_Bool include_ | |
| Evas_Coord x, Evas_Coord y, Evas_Coord w, Evas_Coord h, Eina_Bool include_ | | pass_events_objects, Eina_Bool include_hidden_objects) EINA_WARN_UNUSED_RES | |
| pass_events_objects, Eina_Bool include_hidden_objects) EINA_WARN_UNUSED_RES | | ULT EINA_ARG_NONNULL(1); | |
| ULT EINA_ARG_NONNULL(1) EINA_PURE; | | | |
| | | | |
| /** | | /** | |
|
| * Get the lowest (stacked) Evas object on the canvas @p | | * Get the lowest (stacked) Evas object on the canvas @p e. | |
| * | | * | |
| * @param e a valid canvas pointer | | * @param e a valid canvas pointer | |
| * @return a pointer to the lowest object on it, if any, or @c NULL, | | * @return a pointer to the lowest object on it, if any, or @c NULL, | |
| * otherwise | | * otherwise | |
| * | | * | |
| * This function will take all populated layers in the canvas into | | * This function will take all populated layers in the canvas into | |
| * account, getting the lowest object for the lowest layer, naturally. | | * account, getting the lowest object for the lowest layer, naturally. | |
| * | | * | |
| * @see evas_object_layer_get() | | * @see evas_object_layer_get() | |
| * @see evas_object_layer_set() | | * @see evas_object_layer_set() | |
| * @see evas_object_below_get() | | * @see evas_object_below_get() | |
| * @see evas_object_above_get() | | * @see evas_object_above_get() | |
| * | | * | |
| * @warning This function will @b skip objects parented by smart | | * @warning This function will @b skip objects parented by smart | |
| * objects, acting only on the ones at the "top level", with regard to | | * objects, acting only on the ones at the "top level", with regard to | |
| * object parenting. | | * object parenting. | |
| */ | | */ | |
|
| EAPI Evas_Object *evas_object_bottom_get (const Evas *e) EI
NA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1) EINA_PURE; | | EAPI Evas_Object *evas_object_bottom_get (const Evas *e) EI
NA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1); | |
| | | | |
| /** | | /** | |
|
| * Get the highest (stacked) Evas object on the canvas @p | | * Get the highest (stacked) Evas object on the canvas @p e. | |
| * | | * | |
| * @param e a valid canvas pointer | | * @param e a valid canvas pointer | |
| * @return a pointer to the highest object on it, if any, or @c NULL, | | * @return a pointer to the highest object on it, if any, or @c NULL, | |
| * otherwise | | * otherwise | |
| * | | * | |
| * This function will take all populated layers in the canvas into | | * This function will take all populated layers in the canvas into | |
| * account, getting the highest object for the highest layer, | | * account, getting the highest object for the highest layer, | |
| * naturally. | | * naturally. | |
| * | | * | |
| * @see evas_object_layer_get() | | * @see evas_object_layer_get() | |
| * @see evas_object_layer_set() | | * @see evas_object_layer_set() | |
| * @see evas_object_below_get() | | * @see evas_object_below_get() | |
| * @see evas_object_above_get() | | * @see evas_object_above_get() | |
| * | | * | |
| * @warning This function will @b skip objects parented by smart | | * @warning This function will @b skip objects parented by smart | |
| * objects, acting only on the ones at the "top level", with regard to | | * objects, acting only on the ones at the "top level", with regard to | |
| * object parenting. | | * object parenting. | |
| */ | | */ | |
|
| EAPI Evas_Object *evas_object_top_get (const Evas *e) EI
NA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1) EINA_PURE; | | EAPI Evas_Object *evas_object_top_get (const Evas *e) EI
NA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1); | |
| | | | |
| /** | | /** | |
| * @} | | * @} | |
| */ | | */ | |
| | | | |
| /** | | /** | |
| * @defgroup Evas_Object_Group_Interceptors Object Method Interceptors | | * @defgroup Evas_Object_Group_Interceptors Object Method Interceptors | |
| * | | * | |
| * Evas provides a way to intercept method calls. The interceptor | | * Evas provides a way to intercept method calls. The interceptor | |
| * callback may opt to completely deny the call, or may check and | | * callback may opt to completely deny the call, or may check and | |
| | | | |
| skipping to change at line 5996 | | skipping to change at line 6134 | |
| * | | * | |
| * Functions that work on specific objects. | | * Functions that work on specific objects. | |
| * | | * | |
| */ | | */ | |
| | | | |
| /** | | /** | |
| * @defgroup Evas_Object_Rectangle Rectangle Object Functions | | * @defgroup Evas_Object_Rectangle Rectangle Object Functions | |
| * | | * | |
| * @brief Function to create evas rectangle objects. | | * @brief Function to create evas rectangle objects. | |
| * | | * | |
|
| * This function may seem useless given there are no functions to manipulat | | * There is only one function to deal with rectangle objects, this may make | |
| e | | this | |
| * the created rectangle, however the rectangle is actually very useful and | | * function seem useless given there are no functions to manipulate the cre | |
| can | | ated | |
| * be manipulate using the generic @ref Evas_Object_Group | | * rectangle, however the rectangle is actually very useful and should be | |
| * "evas object functions". | | * manipulated using the generic @ref Evas_Object_Group "evas object functi | |
| | | ons". | |
| | | * | |
| | | * The evas rectangle server a number of key functions when working on evas | |
| | | * programs: | |
| | | * @li Background | |
| | | * @li Debugging | |
| | | * @li Clipper | |
| | | * | |
| | | * @section Background | |
| | | * | |
| | | * One extremely common requirement of evas programs is to have a solid col | |
| | | or | |
| | | * background, this can be accomplished with the following very simple code | |
| | | : | |
| | | * @code | |
| | | * Evas_Object *bg = evas_object_rectangle_add(evas_canvas); | |
| | | * //Here we set the rectangles red, green, blue and opacity levels | |
| | | * evas_object_color_set(bg, 255, 255, 255, 255); // opaque white backgroun | |
| | | d | |
| | | * evas_object_resize(bg, WIDTH, HEIGHT); // covers full canvas | |
| | | * evas_object_show(bg); | |
| | | * @endcode | |
| | | * | |
| | | * This however will have issues if the @c evas_canvas is resized, however | |
| | | most | |
| | | * windows are created using ecore evas and that has a solution to using th | |
| | | e | |
| | | * rectangle as a background: | |
| | | * @code | |
| | | * Evas_Object *bg = evas_object_rectangle_add(ecore_evas_get(ee)); | |
| | | * //Here we set the rectangles red, green, blue and opacity levels | |
| | | * evas_object_color_set(bg, 255, 255, 255, 255); // opaque white backgroun | |
| | | d | |
| | | * evas_object_resize(bg, WIDTH, HEIGHT); // covers full canvas | |
| | | * evas_object_show(bg); | |
| | | * ecore_evas_object_associate(ee, bg, ECORE_EVAS_OBJECT_ASSOCIATE_BASE); | |
| | | * @endcode | |
| | | * So this gives us a white background to our window that will be resized | |
| | | * together with it. | |
| | | * | |
| | | * @section Debugging | |
| | | * | |
| | | * Debugging is a major part of any programmers task and when debugging vis | |
| | | ual | |
| | | * issues with evas programs the rectangle is an extremely useful tool. The | |
| | | * rectangle's simplicity means that it's easier to pinpoint issues with it | |
| | | than | |
| | | * with more complex objects. Therefore a common technique to use when writ | |
| | | ing | |
| | | * an evas program and not getting the desired visual result is to replace | |
| | | the | |
| | | * misbehaving object for a solid color rectangle and seeing how it interac | |
| | | ts | |
| | | * with the other elements, this often allows us to notice clipping, parent | |
| | | ing | |
| | | * or positioning issues. Once the issues have been identified and correcte | |
| | | d the | |
| | | * rectangle can be replaced for the original part and in all likelihood an | |
| | | y | |
| | | * remaining issues will be specific to that object's type. | |
| | | * | |
| | | * @section clipping Clipping | |
| | | * | |
| | | * Clipping serves two main functions: | |
| | | * @li Limiting visibility(i.e. hiding portions of an object). | |
| | | * @li Applying a layer of color to an object. | |
| | | * | |
| | | * @subsection hiding Limiting visibility | |
| | | * | |
| | | * It is often necessary to show only parts of an object, while it may be | |
| | | * possible to create an object that corresponds only to the part that must | |
| | | be | |
| | | * shown(and it isn't always possible) it's usually easier to use a a clipp | |
| | | er. A | |
| | | * clipper is a rectangle that defines what's visible and what is not. The | |
| | | way | |
| | | * to do this is to create a solid white rectangle(which is the default, no | |
| | | need | |
| | | * to call evas_object_color_set()) and give it a position and size of what | |
| | | * should be visible. The following code exemplifies showing the center hal | |
| | | f of | |
| | | * @c my_evas_object: | |
| | | * @code | |
| | | * Evas_Object *clipper = evas_object_rectangle_add(evas_canvas); | |
| | | * evas_object_move(clipper, my_evas_object_x / 4, my_evas_object_y / 4); | |
| | | * evas_object_resize(clipper, my_evas_object_width / 2, my_evas_object_hei | |
| | | ght / 2); | |
| | | * evas_object_clip_set(my_evas_object, clipper); | |
| | | * evas_object_show(clipper); | |
| | | * @endcode | |
| | | * | |
| | | * @subsection color Layer of color | |
| | | * | |
| | | * In the @ref clipping section we used a solid white clipper, which produc | |
| | | ed no | |
| | | * change in the color of the clipped object, it just hid what was outside | |
| | | the | |
| | | * clippers area. It is however sometimes desirable to change the of color | |
| | | an | |
| | | * object, this can be accomplished using a clipper that has a non-white co | |
| | | lor. | |
| | | * Clippers with color work by multiplying the colors of clipped object. Th | |
| | | e | |
| | | * following code will show how to remove all the red from an object: | |
| | | * @code | |
| | | * Evas_Object *clipper = evas_object_rectangle_add(evas); | |
| | | * evas_object_move(clipper, my_evas_object_x, my_evas_object_y); | |
| | | * evas_object_resize(clipper, my_evas_object_width, my_evas_object_height) | |
| | | ; | |
| | | * evas_object_color_set(clipper, 0, 255, 255, 255); | |
| | | * evas_object_clip_set(obj, clipper); | |
| | | * evas_object_show(clipper); | |
| | | * @endcode | |
| * | | * | |
|
| * For an example of use of an evas_object_rectangle see @ref | | * For an example that more fully exercise the use of an evas object rectan | |
| * Example_Evas_Object_Manipulation "here". | | gle | |
| | | * see @ref Example_Evas_Object_Manipulation. | |
| * | | * | |
| * @ingroup Evas_Object_Specific | | * @ingroup Evas_Object_Specific | |
| */ | | */ | |
| | | | |
| /** | | /** | |
| * Adds a rectangle to the given evas. | | * Adds a rectangle to the given evas. | |
| * @param e The given evas. | | * @param e The given evas. | |
| * @return The new rectangle object. | | * @return The new rectangle object. | |
| * | | * | |
| * @ingroup Evas_Object_Rectangle | | * @ingroup Evas_Object_Rectangle | |
| | | | |
| skipping to change at line 6044 | | skipping to change at line 6268 | |
| * img = evas_object_image_add(canvas); | | * img = evas_object_image_add(canvas); | |
| * evas_object_image_file_set(img, "path/to/img", NULL); | | * evas_object_image_file_set(img, "path/to/img", NULL); | |
| * evas_object_image_fill_set(img, 0, 0, w, h); | | * evas_object_image_fill_set(img, 0, 0, w, h); | |
| * @endcode | | * @endcode | |
| * The first function, naturally, is creating the image object. Then, | | * The first function, naturally, is creating the image object. Then, | |
| * one must set an source file on it, so that it knows where to fetch | | * one must set an source file on it, so that it knows where to fetch | |
| * image data from. Next, one must set <b>how to fill the image | | * image data from. Next, one must set <b>how to fill the image | |
| * object's area</b> with that given pixel data. One could use just a | | * object's area</b> with that given pixel data. One could use just a | |
| * sub-region of the original image or even have it tiled repeatedly | | * sub-region of the original image or even have it tiled repeatedly | |
| * on the image object. For the common case of having the whole source | | * on the image object. For the common case of having the whole source | |
|
| * image to be displayed on the image object, streched to the | | * image to be displayed on the image object, stretched to the | |
| * destination's size, there's also a function helper, to be used | | * destination's size, there's also a function helper, to be used | |
| * instead of evas_object_image_fill_set(): | | * instead of evas_object_image_fill_set(): | |
| * @code | | * @code | |
| * evas_object_image_filled_set(img, EINA_TRUE); | | * evas_object_image_filled_set(img, EINA_TRUE); | |
| * @endcode | | * @endcode | |
| * See those functions' documentation for more details. | | * See those functions' documentation for more details. | |
| * | | * | |
| * @section Evas_Object_Image_Scale Scale and resizing | | * @section Evas_Object_Image_Scale Scale and resizing | |
| * | | * | |
| * Resizing of image objects will scale their respective source images | | * Resizing of image objects will scale their respective source images | |
| | | | |
| skipping to change at line 6080 | | skipping to change at line 6304 | |
| * When dealing with image objects, there are some tricks to boost the | | * When dealing with image objects, there are some tricks to boost the | |
| * performance of your application, if it does intense image loading | | * performance of your application, if it does intense image loading | |
| * and/or manipulations, as in animations on a UI. | | * and/or manipulations, as in animations on a UI. | |
| * | | * | |
| * @subsection Evas_Object_Image_Load Load hints | | * @subsection Evas_Object_Image_Load Load hints | |
| * | | * | |
| * In image viewer applications, for example, the user will be looking | | * In image viewer applications, for example, the user will be looking | |
| * at a given image, at full size, and will desire that the navigation | | * at a given image, at full size, and will desire that the navigation | |
| * to the adjacent images on his/her album be fluid and fast. Thus, | | * to the adjacent images on his/her album be fluid and fast. Thus, | |
| * while displaying a given image, the program can be on the | | * while displaying a given image, the program can be on the | |
|
| * background loading the next and previous imagens already, so that | | * background loading the next and previous images already, so that | |
| * displaying them on the sequence is just a matter of repainting the | | * displaying them on the sequence is just a matter of repainting the | |
| * screen (and not decoding image data). | | * screen (and not decoding image data). | |
| * | | * | |
| * Evas addresses this issue with <b>image pre-loading</b>. The code | | * Evas addresses this issue with <b>image pre-loading</b>. The code | |
| * for the situation above would be something like the following: | | * for the situation above would be something like the following: | |
| * @code | | * @code | |
| * prev = evas_object_image_filled_add(canvas); | | * prev = evas_object_image_filled_add(canvas); | |
| * evas_object_image_file_set(prev, "/path/to/prev", NULL); | | * evas_object_image_file_set(prev, "/path/to/prev", NULL); | |
| * evas_object_image_preload(prev, EINA_TRUE); | | * evas_object_image_preload(prev, EINA_TRUE); | |
| * | | * | |
| | | | |
| skipping to change at line 6119 | | skipping to change at line 6343 | |
| * Refer to Elementary's Photocam widget for a high level (smart) | | * Refer to Elementary's Photocam widget for a high level (smart) | |
| * object which does lots of loading speed-ups for you. | | * object which does lots of loading speed-ups for you. | |
| * | | * | |
| * @subsection Evas_Object_Image_Animation Animation hints | | * @subsection Evas_Object_Image_Animation Animation hints | |
| * | | * | |
| * If you want to animate image objects on a UI (what you'd get by | | * If you want to animate image objects on a UI (what you'd get by | |
| * concomitant usage of other libraries, like Ecore and Edje), there | | * concomitant usage of other libraries, like Ecore and Edje), there | |
| * are also some tips on how to boost the performance of your | | * are also some tips on how to boost the performance of your | |
| * application. If the animation involves resizing of an image (thus, | | * application. If the animation involves resizing of an image (thus, | |
| * re-scaling), you'd better turn off smooth scaling on it @b during | | * re-scaling), you'd better turn off smooth scaling on it @b during | |
|
| * the animation, turning it back on afterwrads, for less | | * the animation, turning it back on afterwards, for less | |
| * computations. Also, in this case you'd better flag the image object | | * computations. Also, in this case you'd better flag the image object | |
| * in question not to cache scaled versions of it: | | * in question not to cache scaled versions of it: | |
| * @code | | * @code | |
| * evas_object_image_scale_hint_set(wd->img, EVAS_IMAGE_SCALE_HINT_DYNAMIC)
; | | * evas_object_image_scale_hint_set(wd->img, EVAS_IMAGE_SCALE_HINT_DYNAMIC)
; | |
| * | | * | |
| * // resizing takes place in between | | * // resizing takes place in between | |
| * | | * | |
| * evas_object_image_scale_hint_set(wd->img, EVAS_IMAGE_SCALE_HINT_STATIC); | | * evas_object_image_scale_hint_set(wd->img, EVAS_IMAGE_SCALE_HINT_STATIC); | |
| * @endcode | | * @endcode | |
| * | | * | |
| | | | |
| skipping to change at line 6162 | | skipping to change at line 6386 | |
| * @image latex border-effect.eps width=\textwidth | | * @image latex border-effect.eps width=\textwidth | |
| * | | * | |
| * @section Evas_Object_Image_Manipulation Manipulating pixels | | * @section Evas_Object_Image_Manipulation Manipulating pixels | |
| * | | * | |
| * Evas image objects can be used to manipulate raw pixels in many | | * Evas image objects can be used to manipulate raw pixels in many | |
| * ways. The meaning of the data in the pixel arrays will depend on | | * ways. The meaning of the data in the pixel arrays will depend on | |
| * the image's color space, be warned (see next section). You can set | | * the image's color space, be warned (see next section). You can set | |
| * your own data as an image's pixel data, fetch an image's pixel data | | * your own data as an image's pixel data, fetch an image's pixel data | |
| * for saving/altering, convert images between different color spaces | | * for saving/altering, convert images between different color spaces | |
| * and even advanced operations like setting a native surface as image | | * and even advanced operations like setting a native surface as image | |
|
| * objecs' data. | | * objects' data. | |
| * | | * | |
| * @section Evas_Object_Image_Color_Spaces Color spaces | | * @section Evas_Object_Image_Color_Spaces Color spaces | |
| * | | * | |
| * Image objects may return or accept "image data" in multiple | | * Image objects may return or accept "image data" in multiple | |
| * formats. This is based on the color space of an object. Here is a | | * formats. This is based on the color space of an object. Here is a | |
| * rundown on formats: | | * rundown on formats: | |
| * | | * | |
| * - #EVAS_COLORSPACE_ARGB8888: | | * - #EVAS_COLORSPACE_ARGB8888: | |
|
| * . | | | |
| * This pixel format is a linear block of pixels, starting at the | | * This pixel format is a linear block of pixels, starting at the | |
| * top-left row by row until the bottom right of the image or pixel | | * top-left row by row until the bottom right of the image or pixel | |
| * region. All pixels are 32-bit unsigned int's with the high-byte | | * region. All pixels are 32-bit unsigned int's with the high-byte | |
| * being alpha and the low byte being blue in the format ARGB. Alpha | | * being alpha and the low byte being blue in the format ARGB. Alpha | |
| * may or may not be used by evas depending on the alpha flag of the | | * may or may not be used by evas depending on the alpha flag of the | |
| * image, but if not used, should be set to 0xff anyway. | | * image, but if not used, should be set to 0xff anyway. | |
| * \n\n | | * \n\n | |
| * This colorspace uses premultiplied alpha. That means that R, G | | * This colorspace uses premultiplied alpha. That means that R, G | |
| * and B cannot exceed A in value. The conversion from | | * and B cannot exceed A in value. The conversion from | |
| * non-premultiplied colorspace is: | | * non-premultiplied colorspace is: | |
| * \n\n | | * \n\n | |
| * R = (r * a) / 255; G = (g * a) / 255; B = (b * a) / 255; | | * R = (r * a) / 255; G = (g * a) / 255; B = (b * a) / 255; | |
| * \n\n | | * \n\n | |
| * So 50% transparent blue will be: 0x80000080. This will not be | | * So 50% transparent blue will be: 0x80000080. This will not be | |
| * "dark" - just 50% transparent. Values are 0 == black, 255 == | | * "dark" - just 50% transparent. Values are 0 == black, 255 == | |
| * solid or full red, green or blue. | | * solid or full red, green or blue. | |
|
| * | | * . | |
| * - #EVAS_COLORSPACE_YCBCR422P601_PL: | | * - #EVAS_COLORSPACE_YCBCR422P601_PL: | |
|
| * . | | | |
| * This is a pointer-list indirected set of YUV (YCbCr) pixel | | * This is a pointer-list indirected set of YUV (YCbCr) pixel | |
| * data. This means that the data returned or set is not actual | | * data. This means that the data returned or set is not actual | |
| * pixel data, but pointers TO lines of pixel data. The list of | | * pixel data, but pointers TO lines of pixel data. The list of | |
| * pointers will first be N rows of pointers to the Y plane - | | * pointers will first be N rows of pointers to the Y plane - | |
| * pointing to the first pixel at the start of each row in the Y | | * pointing to the first pixel at the start of each row in the Y | |
| * plane. N is the height of the image data in pixels. Each pixel in | | * plane. N is the height of the image data in pixels. Each pixel in | |
| * the Y, U and V planes is 1 byte exactly, packed. The next N / 2 | | * the Y, U and V planes is 1 byte exactly, packed. The next N / 2 | |
| * pointers will point to rows in the U plane, and the next N / 2 | | * pointers will point to rows in the U plane, and the next N / 2 | |
| * pointers will point to the V plane rows. U and V planes are half | | * pointers will point to the V plane rows. U and V planes are half | |
| * the horizontal and vertical resolution of the Y plane. | | * the horizontal and vertical resolution of the Y plane. | |
| | | | |
| skipping to change at line 6214 | | skipping to change at line 6436 | |
| * \n\n | | * \n\n | |
| * There is a limitation that these images MUST be a multiple of 2 | | * There is a limitation that these images MUST be a multiple of 2 | |
| * pixels in size horizontally or vertically. This is due to the U | | * pixels in size horizontally or vertically. This is due to the U | |
| * and V planes being half resolution. Also note that this assumes | | * and V planes being half resolution. Also note that this assumes | |
| * the itu601 YUV colorspace specification. This is defined for | | * the itu601 YUV colorspace specification. This is defined for | |
| * standard television and mpeg streams. HDTV may use the itu709 | | * standard television and mpeg streams. HDTV may use the itu709 | |
| * specification. | | * specification. | |
| * \n\n | | * \n\n | |
| * Values are 0 to 255, indicating full or no signal in that plane | | * Values are 0 to 255, indicating full or no signal in that plane | |
| * respectively. | | * respectively. | |
|
| * | | * . | |
| * - #EVAS_COLORSPACE_YCBCR422P709_PL: | | * - #EVAS_COLORSPACE_YCBCR422P709_PL: | |
|
| * . | | | |
| * Not implemented yet. | | * Not implemented yet. | |
|
| * | | * . | |
| * - #EVAS_COLORSPACE_RGB565_A5P: | | * - #EVAS_COLORSPACE_RGB565_A5P: | |
|
| * . | | | |
| * In the process of being implemented in 1 engine only. This may | | * In the process of being implemented in 1 engine only. This may | |
| * change. | | * change. | |
| * \n\n | | * \n\n | |
| * This is a pointer to image data for 16-bit half-word pixel data | | * This is a pointer to image data for 16-bit half-word pixel data | |
| * in 16bpp RGB 565 format (5 bits red, 6 bits green, 5 bits blue), | | * in 16bpp RGB 565 format (5 bits red, 6 bits green, 5 bits blue), | |
| * with the high-byte containing red and the low byte containing | | * with the high-byte containing red and the low byte containing | |
| * blue, per pixel. This data is packed row by row from the top-left | | * blue, per pixel. This data is packed row by row from the top-left | |
| * to the bottom right. | | * to the bottom right. | |
| * \n\n | | * \n\n | |
| * If the image has an alpha channel enabled there will be an extra | | * If the image has an alpha channel enabled there will be an extra | |
| | | | |
| skipping to change at line 6245 | | skipping to change at line 6465 | |
| * right of the image, row by row. Even though the values of the | | * right of the image, row by row. Even though the values of the | |
| * alpha pixels can be 0 to 255, only values 0 through to 32 are | | * alpha pixels can be 0 to 255, only values 0 through to 32 are | |
| * used, 32 being solid and 0 being transparent. | | * used, 32 being solid and 0 being transparent. | |
| * \n\n | | * \n\n | |
| * RGB values can be 0 to 31 for red and blue and 0 to 63 for green, | | * RGB values can be 0 to 31 for red and blue and 0 to 63 for green, | |
| * with 0 being black and 31 or 63 being full red, green or blue | | * with 0 being black and 31 or 63 being full red, green or blue | |
| * respectively. This colorspace is also pre-multiplied like | | * respectively. This colorspace is also pre-multiplied like | |
| * EVAS_COLORSPACE_ARGB8888 so: | | * EVAS_COLORSPACE_ARGB8888 so: | |
| * \n\n | | * \n\n | |
| * R = (r * a) / 32; G = (g * a) / 32; B = (b * a) / 32; | | * R = (r * a) / 32; G = (g * a) / 32; B = (b * a) / 32; | |
|
| * | | * . | |
| * - #EVAS_COLORSPACE_GRY8: | | * - #EVAS_COLORSPACE_GRY8: | |
|
| * . | | | |
| * The image is just a alpha mask (8 bit's per pixel). This is used | | * The image is just a alpha mask (8 bit's per pixel). This is used | |
| * for alpha masking. | | * for alpha masking. | |
|
| * | | * . | |
| * Some examples on this group of functions can be found @ref | | * Some examples on this group of functions can be found @ref | |
| * Example_Evas_Images "here". | | * Example_Evas_Images "here". | |
| * | | * | |
| * @ingroup Evas_Object_Specific | | * @ingroup Evas_Object_Specific | |
| */ | | */ | |
| | | | |
| /** | | /** | |
| * @addtogroup Evas_Object_Image | | * @addtogroup Evas_Object_Image | |
| * @{ | | * @{ | |
| */ | | */ | |
| | | | |
| skipping to change at line 6316 | | skipping to change at line 6535 | |
| EAPI Evas_Object *evas_object_image_filled_add (Eva
s *e) EINA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1) EINA_MALLOC; | | EAPI Evas_Object *evas_object_image_filled_add (Eva
s *e) EINA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1) EINA_MALLOC; | |
| | | | |
| /** | | /** | |
| * Sets the data for an image from memory to be loaded | | * Sets the data for an image from memory to be loaded | |
| * | | * | |
| * This is the same as evas_object_image_file_set() but the file to be load
ed | | * This is the same as evas_object_image_file_set() but the file to be load
ed | |
| * may exist at an address in memory (the data for the file, not the filena
me | | * may exist at an address in memory (the data for the file, not the filena
me | |
| * itself). The @p data at the address is copied and stored for future use,
so | | * itself). The @p data at the address is copied and stored for future use,
so | |
| * no @p data needs to be kept after this call is made. It will be managed
and | | * no @p data needs to be kept after this call is made. It will be managed
and | |
| * freed for you when no longer needed. The @p size is limited to 2 gigabyt
es | | * freed for you when no longer needed. The @p size is limited to 2 gigabyt
es | |
|
| * in size, and must be greater than 0. A NULL @p data pointer is also inva | | * in size, and must be greater than 0. A @c NULL @p data pointer is also | |
| lid. | | * invalid. Set the filename to @c NULL to reset to empty state and have th | |
| * Set the filename to NULL to reset to empty state and have the image file | | e | |
| * data freed from memory using evas_object_image_file_set(). | | * image file data freed from memory using evas_object_image_file_set(). | |
| * | | * | |
| * The @p format is optional (pass NULL if you don't need/use it). It is us | | * The @p format is optional (pass @c NULL if you don't need/use it). It is | |
| ed | | * used to help Evas guess better which loader to use for the data. It may | |
| * to help Evas guess better which loader to use for the data. It may simpl | | * simply be the "extension" of the file as it would normally be on disk | |
| y | | * such as "jpg" or "png" or "gif" etc. | |
| * be the "extension" of the file as it would normally be on disk such as | | | |
| * "jpg" or "png" or "gif" etc. | | | |
| * | | * | |
| * @param obj The given image object. | | * @param obj The given image object. | |
| * @param data The image file data address | | * @param data The image file data address | |
| * @param size The size of the image file data in bytes | | * @param size The size of the image file data in bytes | |
| * @param format The format of the file (optional), or @c NULL if not neede
d | | * @param format The format of the file (optional), or @c NULL if not neede
d | |
| * @param key The image key in file, or @c NULL. | | * @param key The image key in file, or @c NULL. | |
| */ | | */ | |
| EAPI void evas_object_image_memfile_set (Eva
s_Object *obj, void *data, int size, char *format, char *key) EINA_ARG_NONN
ULL(1, 2); | | EAPI void evas_object_image_memfile_set (Eva
s_Object *obj, void *data, int size, char *format, char *key) EINA_ARG_NONN
ULL(1, 2); | |
| | | | |
| /** | | /** | |
| | | | |
| skipping to change at line 6473 | | skipping to change at line 6692 | |
| /** | | /** | |
| * Retrieves @b how the center part of the given image object (not the | | * Retrieves @b how the center part of the given image object (not the | |
| * borders) is to be drawn when Evas is rendering it. | | * borders) is to be drawn when Evas is rendering it. | |
| * | | * | |
| * @param obj The given image object. | | * @param obj The given image object. | |
| * @return fill Fill mode of the center region of @p obj (a value in | | * @return fill Fill mode of the center region of @p obj (a value in | |
| * #Evas_Border_Fill_Mode). | | * #Evas_Border_Fill_Mode). | |
| * | | * | |
| * See @ref evas_object_image_fill_set() for more details. | | * See @ref evas_object_image_fill_set() for more details. | |
| */ | | */ | |
|
| EAPI Evas_Border_Fill_Mode evas_object_image_border_center_fill_get (con
st Evas_Object *obj) EINA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1) EINA_PURE; | | EAPI Evas_Border_Fill_Mode evas_object_image_border_center_fill_get (con
st Evas_Object *obj) EINA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1); | |
| | | | |
| /** | | /** | |
| * Set whether the image object's fill property should track the | | * Set whether the image object's fill property should track the | |
| * object's size. | | * object's size. | |
| * | | * | |
| * @param obj The given image object. | | * @param obj The given image object. | |
| * @param setting @c EINA_TRUE, to make the fill property follow | | * @param setting @c EINA_TRUE, to make the fill property follow | |
|
| * object size or @c EINA_FALSE, otherwise | | * object size or @c EINA_FALSE, otherwise. | |
| * | | * | |
| * If @p setting is @c EINA_TRUE, then every evas_object_resize() will | | * If @p setting is @c EINA_TRUE, then every evas_object_resize() will | |
| * @b automatically trigger a call to evas_object_image_fill_set() | | * @b automatically trigger a call to evas_object_image_fill_set() | |
| * with the that new size (and @c 0, @c 0 as source image's origin), | | * with the that new size (and @c 0, @c 0 as source image's origin), | |
| * so the bound image will fill the whole object's area. | | * so the bound image will fill the whole object's area. | |
| * | | * | |
| * @see evas_object_image_filled_add() | | * @see evas_object_image_filled_add() | |
| * @see evas_object_image_fill_get() | | * @see evas_object_image_fill_get() | |
| */ | | */ | |
| EAPI void evas_object_image_filled_set (Eva
s_Object *obj, Eina_Bool setting) EINA_ARG_NONNULL(1); | | EAPI void evas_object_image_filled_set (Eva
s_Object *obj, Eina_Bool setting) EINA_ARG_NONNULL(1); | |
| | | | |
| skipping to change at line 6503 | | skipping to change at line 6722 | |
| /** | | /** | |
| * Retrieve whether the image object's fill property should track the | | * Retrieve whether the image object's fill property should track the | |
| * object's size. | | * object's size. | |
| * | | * | |
| * @param obj The given image object. | | * @param obj The given image object. | |
| * @return @c EINA_TRUE if it is tracking, @c EINA_FALSE, if not (and | | * @return @c EINA_TRUE if it is tracking, @c EINA_FALSE, if not (and | |
| * evas_object_fill_set() must be called manually). | | * evas_object_fill_set() must be called manually). | |
| * | | * | |
| * @see evas_object_image_filled_set() for more information | | * @see evas_object_image_filled_set() for more information | |
| */ | | */ | |
|
| EAPI Eina_Bool evas_object_image_filled_get (con
st Evas_Object *obj) EINA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1) EINA_PURE; | | EAPI Eina_Bool evas_object_image_filled_get (con
st Evas_Object *obj) EINA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1); | |
| | | | |
| /** | | /** | |
| * Sets the scaling factor (multiplier) for the borders of an image | | * Sets the scaling factor (multiplier) for the borders of an image | |
| * object. | | * object. | |
| * | | * | |
| * @param obj The given image object. | | * @param obj The given image object. | |
| * @param scale The scale factor (default is @c 1.0 - i.e. no scaling) | | * @param scale The scale factor (default is @c 1.0 - i.e. no scaling) | |
| * | | * | |
| * @see evas_object_image_border_set() | | * @see evas_object_image_border_set() | |
| * @see evas_object_image_border_scale_get() | | * @see evas_object_image_border_scale_get() | |
| | | | |
| skipping to change at line 6549 | | skipping to change at line 6768 | |
| * @param h The height the bound image will be displayed at. | | * @param h The height the bound image will be displayed at. | |
| * | | * | |
| * Note that if @p w or @p h are smaller than the dimensions of | | * Note that if @p w or @p h are smaller than the dimensions of | |
| * @p obj, the displayed image will be @b tiled around the object's | | * @p obj, the displayed image will be @b tiled around the object's | |
| * area. To have only one copy of the bound image drawn, @p x and @p y | | * area. To have only one copy of the bound image drawn, @p x and @p y | |
| * must be 0 and @p w and @p h need to be the exact width and height | | * must be 0 and @p w and @p h need to be the exact width and height | |
| * of the image object itself, respectively. | | * of the image object itself, respectively. | |
| * | | * | |
| * See the following image to better understand the effects of this | | * See the following image to better understand the effects of this | |
| * call. On this diagram, both image object and original image source | | * call. On this diagram, both image object and original image source | |
|
| * have @c a x @c a dimentions and the image itself is a circle, with | | * have @c a x @c a dimensions and the image itself is a circle, with | |
| * empty space around it: | | * empty space around it: | |
| * | | * | |
| * @image html image-fill.png | | * @image html image-fill.png | |
| * @image rtf image-fill.png | | * @image rtf image-fill.png | |
| * @image latex image-fill.eps | | * @image latex image-fill.eps | |
| * | | * | |
| * @warning The default values for the fill parameters are @p x = 0, | | * @warning The default values for the fill parameters are @p x = 0, | |
| * @p y = 0, @p w = 0 and @p h = 0. Thus, if you're not using the | | * @p y = 0, @p w = 0 and @p h = 0. Thus, if you're not using the | |
| * evas_object_image_filled_add() helper and want your image | | * evas_object_image_filled_add() helper and want your image | |
|
| * displayed, you'll have to set valid values with this fuction on | | * displayed, you'll have to set valid values with this function on | |
| * your object. | | * your object. | |
| * | | * | |
| * @note evas_object_image_filled_set() is a helper function which | | * @note evas_object_image_filled_set() is a helper function which | |
| * will @b override the values set here automatically, for you, in a | | * will @b override the values set here automatically, for you, in a | |
| * given way. | | * given way. | |
| */ | | */ | |
| EAPI void evas_object_image_fill_set (Eva
s_Object *obj, Evas_Coord x, Evas_Coord y, Evas_Coord w, Evas_Coord h) EINA
_ARG_NONNULL(1); | | EAPI void evas_object_image_fill_set (Eva
s_Object *obj, Evas_Coord x, Evas_Coord y, Evas_Coord w, Evas_Coord h) EINA
_ARG_NONNULL(1); | |
| | | | |
| /** | | /** | |
| * Retrieve how an image object is to fill its drawing rectangle, | | * Retrieve how an image object is to fill its drawing rectangle, | |
| | | | |
| skipping to change at line 6604 | | skipping to change at line 6823 | |
| */ | | */ | |
| EAPI void evas_object_image_fill_spread_set (Eva
s_Object *obj, Evas_Fill_Spread spread) EINA_ARG_NONNULL(1); | | EAPI void evas_object_image_fill_spread_set (Eva
s_Object *obj, Evas_Fill_Spread spread) EINA_ARG_NONNULL(1); | |
| | | | |
| /** | | /** | |
| * Retrieves the spread (tiling mode) for the given image object's | | * Retrieves the spread (tiling mode) for the given image object's | |
| * fill. | | * fill. | |
| * | | * | |
| * @param obj The given evas image object. | | * @param obj The given evas image object. | |
| * @return The current spread mode of the image object. | | * @return The current spread mode of the image object. | |
| */ | | */ | |
|
| EAPI Evas_Fill_Spread evas_object_image_fill_spread_get (con
st Evas_Object *obj) EINA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1) EINA_PURE; | | EAPI Evas_Fill_Spread evas_object_image_fill_spread_get (con
st Evas_Object *obj) EINA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1); | |
| | | | |
| /** | | /** | |
| * Sets the size of the given image object. | | * Sets the size of the given image object. | |
| * | | * | |
| * @param obj The given image object. | | * @param obj The given image object. | |
| * @param w The new width of the image. | | * @param w The new width of the image. | |
| * @param h The new height of the image. | | * @param h The new height of the image. | |
| * | | * | |
| * This function will scale down or crop the image so that it is | | * This function will scale down or crop the image so that it is | |
| * treated as if it were at the given size. If the size given is | | * treated as if it were at the given size. If the size given is | |
| | | | |
| skipping to change at line 6641 | | skipping to change at line 6860 | |
| | | | |
| /** | | /** | |
| * Retrieves the row stride of the given image object. | | * Retrieves the row stride of the given image object. | |
| * | | * | |
| * @param obj The given image object. | | * @param obj The given image object. | |
| * @return The stride of the image (<b>in bytes</b>). | | * @return The stride of the image (<b>in bytes</b>). | |
| * | | * | |
| * The row stride is the number of bytes between the start of a row | | * The row stride is the number of bytes between the start of a row | |
| * and the start of the next row for image data. | | * and the start of the next row for image data. | |
| */ | | */ | |
|
| EAPI int evas_object_image_stride_get (con
st Evas_Object *obj) EINA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1) EINA_PURE; | | EAPI int evas_object_image_stride_get (con
st Evas_Object *obj) EINA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1); | |
| | | | |
| /** | | /** | |
| * Retrieves a number representing any error that occurred during the | | * Retrieves a number representing any error that occurred during the | |
| * last loading of the given image object's source image. | | * last loading of the given image object's source image. | |
| * | | * | |
| * @param obj The given image object. | | * @param obj The given image object. | |
| * @return A value giving the last error that occurred. It should be | | * @return A value giving the last error that occurred. It should be | |
| * one of the #Evas_Load_Error values. #EVAS_LOAD_ERROR_NONE | | * one of the #Evas_Load_Error values. #EVAS_LOAD_ERROR_NONE | |
| * is returned if there was no error. | | * is returned if there was no error. | |
| */ | | */ | |
|
| EAPI Evas_Load_Error evas_object_image_load_error_get (con
st Evas_Object *obj) EINA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1) EINA_PURE; | | EAPI Evas_Load_Error evas_object_image_load_error_get (con
st Evas_Object *obj) EINA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1); | |
| | | | |
| /** | | /** | |
| * Sets the raw image data of the given image object. | | * Sets the raw image data of the given image object. | |
| * | | * | |
| * @param obj The given image object. | | * @param obj The given image object. | |
| * @param data The raw data, or @c NULL. | | * @param data The raw data, or @c NULL. | |
| * | | * | |
| * Note that the raw data must be of the same size (see | | * Note that the raw data must be of the same size (see | |
| * evas_object_image_size_set(), which has to be called @b before this | | * evas_object_image_size_set(), which has to be called @b before this | |
| * one) and colorspace (see evas_object_image_colorspace_set()) of the | | * one) and colorspace (see evas_object_image_colorspace_set()) of the | |
| | | | |
| skipping to change at line 6693 | | skipping to change at line 6912 | |
| * | | * | |
| * Each time you call this function on an image object, its data | | * Each time you call this function on an image object, its data | |
| * buffer will have an internal reference counter | | * buffer will have an internal reference counter | |
| * incremented. Decrement it back by using | | * incremented. Decrement it back by using | |
| * evas_object_image_data_set(). This is specially important for the | | * evas_object_image_data_set(). This is specially important for the | |
| * directfb Evas engine. | | * directfb Evas engine. | |
| * | | * | |
| * This is best suited for when you want to modify an existing image, | | * This is best suited for when you want to modify an existing image, | |
| * without changing its dimensions. | | * without changing its dimensions. | |
| * | | * | |
|
| * @note The contents' formart returned by it depend on the color | | * @note The contents' format returned by it depend on the color | |
| * space of the given image object. | | * space of the given image object. | |
| * | | * | |
| * @note You may want to use evas_object_image_data_update_add() to | | * @note You may want to use evas_object_image_data_update_add() to | |
| * inform data changes, if you did any. | | * inform data changes, if you did any. | |
| * | | * | |
| * @see evas_object_image_data_set() | | * @see evas_object_image_data_set() | |
| */ | | */ | |
|
| EAPI void *evas_object_image_data_get (con
st Evas_Object *obj, Eina_Bool for_writing) EINA_WARN_UNUSED_RESULT EINA_AR
G_NONNULL(1) EINA_PURE; | | EAPI void *evas_object_image_data_get (con
st Evas_Object *obj, Eina_Bool for_writing) EINA_WARN_UNUSED_RESULT EINA_AR
G_NONNULL(1); | |
| | | | |
| /** | | /** | |
| * Converts the raw image data of the given image object to the | | * Converts the raw image data of the given image object to the | |
| * specified colorspace. | | * specified colorspace. | |
| * | | * | |
| * Note that this function does not modify the raw image data. If the | | * Note that this function does not modify the raw image data. If the | |
| * requested colorspace is the same as the image colorspace nothing is | | * requested colorspace is the same as the image colorspace nothing is | |
|
| * done and NULL is returned. You should use | | * done and @c NULL is returned. You should use | |
| * evas_object_image_colorspace_get() to check the current image | | * evas_object_image_colorspace_get() to check the current image | |
| * colorspace. | | * colorspace. | |
| * | | * | |
| * See @ref evas_object_image_colorspace_get. | | * See @ref evas_object_image_colorspace_get. | |
| * | | * | |
| * @param obj The given image object. | | * @param obj The given image object. | |
| * @param to_cspace The colorspace to which the image raw data will be conv
erted. | | * @param to_cspace The colorspace to which the image raw data will be conv
erted. | |
| * @return data A newly allocated data in the format specified by to_cspace
. | | * @return data A newly allocated data in the format specified by to_cspace
. | |
| */ | | */ | |
|
| EAPI void *evas_object_image_data_convert (Eva
s_Object *obj, Evas_Colorspace to_cspace) EINA_WARN_UNUSED_RESULT EINA_ARG_
NONNULL(1) EINA_PURE; | | EAPI void *evas_object_image_data_convert (Eva
s_Object *obj, Evas_Colorspace to_cspace) EINA_WARN_UNUSED_RESULT EINA_ARG_
NONNULL(1); | |
| | | | |
| /** | | /** | |
| * Replaces the raw image data of the given image object. | | * Replaces the raw image data of the given image object. | |
| * | | * | |
| * @param obj The given image object. | | * @param obj The given image object. | |
| * @param data The raw data to replace. | | * @param data The raw data to replace. | |
| * | | * | |
| * This function lets the application replace an image object's | | * This function lets the application replace an image object's | |
| * internal pixel buffer with an user-allocated one. For best results, | | * internal pixel buffer with an user-allocated one. For best results, | |
| * you should generally first call evas_object_image_size_set() with | | * you should generally first call evas_object_image_size_set() with | |
| | | | |
| skipping to change at line 6790 | | skipping to change at line 7009 | |
| * | | * | |
| * @param obj The given image object. | | * @param obj The given image object. | |
| * @return Whether the alpha channel data is being used (@c EINA_TRUE) | | * @return Whether the alpha channel data is being used (@c EINA_TRUE) | |
| * or not (@c EINA_FALSE). | | * or not (@c EINA_FALSE). | |
| * | | * | |
| * This function returns @c EINA_TRUE if the image object's alpha | | * This function returns @c EINA_TRUE if the image object's alpha | |
| * channel is being used, or @c EINA_FALSE otherwise. | | * channel is being used, or @c EINA_FALSE otherwise. | |
| * | | * | |
| * See @ref evas_object_image_alpha_set() for more details. | | * See @ref evas_object_image_alpha_set() for more details. | |
| */ | | */ | |
|
| EAPI Eina_Bool evas_object_image_alpha_get (con
st Evas_Object *obj) EINA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1) EINA_PURE; | | EAPI Eina_Bool evas_object_image_alpha_get (con
st Evas_Object *obj) EINA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1); | |
| | | | |
| /** | | /** | |
| * Sets whether to use high-quality image scaling algorithm on the | | * Sets whether to use high-quality image scaling algorithm on the | |
| * given image object. | | * given image object. | |
| * | | * | |
| * @param obj The given image object. | | * @param obj The given image object. | |
| * @param smooth_scale Whether to use smooth scale or not. | | * @param smooth_scale Whether to use smooth scale or not. | |
| * | | * | |
| * When enabled, a higher quality image scaling algorithm is used when | | * When enabled, a higher quality image scaling algorithm is used when | |
| * scaling images to sizes other than the source image's original | | * scaling images to sizes other than the source image's original | |
| | | | |
| skipping to change at line 6820 | | skipping to change at line 7039 | |
| | | | |
| /** | | /** | |
| * Retrieves whether the given image object is using high-quality | | * Retrieves whether the given image object is using high-quality | |
| * image scaling algorithm. | | * image scaling algorithm. | |
| * | | * | |
| * @param obj The given image object. | | * @param obj The given image object. | |
| * @return Whether smooth scale is being used. | | * @return Whether smooth scale is being used. | |
| * | | * | |
| * See @ref evas_object_image_smooth_scale_set() for more details. | | * See @ref evas_object_image_smooth_scale_set() for more details. | |
| */ | | */ | |
|
| EAPI Eina_Bool evas_object_image_smooth_scale_get (con
st Evas_Object *obj) EINA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1) EINA_PURE; | | EAPI Eina_Bool evas_object_image_smooth_scale_get (con
st Evas_Object *obj) EINA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1); | |
| | | | |
| /** | | /** | |
| * Preload an image object's image data in the background | | * Preload an image object's image data in the background | |
| * | | * | |
| * @param obj The given image object. | | * @param obj The given image object. | |
| * @param cancel @c EINA_FALSE will add it the preloading work queue, | | * @param cancel @c EINA_FALSE will add it the preloading work queue, | |
| * @c EINA_TRUE will remove it (if it was issued before). | | * @c EINA_TRUE will remove it (if it was issued before). | |
| * | | * | |
| * This function requests the preload of the data image in the | | * This function requests the preload of the data image in the | |
| * background. The work is queued before being processed (because | | * background. The work is queued before being processed (because | |
| | | | |
| skipping to change at line 6892 | | skipping to change at line 7111 | |
| * | | * | |
| * @param obj The given canvas object. | | * @param obj The given canvas object. | |
| * @param pixels The pixel's source to be imported. | | * @param pixels The pixel's source to be imported. | |
| * | | * | |
| * This function imports pixels from a given source to a given canvas image
. | | * This function imports pixels from a given source to a given canvas image
. | |
| * | | * | |
| */ | | */ | |
| EAPI Eina_Bool evas_object_image_pixels_import (Eva
s_Object *obj, Evas_Pixel_Import_Source *pixels) EINA_ARG_NONNULL(1, 2); | | EAPI Eina_Bool evas_object_image_pixels_import (Eva
s_Object *obj, Evas_Pixel_Import_Source *pixels) EINA_ARG_NONNULL(1, 2); | |
| | | | |
| /** | | /** | |
|
| * Set the callback function to get pixels from a canva's image. | | * Set the callback function to get pixels from a canvas' image. | |
| * | | * | |
| * @param obj The given canvas pointer. | | * @param obj The given canvas pointer. | |
| * @param func The callback function. | | * @param func The callback function. | |
| * @param data The data pointer to be passed to @a func. | | * @param data The data pointer to be passed to @a func. | |
| * | | * | |
| * This functions sets a function to be the callback function that get | | * This functions sets a function to be the callback function that get | |
| * pixes from a image of the canvas. | | * pixes from a image of the canvas. | |
| * | | * | |
| */ | | */ | |
| EAPI void evas_object_image_pixels_get_callback_set(Eva
s_Object *obj, Evas_Object_Image_Pixels_Get_Cb func, void *data) EINA_ARG_N
ONNULL(1, 2); | | EAPI void evas_object_image_pixels_get_callback_set(Eva
s_Object *obj, Evas_Object_Image_Pixels_Get_Cb func, void *data) EINA_ARG_N
ONNULL(1, 2); | |
| | | | |
| skipping to change at line 6918 | | skipping to change at line 7137 | |
| * @param dirty Whether the image is dirty. | | * @param dirty Whether the image is dirty. | |
| */ | | */ | |
| EAPI void evas_object_image_pixels_dirty_set (Eva
s_Object *obj, Eina_Bool dirty) EINA_ARG_NONNULL(1); | | EAPI void evas_object_image_pixels_dirty_set (Eva
s_Object *obj, Eina_Bool dirty) EINA_ARG_NONNULL(1); | |
| | | | |
| /** | | /** | |
| * Retrieves whether the given image object is dirty (needs to be redrawn). | | * Retrieves whether the given image object is dirty (needs to be redrawn). | |
| * | | * | |
| * @param obj The given image object. | | * @param obj The given image object. | |
| * @return Whether the image is dirty. | | * @return Whether the image is dirty. | |
| */ | | */ | |
|
| EAPI Eina_Bool evas_object_image_pixels_dirty_get (con
st Evas_Object *obj) EINA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1) EINA_PURE; | | EAPI Eina_Bool evas_object_image_pixels_dirty_get (con
st Evas_Object *obj) EINA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1); | |
| | | | |
| /** | | /** | |
| * Set the DPI resolution of an image object's source image. | | * Set the DPI resolution of an image object's source image. | |
| * | | * | |
| * @param obj The given canvas pointer. | | * @param obj The given canvas pointer. | |
| * @param dpi The new DPI resolution. | | * @param dpi The new DPI resolution. | |
| * | | * | |
| * This function sets the DPI resolution of a given loaded canvas | | * This function sets the DPI resolution of a given loaded canvas | |
| * image. Most useful for the SVG image loader. | | * image. Most useful for the SVG image loader. | |
| * | | * | |
| | | | |
| skipping to change at line 6943 | | skipping to change at line 7162 | |
| /** | | /** | |
| * Get the DPI resolution of a loaded image object in the canvas. | | * Get the DPI resolution of a loaded image object in the canvas. | |
| * | | * | |
| * @param obj The given canvas pointer. | | * @param obj The given canvas pointer. | |
| * @return The DPI resolution of the given canvas image. | | * @return The DPI resolution of the given canvas image. | |
| * | | * | |
| * This function returns the DPI resolution of the given canvas image. | | * This function returns the DPI resolution of the given canvas image. | |
| * | | * | |
| * @see evas_object_image_load_dpi_set() for more details | | * @see evas_object_image_load_dpi_set() for more details | |
| */ | | */ | |
|
| EAPI double evas_object_image_load_dpi_get (con
st Evas_Object *obj) EINA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1) EINA_PURE; | | EAPI double evas_object_image_load_dpi_get (con
st Evas_Object *obj) EINA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1); | |
| | | | |
| /** | | /** | |
| * Set the size of a given image object's source image, when loading | | * Set the size of a given image object's source image, when loading | |
| * it. | | * it. | |
| * | | * | |
| * @param obj The given canvas object. | | * @param obj The given canvas object. | |
| * @param w The new width of the image's load size. | | * @param w The new width of the image's load size. | |
| * @param h The new height of the image's load size. | | * @param h The new height of the image's load size. | |
| * | | * | |
| * This function sets a new (loading) size for the given canvas | | * This function sets a new (loading) size for the given canvas | |
| | | | |
| skipping to change at line 6997 | | skipping to change at line 7216 | |
| EAPI void evas_object_image_load_scale_down_set (Eva
s_Object *obj, int scale_down) EINA_ARG_NONNULL(1); | | EAPI void evas_object_image_load_scale_down_set (Eva
s_Object *obj, int scale_down) EINA_ARG_NONNULL(1); | |
| | | | |
| /** | | /** | |
| * get the scale down factor of a given image object's source image, | | * get the scale down factor of a given image object's source image, | |
| * when loading it. | | * when loading it. | |
| * | | * | |
| * @param obj The given image object pointer. | | * @param obj The given image object pointer. | |
| * | | * | |
| * @see evas_object_image_load_scale_down_set() for more details | | * @see evas_object_image_load_scale_down_set() for more details | |
| */ | | */ | |
|
| EAPI int evas_object_image_load_scale_down_get (con
st Evas_Object *obj) EINA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1) EINA_PURE; | | EAPI int evas_object_image_load_scale_down_get (con
st Evas_Object *obj) EINA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1); | |
| | | | |
| /** | | /** | |
| * Inform a given image object to load a selective region of its | | * Inform a given image object to load a selective region of its | |
| * source image. | | * source image. | |
| * | | * | |
| * @param obj The given image object pointer. | | * @param obj The given image object pointer. | |
| * @param x X-offset of the region to be loaded. | | * @param x X-offset of the region to be loaded. | |
| * @param y Y-offset of the region to be loaded. | | * @param y Y-offset of the region to be loaded. | |
| * @param w Width of the region to be loaded. | | * @param w Width of the region to be loaded. | |
| * @param h Height of the region to be loaded. | | * @param h Height of the region to be loaded. | |
| | | | |
| skipping to change at line 7041 | | skipping to change at line 7260 | |
| * in: they'll be ignored by the function. | | * in: they'll be ignored by the function. | |
| * | | * | |
| * @see evas_object_image_load_region_get() | | * @see evas_object_image_load_region_get() | |
| */ | | */ | |
| EAPI void evas_object_image_load_region_get (con
st Evas_Object *obj, int *x, int *y, int *w, int *h) EINA_ARG_NONNULL(1); | | EAPI void evas_object_image_load_region_get (con
st Evas_Object *obj, int *x, int *y, int *w, int *h) EINA_ARG_NONNULL(1); | |
| | | | |
| /** | | /** | |
| * Define if the orientation information in the image file should be honore
d. | | * Define if the orientation information in the image file should be honore
d. | |
| * | | * | |
| * @param obj The given image object pointer. | | * @param obj The given image object pointer. | |
|
| * @param enable @p EINA_TRUE means that it should honor the orientation in
formation | | * @param enable @c EINA_TRUE means that it should honor the orientation in
formation | |
| * @since 1.1 | | * @since 1.1 | |
| */ | | */ | |
| EAPI void evas_object_image_load_orientation_set
(Evas_Object *obj, Eina_Bool enable) EINA_ARG_NONNULL(1); | | EAPI void evas_object_image_load_orientation_set
(Evas_Object *obj, Eina_Bool enable) EINA_ARG_NONNULL(1); | |
| | | | |
| /** | | /** | |
| * Get if the orientation information in the image file should be honored. | | * Get if the orientation information in the image file should be honored. | |
| * | | * | |
| * @param obj The given image object pointer. | | * @param obj The given image object pointer. | |
| * @since 1.1 | | * @since 1.1 | |
| */ | | */ | |
| | | | |
| skipping to change at line 7074 | | skipping to change at line 7293 | |
| | | | |
| /** | | /** | |
| * Get the colorspace of a given image of the canvas. | | * Get the colorspace of a given image of the canvas. | |
| * | | * | |
| * @param obj The given image object pointer. | | * @param obj The given image object pointer. | |
| * @return The colorspace of the image. | | * @return The colorspace of the image. | |
| * | | * | |
| * This function returns the colorspace of given canvas image. | | * This function returns the colorspace of given canvas image. | |
| * | | * | |
| */ | | */ | |
|
| EAPI Evas_Colorspace evas_object_image_colorspace_get (con | | EAPI Evas_Colorspace evas_object_image_colorspace_get (con | |
| st Evas_Object *obj) EINA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1) EINA_PURE; | | st Evas_Object *obj) EINA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1); | |
| | | | |
| | | /** | |
| | | * Get the support state of a given image | |
| | | * | |
| | | * @param obj The given image object pointer | |
| | | * @return The region support state | |
| | | * @since 1.2.0 | |
| | | * | |
| | | * This function returns the state of the region support of given image | |
| | | */ | |
| | | EAPI Eina_Bool evas_object_image_region_support_get (const | |
| | | Evas_Object *obj) EINA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1); | |
| | | | |
| /** | | /** | |
| * Set the native surface of a given image of the canvas | | * Set the native surface of a given image of the canvas | |
| * | | * | |
| * @param obj The given canvas pointer. | | * @param obj The given canvas pointer. | |
| * @param surf The new native surface. | | * @param surf The new native surface. | |
| * | | * | |
| * This function sets a native surface of a given canvas image. | | * This function sets a native surface of a given canvas image. | |
| * | | * | |
| */ | | */ | |
| | | | |
| skipping to change at line 7096 | | skipping to change at line 7326 | |
| | | | |
| /** | | /** | |
| * Get the native surface of a given image of the canvas | | * Get the native surface of a given image of the canvas | |
| * | | * | |
| * @param obj The given canvas pointer. | | * @param obj The given canvas pointer. | |
| * @return The native surface of the given canvas image. | | * @return The native surface of the given canvas image. | |
| * | | * | |
| * This function returns the native surface of a given canvas image. | | * This function returns the native surface of a given canvas image. | |
| * | | * | |
| */ | | */ | |
|
| EAPI Evas_Native_Surface *evas_object_image_native_surface_get (con
st Evas_Object *obj) EINA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1) EINA_PURE; | | EAPI Evas_Native_Surface *evas_object_image_native_surface_get (con
st Evas_Object *obj) EINA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1); | |
| | | | |
| /** | | /** | |
| * Set the video surface linked to a given image of the canvas | | * Set the video surface linked to a given image of the canvas | |
| * | | * | |
| * @param obj The given canvas pointer. | | * @param obj The given canvas pointer. | |
| * @param surf The new video surface. | | * @param surf The new video surface. | |
| * @since 1.1.0 | | * @since 1.1.0 | |
| * | | * | |
| * This function link a video surface to a given canvas image. | | * This function link a video surface to a given canvas image. | |
| * | | * | |
| | | | |
| skipping to change at line 7120 | | skipping to change at line 7350 | |
| /** | | /** | |
| * Get the video surface linekd to a given image of the canvas | | * Get the video surface linekd to a given image of the canvas | |
| * | | * | |
| * @param obj The given canvas pointer. | | * @param obj The given canvas pointer. | |
| * @return The video surface of the given canvas image. | | * @return The video surface of the given canvas image. | |
| * @since 1.1.0 | | * @since 1.1.0 | |
| * | | * | |
| * This function returns the video surface linked to a given canvas image. | | * This function returns the video surface linked to a given canvas image. | |
| * | | * | |
| */ | | */ | |
|
| EAPI const Evas_Video_Surface *evas_object_image_video_surface_get (co
nst Evas_Object *obj) EINA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1) EINA_PURE
; | | EAPI const Evas_Video_Surface *evas_object_image_video_surface_get (co
nst Evas_Object *obj) EINA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1); | |
| | | | |
| /** | | /** | |
| * Set the scale hint of a given image of the canvas. | | * Set the scale hint of a given image of the canvas. | |
| * | | * | |
| * @param obj The given image object pointer. | | * @param obj The given image object pointer. | |
| * @param hint The scale hint, a value in | | * @param hint The scale hint, a value in | |
| * #Evas_Image_Scale_Hint. | | * #Evas_Image_Scale_Hint. | |
| * | | * | |
| * This function sets the scale hint value of the given image object | | * This function sets the scale hint value of the given image object | |
| * in the canvas, which will affect how Evas is to cache scaled | | * in the canvas, which will affect how Evas is to cache scaled | |
| | | | |
| skipping to change at line 7149 | | skipping to change at line 7379 | |
| * | | * | |
| * @param obj The given image object pointer. | | * @param obj The given image object pointer. | |
| * @return The scale hint value set on @p obj, a value in | | * @return The scale hint value set on @p obj, a value in | |
| * #Evas_Image_Scale_Hint. | | * #Evas_Image_Scale_Hint. | |
| * | | * | |
| * This function returns the scale hint value of the given image | | * This function returns the scale hint value of the given image | |
| * object of the canvas. | | * object of the canvas. | |
| * | | * | |
| * @see evas_object_image_scale_hint_set() for more details. | | * @see evas_object_image_scale_hint_set() for more details. | |
| */ | | */ | |
|
| EAPI Evas_Image_Scale_Hint evas_object_image_scale_hint_get (con
st Evas_Object *obj) EINA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1) EINA_PURE; | | EAPI Evas_Image_Scale_Hint evas_object_image_scale_hint_get (con
st Evas_Object *obj) EINA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1); | |
| | | | |
| /** | | /** | |
| * Set the content hint setting of a given image object of the canvas. | | * Set the content hint setting of a given image object of the canvas. | |
| * | | * | |
| * @param obj The given canvas pointer. | | * @param obj The given canvas pointer. | |
| * @param hint The content hint value, one of the | | * @param hint The content hint value, one of the | |
| * #Evas_Image_Content_Hint ones. | | * #Evas_Image_Content_Hint ones. | |
| * | | * | |
| * This function sets the content hint value of the given image of the | | * This function sets the content hint value of the given image of the | |
| * canvas. For example, if you're on the GL engine and your driver | | * canvas. For example, if you're on the GL engine and your driver | |
| | | | |
| skipping to change at line 7181 | | skipping to change at line 7411 | |
| * @param obj The given canvas pointer. | | * @param obj The given canvas pointer. | |
| * @return hint The content hint value set on it, one of the | | * @return hint The content hint value set on it, one of the | |
| * #Evas_Image_Content_Hint ones (#EVAS_IMAGE_CONTENT_HINT_NONE means | | * #Evas_Image_Content_Hint ones (#EVAS_IMAGE_CONTENT_HINT_NONE means | |
| * an error). | | * an error). | |
| * | | * | |
| * This function returns the content hint value of the given image of | | * This function returns the content hint value of the given image of | |
| * the canvas. | | * the canvas. | |
| * | | * | |
| * @see evas_object_image_content_hint_set() | | * @see evas_object_image_content_hint_set() | |
| */ | | */ | |
|
| EAPI Evas_Image_Content_Hint evas_object_image_content_hint_get (con
st Evas_Object *obj) EINA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1) EINA_PURE; | | EAPI Evas_Image_Content_Hint evas_object_image_content_hint_get (con
st Evas_Object *obj) EINA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1); | |
| | | | |
| /** | | /** | |
| * Enable an image to be used as an alpha mask. | | * Enable an image to be used as an alpha mask. | |
| * | | * | |
| * This will set any flags, and discard any excess image data not used as a
n | | * This will set any flags, and discard any excess image data not used as a
n | |
| * alpha mask. | | * alpha mask. | |
| * | | * | |
| * Note there is little point in using a image as alpha mask unless it has
an | | * Note there is little point in using a image as alpha mask unless it has
an | |
| * alpha channel. | | * alpha channel. | |
| * | | * | |
| | | | |
| skipping to change at line 7231 | | skipping to change at line 7461 | |
| | | | |
| /** | | /** | |
| * Get the current source object of an image object. | | * Get the current source object of an image object. | |
| * | | * | |
| * @param obj Image object | | * @param obj Image object | |
| * @return Source object (if any), or @c NULL, if not in "proxy mode" | | * @return Source object (if any), or @c NULL, if not in "proxy mode" | |
| * (or on errors). | | * (or on errors). | |
| * | | * | |
| * @see evas_object_image_source_set() for more details | | * @see evas_object_image_source_set() for more details | |
| */ | | */ | |
|
| EAPI Evas_Object *evas_object_image_source_get (Eva
s_Object *obj) EINA_ARG_NONNULL(1); | | EAPI Evas_Object *evas_object_image_source_get (con
st Evas_Object *obj) EINA_ARG_NONNULL(1); | |
| | | | |
| /** | | /** | |
| * Clear the source object on a proxy image object. | | * Clear the source object on a proxy image object. | |
| * | | * | |
| * @param obj Image object to clear source of. | | * @param obj Image object to clear source of. | |
| * @return @c EINA_TRUE on success, @c EINA_FALSE on error. | | * @return @c EINA_TRUE on success, @c EINA_FALSE on error. | |
| * | | * | |
| * This is equivalent to calling evas_object_image_source_set() with a | | * This is equivalent to calling evas_object_image_source_set() with a | |
| * @c NULL source. | | * @c NULL source. | |
| */ | | */ | |
| EAPI Eina_Bool evas_object_image_source_unset (Eva
s_Object *obj) EINA_ARG_NONNULL(1); | | EAPI Eina_Bool evas_object_image_source_unset (Eva
s_Object *obj) EINA_ARG_NONNULL(1); | |
| | | | |
| /** | | /** | |
| * Check if a file extension may be supported by @ref Evas_Object_Image. | | * Check if a file extension may be supported by @ref Evas_Object_Image. | |
| * | | * | |
| * @param file The file to check | | * @param file The file to check | |
|
| * @return EINA_TRUE if we may be able to opeen it, EINA_FALSE if it's unli | | * @return @c EINA_TRUE if we may be able to open it, @c EINA_FALSE if it's | |
| kely. | | * unlikely. | |
| * @since 1.1.0 | | * @since 1.1.0 | |
| * | | * | |
| * If file is a Eina_Stringshare, use directly @ref evas_object_image_exten
sion_can_load_fast_get. | | * If file is a Eina_Stringshare, use directly @ref evas_object_image_exten
sion_can_load_fast_get. | |
| * | | * | |
| * This functions is threadsafe. | | * This functions is threadsafe. | |
| */ | | */ | |
| EAPI Eina_Bool evas_object_image_extension_can_load_get(const char *file); | | EAPI Eina_Bool evas_object_image_extension_can_load_get(const char *file); | |
| | | | |
| /** | | /** | |
| * Check if a file extension may be supported by @ref Evas_Object_Image. | | * Check if a file extension may be supported by @ref Evas_Object_Image. | |
| * | | * | |
| * @param file The file to check, it should be an Eina_Stringshare. | | * @param file The file to check, it should be an Eina_Stringshare. | |
|
| * @return EINA_TRUE if we may be able to opeen it, EINA_FALSE if it's unli | | * @return @c EINA_TRUE if we may be able to open it, @c EINA_FALSE if it's | |
| kely. | | * unlikely. | |
| * @since 1.1.0 | | * @since 1.1.0 | |
| * | | * | |
| * This functions is threadsafe. | | * This functions is threadsafe. | |
| */ | | */ | |
| EAPI Eina_Bool evas_object_image_extension_can_load_fast_get(const char *fi
le); | | EAPI Eina_Bool evas_object_image_extension_can_load_fast_get(const char *fi
le); | |
| | | | |
| /** | | /** | |
| * Check if an image object can be animated (have multiple frames) | | * Check if an image object can be animated (have multiple frames) | |
| * | | * | |
| * @param obj Image object | | * @param obj Image object | |
| | | | |
| skipping to change at line 7465 | | skipping to change at line 7697 | |
| * arguments, being 'x' your style variable. | | * arguments, being 'x' your style variable. | |
| */ | | */ | |
| #define EVAS_TEXT_STYLE_BASIC_SET(x, s) \ | | #define EVAS_TEXT_STYLE_BASIC_SET(x, s) \ | |
| do { x = ((x) & ~EVAS_TEXT_STYLE_MASK_BASIC) | (s); } while (0) | | do { x = ((x) & ~EVAS_TEXT_STYLE_MASK_BASIC) | (s); } while (0) | |
| | | | |
| #define EVAS_TEXT_STYLE_MASK_SHADOW_DIRECTION (0x7 << 4) | | #define EVAS_TEXT_STYLE_MASK_SHADOW_DIRECTION (0x7 << 4) | |
| | | | |
| /** | | /** | |
| * Text style type creation macro. This one will impose shadow | | * Text style type creation macro. This one will impose shadow | |
| * directions on the style type variable -- use the @c | | * directions on the style type variable -- use the @c | |
|
| * EVAS_TEXT_STYLE_SHADOW_DIRECTION_* values on 's', incremmentally. | | * EVAS_TEXT_STYLE_SHADOW_DIRECTION_* values on 's', incrementally. | |
| */ | | */ | |
| #define EVAS_TEXT_STYLE_SHADOW_DIRECTION_SET(x, s) \ | | #define EVAS_TEXT_STYLE_SHADOW_DIRECTION_SET(x, s) \ | |
| do { x = ((x) & ~EVAS_TEXT_STYLE_MASK_SHADOW_DIRECTION) | (s); } while (
0) | | do { x = ((x) & ~EVAS_TEXT_STYLE_MASK_SHADOW_DIRECTION) | (s); } while (
0) | |
| | | | |
| typedef enum _Evas_Text_Style_Type | | typedef enum _Evas_Text_Style_Type | |
| { | | { | |
| EVAS_TEXT_STYLE_PLAIN, /**< plain, standard text */ | | EVAS_TEXT_STYLE_PLAIN, /**< plain, standard text */ | |
| EVAS_TEXT_STYLE_SHADOW, /**< text with shadow underneath */ | | EVAS_TEXT_STYLE_SHADOW, /**< text with shadow underneath */ | |
| EVAS_TEXT_STYLE_OUTLINE, /**< text with an outline */ | | EVAS_TEXT_STYLE_OUTLINE, /**< text with an outline */ | |
| EVAS_TEXT_STYLE_SOFT_OUTLINE, /**< text with a soft outline */ | | EVAS_TEXT_STYLE_SOFT_OUTLINE, /**< text with a soft outline */ | |
| | | | |
| skipping to change at line 7529 | | skipping to change at line 7761 | |
| * | | * | |
| * @see evas_object_text_font_get() | | * @see evas_object_text_font_get() | |
| */ | | */ | |
| EAPI void evas_object_text_font_source_set (Evas_Object *obj,
const char *font) EINA_ARG_NONNULL(1); | | EAPI void evas_object_text_font_source_set (Evas_Object *obj,
const char *font) EINA_ARG_NONNULL(1); | |
| | | | |
| /** | | /** | |
| * Get the font file's path which is being used on a given text | | * Get the font file's path which is being used on a given text | |
| * object. | | * object. | |
| * | | * | |
| * @param obj The text object to set font for. | | * @param obj The text object to set font for. | |
|
| * @param font The font file's path. | | * @return The font file's path. | |
| * | | * | |
| * @see evas_object_text_font_get() for more details | | * @see evas_object_text_font_get() for more details | |
| */ | | */ | |
|
| EAPI const char *evas_object_text_font_source_get (const Evas_Object
*obj) EINA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1) EINA_PURE; | | EAPI const char *evas_object_text_font_source_get (const Evas_Object
*obj) EINA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1); | |
| | | | |
| /** | | /** | |
| * Set the font family and size on a given text object. | | * Set the font family and size on a given text object. | |
| * | | * | |
| * @param obj The text object to set font for. | | * @param obj The text object to set font for. | |
| * @param font The font (family) name. | | * @param font The font (family) name. | |
| * @param size The font size, in points. | | * @param size The font size, in points. | |
| * | | * | |
| * This function allows the font name and size of a text object to be | | * This function allows the font name and size of a text object to be | |
| * set. The @p font string has to follow fontconfig's convention on | | * set. The @p font string has to follow fontconfig's convention on | |
|
| * naming fonts, as it's the underlying lybrary used to query system | | * naming fonts, as it's the underlying library used to query system | |
| * fonts by Evas (see the @c fc-list command's output, on your system, | | * fonts by Evas (see the @c fc-list command's output, on your system, | |
| * to get an idea). | | * to get an idea). | |
| * | | * | |
| * @see evas_object_text_font_get() | | * @see evas_object_text_font_get() | |
| * @see evas_object_text_font_source_set() | | * @see evas_object_text_font_source_set() | |
| */ | | */ | |
| EAPI void evas_object_text_font_set (Evas_Object *o
bj, const char *font, Evas_Font_Size size) EINA_ARG_NONNULL(1); | | EAPI void evas_object_text_font_set (Evas_Object *o
bj, const char *font, Evas_Font_Size size) EINA_ARG_NONNULL(1); | |
| | | | |
| /** | | /** | |
| * Retrieve the font family and size in use on a given text object. | | * Retrieve the font family and size in use on a given text object. | |
| | | | |
| skipping to change at line 7590 | | skipping to change at line 7822 | |
| * Retrieves the text string currently being displayed by the given | | * Retrieves the text string currently being displayed by the given | |
| * text object. | | * text object. | |
| * | | * | |
| * @param obj The given text object. | | * @param obj The given text object. | |
| * @return The text string currently being displayed on it. | | * @return The text string currently being displayed on it. | |
| * | | * | |
| * @note Do not free() the return value. | | * @note Do not free() the return value. | |
| * | | * | |
| * @see evas_object_text_text_set() | | * @see evas_object_text_text_set() | |
| */ | | */ | |
|
| EAPI const char *evas_object_text_text_get (const Evas_Object
*obj) EINA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1) EINA_PURE; | | EAPI const char *evas_object_text_text_get (const Evas_Object
*obj) EINA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1); | |
| | | | |
| /** | | /** | |
| * @brief Sets the BiDi delimiters used in the textblock. | | * @brief Sets the BiDi delimiters used in the textblock. | |
| * | | * | |
| * BiDi delimiters are use for in-paragraph separation of bidi segments. Th
is | | * BiDi delimiters are use for in-paragraph separation of bidi segments. Th
is | |
| * is useful for example in recipients fields of e-mail clients where bidi | | * is useful for example in recipients fields of e-mail clients where bidi | |
|
| * oddities can occur when mixing rtl and ltr. | | * oddities can occur when mixing RTL and LTR. | |
| * | | * | |
| * @param obj The given text object. | | * @param obj The given text object. | |
| * @param delim A null terminated string of delimiters, e.g ",|". | | * @param delim A null terminated string of delimiters, e.g ",|". | |
| * @since 1.1.0 | | * @since 1.1.0 | |
| */ | | */ | |
| EAPI void evas_object_text_bidi_delimiters_set(Evas_Object *ob
j, const char *delim); | | EAPI void evas_object_text_bidi_delimiters_set(Evas_Object *ob
j, const char *delim); | |
| | | | |
| /** | | /** | |
| * @brief Gets the BiDi delimiters used in the textblock. | | * @brief Gets the BiDi delimiters used in the textblock. | |
| * | | * | |
| * BiDi delimiters are use for in-paragraph separation of bidi segments. Th
is | | * BiDi delimiters are use for in-paragraph separation of bidi segments. Th
is | |
| * is useful for example in recipients fields of e-mail clients where bidi | | * is useful for example in recipients fields of e-mail clients where bidi | |
|
| * oddities can occur when mixing rtl and ltr. | | * oddities can occur when mixing RTL and LTR. | |
| * | | * | |
| * @param obj The given text object. | | * @param obj The given text object. | |
| * @return A null terminated string of delimiters, e.g ",|". If empty, retu
rns NULL. | | * @return A null terminated string of delimiters, e.g ",|". If empty, retu
rns NULL. | |
| * @since 1.1.0 | | * @since 1.1.0 | |
| */ | | */ | |
| EAPI const char *evas_object_text_bidi_delimiters_get(const Evas_Obje
ct *obj); | | EAPI const char *evas_object_text_bidi_delimiters_get(const Evas_Obje
ct *obj); | |
| | | | |
|
| EAPI Evas_Coord evas_object_text_ascent_get (const Evas_Obj | | EAPI Evas_Coord evas_object_text_ascent_get (const Evas_Obj | |
| ect *obj) EINA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1) EINA_PURE; | | ect *obj) EINA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1); | |
| EAPI Evas_Coord evas_object_text_descent_get (const Evas_Obj | | EAPI Evas_Coord evas_object_text_descent_get (const Evas_Obj | |
| ect *obj) EINA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1) EINA_PURE; | | ect *obj) EINA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1); | |
| EAPI Evas_Coord evas_object_text_max_ascent_get (const Evas_Obj | | EAPI Evas_Coord evas_object_text_max_ascent_get (const Evas_Obj | |
| ect *obj) EINA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1) EINA_PURE; | | ect *obj) EINA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1); | |
| EAPI Evas_Coord evas_object_text_max_descent_get (const Evas_Obj | | EAPI Evas_Coord evas_object_text_max_descent_get (const Evas_Obj | |
| ect *obj) EINA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1) EINA_PURE; | | ect *obj) EINA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1); | |
| EAPI Evas_Coord evas_object_text_horiz_advance_get(const Evas_Obj | | EAPI Evas_Coord evas_object_text_horiz_advance_get(const Evas_Obj | |
| ect *obj) EINA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1) EINA_PURE; | | ect *obj) EINA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1); | |
| EAPI Evas_Coord evas_object_text_vert_advance_get (const Evas_Obj | | EAPI Evas_Coord evas_object_text_vert_advance_get (const Evas_Obj | |
| ect *obj) EINA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1) EINA_PURE; | | ect *obj) EINA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1); | |
| EAPI Evas_Coord evas_object_text_inset_get (const Evas_Obj | | EAPI Evas_Coord evas_object_text_inset_get (const Evas_Obj | |
| ect *obj) EINA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1) EINA_PURE; | | ect *obj) EINA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1); | |
| | | | |
| /** | | /** | |
| * Retrieve position and dimension information of a character within a text
@c Evas_Object. | | * Retrieve position and dimension information of a character within a text
@c Evas_Object. | |
| * | | * | |
| * This function is used to obtain the X, Y, width and height of a the char
acter | | * This function is used to obtain the X, Y, width and height of a the char
acter | |
| * located at @p pos within the @c Evas_Object @p obj. @p obj must be a tex
t object | | * located at @p pos within the @c Evas_Object @p obj. @p obj must be a tex
t object | |
| * as created with evas_object_text_add(). Any of the @c Evas_Coord paramet
ers (@p cx, | | * as created with evas_object_text_add(). Any of the @c Evas_Coord paramet
ers (@p cx, | |
|
| * @p cy, @p cw, @p ch) may be NULL in which case no value will be assigned
to that | | * @p cy, @p cw, @p ch) may be @c NULL in which case no value will be assig
ned to that | |
| * parameter. | | * parameter. | |
| * | | * | |
| * @param obj The text object to retrieve position information for. | | * @param obj The text object to retrieve position information for. | |
| * @param pos The character position to request co-ordinates for. | | * @param pos The character position to request co-ordinates for. | |
| * @param cx A pointer to an @c Evas_Coord to store the X value in (can b
e NULL). | | * @param cx A pointer to an @c Evas_Coord to store the X value in (can b
e NULL). | |
| * @param cy A pointer to an @c Evas_Coord to store the Y value in (can b
e NULL). | | * @param cy A pointer to an @c Evas_Coord to store the Y value in (can b
e NULL). | |
| * @param cw A pointer to an @c Evas_Coord to store the Width value in (c
an be NULL). | | * @param cw A pointer to an @c Evas_Coord to store the Width value in (c
an be NULL). | |
| * @param ch A pointer to an @c Evas_Coord to store the Height value in (
can be NULL). | | * @param ch A pointer to an @c Evas_Coord to store the Height value in (
can be NULL). | |
| * | | * | |
|
| * @returns EINA_FALSE on success, EINA_TRUE on error. | | * @return @c EINA_FALSE on success, @c EINA_TRUE on error. | |
| */ | | */ | |
| EAPI Eina_Bool evas_object_text_char_pos_get (const Evas_Object
*obj, int pos, Evas_Coord *cx, Evas_Coord *cy, Evas_Coord *cw, Evas_Coord
*ch) EINA_ARG_NONNULL(1); | | EAPI Eina_Bool evas_object_text_char_pos_get (const Evas_Object
*obj, int pos, Evas_Coord *cx, Evas_Coord *cy, Evas_Coord *cw, Evas_Coord
*ch) EINA_ARG_NONNULL(1); | |
| EAPI int evas_object_text_char_coords_get (const Evas_Obj
ect *obj, Evas_Coord x, Evas_Coord y, Evas_Coord *cx, Evas_Coord *cy, Evas_
Coord *cw, Evas_Coord *ch) EINA_ARG_NONNULL(1); | | EAPI int evas_object_text_char_coords_get (const Evas_Obj
ect *obj, Evas_Coord x, Evas_Coord y, Evas_Coord *cx, Evas_Coord *cy, Evas_
Coord *cw, Evas_Coord *ch) EINA_ARG_NONNULL(1); | |
| | | | |
| /** | | /** | |
| * Returns the logical position of the last char in the text | | * Returns the logical position of the last char in the text | |
| * up to the pos given. this is NOT the position of the last char | | * up to the pos given. this is NOT the position of the last char | |
| * because of the possibility of RTL in the text. | | * because of the possibility of RTL in the text. | |
| */ | | */ | |
| EAPI int evas_object_text_last_up_to_pos (const Evas_Object
*obj, Evas_Coord x, Evas_Coord y) EINA_ARG_NONNULL(1); | | EAPI int evas_object_text_last_up_to_pos (const Evas_Object
*obj, Evas_Coord x, Evas_Coord y) EINA_ARG_NONNULL(1); | |
| | | | |
| /** | | /** | |
| * Retrieves the style on use on the given text object. | | * Retrieves the style on use on the given text object. | |
| * | | * | |
| * @param obj the given text object to set style on. | | * @param obj the given text object to set style on. | |
| * @return the style type in use. | | * @return the style type in use. | |
| * | | * | |
| * @see evas_object_text_style_set() for more details. | | * @see evas_object_text_style_set() for more details. | |
| */ | | */ | |
|
| EAPI Evas_Text_Style_Type evas_object_text_style_get (const Evas_Object
*obj) EINA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1) EINA_PURE; | | EAPI Evas_Text_Style_Type evas_object_text_style_get (const Evas_Object
*obj) EINA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1); | |
| | | | |
| /** | | /** | |
| * Sets the style to apply on the given text object. | | * Sets the style to apply on the given text object. | |
| * | | * | |
| * @param obj the given text object to set style on. | | * @param obj the given text object to set style on. | |
| * @param type a style type. | | * @param type a style type. | |
| * | | * | |
| * Text object styles are one of the values in | | * Text object styles are one of the values in | |
| * #Evas_Text_Style_Type. Some of those values are combinations of | | * #Evas_Text_Style_Type. Some of those values are combinations of | |
| * more than one style, and some account for the direction of the | | * more than one style, and some account for the direction of the | |
| | | | |
| skipping to change at line 7712 | | skipping to change at line 7944 | |
| * underneath it, will just be shown if the object is set to one of | | * underneath it, will just be shown if the object is set to one of | |
| * the following styles: | | * the following styles: | |
| * | | * | |
| * - #EVAS_TEXT_STYLE_SHADOW | | * - #EVAS_TEXT_STYLE_SHADOW | |
| * - #EVAS_TEXT_STYLE_OUTLINE_SHADOW | | * - #EVAS_TEXT_STYLE_OUTLINE_SHADOW | |
| * - #EVAS_TEXT_STYLE_FAR_SHADOW | | * - #EVAS_TEXT_STYLE_FAR_SHADOW | |
| * - #EVAS_TEXT_STYLE_OUTLINE_SOFT_SHADOW | | * - #EVAS_TEXT_STYLE_OUTLINE_SOFT_SHADOW | |
| * - #EVAS_TEXT_STYLE_SOFT_SHADOW | | * - #EVAS_TEXT_STYLE_SOFT_SHADOW | |
| * - #EVAS_TEXT_STYLE_FAR_SOFT_SHADOW | | * - #EVAS_TEXT_STYLE_FAR_SOFT_SHADOW | |
| * | | * | |
|
| * One can also change de direction the shadow grows to, with | | * One can also change the direction where the shadow grows to, with | |
| * evas_object_text_style_set(). | | * evas_object_text_style_set(). | |
| * | | * | |
| * @see evas_object_text_shadow_color_get() | | * @see evas_object_text_shadow_color_get() | |
| */ | | */ | |
| EAPI void evas_object_text_shadow_color_set (Evas_Object *obj,
int r, int g, int b, int a) EINA_ARG_NONNULL(1); | | EAPI void evas_object_text_shadow_color_set (Evas_Object *obj,
int r, int g, int b, int a) EINA_ARG_NONNULL(1); | |
| | | | |
| /** | | /** | |
| * Retrieves the shadow color for the given text object. | | * Retrieves the shadow color for the given text object. | |
| * | | * | |
| * @param obj The given Evas text object. | | * @param obj The given Evas text object. | |
| | | | |
| skipping to change at line 7894 | | skipping to change at line 8126 | |
| * @defgroup Evas_Object_Textblock Textblock Object Functions | | * @defgroup Evas_Object_Textblock Textblock Object Functions | |
| * | | * | |
| * Functions used to create and manipulate textblock objects. Unlike | | * Functions used to create and manipulate textblock objects. Unlike | |
| * @ref Evas_Object_Text, these handle complex text, doing multiple | | * @ref Evas_Object_Text, these handle complex text, doing multiple | |
| * styles and multiline text based on HTML-like tags. Of these extra | | * styles and multiline text based on HTML-like tags. Of these extra | |
| * features will be heavier on memory and processing cost. | | * features will be heavier on memory and processing cost. | |
| * | | * | |
| * @section Evas_Object_Textblock_Tutorial Textblock Object Tutorial | | * @section Evas_Object_Textblock_Tutorial Textblock Object Tutorial | |
| * | | * | |
| * This part explains about the textblock object's API and proper usage. | | * This part explains about the textblock object's API and proper usage. | |
|
| * If you want to develop textblock, you should also refer to @ref Evas_Obj
ect_Textblock_Internal. | | | |
| * The main user of the textblock object is the edje entry object in Edje,
so | | * The main user of the textblock object is the edje entry object in Edje,
so | |
| * that's a good place to learn from, but I think this document is more tha
n | | * that's a good place to learn from, but I think this document is more tha
n | |
| * enough, if it's not, please contact me and I'll update it. | | * enough, if it's not, please contact me and I'll update it. | |
| * | | * | |
| * @subsection textblock_intro Introduction | | * @subsection textblock_intro Introduction | |
| * The textblock objects is, as implied, an object that can show big chunks
of | | * The textblock objects is, as implied, an object that can show big chunks
of | |
| * text. Textblock supports many features including: Text formatting, autom
atic | | * text. Textblock supports many features including: Text formatting, autom
atic | |
| * and manual text alignment, embedding items (for example icons) and more. | | * and manual text alignment, embedding items (for example icons) and more. | |
| * Textblock has three important parts, the text paragraphs, the format nod
es | | * Textblock has three important parts, the text paragraphs, the format nod
es | |
| * and the cursors. | | * and the cursors. | |
| | | | |
| skipping to change at line 7916 | | skipping to change at line 8147 | |
| * You can use markup to format text, for example: "<font_size=50>Big!</fon
t_size>". | | * You can use markup to format text, for example: "<font_size=50>Big!</fon
t_size>". | |
| * You can also put more than one style directive in one tag: | | * You can also put more than one style directive in one tag: | |
| * "<font_size=50 color=#F00>Big and Red!</font_size>". | | * "<font_size=50 color=#F00>Big and Red!</font_size>". | |
| * Please notice that we used "</font_size>" although the format also inclu
ded | | * Please notice that we used "</font_size>" although the format also inclu
ded | |
| * color, this is because the first format determines the matching closing
tag's | | * color, this is because the first format determines the matching closing
tag's | |
| * name. You can also use anonymous tags, like: "<font_size=30>Big</>" whic
h | | * name. You can also use anonymous tags, like: "<font_size=30>Big</>" whic
h | |
| * just pop any type of format, but it's advised to use the named alternati
ves | | * just pop any type of format, but it's advised to use the named alternati
ves | |
| * instead. | | * instead. | |
| * | | * | |
| * @subsection textblock_cursors Textblock Object Cursors | | * @subsection textblock_cursors Textblock Object Cursors | |
|
| * A textblock Cursor @ref Evas_Textblock_Cursor is data type that represen
ts | | * A textblock Cursor is data type that represents | |
| * a position in a textblock. Each cursor contains information about the | | * a position in a textblock. Each cursor contains information about the | |
| * paragraph it points to, the position in that paragraph and the object it
self. | | * paragraph it points to, the position in that paragraph and the object it
self. | |
| * Cursors register to textblock objects upon creation, this means that onc
e | | * Cursors register to textblock objects upon creation, this means that onc
e | |
| * you created a cursor, it belongs to a specific obj and you can't for exa
mple | | * you created a cursor, it belongs to a specific obj and you can't for exa
mple | |
| * copy a cursor "into" a cursor of a different object. Registered cursors | | * copy a cursor "into" a cursor of a different object. Registered cursors | |
| * also have the added benefit of updating automatically upon textblock cha
nges, | | * also have the added benefit of updating automatically upon textblock cha
nges, | |
| * this means that if you have a cursor pointing to a specific character, i
t'll | | * this means that if you have a cursor pointing to a specific character, i
t'll | |
| * still point to it even after you change the whole object completely (as
long | | * still point to it even after you change the whole object completely (as
long | |
| * as the char was not deleted), this is not possible without updating, bec
ause | | * as the char was not deleted), this is not possible without updating, bec
ause | |
| * as mentioned, each cursor holds a character position. There are many | | * as mentioned, each cursor holds a character position. There are many | |
| | | | |
| skipping to change at line 7946 | | skipping to change at line 8177 | |
| * format nodes associated with it which are responsible for the formatting | | * format nodes associated with it which are responsible for the formatting | |
| * of that paragraph. | | * of that paragraph. | |
| * | | * | |
| * @subsection textblock_format_nodes Textblock Object Format Nodes | | * @subsection textblock_format_nodes Textblock Object Format Nodes | |
| * As explained in @ref textblock_paragraphs each one of the format nodes | | * As explained in @ref textblock_paragraphs each one of the format nodes | |
| * is associated with a paragraph. | | * is associated with a paragraph. | |
| * There are two types of format nodes, visible and invisible: | | * There are two types of format nodes, visible and invisible: | |
| * Visible: formats that a cursor can point to, i.e formats that | | * Visible: formats that a cursor can point to, i.e formats that | |
| * occupy space, for example: newlines, tabs, items and etc. Some visible i
tems | | * occupy space, for example: newlines, tabs, items and etc. Some visible i
tems | |
| * are made of two parts, in this case, only the opening tag is visible. | | * are made of two parts, in this case, only the opening tag is visible. | |
|
| * A closing tag (i.e a </tag> tag) should NEVER be visible. | | * A closing tag (i.e a \</tag\> tag) should NEVER be visible. | |
| * Invisible: formats that don't occupy space, for example: bold and underl
ine. | | * Invisible: formats that don't occupy space, for example: bold and underl
ine. | |
| * Being able to access format nodes is very important for some uses. For | | * Being able to access format nodes is very important for some uses. For | |
| * example, edje uses the "<a>" format to create links in the text (and pop | | * example, edje uses the "<a>" format to create links in the text (and pop | |
| * popups above them when clicked). For the textblock object a is just a | | * popups above them when clicked). For the textblock object a is just a | |
| * formatting instruction (how to color the text), but edje utilizes the ac
cess | | * formatting instruction (how to color the text), but edje utilizes the ac
cess | |
| * to the format nodes to make it do more. | | * to the format nodes to make it do more. | |
| * For more information, take a look at all the evas_textblock_node_format_
* | | * For more information, take a look at all the evas_textblock_node_format_
* | |
| * functions. | | * functions. | |
| * The translation of "<tag>" tags to actual format is done according to th
e | | * The translation of "<tag>" tags to actual format is done according to th
e | |
| * tags defined in the style, see @ref evas_textblock_style_set | | * tags defined in the style, see @ref evas_textblock_style_set | |
| * | | * | |
| * @subsection textblock_special_formats Special Formats | | * @subsection textblock_special_formats Special Formats | |
|
| * Textblock supports various format directives that can be used either in | | * Textblock supports various format directives that can be used in markup. | |
| * markup, or by calling @ref evas_object_textblock_format_append or | | In | |
| * @ref evas_object_textblock_format_prepend. In addition to the mentioned | | * addition to the mentioned format directives, textblock allows creating | |
| * format directives, textblock allows creating additional format directive | | * additional format directives using "tags" that can be set in the style s | |
| s | | ee | |
| * using "tags" that can be set in the style see @ref evas_textblock_style_ | | * @ref evas_textblock_style_set . | |
| set . | | | |
| * | | * | |
| * Textblock supports the following formats: | | * Textblock supports the following formats: | |
| * @li font - Font description in fontconfig like format, e.g: "Sans:style=
Italic:lang=hi". or "Serif:style=Bold". | | * @li font - Font description in fontconfig like format, e.g: "Sans:style=
Italic:lang=hi". or "Serif:style=Bold". | |
| * @li font_weight - Overrides the weight defined in "font". E.g: "font_wei
ght=Bold" is the same as "font=:style=Bold". Supported weights: "normal", "
thin", "ultralight", "light", "book", "medium", "semibold", "bold", "ultrab
old", "black", and "extrablack". | | * @li font_weight - Overrides the weight defined in "font". E.g: "font_wei
ght=Bold" is the same as "font=:style=Bold". Supported weights: "normal", "
thin", "ultralight", "light", "book", "medium", "semibold", "bold", "ultrab
old", "black", and "extrablack". | |
| * @li font_style - Overrides the style defined in "font". E.g: "font_style
=Italic" is the same as "font=:style=Italic". Supported styles: "normal", "
oblique", and "italic". | | * @li font_style - Overrides the style defined in "font". E.g: "font_style
=Italic" is the same as "font=:style=Italic". Supported styles: "normal", "
oblique", and "italic". | |
| * @li font_width - Overrides the width defined in "font". E.g: "font_width
=Condensed" is the same as "font=:style=Condensed". Supported widths: "norm
al", "ultracondensed", "extracondensed", "condensed", "semicondensed", "sem
iexpanded", "expanded", "extraexpanded", and "ultraexpanded". | | * @li font_width - Overrides the width defined in "font". E.g: "font_width
=Condensed" is the same as "font=:style=Condensed". Supported widths: "norm
al", "ultracondensed", "extracondensed", "condensed", "semicondensed", "sem
iexpanded", "expanded", "extraexpanded", and "ultraexpanded". | |
| * @li lang - Overrides the language defined in "font". E.g: "lang=he" is t
he same as "font=:lang=he". | | * @li lang - Overrides the language defined in "font". E.g: "lang=he" is t
he same as "font=:lang=he". | |
| * @li font_fallbacks - A comma delimited list of fonts to try if finding t
he main font fails. | | * @li font_fallbacks - A comma delimited list of fonts to try if finding t
he main font fails. | |
| * @li font_size - The font size in points. | | * @li font_size - The font size in points. | |
| * @li font_source - The source of the font, e.g an eet file. | | * @li font_source - The source of the font, e.g an eet file. | |
| | | | |
| skipping to change at line 8049 | | skipping to change at line 8279 | |
| * @param e The given evas. | | * @param e The given evas. | |
| * @return The new textblock object. | | * @return The new textblock object. | |
| */ | | */ | |
| EAPI Evas_Object *evas_object_textblock_add(Evas *e) EINA_W
ARN_UNUSED_RESULT EINA_ARG_NONNULL(1) EINA_MALLOC; | | EAPI Evas_Object *evas_object_textblock_add(Evas *e) EINA_W
ARN_UNUSED_RESULT EINA_ARG_NONNULL(1) EINA_MALLOC; | |
| | | | |
| /** | | /** | |
| * Returns the unescaped version of escape. | | * Returns the unescaped version of escape. | |
| * @param escape the string to be escaped | | * @param escape the string to be escaped | |
| * @return the unescaped version of escape | | * @return the unescaped version of escape | |
| */ | | */ | |
|
| EAPI const char *evas_textblock_escape_string_get(const ch
ar *escape) EINA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1) EINA_PURE; | | EAPI const char *evas_textblock_escape_string_get(const ch
ar *escape) EINA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1); | |
| | | | |
| /** | | /** | |
| * Returns the escaped version of the string. | | * Returns the escaped version of the string. | |
| * @param string to escape | | * @param string to escape | |
| * @param len_ret the len of the part of the string that was used. | | * @param len_ret the len of the part of the string that was used. | |
| * @return the escaped string. | | * @return the escaped string. | |
| */ | | */ | |
|
| EAPI const char *evas_textblock_string_escape_get(const ch
ar *string, int *len_ret) EINA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1) EINA_
PURE; | | EAPI const char *evas_textblock_string_escape_get(const ch
ar *string, int *len_ret) EINA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1); | |
| | | | |
| /** | | /** | |
| * Return the unescaped version of the string between start and end. | | * Return the unescaped version of the string between start and end. | |
| * | | * | |
| * @param escape_start the start of the string. | | * @param escape_start the start of the string. | |
| * @param escape_end the end of the string. | | * @param escape_end the end of the string. | |
| * @return the unescaped version of the range | | * @return the unescaped version of the range | |
| */ | | */ | |
|
| EAPI const char *evas_textblock_escape_string_range_get(co | | EAPI const char *evas_textblock_escape_string_range_get(co | |
| nst char *escape_start, const char *escape_end) EINA_WARN_UNUSED_RESULT EIN | | nst char *escape_start, const char *escape_end) EINA_WARN_UNUSED_RESULT EIN | |
| A_ARG_NONNULL(1, 2) EINA_PURE; | | A_ARG_NONNULL(1, 2); | |
| | | | |
| | | /** | |
| | | * Return the plain version of the markup. | |
| | | * | |
| | | * Works as if you set the markup to a textblock and then retrieve the plai | |
| | | n | |
| | | * version of the text. i.e: <br> and <\n> will be replaced with \n, &...; | |
| | | with | |
| | | * the actual char and etc. | |
| | | * | |
| | | * @param obj The textblock object to work with. (if @c NULL, tries the | |
| | | * default). | |
| | | * @param text The markup text (if @c NULL, return @c NULL). | |
| | | * @return An allocated plain text version of the markup. | |
| | | * @since 1.2.0 | |
| | | */ | |
| | | EAPI char *evas_textblock_text_markup_to_utf8(const | |
| | | Evas_Object *obj, const char *text) EINA_WARN_UNUSED_RESULT EINA_MALLOC; | |
| | | | |
| | | /** | |
| | | * Return the markup version of the plain text. | |
| | | * | |
| | | * Replaces \\n -\> \<br/\> \\t -\> \<tab/\> and etc. Generally needed befo | |
| | | re you pass | |
| | | * plain text to be set in a textblock. | |
| | | * | |
| | | * @param obj the textblock object to work with (if @c NULL, it just does t | |
| | | he | |
| | | * default behaviour, i.e with no extra object information). | |
| | | * @param text The markup text (if @c NULL, return @c NULL). | |
| | | * @return An allocated plain text version of the markup. | |
| | | * @since 1.2.0 | |
| | | */ | |
| | | EAPI char *evas_textblock_text_utf8_to_markup(const | |
| | | Evas_Object *obj, const char *text) EINA_WARN_UNUSED_RESULT EINA_MALLOC; | |
| | | | |
| /** | | /** | |
| * Creates a new textblock style. | | * Creates a new textblock style. | |
| * @return The new textblock style. | | * @return The new textblock style. | |
| */ | | */ | |
| EAPI Evas_Textblock_Style *evas_textblock_style_new(void) EINA_WARN_
UNUSED_RESULT EINA_MALLOC; | | EAPI Evas_Textblock_Style *evas_textblock_style_new(void) EINA_WARN_
UNUSED_RESULT EINA_MALLOC; | |
| | | | |
| /** | | /** | |
| * Destroys a textblock style. | | * Destroys a textblock style. | |
| * @param ts The textblock style to free. | | * @param ts The textblock style to free. | |
| | | | |
| skipping to change at line 8095 | | skipping to change at line 8354 | |
| * @param text the text to parse - NOT NULL. | | * @param text the text to parse - NOT NULL. | |
| * @return Returns no value. | | * @return Returns no value. | |
| */ | | */ | |
| EAPI void evas_textblock_style_set(Evas_Textblock_S
tyle *ts, const char *text) EINA_ARG_NONNULL(1); | | EAPI void evas_textblock_style_set(Evas_Textblock_S
tyle *ts, const char *text) EINA_ARG_NONNULL(1); | |
| | | | |
| /** | | /** | |
| * Return the text of the style ts. | | * Return the text of the style ts. | |
| * @param ts the style to get it's text. | | * @param ts the style to get it's text. | |
| * @return the text of the style or null on error. | | * @return the text of the style or null on error. | |
| */ | | */ | |
|
| EAPI const char *evas_textblock_style_get(const Evas_Textb
lock_Style *ts) EINA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1) EINA_PURE; | | EAPI const char *evas_textblock_style_get(const Evas_Textb
lock_Style *ts) EINA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1); | |
| | | | |
| /** | | /** | |
| * Set the objects style to ts. | | * Set the objects style to ts. | |
| * @param obj the Evas object to set the style to. | | * @param obj the Evas object to set the style to. | |
| * @param ts the style to set. | | * @param ts the style to set. | |
| * @return Returns no value. | | * @return Returns no value. | |
| */ | | */ | |
| EAPI void evas_object_textblock_style_set(Evas_Obje
ct *obj, Evas_Textblock_Style *ts) EINA_ARG_NONNULL(1); | | EAPI void evas_object_textblock_style_set(Evas_Obje
ct *obj, Evas_Textblock_Style *ts) EINA_ARG_NONNULL(1); | |
| | | | |
| /** | | /** | |
| * Return the style of an object. | | * Return the style of an object. | |
| * @param obj the object to get the style from. | | * @param obj the object to get the style from. | |
| * @return the style of the object. | | * @return the style of the object. | |
| */ | | */ | |
|
| EAPI const Evas_Textblock_Style *evas_object_textblock_style_get(const Eva | | EAPI const Evas_Textblock_Style *evas_object_textblock_style_get(const Eva | |
| s_Object *obj) EINA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1) EINA_PURE; | | s_Object *obj) EINA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1); | |
| | | | |
| | | /** | |
| | | * Push ts to the top of the user style stack. | |
| | | * | |
| | | * FIXME: API is solid but currently only supports 1 style in the stack. | |
| | | * | |
| | | * The user style overrides the corresponding elements of the regular style | |
| | | . | |
| | | * This is the proper way to do theme overrides in code. | |
| | | * @param obj the Evas object to set the style to. | |
| | | * @param ts the style to set. | |
| | | * @return Returns no value. | |
| | | * @see evas_object_textblock_style_set | |
| | | * @since 1.2.0 | |
| | | */ | |
| | | EAPI void evas_object_textblock_style_user_push(Eva | |
| | | s_Object *obj, Evas_Textblock_Style *ts) EINA_ARG_NONNULL(1); | |
| | | | |
| | | /** | |
| | | * Del the from the top of the user style stack. | |
| | | * | |
| | | * @param obj the object to get the style from. | |
| | | * @see evas_object_textblock_style_get | |
| | | * @since 1.2.0 | |
| | | */ | |
| | | EAPI void evas_object_textblock_style_user_pop(Evas_ | |
| | | Object *obj) EINA_ARG_NONNULL(1); | |
| | | | |
| | | /** | |
| | | * Get (don't remove) the style at the top of the user style stack. | |
| | | * | |
| | | * @param obj the object to get the style from. | |
| | | * @return the style of the object. | |
| | | * @see evas_object_textblock_style_get | |
| | | * @since 1.2.0 | |
| | | */ | |
| | | EAPI const Evas_Textblock_Style *evas_object_textblock_style_user_peek(con | |
| | | st Evas_Object *obj) EINA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1); | |
| | | | |
| /** | | /** | |
| * @brief Set the "replacement character" to use for the given textblock ob
ject. | | * @brief Set the "replacement character" to use for the given textblock ob
ject. | |
| * | | * | |
| * @param obj The given textblock object. | | * @param obj The given textblock object. | |
| * @param ch The charset name. | | * @param ch The charset name. | |
| */ | | */ | |
| EAPI void evas_object_textblock_replace_char_set(Ev
as_Object *obj, const char *ch) EINA_ARG_NONNULL(1); | | EAPI void evas_object_textblock_replace_char_set(Ev
as_Object *obj, const char *ch) EINA_ARG_NONNULL(1); | |
| | | | |
| /** | | /** | |
| * @brief Get the "replacement character" for given textblock object. Retur
ns | | * @brief Get the "replacement character" for given textblock object. Retur
ns | |
|
| * NULL if no replacement character is in use. | | * @c NULL if no replacement character is in use. | |
| * | | * | |
| * @param obj The given textblock object | | * @param obj The given textblock object | |
|
| * @return replacement character or @c NULL | | * @return Replacement character or @c NULL. | |
| */ | | */ | |
|
| EAPI const char *evas_object_textblock_replace_char_get(Ev
as_Object *obj) EINA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1) EINA_PURE; | | EAPI const char *evas_object_textblock_replace_char_get(Ev
as_Object *obj) EINA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1); | |
| | | | |
| /** | | /** | |
| * @brief Sets the vertical alignment of text within the textblock object | | * @brief Sets the vertical alignment of text within the textblock object | |
| * as a whole. | | * as a whole. | |
| * | | * | |
| * Normally alignment is 0.0 (top of object). Values given should be | | * Normally alignment is 0.0 (top of object). Values given should be | |
| * between 0.0 and 1.0 (1.0 bottom of object, 0.5 being vertically centered | | * between 0.0 and 1.0 (1.0 bottom of object, 0.5 being vertically centered | |
| * etc.). | | * etc.). | |
| * | | * | |
| * @param obj The given textblock object. | | * @param obj The given textblock object. | |
|
| * @param align A value between 0.0 and 1.0 | | * @param align A value between @c 0.0 and @c 1.0. | |
| * @since 1.1.0 | | * @since 1.1.0 | |
| */ | | */ | |
| EAPI void evas_object_textblock_valign_set(Evas_Obj
ect *obj, double align); | | EAPI void evas_object_textblock_valign_set(Evas_Obj
ect *obj, double align); | |
| | | | |
| /** | | /** | |
| * @brief Gets the vertical alignment of a textblock | | * @brief Gets the vertical alignment of a textblock | |
| * | | * | |
| * @param obj The given textblock object. | | * @param obj The given textblock object. | |
|
| * @return The elignment set for the object | | * @return The alignment set for the object. | |
| * @since 1.1.0 | | * @since 1.1.0 | |
| */ | | */ | |
| EAPI double evas_object_textblock_valign_get(const Ev
as_Object *obj); | | EAPI double evas_object_textblock_valign_get(const Ev
as_Object *obj); | |
| | | | |
| /** | | /** | |
| * @brief Sets the BiDi delimiters used in the textblock. | | * @brief Sets the BiDi delimiters used in the textblock. | |
| * | | * | |
| * BiDi delimiters are use for in-paragraph separation of bidi segments. Th
is | | * BiDi delimiters are use for in-paragraph separation of bidi segments. Th
is | |
| * is useful for example in recipients fields of e-mail clients where bidi | | * is useful for example in recipients fields of e-mail clients where bidi | |
|
| * oddities can occur when mixing rtl and ltr. | | * oddities can occur when mixing RTL and LTR. | |
| * | | * | |
| * @param obj The given textblock object. | | * @param obj The given textblock object. | |
| * @param delim A null terminated string of delimiters, e.g ",|". | | * @param delim A null terminated string of delimiters, e.g ",|". | |
| * @since 1.1.0 | | * @since 1.1.0 | |
| */ | | */ | |
| EAPI void evas_object_textblock_bidi_delimiters_set
(Evas_Object *obj, const char *delim); | | EAPI void evas_object_textblock_bidi_delimiters_set
(Evas_Object *obj, const char *delim); | |
| | | | |
| /** | | /** | |
| * @brief Gets the BiDi delimiters used in the textblock. | | * @brief Gets the BiDi delimiters used in the textblock. | |
| * | | * | |
| * BiDi delimiters are use for in-paragraph separation of bidi segments. Th
is | | * BiDi delimiters are use for in-paragraph separation of bidi segments. Th
is | |
| * is useful for example in recipients fields of e-mail clients where bidi | | * is useful for example in recipients fields of e-mail clients where bidi | |
|
| * oddities can occur when mixing rtl and ltr. | | * oddities can occur when mixing RTL and LTR. | |
| * | | * | |
| * @param obj The given textblock object. | | * @param obj The given textblock object. | |
|
| * @return A null terminated string of delimiters, e.g ",|". If empty, retu | | * @return A null terminated string of delimiters, e.g ",|". If empty, retu | |
| rns NULL. | | rns | |
| | | * @c NULL. | |
| * @since 1.1.0 | | * @since 1.1.0 | |
| */ | | */ | |
| EAPI const char *evas_object_textblock_bidi_delimiters_get
(const Evas_Object *obj); | | EAPI const char *evas_object_textblock_bidi_delimiters_get
(const Evas_Object *obj); | |
| | | | |
| /** | | /** | |
| * @brief Sets newline mode. When true, newline character will behave | | * @brief Sets newline mode. When true, newline character will behave | |
| * as a paragraph separator. | | * as a paragraph separator. | |
| * | | * | |
| * @param obj The given textblock object. | | * @param obj The given textblock object. | |
|
| * @param mode EINA_TRUE for legacy mode, EINA_FALSE otherwise. | | * @param mode @c EINA_TRUE for legacy mode, @c EINA_FALSE otherwise. | |
| * @since 1.1.0 | | * @since 1.1.0 | |
| */ | | */ | |
| EAPI void evas_object_textblock_legacy_newline_set(
Evas_Object *obj, Eina_Bool mode) EINA_ARG_NONNULL(1); | | EAPI void evas_object_textblock_legacy_newline_set(
Evas_Object *obj, Eina_Bool mode) EINA_ARG_NONNULL(1); | |
| | | | |
| /** | | /** | |
| * @brief Gets newline mode. When true, newline character behaves | | * @brief Gets newline mode. When true, newline character behaves | |
| * as a paragraph separator. | | * as a paragraph separator. | |
| * | | * | |
| * @param obj The given textblock object. | | * @param obj The given textblock object. | |
|
| * @return EINA_TRUE if in legacy mode, EINA_FALSE otherwise. | | * @return @c EINA_TRUE if in legacy mode, @c EINA_FALSE otherwise. | |
| * @since 1.1.0 | | * @since 1.1.0 | |
| */ | | */ | |
|
| EAPI Eina_Bool evas_object_textblock_legacy_newline_get(
const Evas_Object *obj) EINA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1) EINA_PU
RE; | | EAPI Eina_Bool evas_object_textblock_legacy_newline_get(
const Evas_Object *obj) EINA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1); | |
| | | | |
| /** | | /** | |
| * Sets the tetxblock's text to the markup text. | | * Sets the tetxblock's text to the markup text. | |
| * | | * | |
| * @note assumes text does not include the unicode object replacement char
(0xFFFC) | | * @note assumes text does not include the unicode object replacement char
(0xFFFC) | |
| * | | * | |
| * @param obj the textblock object. | | * @param obj the textblock object. | |
| * @param text the markup text to use. | | * @param text the markup text to use. | |
| * @return Return no value. | | * @return Return no value. | |
| */ | | */ | |
| | | | |
| skipping to change at line 8232 | | skipping to change at line 8526 | |
| * | | * | |
| * @param obj the Evas object. | | * @param obj the Evas object. | |
| * @return the markup text of the object. | | * @return the markup text of the object. | |
| */ | | */ | |
| EAPI const char *evas_object_textblock_text_markup_get(con
st Evas_Object *obj) EINA_ARG_NONNULL(1); | | EAPI const char *evas_object_textblock_text_markup_get(con
st Evas_Object *obj) EINA_ARG_NONNULL(1); | |
| | | | |
| /** | | /** | |
| * Return the object's main cursor. | | * Return the object's main cursor. | |
| * | | * | |
| * @param obj the object. | | * @param obj the object. | |
|
| * @return the obj's main cursor. | | * @return The @p obj's main cursor. | |
| */ | | */ | |
|
| EAPI Evas_Textblock_Cursor *evas_object_textblock_cursor_get(const Evas_Obj
ect *obj) EINA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1) EINA_PURE; | | EAPI Evas_Textblock_Cursor *evas_object_textblock_cursor_get(const Evas_Obj
ect *obj) EINA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1); | |
| | | | |
| /** | | /** | |
| * Create a new cursor, associate it to the obj and init it to point | | * Create a new cursor, associate it to the obj and init it to point | |
| * to the start of the textblock. Association to the object means the curso
r | | * to the start of the textblock. Association to the object means the curso
r | |
| * will be updated when the object will change. | | * will be updated when the object will change. | |
| * | | * | |
| * @note if you need speed and you know what you are doing, it's slightly f
aster to just allocate the cursor yourself and not associate it. (only peop
le developing the actual object, and not users of the object). | | * @note if you need speed and you know what you are doing, it's slightly f
aster to just allocate the cursor yourself and not associate it. (only peop
le developing the actual object, and not users of the object). | |
| * | | * | |
| * @param obj the object to associate to. | | * @param obj the object to associate to. | |
| * @return the new cursor. | | * @return the new cursor. | |
| | | | |
| skipping to change at line 8277 | | skipping to change at line 8571 | |
| * | | * | |
| * @param cur the cursor to set. | | * @param cur the cursor to set. | |
| * @return Returns no value. | | * @return Returns no value. | |
| */ | | */ | |
| EAPI void evas_textblock_cursor_paragraph_last(Evas
_Textblock_Cursor *cur) EINA_ARG_NONNULL(1); | | EAPI void evas_textblock_cursor_paragraph_last(Evas
_Textblock_Cursor *cur) EINA_ARG_NONNULL(1); | |
| | | | |
| /** | | /** | |
| * Advances to the start of the next text node | | * Advances to the start of the next text node | |
| * | | * | |
| * @param cur the cursor to update | | * @param cur the cursor to update | |
|
| * @return #EINA_TRUE if it managed to advance a paragraph, #EINA_FALSE oth | | * @return @c EINA_TRUE if it managed to advance a paragraph, @c EINA_FALSE | |
| erwise. | | * otherwise. | |
| */ | | */ | |
| EAPI Eina_Bool evas_textblock_cursor_paragraph_next(Evas
_Textblock_Cursor *cur) EINA_ARG_NONNULL(1); | | EAPI Eina_Bool evas_textblock_cursor_paragraph_next(Evas
_Textblock_Cursor *cur) EINA_ARG_NONNULL(1); | |
| | | | |
| /** | | /** | |
| * Advances to the end of the previous text node | | * Advances to the end of the previous text node | |
| * | | * | |
| * @param cur the cursor to update | | * @param cur the cursor to update | |
|
| * @return #EINA_TRUE if it managed to advance a paragraph, #EINA_FALSE oth | | * @return @c EINA_TRUE if it managed to advance a paragraph, @c EINA_FALSE | |
| erwise. | | * otherwise. | |
| */ | | */ | |
| EAPI Eina_Bool evas_textblock_cursor_paragraph_prev(Evas
_Textblock_Cursor *cur) EINA_ARG_NONNULL(1); | | EAPI Eina_Bool evas_textblock_cursor_paragraph_prev(Evas
_Textblock_Cursor *cur) EINA_ARG_NONNULL(1); | |
| | | | |
| /** | | /** | |
| * Returns the | | * Returns the | |
| * | | * | |
|
| * @param obj The evas, must not be NULL. | | * @param obj The evas, must not be @c NULL. | |
| * @param anchor the anchor name to get | | * @param anchor the anchor name to get | |
| * @return Returns the list format node corresponding to the anchor, may be
null if there are none. | | * @return Returns the list format node corresponding to the anchor, may be
null if there are none. | |
| */ | | */ | |
| EAPI const Eina_List *evas_textblock_node_format_list_get(const
Evas_Object *obj, const char *anchor) EINA_ARG_NONNULL(1, 2); | | EAPI const Eina_List *evas_textblock_node_format_list_get(const
Evas_Object *obj, const char *anchor) EINA_ARG_NONNULL(1, 2); | |
| | | | |
| /** | | /** | |
| * Returns the first format node. | | * Returns the first format node. | |
| * | | * | |
|
| * @param obj The evas, must not be NULL. | | * @param obj The evas, must not be @c NULL. | |
| * @return Returns the first format node, may be null if there are none. | | * @return Returns the first format node, may be null if there are none. | |
| */ | | */ | |
| EAPI const Evas_Object_Textblock_Node_Format *evas_textblock_node_format_fi
rst_get(const Evas_Object *obj) EINA_ARG_NONNULL(1); | | EAPI const Evas_Object_Textblock_Node_Format *evas_textblock_node_format_fi
rst_get(const Evas_Object *obj) EINA_ARG_NONNULL(1); | |
| | | | |
| /** | | /** | |
| * Returns the last format node. | | * Returns the last format node. | |
| * | | * | |
| * @param obj The evas textblock, must not be NULL. | | * @param obj The evas textblock, must not be NULL. | |
| * @return Returns the first format node, may be null if there are none. | | * @return Returns the first format node, may be null if there are none. | |
| */ | | */ | |
| | | | |
| skipping to change at line 8331 | | skipping to change at line 8627 | |
| | | | |
| /** | | /** | |
| * Returns the prev format node (after n) | | * Returns the prev format node (after n) | |
| * | | * | |
| * @param n the current format node - not null. | | * @param n the current format node - not null. | |
| * @return Returns the prev format node, may be null. | | * @return Returns the prev format node, may be null. | |
| */ | | */ | |
| EAPI const Evas_Object_Textblock_Node_Format *evas_textblock_node_format_pr
ev_get(const Evas_Object_Textblock_Node_Format *n) EINA_ARG_NONNULL(1); | | EAPI const Evas_Object_Textblock_Node_Format *evas_textblock_node_format_pr
ev_get(const Evas_Object_Textblock_Node_Format *n) EINA_ARG_NONNULL(1); | |
| | | | |
| /** | | /** | |
|
| * Remove a format node and it's match. i.e, removes a <tag> </tag> pair. | | * Remove a format node and it's match. i.e, removes a \<tag\> \</tag\> pai | |
| * Assumes the node is the first part of <tag> i.e, this won't work if | | r. | |
| | | * Assumes the node is the first part of \<tag\> i.e, this won't work if | |
| * n is a closing tag. | | * n is a closing tag. | |
| * | | * | |
| * @param obj the Evas object of the textblock - not null. | | * @param obj the Evas object of the textblock - not null. | |
| * @param n the current format node - not null. | | * @param n the current format node - not null. | |
| */ | | */ | |
| EAPI void evas_textblock_node_format_remove_pair(Ev
as_Object *obj, Evas_Object_Textblock_Node_Format *n) EINA_ARG_NONNULL(1, 2
); | | EAPI void evas_textblock_node_format_remove_pair(Ev
as_Object *obj, Evas_Object_Textblock_Node_Format *n) EINA_ARG_NONNULL(1, 2
); | |
| | | | |
| /** | | /** | |
| * Sets the cursor to point to the place where format points to. | | * Sets the cursor to point to the place where format points to. | |
| * | | * | |
| * @param cur the cursor to update. | | * @param cur the cursor to update. | |
| * @param n the format node to update according. | | * @param n the format node to update according. | |
| * @deprecated duplicate of evas_textblock_cursor_at_format_set | | * @deprecated duplicate of evas_textblock_cursor_at_format_set | |
| */ | | */ | |
|
| EINA_DEPRECATED EAPI void evas_textblock_cursor_set
_at_format(Evas_Textblock_Cursor *cur, const Evas_Object_Textblock_Node_For
mat *n) EINA_ARG_NONNULL(1, 2); | | EAPI void evas_textblock_cursor_set_at_format(Evas_
Textblock_Cursor *cur, const Evas_Object_Textblock_Node_Format *n) EINA_ARG
_NONNULL(1, 2); | |
| | | | |
| /** | | /** | |
| * Return the format node at the position pointed by cur. | | * Return the format node at the position pointed by cur. | |
| * | | * | |
| * @param cur the position to look at. | | * @param cur the position to look at. | |
|
| * @return the format node if found, NULL otherwise. | | * @return the format node if found, @c NULL otherwise. | |
| * @see evas_textblock_cursor_format_is_visible_get() | | * @see evas_textblock_cursor_format_is_visible_get() | |
| */ | | */ | |
| EAPI const Evas_Object_Textblock_Node_Format *evas_textblock_cursor_format_
get(const Evas_Textblock_Cursor *cur) EINA_ARG_NONNULL(1); | | EAPI const Evas_Object_Textblock_Node_Format *evas_textblock_cursor_format_
get(const Evas_Textblock_Cursor *cur) EINA_ARG_NONNULL(1); | |
| | | | |
| /** | | /** | |
| * Get the text format representation of the format node. | | * Get the text format representation of the format node. | |
| * | | * | |
|
| * @param fmt the format node. | | * @param fnode the format node. | |
| * @return the textual format of the format node. | | * @return the textual format of the format node. | |
| */ | | */ | |
| EAPI const char *evas_textblock_node_format_text_get(const
Evas_Object_Textblock_Node_Format *fnode) EINA_WARN_UNUSED_RESULT EINA_ARG
_NONNULL(1); | | EAPI const char *evas_textblock_node_format_text_get(const
Evas_Object_Textblock_Node_Format *fnode) EINA_WARN_UNUSED_RESULT EINA_ARG
_NONNULL(1); | |
| | | | |
| /** | | /** | |
| * Set the cursor to point to the position of fmt. | | * Set the cursor to point to the position of fmt. | |
| * | | * | |
| * @param cur the cursor to update | | * @param cur the cursor to update | |
| * @param fmt the format to update according to. | | * @param fmt the format to update according to. | |
| */ | | */ | |
| EAPI void evas_textblock_cursor_at_format_set(Evas_
Textblock_Cursor *cur, const Evas_Object_Textblock_Node_Format *fmt) EINA_A
RG_NONNULL(1, 2); | | EAPI void evas_textblock_cursor_at_format_set(Evas_
Textblock_Cursor *cur, const Evas_Object_Textblock_Node_Format *fmt) EINA_A
RG_NONNULL(1, 2); | |
| | | | |
| /** | | /** | |
| * Check if the current cursor position is a visible format. This way is mo
re | | * Check if the current cursor position is a visible format. This way is mo
re | |
| * efficient than evas_textblock_cursor_format_get() to check for the exist
ence | | * efficient than evas_textblock_cursor_format_get() to check for the exist
ence | |
| * of a visible format. | | * of a visible format. | |
| * | | * | |
| * @param cur the cursor to look at. | | * @param cur the cursor to look at. | |
|
| * @return #EINA_TRUE if the cursor points to a visible format, #EINA_FALSE | | * @return @c EINA_TRUE if the cursor points to a visible format, @c EINA_F | |
| otherwise. | | ALSE | |
| | | * otherwise. | |
| * @see evas_textblock_cursor_format_get() | | * @see evas_textblock_cursor_format_get() | |
| */ | | */ | |
|
| EAPI Eina_Bool evas_textblock_cursor_format_is_visible_g
et(const Evas_Textblock_Cursor *cur) EINA_WARN_UNUSED_RESULT EINA_ARG_NONNU
LL(1) EINA_PURE; | | EAPI Eina_Bool evas_textblock_cursor_format_is_visible_g
et(const Evas_Textblock_Cursor *cur) EINA_WARN_UNUSED_RESULT EINA_ARG_NONNU
LL(1); | |
| | | | |
| /** | | /** | |
| * Advances to the next format node | | * Advances to the next format node | |
| * | | * | |
| * @param cur the cursor to be updated. | | * @param cur the cursor to be updated. | |
|
| * @return #EINA_TRUE on success #EINA_FALSE otherwise. | | * @return @c EINA_TRUE on success @c EINA_FALSE otherwise. | |
| */ | | */ | |
| EAPI Eina_Bool evas_textblock_cursor_format_next(Evas_Te
xtblock_Cursor *cur) EINA_ARG_NONNULL(1); | | EAPI Eina_Bool evas_textblock_cursor_format_next(Evas_Te
xtblock_Cursor *cur) EINA_ARG_NONNULL(1); | |
| | | | |
| /** | | /** | |
| * Advances to the previous format node. | | * Advances to the previous format node. | |
| * | | * | |
| * @param cur the cursor to update. | | * @param cur the cursor to update. | |
|
| * @return #EINA_TRUE on success #EINA_FALSE otherwise. | | * @return @c EINA_TRUE on success @c EINA_FALSE otherwise. | |
| */ | | */ | |
| EAPI Eina_Bool evas_textblock_cursor_format_prev(Evas_Te
xtblock_Cursor *cur) EINA_ARG_NONNULL(1); | | EAPI Eina_Bool evas_textblock_cursor_format_prev(Evas_Te
xtblock_Cursor *cur) EINA_ARG_NONNULL(1); | |
| | | | |
| /** | | /** | |
| * Returns true if the cursor points to a format. | | * Returns true if the cursor points to a format. | |
| * | | * | |
| * @param cur the cursor to check. | | * @param cur the cursor to check. | |
|
| * @return Returns #EINA_TRUE if a cursor points to a format #EINA_FALSE ot | | * @return @c EINA_TRUE if a cursor points to a format @c EINA_FALSE | |
| herwise. | | * otherwise. | |
| */ | | */ | |
| EAPI Eina_Bool evas_textblock_cursor_is_format(const Eva
s_Textblock_Cursor *cur) EINA_ARG_NONNULL(1); | | EAPI Eina_Bool evas_textblock_cursor_is_format(const Eva
s_Textblock_Cursor *cur) EINA_ARG_NONNULL(1); | |
| | | | |
| /** | | /** | |
| * Advances 1 char forward. | | * Advances 1 char forward. | |
| * | | * | |
| * @param cur the cursor to advance. | | * @param cur the cursor to advance. | |
|
| * @return #EINA_TRUE on success #EINA_FALSE otherwise. | | * @return @c EINA_TRUE on success @c EINA_FALSE otherwise. | |
| */ | | */ | |
| EAPI Eina_Bool evas_textblock_cursor_char_next(Evas_Text
block_Cursor *cur) EINA_ARG_NONNULL(1); | | EAPI Eina_Bool evas_textblock_cursor_char_next(Evas_Text
block_Cursor *cur) EINA_ARG_NONNULL(1); | |
| | | | |
| /** | | /** | |
| * Advances 1 char backward. | | * Advances 1 char backward. | |
| * | | * | |
| * @param cur the cursor to advance. | | * @param cur the cursor to advance. | |
|
| * @return #EINA_TRUE on success #EINA_FALSE otherwise. | | * @return @c EINA_TRUE on success @c EINA_FALSE otherwise. | |
| */ | | */ | |
| EAPI Eina_Bool evas_textblock_cursor_char_prev(Evas_Text
block_Cursor *cur) EINA_ARG_NONNULL(1); | | EAPI Eina_Bool evas_textblock_cursor_char_prev(Evas_Text
block_Cursor *cur) EINA_ARG_NONNULL(1); | |
| | | | |
| /** | | /** | |
|
| | | * Moves the cursor to the start of the word under the cursor. | |
| | | * | |
| | | * @param cur the cursor to move. | |
| | | * @return @c EINA_TRUE on success @c EINA_FALSE otherwise. | |
| | | * @since 1.2.0 | |
| | | */ | |
| | | EAPI Eina_Bool evas_textblock_cursor_word_start(Evas_Tex | |
| | | tblock_Cursor *cur) EINA_ARG_NONNULL(1); | |
| | | | |
| | | /** | |
| | | * Moves the cursor to the end of the word under the cursor. | |
| | | * | |
| | | * @param cur the cursor to move. | |
| | | * @return @c EINA_TRUE on success @c EINA_FALSE otherwise. | |
| | | * @since 1.2.0 | |
| | | */ | |
| | | EAPI Eina_Bool evas_textblock_cursor_word_end(Evas_Textb | |
| | | lock_Cursor *cur) EINA_ARG_NONNULL(1); | |
| | | | |
| | | /** | |
| * Go to the first char in the node the cursor is pointing on. | | * Go to the first char in the node the cursor is pointing on. | |
| * | | * | |
| * @param cur the cursor to update. | | * @param cur the cursor to update. | |
| * @return Returns no value. | | * @return Returns no value. | |
| */ | | */ | |
| EAPI void evas_textblock_cursor_paragraph_char_firs
t(Evas_Textblock_Cursor *cur) EINA_ARG_NONNULL(1); | | EAPI void evas_textblock_cursor_paragraph_char_firs
t(Evas_Textblock_Cursor *cur) EINA_ARG_NONNULL(1); | |
| | | | |
| /** | | /** | |
| * Go to the last char in a text node. | | * Go to the last char in a text node. | |
| * | | * | |
| | | | |
| skipping to change at line 8463 | | skipping to change at line 8779 | |
| * @return Returns no value. | | * @return Returns no value. | |
| */ | | */ | |
| EAPI void evas_textblock_cursor_line_char_last(Evas
_Textblock_Cursor *cur) EINA_ARG_NONNULL(1); | | EAPI void evas_textblock_cursor_line_char_last(Evas
_Textblock_Cursor *cur) EINA_ARG_NONNULL(1); | |
| | | | |
| /** | | /** | |
| * Return the current cursor pos. | | * Return the current cursor pos. | |
| * | | * | |
| * @param cur the cursor to take the position from. | | * @param cur the cursor to take the position from. | |
| * @return the position or -1 on error | | * @return the position or -1 on error | |
| */ | | */ | |
|
| EAPI int evas_textblock_cursor_pos_get(const Evas_
Textblock_Cursor *cur) EINA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1) EINA_PUR
E; | | EAPI int evas_textblock_cursor_pos_get(const Evas_
Textblock_Cursor *cur) EINA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1); | |
| | | | |
| /** | | /** | |
| * Set the cursor pos. | | * Set the cursor pos. | |
| * | | * | |
| * @param cur the cursor to be set. | | * @param cur the cursor to be set. | |
| * @param pos the pos to set. | | * @param pos the pos to set. | |
| */ | | */ | |
| EAPI void evas_textblock_cursor_pos_set(Evas_Textbl
ock_Cursor *cur, int pos) EINA_ARG_NONNULL(1); | | EAPI void evas_textblock_cursor_pos_set(Evas_Textbl
ock_Cursor *cur, int pos) EINA_ARG_NONNULL(1); | |
| | | | |
| /** | | /** | |
| * Go to the start of the line passed | | * Go to the start of the line passed | |
| * | | * | |
| * @param cur cursor to update. | | * @param cur cursor to update. | |
| * @param line numer to set. | | * @param line numer to set. | |
|
| * @return #EINA_TRUE on success, #EINA_FALSE on error. | | * @return @c EINA_TRUE on success, @c EINA_FALSE on error. | |
| */ | | */ | |
| EAPI Eina_Bool evas_textblock_cursor_line_set(Evas_Textb
lock_Cursor *cur, int line) EINA_ARG_NONNULL(1); | | EAPI Eina_Bool evas_textblock_cursor_line_set(Evas_Textb
lock_Cursor *cur, int line) EINA_ARG_NONNULL(1); | |
| | | | |
| /** | | /** | |
| * Compare two cursors. | | * Compare two cursors. | |
| * | | * | |
| * @param cur1 the first cursor. | | * @param cur1 the first cursor. | |
| * @param cur2 the second cursor. | | * @param cur2 the second cursor. | |
| * @return -1 if cur1 < cur2, 0 if cur1 == cur2 and 1 otherwise. | | * @return -1 if cur1 < cur2, 0 if cur1 == cur2 and 1 otherwise. | |
| */ | | */ | |
|
| EAPI int evas_textblock_cursor_compare(const Evas_
Textblock_Cursor *cur1, const Evas_Textblock_Cursor *cur2) EINA_WARN_UNUSED
_RESULT EINA_ARG_NONNULL(1, 2) EINA_PURE; | | EAPI int evas_textblock_cursor_compare(const Evas_
Textblock_Cursor *cur1, const Evas_Textblock_Cursor *cur2) EINA_WARN_UNUSED
_RESULT EINA_ARG_NONNULL(1, 2); | |
| | | | |
| /** | | /** | |
| * Make cur_dest point to the same place as cur. Does not work if they don'
t | | * Make cur_dest point to the same place as cur. Does not work if they don'
t | |
| * point to the same object. | | * point to the same object. | |
| * | | * | |
| * @param cur the source cursor. | | * @param cur the source cursor. | |
| * @param cur_dest destination cursor. | | * @param cur_dest destination cursor. | |
| * @return Returns no value. | | * @return Returns no value. | |
| */ | | */ | |
| EAPI void evas_textblock_cursor_copy(const Evas_Tex
tblock_Cursor *cur, Evas_Textblock_Cursor *cur_dest) EINA_ARG_NONNULL(1, 2)
; | | EAPI void evas_textblock_cursor_copy(const Evas_Tex
tblock_Cursor *cur, Evas_Textblock_Cursor *cur_dest) EINA_ARG_NONNULL(1, 2)
; | |
| | | | |
| /** | | /** | |
| * Adds text to the current cursor position and set the cursor to *before* | | * Adds text to the current cursor position and set the cursor to *before* | |
| * the start of the text just added. | | * the start of the text just added. | |
| * | | * | |
| * @param cur the cursor to where to add text at. | | * @param cur the cursor to where to add text at. | |
|
| * @param _text the text to add. | | * @param text the text to add. | |
| * @return Returns the len of the text added. | | * @return Returns the len of the text added. | |
| * @see evas_textblock_cursor_text_prepend() | | * @see evas_textblock_cursor_text_prepend() | |
| */ | | */ | |
| EAPI int evas_textblock_cursor_text_append(Evas_Te
xtblock_Cursor *cur, const char *text) EINA_ARG_NONNULL(1, 2); | | EAPI int evas_textblock_cursor_text_append(Evas_Te
xtblock_Cursor *cur, const char *text) EINA_ARG_NONNULL(1, 2); | |
| | | | |
| /** | | /** | |
| * Adds text to the current cursor position and set the cursor to *after* | | * Adds text to the current cursor position and set the cursor to *after* | |
| * the start of the text just added. | | * the start of the text just added. | |
| * | | * | |
| * @param cur the cursor to where to add text at. | | * @param cur the cursor to where to add text at. | |
|
| * @param _text the text to add. | | * @param text the text to add. | |
| * @return Returns the len of the text added. | | * @return Returns the len of the text added. | |
| * @see evas_textblock_cursor_text_append() | | * @see evas_textblock_cursor_text_append() | |
| */ | | */ | |
| EAPI int evas_textblock_cursor_text_prepend(Evas_T
extblock_Cursor *cur, const char *text) EINA_ARG_NONNULL(1, 2); | | EAPI int evas_textblock_cursor_text_prepend(Evas_T
extblock_Cursor *cur, const char *text) EINA_ARG_NONNULL(1, 2); | |
| | | | |
| /** | | /** | |
| * Adds format to the current cursor position. If the format being added is
a | | * Adds format to the current cursor position. If the format being added is
a | |
| * visible format, add it *before* the cursor position, otherwise, add it a
fter. | | * visible format, add it *before* the cursor position, otherwise, add it a
fter. | |
| * This behavior is because visible formats are like characters and invisib
le | | * This behavior is because visible formats are like characters and invisib
le | |
| * should be stacked in a way that the last one is added last. | | * should be stacked in a way that the last one is added last. | |
| | | | |
| skipping to change at line 8544 | | skipping to change at line 8860 | |
| * @return Returns true if a visible format was added, false otherwise. | | * @return Returns true if a visible format was added, false otherwise. | |
| * @see evas_textblock_cursor_format_prepend() | | * @see evas_textblock_cursor_format_prepend() | |
| */ | | */ | |
| | | | |
| /** | | /** | |
| * Check if the current cursor position points to the terminating null of t
he | | * Check if the current cursor position points to the terminating null of t
he | |
| * last paragraph. (shouldn't be allowed to point to the terminating null o
f | | * last paragraph. (shouldn't be allowed to point to the terminating null o
f | |
| * any previous paragraph anyway. | | * any previous paragraph anyway. | |
| * | | * | |
| * @param cur the cursor to look at. | | * @param cur the cursor to look at. | |
|
| * @return #EINA_TRUE if the cursor points to the terminating null, #EINA_F
ALSE otherwise. | | * @return @c EINA_TRUE if the cursor points to the terminating null, @c EI
NA_FALSE otherwise. | |
| */ | | */ | |
| EAPI Eina_Bool evas_textblock_cursor_format_append(Evas_
Textblock_Cursor *cur, const char *format) EINA_ARG_NONNULL(1, 2); | | EAPI Eina_Bool evas_textblock_cursor_format_append(Evas_
Textblock_Cursor *cur, const char *format) EINA_ARG_NONNULL(1, 2); | |
| | | | |
| /** | | /** | |
| * Adds format to the current cursor position. If the format being added is
a | | * Adds format to the current cursor position. If the format being added is
a | |
| * visible format, add it *before* the cursor position, otherwise, add it a
fter. | | * visible format, add it *before* the cursor position, otherwise, add it a
fter. | |
| * This behavior is because visible formats are like characters and invisib
le | | * This behavior is because visible formats are like characters and invisib
le | |
| * should be stacked in a way that the last one is added last. | | * should be stacked in a way that the last one is added last. | |
| * If the format is visible the cursor is advanced after it. | | * If the format is visible the cursor is advanced after it. | |
| * | | * | |
| | | | |
| skipping to change at line 8584 | | skipping to change at line 8900 | |
| /** | | /** | |
| * Delete the range between cur1 and cur2. | | * Delete the range between cur1 and cur2. | |
| * | | * | |
| * @param cur1 one side of the range. | | * @param cur1 one side of the range. | |
| * @param cur2 the second side of the range | | * @param cur2 the second side of the range | |
| * @return Returns no value. | | * @return Returns no value. | |
| */ | | */ | |
| EAPI void evas_textblock_cursor_range_delete(Evas_T
extblock_Cursor *cur1, Evas_Textblock_Cursor *cur2) EINA_ARG_NONNULL(1, 2); | | EAPI void evas_textblock_cursor_range_delete(Evas_T
extblock_Cursor *cur1, Evas_Textblock_Cursor *cur2) EINA_ARG_NONNULL(1, 2); | |
| | | | |
| /** | | /** | |
|
| * Return the text of the paragraph cur points to - returns the text in mar
kup.. | | * Return the text of the paragraph cur points to - returns the text in mar
kup. | |
| * | | * | |
| * @param cur the cursor pointing to the paragraph. | | * @param cur the cursor pointing to the paragraph. | |
|
| * @return the text on success, NULL otherwise. | | * @return the text on success, @c NULL otherwise. | |
| */ | | */ | |
|
| EAPI const char *evas_textblock_cursor_paragraph_text_get(
const Evas_Textblock_Cursor *cur) EINA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(
1) EINA_PURE; | | EAPI const char *evas_textblock_cursor_paragraph_text_get(
const Evas_Textblock_Cursor *cur) EINA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(
1); | |
| | | | |
| /** | | /** | |
| * Return the length of the paragraph, cheaper the eina_unicode_strlen() | | * Return the length of the paragraph, cheaper the eina_unicode_strlen() | |
| * | | * | |
| * @param cur the position of the paragraph. | | * @param cur the position of the paragraph. | |
| * @return the length of the paragraph on success, -1 otehrwise. | | * @return the length of the paragraph on success, -1 otehrwise. | |
| */ | | */ | |
|
| EAPI int evas_textblock_cursor_paragraph_text_leng
th_get(const Evas_Textblock_Cursor *cur) EINA_WARN_UNUSED_RESULT EINA_ARG_N
ONNULL(1) EINA_PURE; | | EAPI int evas_textblock_cursor_paragraph_text_leng
th_get(const Evas_Textblock_Cursor *cur) EINA_WARN_UNUSED_RESULT EINA_ARG_N
ONNULL(1); | |
| | | | |
| /** | | /** | |
| * Return the currently visible range. | | * Return the currently visible range. | |
| * | | * | |
| * @param start the start of the range. | | * @param start the start of the range. | |
| * @param end the end of the range. | | * @param end the end of the range. | |
|
| * @return EINA_TRUE on success. EINA_FALSE otherwise. | | * @return @c EINA_TRUE on success, @c EINA_FALSE otherwise. | |
| * @since 1.1.0 | | * @since 1.1.0 | |
| */ | | */ | |
|
| Eina_Bool evas_textblock_cursor_visible_range_get(E
vas_Textblock_Cursor *start, Evas_Textblock_Cursor *end) EINA_ARG_NONNULL(1
, 2); | | EAPI Eina_Bool evas_textblock_cursor_visible_range_
get(Evas_Textblock_Cursor *start, Evas_Textblock_Cursor *end) EINA_ARG_NONN
ULL(1, 2); | |
| | | | |
| /** | | /** | |
| * Return the format nodes in the range between cur1 and cur2. | | * Return the format nodes in the range between cur1 and cur2. | |
| * | | * | |
| * @param cur1 one side of the range. | | * @param cur1 one side of the range. | |
| * @param cur2 the other side of the range | | * @param cur2 the other side of the range | |
| * @return the foramt nodes in the range. You have to free it. | | * @return the foramt nodes in the range. You have to free it. | |
| * @since 1.1.0 | | * @since 1.1.0 | |
| */ | | */ | |
|
| EAPI Eina_List * evas_textblock_cursor_range_formats_get(co
nst Evas_Textblock_Cursor *cur1, const Evas_Textblock_Cursor *cur2) EINA_WA
RN_UNUSED_RESULT EINA_ARG_NONNULL(1, 2) EINA_PURE; | | EAPI Eina_List * evas_textblock_cursor_range_formats_get(co
nst Evas_Textblock_Cursor *cur1, const Evas_Textblock_Cursor *cur2) EINA_WA
RN_UNUSED_RESULT EINA_ARG_NONNULL(1, 2); | |
| | | | |
| /** | | /** | |
| * Return the text in the range between cur1 and cur2 | | * Return the text in the range between cur1 and cur2 | |
| * | | * | |
| * @param cur1 one side of the range. | | * @param cur1 one side of the range. | |
| * @param cur2 the other side of the range | | * @param cur2 the other side of the range | |
| * @param format The form on which to return the text. Markup - in textbloc
k markup. Plain - UTF8. | | * @param format The form on which to return the text. Markup - in textbloc
k markup. Plain - UTF8. | |
| * @return the text in the range | | * @return the text in the range | |
| * @see elm_entry_markup_to_utf8() | | * @see elm_entry_markup_to_utf8() | |
| */ | | */ | |
|
| EAPI char *evas_textblock_cursor_range_text_get(cons
t Evas_Textblock_Cursor *cur1, const Evas_Textblock_Cursor *cur2, Evas_Text
block_Text_Type format) EINA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1, 2) EINA
_PURE; | | EAPI char *evas_textblock_cursor_range_text_get(cons
t Evas_Textblock_Cursor *cur1, const Evas_Textblock_Cursor *cur2, Evas_Text
block_Text_Type format) EINA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1, 2); | |
| | | | |
| /** | | /** | |
| * Return the content of the cursor. | | * Return the content of the cursor. | |
| * | | * | |
|
| | | * Free the returned string pointer when done (if it is not NULL). | |
| | | * | |
| * @param cur the cursor | | * @param cur the cursor | |
|
| * @return the text in the range | | * @return the text in the range, terminated by a nul byte (may be utf8). | |
| */ | | */ | |
| EAPI char *evas_textblock_cursor_content_get(const E
vas_Textblock_Cursor *cur) EINA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1) EINA
_MALLOC; | | EAPI char *evas_textblock_cursor_content_get(const E
vas_Textblock_Cursor *cur) EINA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1) EINA
_MALLOC; | |
| | | | |
| /** | | /** | |
| * Returns the geometry of the cursor. Depends on the type of cursor reques
ted. | | * Returns the geometry of the cursor. Depends on the type of cursor reques
ted. | |
| * This should be used instead of char_geometry_get because there are weird | | * This should be used instead of char_geometry_get because there are weird | |
| * special cases with BiDi text. | | * special cases with BiDi text. | |
| * in '_' cursor mode (i.e a line below the char) it's the same as char_geo
metry | | * in '_' cursor mode (i.e a line below the char) it's the same as char_geo
metry | |
| * get, except for the case of the last char of a line which depends on the | | * get, except for the case of the last char of a line which depends on the | |
| * paragraph direction. | | * paragraph direction. | |
| * | | * | |
|
| * in '|' cursor mode (i.e a line between two chars) it is very varyable. | | * in '|' cursor mode (i.e a line between two chars) it is very variable. | |
| * For example consider the following visual string: | | * For example consider the following visual string: | |
| * "abcCBA" (ABC are rtl chars), a cursor pointing on A should actually dra
w | | * "abcCBA" (ABC are rtl chars), a cursor pointing on A should actually dra
w | |
| * a '|' between the c and the C. | | * a '|' between the c and the C. | |
| * | | * | |
| * @param cur the cursor. | | * @param cur the cursor. | |
| * @param cx the x of the cursor | | * @param cx the x of the cursor | |
| * @param cy the y of the cursor | | * @param cy the y of the cursor | |
| * @param cw the width of the cursor | | * @param cw the width of the cursor | |
| * @param ch the height of the cursor | | * @param ch the height of the cursor | |
| * @param dir the direction of the cursor, can be NULL. | | * @param dir the direction of the cursor, can be NULL. | |
| | | | |
| skipping to change at line 8704 | | skipping to change at line 9022 | |
| * @return line number of the line on success, -1 on error. | | * @return line number of the line on success, -1 on error. | |
| */ | | */ | |
| EAPI int evas_textblock_cursor_line_geometry_get(c
onst Evas_Textblock_Cursor *cur, Evas_Coord *cx, Evas_Coord *cy, Evas_Coord
*cw, Evas_Coord *ch) EINA_ARG_NONNULL(1); | | EAPI int evas_textblock_cursor_line_geometry_get(c
onst Evas_Textblock_Cursor *cur, Evas_Coord *cx, Evas_Coord *cy, Evas_Coord
*cw, Evas_Coord *ch) EINA_ARG_NONNULL(1); | |
| | | | |
| /** | | /** | |
| * Set the position of the cursor according to the X and Y coordinates. | | * Set the position of the cursor according to the X and Y coordinates. | |
| * | | * | |
| * @param cur the cursor to set. | | * @param cur the cursor to set. | |
| * @param x coord to set by. | | * @param x coord to set by. | |
| * @param y coord to set by. | | * @param y coord to set by. | |
|
| * @return #EINA_TRUE on success, #EINA_FALSE otherwise. | | * @return @c EINA_TRUE on success, @c EINA_FALSE otherwise. | |
| */ | | */ | |
| EAPI Eina_Bool evas_textblock_cursor_char_coord_set(Evas
_Textblock_Cursor *cur, Evas_Coord x, Evas_Coord y) EINA_ARG_NONNULL(1); | | EAPI Eina_Bool evas_textblock_cursor_char_coord_set(Evas
_Textblock_Cursor *cur, Evas_Coord x, Evas_Coord y) EINA_ARG_NONNULL(1); | |
| | | | |
| /** | | /** | |
| * Set the cursor position according to the y coord. | | * Set the cursor position according to the y coord. | |
| * | | * | |
| * @param cur the cur to be set. | | * @param cur the cur to be set. | |
| * @param y the coord to set by. | | * @param y the coord to set by. | |
| * @return the line number found, -1 on error. | | * @return the line number found, -1 on error. | |
| */ | | */ | |
| EAPI int evas_textblock_cursor_line_coord_set(Evas
_Textblock_Cursor *cur, Evas_Coord y) EINA_ARG_NONNULL(1); | | EAPI int evas_textblock_cursor_line_coord_set(Evas
_Textblock_Cursor *cur, Evas_Coord y) EINA_ARG_NONNULL(1); | |
| | | | |
| /** | | /** | |
| * Get the geometry of a range. | | * Get the geometry of a range. | |
| * | | * | |
| * @param cur1 one side of the range. | | * @param cur1 one side of the range. | |
| * @param cur2 other side of the range. | | * @param cur2 other side of the range. | |
| * @return a list of Rectangles representing the geometry of the range. | | * @return a list of Rectangles representing the geometry of the range. | |
| */ | | */ | |
|
| EAPI Eina_List *evas_textblock_cursor_range_geometry_get(
const Evas_Textblock_Cursor *cur1, const Evas_Textblock_Cursor *cur2) EINA_
WARN_UNUSED_RESULT EINA_ARG_NONNULL(1, 2) EINA_PURE; | | EAPI Eina_List *evas_textblock_cursor_range_geometry_get(
const Evas_Textblock_Cursor *cur1, const Evas_Textblock_Cursor *cur2) EINA_
WARN_UNUSED_RESULT EINA_ARG_NONNULL(1, 2); | |
| EAPI Eina_Bool evas_textblock_cursor_format_item_geom
etry_get(const Evas_Textblock_Cursor *cur, Evas_Coord *cx, Evas_Coord *cy,
Evas_Coord *cw, Evas_Coord *ch) EINA_ARG_NONNULL(1); | | EAPI Eina_Bool evas_textblock_cursor_format_item_geom
etry_get(const Evas_Textblock_Cursor *cur, Evas_Coord *cx, Evas_Coord *cy,
Evas_Coord *cw, Evas_Coord *ch) EINA_ARG_NONNULL(1); | |
| | | | |
| /** | | /** | |
| * Checks if the cursor points to the end of the line. | | * Checks if the cursor points to the end of the line. | |
| * | | * | |
| * @param cur the cursor to check. | | * @param cur the cursor to check. | |
|
| * @return #EINA_TRUE if true, #EINA_FALSE otherwise. | | * @return @c EINA_TRUE if true, @c EINA_FALSE otherwise. | |
| */ | | */ | |
|
| EAPI Eina_Bool evas_textblock_cursor_eol_get(const Evas_
Textblock_Cursor *cur) EINA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1) EINA_PUR
E; | | EAPI Eina_Bool evas_textblock_cursor_eol_get(const Evas_
Textblock_Cursor *cur) EINA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1); | |
| | | | |
| /** | | /** | |
| * Get the geometry of a line number. | | * Get the geometry of a line number. | |
| * | | * | |
| * @param obj the object. | | * @param obj the object. | |
| * @param line the line number. | | * @param line the line number. | |
| * @param cx x coord of the line. | | * @param cx x coord of the line. | |
| * @param cy y coord of the line. | | * @param cy y coord of the line. | |
| * @param cw w coord of the line. | | * @param cw w coord of the line. | |
| * @param ch h coord of the line. | | * @param ch h coord of the line. | |
|
| * @return #EINA_TRUE on success, #EINA_FALSE otherwise. | | * @return @c EINA_TRUE on success, @c EINA_FALSE otherwise. | |
| */ | | */ | |
| EAPI Eina_Bool evas_object_textblock_line_number_geometr
y_get(const Evas_Object *obj, int line, Evas_Coord *cx, Evas_Coord *cy, Eva
s_Coord *cw, Evas_Coord *ch) EINA_ARG_NONNULL(1); | | EAPI Eina_Bool evas_object_textblock_line_number_geometr
y_get(const Evas_Object *obj, int line, Evas_Coord *cx, Evas_Coord *cy, Eva
s_Coord *cw, Evas_Coord *ch) EINA_ARG_NONNULL(1); | |
| | | | |
| /** | | /** | |
| * Clear the textblock object. | | * Clear the textblock object. | |
| * @note Does *NOT* free the Evas object itself. | | * @note Does *NOT* free the Evas object itself. | |
| * | | * | |
| * @param obj the object to clear. | | * @param obj the object to clear. | |
| * @return nothing. | | * @return nothing. | |
| */ | | */ | |
| | | | |
| skipping to change at line 8773 | | skipping to change at line 9091 | |
| * infinite canvas, while this function gives the size after wrapping | | * infinite canvas, while this function gives the size after wrapping | |
| * according to the size restrictions of the object. | | * according to the size restrictions of the object. | |
| * | | * | |
| * For example for a textblock containing the text: "You shall not pass!" | | * For example for a textblock containing the text: "You shall not pass!" | |
| * with no margins or padding and assuming a monospace font and a size of | | * with no margins or padding and assuming a monospace font and a size of | |
| * 7x10 char widths (for simplicity) has a native size of 19x1 | | * 7x10 char widths (for simplicity) has a native size of 19x1 | |
| * and a formatted size of 5x4. | | * and a formatted size of 5x4. | |
| * | | * | |
| * | | * | |
| * @param obj the Evas object. | | * @param obj the Evas object. | |
|
| * @param w[out] the width of the object. | | * @param w the width of the object. | |
| * @param h[out] the height of the object | | * @param h the height of the object | |
| * @return Returns no value. | | * @return Returns no value. | |
| * @see evas_object_textblock_size_native_get | | * @see evas_object_textblock_size_native_get | |
| */ | | */ | |
| EAPI void evas_object_textblock_size_formatted_get(
const Evas_Object *obj, Evas_Coord *w, Evas_Coord *h) EINA_ARG_NONNULL(1); | | EAPI void evas_object_textblock_size_formatted_get(
const Evas_Object *obj, Evas_Coord *w, Evas_Coord *h) EINA_ARG_NONNULL(1); | |
| | | | |
| /** | | /** | |
| * Get the native width and height. This calculates the actual size without
taking account | | * Get the native width and height. This calculates the actual size without
taking account | |
| * the current size of the object. | | * the current size of the object. | |
| * The main difference between this and @ref evas_object_textblock_size_for
matted_get | | * The main difference between this and @ref evas_object_textblock_size_for
matted_get | |
| * is that the "native" function does not take wrapping into account | | * is that the "native" function does not take wrapping into account | |
| * it just calculates the real width of the object if it was placed on an | | * it just calculates the real width of the object if it was placed on an | |
| * infinite canvas, while the "formatted" function gives the size after | | * infinite canvas, while the "formatted" function gives the size after | |
| * wrapping text according to the size restrictions of the object. | | * wrapping text according to the size restrictions of the object. | |
| * | | * | |
| * For example for a textblock containing the text: "You shall not pass!" | | * For example for a textblock containing the text: "You shall not pass!" | |
| * with no margins or padding and assuming a monospace font and a size of | | * with no margins or padding and assuming a monospace font and a size of | |
| * 7x10 char widths (for simplicity) has a native size of 19x1 | | * 7x10 char widths (for simplicity) has a native size of 19x1 | |
| * and a formatted size of 5x4. | | * and a formatted size of 5x4. | |
| * | | * | |
| * @param obj the Evas object of the textblock | | * @param obj the Evas object of the textblock | |
|
| * @param w[out] the width returned | | * @param w the width returned | |
| * @param h[out] the height returned | | * @param h the height returned | |
| * @return Returns no value. | | * @return Returns no value. | |
| */ | | */ | |
| EAPI void evas_object_textblock_size_native_get(con
st Evas_Object *obj, Evas_Coord *w, Evas_Coord *h) EINA_ARG_NONNULL(1); | | EAPI void evas_object_textblock_size_native_get(con
st Evas_Object *obj, Evas_Coord *w, Evas_Coord *h) EINA_ARG_NONNULL(1); | |
| EAPI void evas_object_textblock_style_insets_get
(const Evas_Object *obj, Evas_Coord *l, Evas_Coord *r, Evas_Coord *t, Evas_
Coord *b) EINA_ARG_NONNULL(1); | | EAPI void evas_object_textblock_style_insets_get
(const Evas_Object *obj, Evas_Coord *l, Evas_Coord *r, Evas_Coord *t, Evas_
Coord *b) EINA_ARG_NONNULL(1); | |
| /** | | /** | |
| * @} | | * @} | |
| */ | | */ | |
| | | | |
| /** | | /** | |
| * @defgroup Evas_Line_Group Line Object Functions | | * @defgroup Evas_Line_Group Line Object Functions | |
| | | | |
| skipping to change at line 8887 | | skipping to change at line 9205 | |
| | | | |
| /** | | /** | |
| * Removes all of the points from the given evas polygon object. | | * Removes all of the points from the given evas polygon object. | |
| * @param obj The given polygon object. | | * @param obj The given polygon object. | |
| */ | | */ | |
| EAPI void evas_object_polygon_points_clear (Evas_Object *obj)
EINA_ARG_NONNULL(1); | | EAPI void evas_object_polygon_points_clear (Evas_Object *obj)
EINA_ARG_NONNULL(1); | |
| /** | | /** | |
| * @} | | * @} | |
| */ | | */ | |
| | | | |
|
| | | /* @since 1.2.0 */ | |
| | | EAPI void evas_object_is_frame_object_set(Evas_Object *obj, Ei | |
| | | na_Bool is_frame); | |
| | | | |
| | | /* @since 1.2.0 */ | |
| | | EAPI Eina_Bool evas_object_is_frame_object_get(Evas_Object *obj); | |
| | | | |
| /** | | /** | |
| * @defgroup Evas_Smart_Group Smart Functions | | * @defgroup Evas_Smart_Group Smart Functions | |
| * | | * | |
| * Functions that deal with #Evas_Smart structs, creating definition | | * Functions that deal with #Evas_Smart structs, creating definition | |
| * (classes) of objects that will have customized behavior for methods | | * (classes) of objects that will have customized behavior for methods | |
| * like evas_object_move(), evas_object_resize(), | | * like evas_object_move(), evas_object_resize(), | |
| * evas_object_clip_set() and others. | | * evas_object_clip_set() and others. | |
| * | | * | |
| * These objects will accept the generic methods defined in @ref | | * These objects will accept the generic methods defined in @ref | |
| * Evas_Object_Group and the extensions defined in @ref | | * Evas_Object_Group and the extensions defined in @ref | |
| | | | |
| skipping to change at line 9108 | | skipping to change at line 9432 | |
| * @param cb_desc Array of callback descriptions for this smart class. | | * @param cb_desc Array of callback descriptions for this smart class. | |
| * | | * | |
| * This macro saves some typing when writing a smart class derived | | * This macro saves some typing when writing a smart class derived | |
| * from another one. In order to work, the user @b must provide some | | * from another one. In order to work, the user @b must provide some | |
| * functions adhering to the following guidelines: | | * functions adhering to the following guidelines: | |
| * - @<prefix@>_smart_set_user(): the @b internal @c _smart_set | | * - @<prefix@>_smart_set_user(): the @b internal @c _smart_set | |
| * function (defined by this macro) will call this one, provided by | | * function (defined by this macro) will call this one, provided by | |
| * the user, after inheriting everything from the parent, which | | * the user, after inheriting everything from the parent, which | |
| * should <b>take care of setting the right member functions for | | * should <b>take care of setting the right member functions for | |
| * the class</b>, both overrides and extensions, if any. | | * the class</b>, both overrides and extensions, if any. | |
|
| * - If this new class should be subclassable as well, a @b public @c | | * - If this new class should be subclassable as well, a @b public | |
| * _smart_set() function is desirable to fill in the class used as | | * @c _smart_set() function is desirable to fill in the class used as | |
| * parent by the children. It's up to the user to provide this | | * parent by the children. It's up to the user to provide this | |
| * interface, which will most likely call @<prefix@>_smart_set() to | | * interface, which will most likely call @<prefix@>_smart_set() to | |
| * get the job done. | | * get the job done. | |
| * | | * | |
| * After the macro's usage, the following will be defined for use: | | * After the macro's usage, the following will be defined for use: | |
| * - @<prefix@>_parent_sc: A pointer to the @b parent smart | | * - @<prefix@>_parent_sc: A pointer to the @b parent smart | |
| * class. When calling parent functions from overloaded ones, use | | * class. When calling parent functions from overloaded ones, use | |
| * this global variable. | | * this global variable. | |
| * - @<prefix@>_smart_class_new(): this function returns the | | * - @<prefix@>_smart_class_new(): this function returns the | |
| * #Evas_Smart needed to create smart objects with this class, | | * #Evas_Smart needed to create smart objects with this class, | |
| | | | |
| skipping to change at line 9139 | | skipping to change at line 9463 | |
| #define EVAS_SMART_SUBCLASS_NEW(smart_name, prefix, api_type, parent_type,
parent_func, cb_desc) \ | | #define EVAS_SMART_SUBCLASS_NEW(smart_name, prefix, api_type, parent_type,
parent_func, cb_desc) \ | |
| static const parent_type * prefix##_parent_sc = NULL;
\ | | static const parent_type * prefix##_parent_sc = NULL;
\ | |
| static void prefix##_smart_set_user(api_type *api); \ | | static void prefix##_smart_set_user(api_type *api); \ | |
| static void prefix##_smart_set(api_type *api)
\ | | static void prefix##_smart_set(api_type *api)
\ | |
| { \ | | { \ | |
| Evas_Smart_Class *sc; \ | | Evas_Smart_Class *sc; \ | |
| if (!(sc = (Evas_Smart_Class *)api)) \ | | if (!(sc = (Evas_Smart_Class *)api)) \ | |
| return; \ | | return; \ | |
| if (!prefix##_parent_sc) \ | | if (!prefix##_parent_sc) \ | |
| prefix##_parent_sc = parent_func(); \ | | prefix##_parent_sc = parent_func(); \ | |
|
| evas_smart_class_inherit(sc, (const Evas_Smart_Class *)prefix##_parent
_sc); \ | | evas_smart_class_inherit(sc, prefix##_parent_sc); \ | |
| prefix##_smart_set_user(api); \ | | prefix##_smart_set_user(api); \ | |
| } \ | | } \ | |
| static Evas_Smart * prefix##_smart_class_new(void) \ | | static Evas_Smart * prefix##_smart_class_new(void) \ | |
| { \ | | { \ | |
| static Evas_Smart *smart = NULL; \ | | static Evas_Smart *smart = NULL; \ | |
| static api_type api; \ | | static api_type api; \ | |
| if (!smart) \ | | if (!smart) \ | |
| { \ | | { \ | |
| Evas_Smart_Class *sc = (Evas_Smart_Class *)&api; \ | | Evas_Smart_Class *sc = (Evas_Smart_Class *)&api; \ | |
| memset(&api, 0, sizeof(api_type)); \ | | memset(&api, 0, sizeof(api_type)); \ | |
| | | | |
| skipping to change at line 9168 | | skipping to change at line 9492 | |
| | | | |
| /** | | /** | |
| * @def EVAS_SMART_DATA_ALLOC | | * @def EVAS_SMART_DATA_ALLOC | |
| * | | * | |
| * Convenience macro to allocate smart data only if needed. | | * Convenience macro to allocate smart data only if needed. | |
| * | | * | |
| * When writing a subclassable smart object, the @c .add() function | | * When writing a subclassable smart object, the @c .add() function | |
| * will need to check if the smart private data was already allocated | | * will need to check if the smart private data was already allocated | |
| * by some child object or not. This macro makes it easier to do it. | | * by some child object or not. This macro makes it easier to do it. | |
| * | | * | |
|
| * @note This is an idiom used when one calls the parent's @c. add() | | * @note This is an idiom used when one calls the parent's @c .add() | |
| * after the specialized code. Naturally, the parent's base smart data | | * after the specialized code. Naturally, the parent's base smart data | |
| * has to be contemplated as the specialized one's first member, for | | * has to be contemplated as the specialized one's first member, for | |
| * things to work. | | * things to work. | |
| * | | * | |
| * @param o Evas object passed to the @c .add() function | | * @param o Evas object passed to the @c .add() function | |
| * @param priv_type The type of the data to allocate | | * @param priv_type The type of the data to allocate | |
| * | | * | |
| * @ingroup Evas_Smart_Group | | * @ingroup Evas_Smart_Group | |
| */ | | */ | |
| #define EVAS_SMART_DATA_ALLOC(o, priv_type) \ | | #define EVAS_SMART_DATA_ALLOC(o, priv_type) \ | |
| | | | |
| skipping to change at line 9228 | | skipping to change at line 9552 | |
| * which will make use of this function automatically for you. | | * which will make use of this function automatically for you. | |
| */ | | */ | |
| EAPI Evas_Smart *evas_smart_class_new (
const Evas_Smart_Class *sc) EINA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1) EIN
A_MALLOC; | | EAPI Evas_Smart *evas_smart_class_new (
const Evas_Smart_Class *sc) EINA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1) EIN
A_MALLOC; | |
| | | | |
| /** | | /** | |
| * Get the #Evas_Smart_Class handle of an #Evas_Smart struct | | * Get the #Evas_Smart_Class handle of an #Evas_Smart struct | |
| * | | * | |
| * @param s a valid #Evas_Smart pointer | | * @param s a valid #Evas_Smart pointer | |
| * @return the #Evas_Smart_Class in it | | * @return the #Evas_Smart_Class in it | |
| */ | | */ | |
|
| EAPI const Evas_Smart_Class *evas_smart_class_get (
const Evas_Smart *s) EINA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1) EINA_PURE; | | EAPI const Evas_Smart_Class *evas_smart_class_get (
const Evas_Smart *s) EINA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1); | |
| | | | |
| /** | | /** | |
| * @brief Get the data pointer set on an #Evas_Smart struct | | * @brief Get the data pointer set on an #Evas_Smart struct | |
| * | | * | |
| * @param s a valid #Evas_Smart handle | | * @param s a valid #Evas_Smart handle | |
| * | | * | |
| * This data pointer is set as the data field in the #Evas_Smart_Class | | * This data pointer is set as the data field in the #Evas_Smart_Class | |
| * passed in to evas_smart_class_new(). | | * passed in to evas_smart_class_new(). | |
| */ | | */ | |
|
| EAPI void *evas_smart_data_get (
const Evas_Smart *s) EINA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1) EINA_PURE; | | EAPI void *evas_smart_data_get (
const Evas_Smart *s) EINA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1); | |
| | | | |
| /** | | /** | |
| * Get the smart callbacks known by this #Evas_Smart handle's smart | | * Get the smart callbacks known by this #Evas_Smart handle's smart | |
| * class hierarchy. | | * class hierarchy. | |
| * | | * | |
| * @param s A valid #Evas_Smart handle. | | * @param s A valid #Evas_Smart handle. | |
| * @param[out] count Returns the number of elements in the returned | | * @param[out] count Returns the number of elements in the returned | |
| * array. | | * array. | |
| * @return The array with callback descriptions known by this smart | | * @return The array with callback descriptions known by this smart | |
| * class, with its size returned in @a count parameter. It | | * class, with its size returned in @a count parameter. It | |
| * should not be modified in any way. If no callbacks are | | * should not be modified in any way. If no callbacks are | |
| * known, @c NULL is returned. The array is sorted by event | | * known, @c NULL is returned. The array is sorted by event | |
| * names and elements refer to the original values given to | | * names and elements refer to the original values given to | |
|
| * evas_smart_class_new()'s #Evas_Smart_Class::callbacks | | * evas_smart_class_new()'s Evas_Smart_Class::callbacks | |
| * (pointer to them). | | * (pointer to them). | |
| * | | * | |
| * This is likely different from | | * This is likely different from | |
| * evas_object_smart_callbacks_descriptions_get() as it will contain | | * evas_object_smart_callbacks_descriptions_get() as it will contain | |
| * the callbacks of @b all this class hierarchy sorted, while the | | * the callbacks of @b all this class hierarchy sorted, while the | |
| * direct smart class member refers only to that specific class and | | * direct smart class member refers only to that specific class and | |
| * should not include parent's. | | * should not include parent's. | |
| * | | * | |
| * If no callbacks are known, this function returns @c NULL. | | * If no callbacks are known, this function returns @c NULL. | |
| * | | * | |
| | | | |
| skipping to change at line 9291 | | skipping to change at line 9615 | |
| * @param s The #Evas_Smart where to search for class registered smart | | * @param s The #Evas_Smart where to search for class registered smart | |
| * event callbacks. | | * event callbacks. | |
| * @param name Name of the desired callback, which must @b not be @c | | * @param name Name of the desired callback, which must @b not be @c | |
| * NULL. The search has a special case for @a name being the | | * NULL. The search has a special case for @a name being the | |
| * same pointer as registered with #Evas_Smart_Cb_Description. | | * same pointer as registered with #Evas_Smart_Cb_Description. | |
| * One can use it to avoid excessive use of strcmp(). | | * One can use it to avoid excessive use of strcmp(). | |
| * @return A reference to the description if found, or @c NULL, otherwise | | * @return A reference to the description if found, or @c NULL, otherwise | |
| * | | * | |
| * @see evas_smart_callbacks_descriptions_get() | | * @see evas_smart_callbacks_descriptions_get() | |
| */ | | */ | |
|
| EAPI const Evas_Smart_Cb_Description *evas_smart_callback_description_find(
const Evas_Smart *s, const char *name) EINA_ARG_NONNULL(1, 2) EINA_PURE; | | EAPI const Evas_Smart_Cb_Description *evas_smart_callback_description_find(
const Evas_Smart *s, const char *name) EINA_ARG_NONNULL(1, 2); | |
| | | | |
| /** | | /** | |
| * Sets one class to inherit from the other. | | * Sets one class to inherit from the other. | |
| * | | * | |
| * Copy all function pointers, set @c parent to @a parent_sc and copy | | * Copy all function pointers, set @c parent to @a parent_sc and copy | |
| * everything after sizeof(Evas_Smart_Class) present in @a parent_sc, | | * everything after sizeof(Evas_Smart_Class) present in @a parent_sc, | |
| * using @a parent_sc_size as reference. | | * using @a parent_sc_size as reference. | |
| * | | * | |
| * This is recommended instead of a single memcpy() since it will take | | * This is recommended instead of a single memcpy() since it will take | |
| * care to not modify @a sc name, version, callbacks and possible | | * care to not modify @a sc name, version, callbacks and possible | |
| | | | |
| skipping to change at line 9344 | | skipping to change at line 9668 | |
| * @def evas_smart_class_inherit | | * @def evas_smart_class_inherit | |
| * Easy to use version of evas_smart_class_inherit_full(). | | * Easy to use version of evas_smart_class_inherit_full(). | |
| * | | * | |
| * This version will use sizeof(parent_sc), copying everything. | | * This version will use sizeof(parent_sc), copying everything. | |
| * | | * | |
| * @param sc child class, will have methods copied from @a parent_sc | | * @param sc child class, will have methods copied from @a parent_sc | |
| * @param parent_sc parent class, will provide contents to be copied. | | * @param parent_sc parent class, will provide contents to be copied. | |
| * @return 1 on success, 0 on failure. | | * @return 1 on success, 0 on failure. | |
| * @ingroup Evas_Smart_Group | | * @ingroup Evas_Smart_Group | |
| */ | | */ | |
|
| #define evas_smart_class_inherit(sc, parent_sc) evas_smart_class_inherit_fu
ll(sc, parent_sc, sizeof(*parent_sc)) | | #define evas_smart_class_inherit(sc, parent_sc) evas_smart_class_inherit_fu
ll(sc, (Evas_Smart_Class *)parent_sc, sizeof(*parent_sc)) | |
| | | | |
| /** | | /** | |
| * @} | | * @} | |
| */ | | */ | |
| | | | |
| /** | | /** | |
| * @defgroup Evas_Smart_Object_Group Smart Object Functions | | * @defgroup Evas_Smart_Object_Group Smart Object Functions | |
| * | | * | |
| * Functions dealing with Evas smart objects (instances). | | * Functions dealing with Evas smart objects (instances). | |
| * | | * | |
| * Smart objects are groupings of primitive Evas objects that behave | | * Smart objects are groupings of primitive Evas objects that behave | |
| * as a cohesive group. For instance, a file manager icon may be a | | * as a cohesive group. For instance, a file manager icon may be a | |
| * smart object composed of an image object, a text label and two | | * smart object composed of an image object, a text label and two | |
| * rectangles that appear behind the image and text when the icon is | | * rectangles that appear behind the image and text when the icon is | |
| * selected. As a smart object, the normal Evas object API could be | | * selected. As a smart object, the normal Evas object API could be | |
| * used on the icon object. | | * used on the icon object. | |
| * | | * | |
| * Besides that, generally smart objects implement a <b>specific | | * Besides that, generally smart objects implement a <b>specific | |
|
| * API</b>, so that users interect with its own custom features. The | | * API</b>, so that users interact with its own custom features. The | |
| * API takes form of explicit exported functions one may call and | | * API takes form of explicit exported functions one may call and | |
| * <b>smart callbacks</b>. | | * <b>smart callbacks</b>. | |
| * | | * | |
| * @section Evas_Smart_Object_Group_Callbacks Smart events and callbacks | | * @section Evas_Smart_Object_Group_Callbacks Smart events and callbacks | |
| * | | * | |
|
| * Smart objects can elect events (smart events, from now on) ocurring | | * Smart objects can elect events (smart events, from now on) occurring | |
| * inside of them to be reported back to their users via callback | | * inside of them to be reported back to their users via callback | |
| * functions (smart callbacks). This way, you can extend Evas' own | | * functions (smart callbacks). This way, you can extend Evas' own | |
| * object events. They are defined by an <b>event string</b>, which | | * object events. They are defined by an <b>event string</b>, which | |
| * identifies them uniquely. There's also a function prototype | | * identifies them uniquely. There's also a function prototype | |
| * definition for the callback functions: #Evas_Smart_Cb. | | * definition for the callback functions: #Evas_Smart_Cb. | |
| * | | * | |
| * When defining an #Evas_Smart_Class, smart object implementors are | | * When defining an #Evas_Smart_Class, smart object implementors are | |
|
| * strongly encorauged to properly set the Evas_Smart_Class::callbacks | | * strongly encouraged to properly set the Evas_Smart_Class::callbacks | |
| * callbacks description array, so that the users of the smart object | | * callbacks description array, so that the users of the smart object | |
| * can have introspection on its events API <b>at run time</b>. | | * can have introspection on its events API <b>at run time</b>. | |
| * | | * | |
| * See some @ref Example_Evas_Smart_Objects "examples" of this group | | * See some @ref Example_Evas_Smart_Objects "examples" of this group | |
| * of functions. | | * of functions. | |
| * | | * | |
| * @see @ref Evas_Smart_Group for class definitions. | | * @see @ref Evas_Smart_Group for class definitions. | |
| */ | | */ | |
| | | | |
| /** | | /** | |
| | | | |
| skipping to change at line 9459 | | skipping to change at line 9783 | |
| * | | * | |
| * @param obj the smart object to get members from | | * @param obj the smart object to get members from | |
| * @return Returns the list of the member objects of @p obj. | | * @return Returns the list of the member objects of @p obj. | |
| * | | * | |
| * The returned list should be freed with @c eina_list_free() when you | | * The returned list should be freed with @c eina_list_free() when you | |
| * no longer need it. | | * no longer need it. | |
| * | | * | |
| * @see evas_object_smart_member_add() | | * @see evas_object_smart_member_add() | |
| * @see evas_object_smart_member_del() | | * @see evas_object_smart_member_del() | |
| */ | | */ | |
|
| EAPI Eina_List *evas_object_smart_members_get (const Evas_Object
*obj) EINA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1) EINA_PURE; | | EAPI Eina_List *evas_object_smart_members_get (const Evas_Object
*obj) EINA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1); | |
| | | | |
| /** | | /** | |
| * Gets the parent smart object of a given Evas object, if it has one. | | * Gets the parent smart object of a given Evas object, if it has one. | |
| * | | * | |
| * @param obj the Evas object you want to get the parent smart object | | * @param obj the Evas object you want to get the parent smart object | |
| * from | | * from | |
| * @return Returns the parent smart object of @a obj or @c NULL, if @a | | * @return Returns the parent smart object of @a obj or @c NULL, if @a | |
| * obj is not a smart member of any | | * obj is not a smart member of any | |
| * | | * | |
| * @ingroup Evas_Smart_Object_Group | | * @ingroup Evas_Smart_Object_Group | |
| */ | | */ | |
|
| EAPI Evas_Object *evas_object_smart_parent_get (const Evas_Object
*obj) EINA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1) EINA_PURE; | | EAPI Evas_Object *evas_object_smart_parent_get (const Evas_Object
*obj) EINA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1); | |
| | | | |
| /** | | /** | |
| * Checks whether a given smart object or any of its smart object | | * Checks whether a given smart object or any of its smart object | |
| * parents is of a given smart class. | | * parents is of a given smart class. | |
| * | | * | |
| * @param obj An Evas smart object to check the type of | | * @param obj An Evas smart object to check the type of | |
| * @param type The @b name (type) of the smart class to check for | | * @param type The @b name (type) of the smart class to check for | |
| * @return @c EINA_TRUE, if @a obj or any of its parents is of type @a | | * @return @c EINA_TRUE, if @a obj or any of its parents is of type @a | |
| * type, @c EINA_FALSE otherwise | | * type, @c EINA_FALSE otherwise | |
| * | | * | |
| | | | |
| skipping to change at line 9498 | | skipping to change at line 9822 | |
| * The checks use smart classes names and <b>string | | * The checks use smart classes names and <b>string | |
| * comparison</b>. There is a version of this same check using | | * comparison</b>. There is a version of this same check using | |
| * <b>pointer comparison</b>, since a smart class' name is a single | | * <b>pointer comparison</b>, since a smart class' name is a single | |
| * string in Evas. | | * string in Evas. | |
| * | | * | |
| * @see evas_object_smart_type_check_ptr() | | * @see evas_object_smart_type_check_ptr() | |
| * @see #EVAS_SMART_SUBCLASS_NEW | | * @see #EVAS_SMART_SUBCLASS_NEW | |
| * | | * | |
| * @ingroup Evas_Smart_Object_Group | | * @ingroup Evas_Smart_Object_Group | |
| */ | | */ | |
|
| EAPI Eina_Bool evas_object_smart_type_check (const Evas_Object
*obj, const char *type) EINA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1, 2) EIN
A_PURE; | | EAPI Eina_Bool evas_object_smart_type_check (const Evas_Object
*obj, const char *type) EINA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1, 2); | |
| | | | |
| /** | | /** | |
| * Checks whether a given smart object or any of its smart object | | * Checks whether a given smart object or any of its smart object | |
| * parents is of a given smart class, <b>using pointer comparison</b>. | | * parents is of a given smart class, <b>using pointer comparison</b>. | |
| * | | * | |
| * @param obj An Evas smart object to check the type of | | * @param obj An Evas smart object to check the type of | |
| * @param type The type (name string) to check for. Must be the name | | * @param type The type (name string) to check for. Must be the name | |
| * @return @c EINA_TRUE, if @a obj or any of its parents is of type @a | | * @return @c EINA_TRUE, if @a obj or any of its parents is of type @a | |
| * type, @c EINA_FALSE otherwise | | * type, @c EINA_FALSE otherwise | |
| * | | * | |
| * @see evas_object_smart_type_check() for more details | | * @see evas_object_smart_type_check() for more details | |
| * | | * | |
| * @ingroup Evas_Smart_Object_Group | | * @ingroup Evas_Smart_Object_Group | |
| */ | | */ | |
|
| EAPI Eina_Bool evas_object_smart_type_check_ptr (const Evas_Object
*obj, const char *type) EINA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1, 2) EIN
A_PURE; | | EAPI Eina_Bool evas_object_smart_type_check_ptr (const Evas_Object
*obj, const char *type) EINA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1, 2); | |
| | | | |
| /** | | /** | |
| * Get the #Evas_Smart from which @p obj smart object was created. | | * Get the #Evas_Smart from which @p obj smart object was created. | |
| * | | * | |
| * @param obj a smart object | | * @param obj a smart object | |
| * @return the #Evas_Smart handle or @c NULL, on errors | | * @return the #Evas_Smart handle or @c NULL, on errors | |
| * | | * | |
| * @ingroup Evas_Smart_Object_Group | | * @ingroup Evas_Smart_Object_Group | |
| */ | | */ | |
|
| EAPI Evas_Smart *evas_object_smart_smart_get (const Evas_Object
*obj) EINA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1) EINA_PURE; | | EAPI Evas_Smart *evas_object_smart_smart_get (const Evas_Object
*obj) EINA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1); | |
| | | | |
| /** | | /** | |
| * Retrieve user data stored on a given smart object. | | * Retrieve user data stored on a given smart object. | |
| * | | * | |
| * @param obj The smart object's handle | | * @param obj The smart object's handle | |
| * @return A pointer to data stored using | | * @return A pointer to data stored using | |
| * evas_object_smart_data_set(), or @c NULL, if none has been | | * evas_object_smart_data_set(), or @c NULL, if none has been | |
| * set. | | * set. | |
| * | | * | |
| * @see evas_object_smart_data_set() | | * @see evas_object_smart_data_set() | |
| * | | * | |
| * @ingroup Evas_Smart_Object_Group | | * @ingroup Evas_Smart_Object_Group | |
| */ | | */ | |
|
| EAPI void *evas_object_smart_data_get (const Evas_Object
*obj) EINA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1) EINA_PURE; | | EAPI void *evas_object_smart_data_get (const Evas_Object
*obj) EINA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1); | |
| | | | |
| /** | | /** | |
| * Store a pointer to user data for a given smart object. | | * Store a pointer to user data for a given smart object. | |
| * | | * | |
| * @param obj The smart object's handle | | * @param obj The smart object's handle | |
| * @param data A pointer to user data | | * @param data A pointer to user data | |
| * | | * | |
| * This data is stored @b independently of the one set by | | * This data is stored @b independently of the one set by | |
| * evas_object_data_set(), naturally. | | * evas_object_data_set(), naturally. | |
| * | | * | |
| | | | |
| skipping to change at line 9635 | | skipping to change at line 9959 | |
| * parameter) when the callback(s) was(were) added to the canvas. If | | * parameter) when the callback(s) was(were) added to the canvas. If | |
| * not successful @c NULL will be returned. | | * not successful @c NULL will be returned. | |
| * | | * | |
| * @see evas_object_smart_callback_add() for more details. | | * @see evas_object_smart_callback_add() for more details. | |
| * | | * | |
| * @ingroup Evas_Smart_Object_Group | | * @ingroup Evas_Smart_Object_Group | |
| */ | | */ | |
| EAPI void *evas_object_smart_callback_del (Evas_Object *obj,
const char *event, Evas_Smart_Cb func) EINA_ARG_NONNULL(1, 2, 3); | | EAPI void *evas_object_smart_callback_del (Evas_Object *obj,
const char *event, Evas_Smart_Cb func) EINA_ARG_NONNULL(1, 2, 3); | |
| | | | |
| /** | | /** | |
|
| | | * Delete (unregister) a callback function from the smart event | |
| | | * specified by @p event on the smart object @p obj. | |
| | | * | |
| | | * @param obj a smart object | |
| | | * @param event the event's name string | |
| | | * @param func the callback function | |
| | | * @param data the data pointer that was passed to the callback | |
| | | * @return the data pointer | |
| | | * | |
| | | * This function removes <b>the first</b> added smart callback on the | |
| | | * object @p obj matching the event name @p event, the registered | |
| | | * function pointer @p func and the callback data pointer @p data. If | |
| | | * the removal is successful it will also return the data pointer that | |
| | | * was passed to evas_object_smart_callback_add() (that will be the same | |
| | | * as the parameter) when the callback(s) was(were) added to the canvas. | |
| | | * If not successful @c NULL will be returned. A common use would be to | |
| | | * remove an exact match of a callback | |
| | | * | |
| | | * @see evas_object_smart_callback_add() for more details. | |
| | | * @since 1.2.0 | |
| | | * @ingroup Evas_Smart_Object_Group | |
| | | * | |
| | | * @note To delete all smart event callbacks which match @p type and @p fun | |
| | | c, | |
| | | * use evas_object_smart_callback_del(). | |
| | | */ | |
| | | EAPI void *evas_object_smart_callback_del_full(Evas_Object *obj | |
| | | , const char *event, Evas_Smart_Cb func, const void *data) EINA_ARG_NONNULL | |
| | | (1, 2, 3); | |
| | | | |
| | | /** | |
| * Call a given smart callback on the smart object @p obj. | | * Call a given smart callback on the smart object @p obj. | |
| * | | * | |
| * @param obj the smart object | | * @param obj the smart object | |
| * @param event the event's name string | | * @param event the event's name string | |
| * @param event_info pointer to an event specific struct or information to | | * @param event_info pointer to an event specific struct or information to | |
| * pass to the callback functions registered on this smart event | | * pass to the callback functions registered on this smart event | |
| * | | * | |
| * This should be called @b internally, from the smart object's own | | * This should be called @b internally, from the smart object's own | |
| * code, when some specific event has occurred and the implementor | | * code, when some specific event has occurred and the implementor | |
| * wants is to pertain to the object's events API (see @ref | | * wants is to pertain to the object's events API (see @ref | |
| * Evas_Smart_Object_Group_Callbacks). The documentation for the smart | | * Evas_Smart_Object_Group_Callbacks). The documentation for the smart | |
| * object should include a list of possible events and what type of @p | | * object should include a list of possible events and what type of @p | |
| * event_info to expect for each of them. Also, when defining an | | * event_info to expect for each of them. Also, when defining an | |
| * #Evas_Smart_Class, smart object implementors are strongly | | * #Evas_Smart_Class, smart object implementors are strongly | |
|
| * encorauged to properly set the Evas_Smart_Class::callbacks | | * encouraged to properly set the Evas_Smart_Class::callbacks | |
| * callbacks description array, so that the users of the smart object | | * callbacks description array, so that the users of the smart object | |
| * can have introspection on its events API <b>at run time</b>. | | * can have introspection on its events API <b>at run time</b>. | |
| * | | * | |
| * @ingroup Evas_Smart_Object_Group | | * @ingroup Evas_Smart_Object_Group | |
| */ | | */ | |
| EAPI void evas_object_smart_callback_call (Evas_Object *obj,
const char *event, void *event_info) EINA_ARG_NONNULL(1, 2); | | EAPI void evas_object_smart_callback_call (Evas_Object *obj,
const char *event, void *event_info) EINA_ARG_NONNULL(1, 2); | |
| | | | |
| /** | | /** | |
| * Set an smart object @b instance's smart callbacks descriptions. | | * Set an smart object @b instance's smart callbacks descriptions. | |
| * | | * | |
| | | | |
| skipping to change at line 9707 | | skipping to change at line 10059 | |
| * descriptions array, if any is known. If no descriptions are | | * descriptions array, if any is known. If no descriptions are | |
| * known, @c NULL is returned | | * known, @c NULL is returned | |
| * @param class_count Returns how many class callbacks descriptions | | * @param class_count Returns how many class callbacks descriptions | |
| * are known. | | * are known. | |
| * @param instance_descriptions Where to store instance callbacks | | * @param instance_descriptions Where to store instance callbacks | |
| * descriptions array, if any is known. If no descriptions are | | * descriptions array, if any is known. If no descriptions are | |
| * known, @c NULL is returned. | | * known, @c NULL is returned. | |
| * @param instance_count Returns how many instance callbacks | | * @param instance_count Returns how many instance callbacks | |
| * descriptions are known. | | * descriptions are known. | |
| * | | * | |
|
| * This call searchs for registered callback descriptions for both | | * This call searches for registered callback descriptions for both | |
| * instance and class of the given smart object. These arrays will be | | * instance and class of the given smart object. These arrays will be | |
| * sorted by Evas_Smart_Cb_Description::name and also @c NULL | | * sorted by Evas_Smart_Cb_Description::name and also @c NULL | |
| * terminated, so both @a class_count and @a instance_count can be | | * terminated, so both @a class_count and @a instance_count can be | |
| * ignored, if the caller wishes so. The terminator @c NULL is not | | * ignored, if the caller wishes so. The terminator @c NULL is not | |
| * counted in these values. | | * counted in these values. | |
| * | | * | |
| * @note If just class descriptions are of interest, try | | * @note If just class descriptions are of interest, try | |
| * evas_smart_callbacks_descriptions_get() instead. | | * evas_smart_callbacks_descriptions_get() instead. | |
| * | | * | |
| * @note Use @c NULL pointers on the descriptions/counters you're not | | * @note Use @c NULL pointers on the descriptions/counters you're not | |
| | | | |
| skipping to change at line 9734 | | skipping to change at line 10086 | |
| EAPI void evas_object_smart_callbacks_descriptions_get(const E
vas_Object *obj, const Evas_Smart_Cb_Description ***class_descriptions, uns
igned int *class_count, const Evas_Smart_Cb_Description ***instance_descrip
tions, unsigned int *instance_count) EINA_ARG_NONNULL(1); | | EAPI void evas_object_smart_callbacks_descriptions_get(const E
vas_Object *obj, const Evas_Smart_Cb_Description ***class_descriptions, uns
igned int *class_count, const Evas_Smart_Cb_Description ***instance_descrip
tions, unsigned int *instance_count) EINA_ARG_NONNULL(1); | |
| | | | |
| /** | | /** | |
| * Find callback description for callback called @a name. | | * Find callback description for callback called @a name. | |
| * | | * | |
| * @param obj the smart object. | | * @param obj the smart object. | |
| * @param name name of desired callback, must @b not be @c NULL. The | | * @param name name of desired callback, must @b not be @c NULL. The | |
| * search have a special case for @a name being the same | | * search have a special case for @a name being the same | |
| * pointer as registered with Evas_Smart_Cb_Description, one | | * pointer as registered with Evas_Smart_Cb_Description, one | |
| * can use it to avoid excessive use of strcmp(). | | * can use it to avoid excessive use of strcmp(). | |
|
| * @param class_description pointer to return class description or @c | | * @param class_description pointer to return class description or | |
| * NULL if not found. If parameter is @c NULL, no search will | | * @c NULL if not found. If parameter is @c NULL, no search will | |
| * be done on class descriptions. | | * be done on class descriptions. | |
| * @param instance_description pointer to return instance description | | * @param instance_description pointer to return instance description | |
| * or @c NULL if not found. If parameter is @c NULL, no search | | * or @c NULL if not found. If parameter is @c NULL, no search | |
| * will be done on instance descriptions. | | * will be done on instance descriptions. | |
| * @return reference to description if found, @c NULL if not found. | | * @return reference to description if found, @c NULL if not found. | |
| */ | | */ | |
| EAPI void evas_object_smart_callback_description_find(const Ev
as_Object *obj, const char *name, const Evas_Smart_Cb_Description **class_d
escription, const Evas_Smart_Cb_Description **instance_description) EINA_AR
G_NONNULL(1, 2); | | EAPI void evas_object_smart_callback_description_find(const Ev
as_Object *obj, const char *name, const Evas_Smart_Cb_Description **class_d
escription, const Evas_Smart_Cb_Description **instance_description) EINA_AR
G_NONNULL(1, 2); | |
| | | | |
| /** | | /** | |
| * Mark smart object as changed, dirty. | | * Mark smart object as changed, dirty. | |
| | | | |
| skipping to change at line 9779 | | skipping to change at line 10131 | |
| * obj will be called, if one is provided, during rendering phase of | | * obj will be called, if one is provided, during rendering phase of | |
| * Evas (see evas_render()), after which this flag will be | | * Evas (see evas_render()), after which this flag will be | |
| * automatically unset. | | * automatically unset. | |
| * | | * | |
| * If that smart function is not provided for the given object, this | | * If that smart function is not provided for the given object, this | |
| * flag will be left unchanged. | | * flag will be left unchanged. | |
| * | | * | |
| * @note just setting this flag will not make the canvas' whole scene | | * @note just setting this flag will not make the canvas' whole scene | |
| * dirty, by itself, and evas_render() will have no effect. To | | * dirty, by itself, and evas_render() will have no effect. To | |
| * force that, use evas_object_smart_changed(), that will also | | * force that, use evas_object_smart_changed(), that will also | |
|
| * automatically call this function automatically, with @c | | * automatically call this function automatically, with | |
| * EINA_TRUE as parameter. | | * @c EINA_TRUE as parameter. | |
| * | | * | |
| * @see evas_object_smart_need_recalculate_get() | | * @see evas_object_smart_need_recalculate_get() | |
| * @see evas_object_smart_calculate() | | * @see evas_object_smart_calculate() | |
| * @see evas_smart_objects_calculate() | | * @see evas_smart_objects_calculate() | |
| * | | * | |
| * @ingroup Evas_Smart_Object_Group | | * @ingroup Evas_Smart_Object_Group | |
| */ | | */ | |
| EAPI void evas_object_smart_need_recalculate_set(Evas_Object *
obj, Eina_Bool value) EINA_ARG_NONNULL(1); | | EAPI void evas_object_smart_need_recalculate_set(Evas_Object *
obj, Eina_Bool value) EINA_ARG_NONNULL(1); | |
| | | | |
| /** | | /** | |
| | | | |
| skipping to change at line 9806 | | skipping to change at line 10158 | |
| * | | * | |
| * @note this flag will be unset during the rendering phase, when the | | * @note this flag will be unset during the rendering phase, when the | |
| * @c calculate() smart function is called, if one is provided. | | * @c calculate() smart function is called, if one is provided. | |
| * If it's not provided, then the flag will be left unchanged | | * If it's not provided, then the flag will be left unchanged | |
| * after the rendering phase. | | * after the rendering phase. | |
| * | | * | |
| * @see evas_object_smart_need_recalculate_set(), for more details | | * @see evas_object_smart_need_recalculate_set(), for more details | |
| * | | * | |
| * @ingroup Evas_Smart_Object_Group | | * @ingroup Evas_Smart_Object_Group | |
| */ | | */ | |
|
| EAPI Eina_Bool evas_object_smart_need_recalculate_get(const Evas_Ob
ject *obj) EINA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1) EINA_PURE; | | EAPI Eina_Bool evas_object_smart_need_recalculate_get(const Evas_Ob
ject *obj) EINA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1); | |
| | | | |
| /** | | /** | |
|
| * Call the @b calculate() smart function immediataly on a given smart | | * Call the @b calculate() smart function immediately on a given smart | |
| * object. | | * object. | |
| * | | * | |
| * @param obj the smart object's handle | | * @param obj the smart object's handle | |
| * | | * | |
| * This will force immediate calculations (see #Evas_Smart_Class) | | * This will force immediate calculations (see #Evas_Smart_Class) | |
| * needed for renderization of this object and, besides, unset the | | * needed for renderization of this object and, besides, unset the | |
| * flag on it telling it needs recalculation for the next rendering | | * flag on it telling it needs recalculation for the next rendering | |
| * phase. | | * phase. | |
| * | | * | |
| * @see evas_object_smart_need_recalculate_set() | | * @see evas_object_smart_need_recalculate_set() | |
| | | | |
| skipping to change at line 9848 | | skipping to change at line 10200 | |
| /** | | /** | |
| * This gets the internal counter that counts the number of smart calculati
ons | | * This gets the internal counter that counts the number of smart calculati
ons | |
| * | | * | |
| * @param e The canvas to get the calculate counter from | | * @param e The canvas to get the calculate counter from | |
| * | | * | |
| * Whenever evas performs smart object calculations on the whole canvas | | * Whenever evas performs smart object calculations on the whole canvas | |
| * it increments a counter by 1. This is the smart object calculate counter | | * it increments a counter by 1. This is the smart object calculate counter | |
| * that this function returns the value of. It starts at the value of 0 and | | * that this function returns the value of. It starts at the value of 0 and | |
| * will increase (and eventually wrap around to negative values and so on)
by | | * will increase (and eventually wrap around to negative values and so on)
by | |
| * 1 every time objects are calculated. You can use this counter to ensure | | * 1 every time objects are calculated. You can use this counter to ensure | |
|
| * you dont re-do calculations withint the same calculation generation/run | | * you don't re-do calculations withint the same calculation generation/run | |
| * if the calculations maybe cause self-feeding effects. | | * if the calculations maybe cause self-feeding effects. | |
| * | | * | |
| * @ingroup Evas_Smart_Object_Group | | * @ingroup Evas_Smart_Object_Group | |
| * @since 1.1 | | * @since 1.1 | |
| */ | | */ | |
| EAPI int evas_smart_objects_calculate_count_get (const Evas *
e); | | EAPI int evas_smart_objects_calculate_count_get (const Evas *
e); | |
| | | | |
| /** | | /** | |
| * Moves all children objects of a given smart object relative to a | | * Moves all children objects of a given smart object relative to a | |
| * given offset. | | * given offset. | |
| | | | |
| skipping to change at line 9926 | | skipping to change at line 10278 | |
| * | | * | |
| * @param obj the clipped smart object to retrieve associated clipper | | * @param obj the clipped smart object to retrieve associated clipper | |
| * from. | | * from. | |
| * @return the clipper object. | | * @return the clipper object. | |
| * | | * | |
| * Use this function if you want to change any of this clipper's | | * Use this function if you want to change any of this clipper's | |
| * properties, like colors. | | * properties, like colors. | |
| * | | * | |
| * @see evas_object_smart_clipped_smart_add() | | * @see evas_object_smart_clipped_smart_add() | |
| */ | | */ | |
|
| EAPI Evas_Object *evas_object_smart_clipped_clipper_get (Evas_
Object *obj) EINA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1) EINA_PURE; | | EAPI Evas_Object *evas_object_smart_clipped_clipper_get (Evas_
Object *obj) EINA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1); | |
| | | | |
| /** | | /** | |
| * Set a given smart class' callbacks so it implements the <b>clipped smart | | * Set a given smart class' callbacks so it implements the <b>clipped smart | |
| * object"</b>'s interface. | | * object"</b>'s interface. | |
| * | | * | |
| * @param sc The smart class handle to operate on | | * @param sc The smart class handle to operate on | |
| * | | * | |
| * This call will assign all the required methods of the @p sc | | * This call will assign all the required methods of the @p sc | |
| * #Evas_Smart_Class instance to the implementations set for clipped | | * #Evas_Smart_Class instance to the implementations set for clipped | |
| * smart objects. If one wants to "subclass" it, call this function | | * smart objects. If one wants to "subclass" it, call this function | |
| | | | |
| skipping to change at line 10104 | | skipping to change at line 10456 | |
| * @ingroup Evas_Object_Box | | * @ingroup Evas_Object_Box | |
| */ | | */ | |
| struct _Evas_Object_Box_Api | | struct _Evas_Object_Box_Api | |
| { | | { | |
| Evas_Smart_Class base; /**< Base smart class struct, need fo
r all smart objects */ | | Evas_Smart_Class base; /**< Base smart class struct, need fo
r all smart objects */ | |
| int version; /**< Version of this smart class d
efinition */ | | int version; /**< Version of this smart class d
efinition */ | |
| Evas_Object_Box_Option *(*append) (Evas_Object *o, Evas_Obj
ect_Box_Data *priv, Evas_Object *child); /**< Smart function to append chil
d elements in boxes */ | | Evas_Object_Box_Option *(*append) (Evas_Object *o, Evas_Obj
ect_Box_Data *priv, Evas_Object *child); /**< Smart function to append chil
d elements in boxes */ | |
| Evas_Object_Box_Option *(*prepend) (Evas_Object *o, Evas_Obj
ect_Box_Data *priv, Evas_Object *child); /**< Smart function to prepend chi
ld elements in boxes */ | | Evas_Object_Box_Option *(*prepend) (Evas_Object *o, Evas_Obj
ect_Box_Data *priv, Evas_Object *child); /**< Smart function to prepend chi
ld elements in boxes */ | |
| Evas_Object_Box_Option *(*insert_before) (Evas_Object *o, Evas_Obj
ect_Box_Data *priv, Evas_Object *child, const Evas_Object *reference); /**<
Smart function to insert a child element before another in boxes */ | | Evas_Object_Box_Option *(*insert_before) (Evas_Object *o, Evas_Obj
ect_Box_Data *priv, Evas_Object *child, const Evas_Object *reference); /**<
Smart function to insert a child element before another in boxes */ | |
| Evas_Object_Box_Option *(*insert_after) (Evas_Object *o, Evas_Obj
ect_Box_Data *priv, Evas_Object *child, const Evas_Object *reference); /**<
Smart function to insert a child element after another in boxes */ | | Evas_Object_Box_Option *(*insert_after) (Evas_Object *o, Evas_Obj
ect_Box_Data *priv, Evas_Object *child, const Evas_Object *reference); /**<
Smart function to insert a child element after another in boxes */ | |
|
| Evas_Object_Box_Option *(*insert_at) (Evas_Object *o, Evas_Obj
ect_Box_Data *priv, Evas_Object *child, unsigned int pos); /**< Smart funct
ion to insert a child element at a given positon on boxes */ | | Evas_Object_Box_Option *(*insert_at) (Evas_Object *o, Evas_Obj
ect_Box_Data *priv, Evas_Object *child, unsigned int pos); /**< Smart funct
ion to insert a child element at a given position on boxes */ | |
| Evas_Object *(*remove) (Evas_Object *o, Evas_Obj
ect_Box_Data *priv, Evas_Object *child); /**< Smart function to remove a ch
ild element from boxes */ | | Evas_Object *(*remove) (Evas_Object *o, Evas_Obj
ect_Box_Data *priv, Evas_Object *child); /**< Smart function to remove a ch
ild element from boxes */ | |
| Evas_Object *(*remove_at) (Evas_Object *o, Evas_Obj
ect_Box_Data *priv, unsigned int pos); /**< Smart function to remove a chil
d element from boxes, by its position */ | | Evas_Object *(*remove_at) (Evas_Object *o, Evas_Obj
ect_Box_Data *priv, unsigned int pos); /**< Smart function to remove a chil
d element from boxes, by its position */ | |
| Eina_Bool (*property_set) (Evas_Object *o, Evas_Obj
ect_Box_Option *opt, int property, va_list args); /**< Smart function to se
t a custom property on a box child */ | | Eina_Bool (*property_set) (Evas_Object *o, Evas_Obj
ect_Box_Option *opt, int property, va_list args); /**< Smart function to se
t a custom property on a box child */ | |
| Eina_Bool (*property_get) (Evas_Object *o, Evas_Obj
ect_Box_Option *opt, int property, va_list args); /**< Smart function to re
trieve a custom property from a box child */ | | Eina_Bool (*property_get) (Evas_Object *o, Evas_Obj
ect_Box_Option *opt, int property, va_list args); /**< Smart function to re
trieve a custom property from a box child */ | |
| const char *(*property_name_get)(Evas_Object *o, int prop
erty); /**< Smart function to get the name of a custom property of box chil
dren */ | | const char *(*property_name_get)(Evas_Object *o, int prop
erty); /**< Smart function to get the name of a custom property of box chil
dren */ | |
| int (*property_id_get) (Evas_Object *o, const ch
ar *name); /**< Smart function to get the numerical ID of a custom property
of box children */ | | int (*property_id_get) (Evas_Object *o, const ch
ar *name); /**< Smart function to get the numerical ID of a custom property
of box children */ | |
| Evas_Object_Box_Option *(*option_new) (Evas_Object *o, Evas_Obj
ect_Box_Data *priv, Evas_Object *child); /**< Smart function to create a ne
w box option struct */ | | Evas_Object_Box_Option *(*option_new) (Evas_Object *o, Evas_Obj
ect_Box_Data *priv, Evas_Object *child); /**< Smart function to create a ne
w box option struct */ | |
| void (*option_free) (Evas_Object *o, Evas_Obj
ect_Box_Data *priv, Evas_Object_Box_Option *opt); /**< Smart function to de
lete a box option struct */ | | void (*option_free) (Evas_Object *o, Evas_Obj
ect_Box_Data *priv, Evas_Object_Box_Option *opt); /**< Smart function to de
lete a box option struct */ | |
| }; | | }; | |
| | | | |
| | | | |
| skipping to change at line 10228 | | skipping to change at line 10580 | |
| Eina_Bool max_reached:1; | | Eina_Bool max_reached:1; | |
| Eina_Bool min_reached:1; | | Eina_Bool min_reached:1; | |
| Evas_Coord alloc_size; | | Evas_Coord alloc_size; | |
| }; /**< #Evas_Object_Box_Option struct fields */ | | }; /**< #Evas_Object_Box_Option struct fields */ | |
| | | | |
| /** | | /** | |
| * Set the default box @a api struct (Evas_Object_Box_Api) | | * Set the default box @a api struct (Evas_Object_Box_Api) | |
| * with the default values. May be used to extend that API. | | * with the default values. May be used to extend that API. | |
| * | | * | |
| * @param api The box API struct to set back, most probably with | | * @param api The box API struct to set back, most probably with | |
|
| * overriden fields (on class extensions scenarios) | | * overridden fields (on class extensions scenarios) | |
| */ | | */ | |
| EAPI void evas_object_box_smart_set
(Evas_Object_Box_Api *api) EINA_ARG_NONNULL(1); | | EAPI void evas_object_box_smart_set
(Evas_Object_Box_Api *api) EINA_ARG_NONNULL(1); | |
| | | | |
| /** | | /** | |
| * Get the Evas box smart class, for inheritance purposes. | | * Get the Evas box smart class, for inheritance purposes. | |
| * | | * | |
| * @return the (canonical) Evas box smart class. | | * @return the (canonical) Evas box smart class. | |
| * | | * | |
| * The returned value is @b not to be modified, just use it as your | | * The returned value is @b not to be modified, just use it as your | |
| * parent class. | | * parent class. | |
| | | | |
| skipping to change at line 10401 | | skipping to change at line 10753 | |
| * \par Box's properties: | | * \par Box's properties: | |
| * @c align_h has no influence on the box for this layout. | | * @c align_h has no influence on the box for this layout. | |
| * @c padding_h tells the box to draw empty spaces of that size, in | | * @c padding_h tells the box to draw empty spaces of that size, in | |
| * pixels, between the (equal) child objects's cells. The @c align_v | | * pixels, between the (equal) child objects's cells. The @c align_v | |
| * and @c padding_v properties of the box don't contribute to its | | * and @c padding_v properties of the box don't contribute to its | |
| * behaviour when this layout is chosen. | | * behaviour when this layout is chosen. | |
| * | | * | |
| * \par Child element's properties: | | * \par Child element's properties: | |
| * @c padding_l and @c padding_r sum up to the required width of the | | * @c padding_l and @c padding_r sum up to the required width of the | |
| * child element. The @c align_x property tells the relative position | | * child element. The @c align_x property tells the relative position | |
|
| * of this overall child width in its allocated cell (@r 0.0 to | | * of this overall child width in its allocated cell (@c 0.0 to | |
| * extreme left, @c 1.0 to extreme right). A value of @c -1.0 to | | * extreme left, @c 1.0 to extreme right). A value of @c -1.0 to | |
| * @c align_x makes the box try to resize this child element to the exact | | * @c align_x makes the box try to resize this child element to the exact | |
| * width of its cell (respecting the minimum and maximum size hints on | | * width of its cell (respecting the minimum and maximum size hints on | |
| * the child's width and accounting for its horizontal padding | | * the child's width and accounting for its horizontal padding | |
| * hints). The child's @c padding_t, @c padding_b and @c align_y | | * hints). The child's @c padding_t, @c padding_b and @c align_y | |
| * properties apply for padding/alignment relative to the overall | | * properties apply for padding/alignment relative to the overall | |
| * height of the box. A value of @c -1.0 to @c align_y makes the box | | * height of the box. A value of @c -1.0 to @c align_y makes the box | |
| * try to resize this child element to the exact height of its parent | | * try to resize this child element to the exact height of its parent | |
| * (respecting the maximum size hint on the child's height). | | * (respecting the maximum size hint on the child's height). | |
| */ | | */ | |
| | | | |
| skipping to change at line 10453 | | skipping to change at line 10805 | |
| * touches the right border (even if they must overlap). The | | * touches the right border (even if they must overlap). The | |
| * @c align_v and @c padding_v properties of the box don't contribute to | | * @c align_v and @c padding_v properties of the box don't contribute to | |
| * its behaviour when this layout is chosen. | | * its behaviour when this layout is chosen. | |
| * | | * | |
| * \par Child element's properties: | | * \par Child element's properties: | |
| * @c padding_l and @c padding_r sum up to the required width of the | | * @c padding_l and @c padding_r sum up to the required width of the | |
| * child element. The @c align_x property tells the relative position | | * child element. The @c align_x property tells the relative position | |
| * of this overall child width in its allocated cell (@c 0.0 to | | * of this overall child width in its allocated cell (@c 0.0 to | |
| * extreme left, @c 1.0 to extreme right). A value of @c -1.0 to | | * extreme left, @c 1.0 to extreme right). A value of @c -1.0 to | |
| * @c align_x makes the box try to resize this child element to the exact | | * @c align_x makes the box try to resize this child element to the exact | |
|
| * width of its cell (respecting the minimun and maximum size hints on | | * width of its cell (respecting the minimum and maximum size hints on | |
| * the child's width and accounting for its horizontal padding | | * the child's width and accounting for its horizontal padding | |
| * hints). The child's @c padding_t, @c padding_b and @c align_y | | * hints). The child's @c padding_t, @c padding_b and @c align_y | |
| * properties apply for padding/alignment relative to the overall | | * properties apply for padding/alignment relative to the overall | |
| * height of the box. A value of @c -1.0 to @c align_y makes the box | | * height of the box. A value of @c -1.0 to @c align_y makes the box | |
| * try to resize this child element to the exact height of its parent | | * try to resize this child element to the exact height of its parent | |
| * (respecting the max hint on the child's height). | | * (respecting the max hint on the child's height). | |
| */ | | */ | |
| EAPI void evas_object_box_layout_homogeneous_max_size
_horizontal(Evas_Object *o, Evas_Object_Box_Data *priv, void *data) EINA_AR
G_NONNULL(1, 2); | | EAPI void evas_object_box_layout_homogeneous_max_size
_horizontal(Evas_Object *o, Evas_Object_Box_Data *priv, void *data) EINA_AR
G_NONNULL(1, 2); | |
| | | | |
| /** | | /** | |
| | | | |
| skipping to change at line 10698 | | skipping to change at line 11050 | |
| * | | * | |
| * @note This function will fail if @p reference is not a member of @p | | * @note This function will fail if @p reference is not a member of @p | |
| * o. | | * o. | |
| * | | * | |
| * @note The actual placing of the item relative to @p o's area will | | * @note The actual placing of the item relative to @p o's area will | |
| * depend on the layout set to it. | | * depend on the layout set to it. | |
| * | | * | |
| * @note This call will trigger the box's | | * @note This call will trigger the box's | |
| * _Evas_Object_Box_Api::insert_after smart function. | | * _Evas_Object_Box_Api::insert_after smart function. | |
| */ | | */ | |
|
| EAPI Evas_Object_Box_Option *evas_object_box_insert_after
(Evas_Object *o, Evas_Object *child, const Evas_Object *referent
e) EINA_ARG_NONNULL(1, 2, 3); | | EAPI Evas_Object_Box_Option *evas_object_box_insert_after
(Evas_Object *o, Evas_Object *child, const Evas_Object *referenc
e) EINA_ARG_NONNULL(1, 2, 3); | |
| | | | |
| /** | | /** | |
| * Insert a new @a child object <b>at a given position</b>, in a given | | * Insert a new @a child object <b>at a given position</b>, in a given | |
| * box object @a o. | | * box object @a o. | |
| * | | * | |
| * @param o The given box object | | * @param o The given box object | |
| * @param child A child Evas object to be made a member of @p o | | * @param child A child Evas object to be made a member of @p o | |
| * @param pos The numeric position (starting from @c 0) to place the | | * @param pos The numeric position (starting from @c 0) to place the | |
| * new child object at | | * new child object at | |
| * @return A box option bound to the recently added box item or @c | | * @return A box option bound to the recently added box item or @c | |
| | | | |
| skipping to change at line 10734 | | skipping to change at line 11086 | |
| /** | | /** | |
| * Remove a given object from a box object, unparenting it again. | | * Remove a given object from a box object, unparenting it again. | |
| * | | * | |
| * @param o The box object to remove a child object from | | * @param o The box object to remove a child object from | |
| * @param child The handle to the child object to be removed | | * @param child The handle to the child object to be removed | |
| * @return @c EINA_TRUE, on success, @c EINA_FALSE otherwise | | * @return @c EINA_TRUE, on success, @c EINA_FALSE otherwise | |
| * | | * | |
| * On removal, you'll get an unparented object again, just as it was | | * On removal, you'll get an unparented object again, just as it was | |
| * before you inserted it in the box. The | | * before you inserted it in the box. The | |
| * _Evas_Object_Box_Api::option_free box smart callback will be called | | * _Evas_Object_Box_Api::option_free box smart callback will be called | |
|
| * automatilly for you and, also, the @c "child,removed" smart event | | * automatically for you and, also, the @c "child,removed" smart event | |
| * will take place. | | * will take place. | |
| * | | * | |
| * @note This call will trigger the box's _Evas_Object_Box_Api::remove | | * @note This call will trigger the box's _Evas_Object_Box_Api::remove | |
| * smart function. | | * smart function. | |
| */ | | */ | |
| EAPI Eina_Bool evas_object_box_remove
(Evas_Object *o, Evas_Object *child) EINA_ARG_NONNULL(1, 2); | | EAPI Eina_Bool evas_object_box_remove
(Evas_Object *o, Evas_Object *child) EINA_ARG_NONNULL(1, 2); | |
| | | | |
| /** | | /** | |
| * Remove an object, <b>bound to a given position</b> in a box object, | | * Remove an object, <b>bound to a given position</b> in a box object, | |
| * unparenting it again. | | * unparenting it again. | |
| * | | * | |
| * @param o The box object to remove a child object from | | * @param o The box object to remove a child object from | |
|
| * @param in The numeric position (starting from @c 0) of the child | | * @param pos The numeric position (starting from @c 0) of the child | |
| * object to be removed | | * object to be removed | |
| * @return @c EINA_TRUE, on success, @c EINA_FALSE otherwise | | * @return @c EINA_TRUE, on success, @c EINA_FALSE otherwise | |
| * | | * | |
| * On removal, you'll get an unparented object again, just as it was | | * On removal, you'll get an unparented object again, just as it was | |
| * before you inserted it in the box. The @c option_free() box smart | | * before you inserted it in the box. The @c option_free() box smart | |
|
| * callback will be called automatilly for you and, also, the | | * callback will be called automatically for you and, also, the | |
| * @c "child,removed" smart event will take place. | | * @c "child,removed" smart event will take place. | |
| * | | * | |
| * @note This function will fail if the given position is invalid, | | * @note This function will fail if the given position is invalid, | |
| * given @p o's internal list of elements. | | * given @p o's internal list of elements. | |
| * | | * | |
| * @note This call will trigger the box's | | * @note This call will trigger the box's | |
| * _Evas_Object_Box_Api::remove_at smart function. | | * _Evas_Object_Box_Api::remove_at smart function. | |
| */ | | */ | |
| EAPI Eina_Bool evas_object_box_remove_at
(Evas_Object *o, unsigned int pos) EINA_ARG_NONNULL(1); | | EAPI Eina_Bool evas_object_box_remove_at
(Evas_Object *o, unsigned int pos) EINA_ARG_NONNULL(1); | |
| | | | |
| /** | | /** | |
| * Remove @b all child objects from a box object, unparenting them | | * Remove @b all child objects from a box object, unparenting them | |
| * again. | | * again. | |
| * | | * | |
| * @param o The box object to remove a child object from | | * @param o The box object to remove a child object from | |
|
| * @param child The handle to the child object to be removed | | * @param clear if true, it will delete just removed children. | |
| * @return @c EINA_TRUE, on success, @c EINA_FALSE otherwise | | * @return @c EINA_TRUE, on success, @c EINA_FALSE otherwise | |
| * | | * | |
| * This has the same effect of calling evas_object_box_remove() on | | * This has the same effect of calling evas_object_box_remove() on | |
| * each of @p o's child objects, in sequence. If, and only if, all | | * each of @p o's child objects, in sequence. If, and only if, all | |
| * those calls succeed, so does this one. | | * those calls succeed, so does this one. | |
| */ | | */ | |
| EAPI Eina_Bool evas_object_box_remove_all
(Evas_Object *o, Eina_Bool clear) EINA_ARG_NONNULL(1); | | EAPI Eina_Bool evas_object_box_remove_all
(Evas_Object *o, Eina_Bool clear) EINA_ARG_NONNULL(1); | |
| | | | |
| /** | | /** | |
| * Get an iterator to walk the list of children of a given box object. | | * Get an iterator to walk the list of children of a given box object. | |
| | | | |
| skipping to change at line 10823 | | skipping to change at line 11175 | |
| * It's possible to remove objects from the box when walking | | * It's possible to remove objects from the box when walking | |
| * this list, but these removals won't be reflected on it. | | * this list, but these removals won't be reflected on it. | |
| */ | | */ | |
| EAPI Eina_List *evas_object_box_children_get
(const Evas_Object *o) EINA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(
1) EINA_MALLOC; | | EAPI Eina_List *evas_object_box_children_get
(const Evas_Object *o) EINA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(
1) EINA_MALLOC; | |
| | | | |
| /** | | /** | |
| * Get the name of the property of the child elements of the box @a o | | * Get the name of the property of the child elements of the box @a o | |
| * which have @a id as identifier | | * which have @a id as identifier | |
| * | | * | |
| * @param o The box to search child options from | | * @param o The box to search child options from | |
|
| * @param id The numerical identifier of the option being searched, for | | * @param property The numerical identifier of the option being searched, | |
| * its name | | * for its name | |
| * @return The name of the given property or @c NULL, on errors. | | * @return The name of the given property or @c NULL, on errors. | |
| * | | * | |
| * @note This call won't do anything for a canonical Evas box. Only | | * @note This call won't do anything for a canonical Evas box. Only | |
| * users which have @b subclassed it, setting custom box items options | | * users which have @b subclassed it, setting custom box items options | |
| * (see #Evas_Object_Box_Option) on it, would benefit from this | | * (see #Evas_Object_Box_Option) on it, would benefit from this | |
| * function. They'd have to implement it and set it to be the | | * function. They'd have to implement it and set it to be the | |
| * _Evas_Object_Box_Api::property_name_get smart class function of the | | * _Evas_Object_Box_Api::property_name_get smart class function of the | |
| * box, which is originally set to @c NULL. | | * box, which is originally set to @c NULL. | |
| */ | | */ | |
|
| EAPI const char *evas_object_box_option_property_name_get
(Evas_Object *o, int property) EINA_WARN_UNUSED_RESULT EINA_ARG_
NONNULL(1) EINA_PURE; | | EAPI const char *evas_object_box_option_property_name_get
(Evas_Object *o, int property) EINA_WARN_UNUSED_RESULT EINA_ARG_
NONNULL(1); | |
| | | | |
| /** | | /** | |
| * Get the numerical identifier of the property of the child elements | | * Get the numerical identifier of the property of the child elements | |
| * of the box @a o which have @a name as name string | | * of the box @a o which have @a name as name string | |
| * | | * | |
| * @param o The box to search child options from | | * @param o The box to search child options from | |
| * @param name The name string of the option being searched, for | | * @param name The name string of the option being searched, for | |
| * its ID | | * its ID | |
| * @return The numerical ID of the given property or @c -1, on | | * @return The numerical ID of the given property or @c -1, on | |
| * errors. | | * errors. | |
| * | | * | |
| * @note This call won't do anything for a canonical Evas box. Only | | * @note This call won't do anything for a canonical Evas box. Only | |
| * users which have @b subclassed it, setting custom box items options | | * users which have @b subclassed it, setting custom box items options | |
| * (see #Evas_Object_Box_Option) on it, would benefit from this | | * (see #Evas_Object_Box_Option) on it, would benefit from this | |
| * function. They'd have to implement it and set it to be the | | * function. They'd have to implement it and set it to be the | |
| * _Evas_Object_Box_Api::property_id_get smart class function of the | | * _Evas_Object_Box_Api::property_id_get smart class function of the | |
| * box, which is originally set to @c NULL. | | * box, which is originally set to @c NULL. | |
| */ | | */ | |
|
| EAPI int evas_object_box_option_property_id_get
(Evas_Object *o, const char *name) EINA_WARN_UNUSED_RESULT EINA_
ARG_NONNULL(1, 2) EINA_PURE; | | EAPI int evas_object_box_option_property_id_get
(Evas_Object *o, const char *name) EINA_WARN_UNUSED_RESULT EINA_
ARG_NONNULL(1, 2); | |
| | | | |
| /** | | /** | |
| * Set a property value (by its given numerical identifier), on a | | * Set a property value (by its given numerical identifier), on a | |
| * given box child element | | * given box child element | |
| * | | * | |
| * @param o The box parenting the child element | | * @param o The box parenting the child element | |
| * @param opt The box option structure bound to the child box element | | * @param opt The box option structure bound to the child box element | |
| * to set a property on | | * to set a property on | |
|
| * @param id The numerical ID of the given property | | * @param property The numerical ID of the given property | |
| * @param ... (List of) actual value(s) to be set for this | | * @param ... (List of) actual value(s) to be set for this | |
| * property. It (they) @b must be of the same type the user has | | * property. It (they) @b must be of the same type the user has | |
| * defined for it (them). | | * defined for it (them). | |
| * @return @c EINA_TRUE on success, @c EINA_FALSE on failure. | | * @return @c EINA_TRUE on success, @c EINA_FALSE on failure. | |
| * | | * | |
| * @note This call won't do anything for a canonical Evas box. Only | | * @note This call won't do anything for a canonical Evas box. Only | |
| * users which have @b subclassed it, setting custom box items options | | * users which have @b subclassed it, setting custom box items options | |
| * (see #Evas_Object_Box_Option) on it, would benefit from this | | * (see #Evas_Object_Box_Option) on it, would benefit from this | |
| * function. They'd have to implement it and set it to be the | | * function. They'd have to implement it and set it to be the | |
| * _Evas_Object_Box_Api::property_set smart class function of the box, | | * _Evas_Object_Box_Api::property_set smart class function of the box, | |
| | | | |
| skipping to change at line 10889 | | skipping to change at line 11241 | |
| */ | | */ | |
| EAPI Eina_Bool evas_object_box_option_property_set
(Evas_Object *o, Evas_Object_Box_Option *opt, int property, ...)
EINA_ARG_NONNULL(1, 2); | | EAPI Eina_Bool evas_object_box_option_property_set
(Evas_Object *o, Evas_Object_Box_Option *opt, int property, ...)
EINA_ARG_NONNULL(1, 2); | |
| | | | |
| /** | | /** | |
| * Set a property value (by its given numerical identifier), on a | | * Set a property value (by its given numerical identifier), on a | |
| * given box child element -- by a variable argument list | | * given box child element -- by a variable argument list | |
| * | | * | |
| * @param o The box parenting the child element | | * @param o The box parenting the child element | |
| * @param opt The box option structure bound to the child box element | | * @param opt The box option structure bound to the child box element | |
| * to set a property on | | * to set a property on | |
|
| * @param id The numerical ID of the given property | | * @param property The numerical ID of the given property | |
| * @param va_list The variable argument list implementing the value to | | * @param args The variable argument list implementing the value to | |
| * be set for this property. It @b must be of the same type the user has | | * be set for this property. It @b must be of the same type the user has | |
| * defined for it. | | * defined for it. | |
| * @return @c EINA_TRUE on success, @c EINA_FALSE on failure. | | * @return @c EINA_TRUE on success, @c EINA_FALSE on failure. | |
| * | | * | |
| * This is a variable argument list variant of the | | * This is a variable argument list variant of the | |
| * evas_object_box_option_property_set(). See its documentation for | | * evas_object_box_option_property_set(). See its documentation for | |
| * more details. | | * more details. | |
| */ | | */ | |
| EAPI Eina_Bool evas_object_box_option_property_vset
(Evas_Object *o, Evas_Object_Box_Option *opt, int property, va_l
ist args) EINA_ARG_NONNULL(1, 2); | | EAPI Eina_Bool evas_object_box_option_property_vset
(Evas_Object *o, Evas_Object_Box_Option *opt, int property, va_l
ist args) EINA_ARG_NONNULL(1, 2); | |
| | | | |
| /** | | /** | |
| * Get a property's value (by its given numerical identifier), on a | | * Get a property's value (by its given numerical identifier), on a | |
| * given box child element | | * given box child element | |
| * | | * | |
| * @param o The box parenting the child element | | * @param o The box parenting the child element | |
| * @param opt The box option structure bound to the child box element | | * @param opt The box option structure bound to the child box element | |
| * to get a property from | | * to get a property from | |
|
| * @param id The numerical ID of the given property | | * @param property The numerical ID of the given property | |
| * @param ... (List of) pointer(s) where to store the value(s) set for | | * @param ... (List of) pointer(s) where to store the value(s) set for | |
| * this property. It (they) @b must point to variable(s) of the same | | * this property. It (they) @b must point to variable(s) of the same | |
| * type the user has defined for it (them). | | * type the user has defined for it (them). | |
| * @return @c EINA_TRUE on success, @c EINA_FALSE on failure. | | * @return @c EINA_TRUE on success, @c EINA_FALSE on failure. | |
| * | | * | |
| * @note This call won't do anything for a canonical Evas box. Only | | * @note This call won't do anything for a canonical Evas box. Only | |
| * users which have @b subclassed it, getting custom box items options | | * users which have @b subclassed it, getting custom box items options | |
| * (see #Evas_Object_Box_Option) on it, would benefit from this | | * (see #Evas_Object_Box_Option) on it, would benefit from this | |
| * function. They'd have to implement it and get it to be the | | * function. They'd have to implement it and get it to be the | |
| * _Evas_Object_Box_Api::property_get smart class function of the | | * _Evas_Object_Box_Api::property_get smart class function of the | |
| | | | |
| skipping to change at line 10935 | | skipping to change at line 11287 | |
| */ | | */ | |
| EAPI Eina_Bool evas_object_box_option_property_get
(Evas_Object *o, Evas_Object_Box_Option *opt, int property, ...)
EINA_ARG_NONNULL(1, 2); | | EAPI Eina_Bool evas_object_box_option_property_get
(Evas_Object *o, Evas_Object_Box_Option *opt, int property, ...)
EINA_ARG_NONNULL(1, 2); | |
| | | | |
| /** | | /** | |
| * Get a property's value (by its given numerical identifier), on a | | * Get a property's value (by its given numerical identifier), on a | |
| * given box child element -- by a variable argument list | | * given box child element -- by a variable argument list | |
| * | | * | |
| * @param o The box parenting the child element | | * @param o The box parenting the child element | |
| * @param opt The box option structure bound to the child box element | | * @param opt The box option structure bound to the child box element | |
| * to get a property from | | * to get a property from | |
|
| * @param id The numerical ID of the given property | | * @param property The numerical ID of the given property | |
| * @param va_list The variable argument list with pointers to where to | | * @param args The variable argument list with pointers to where to | |
| * store the values of this property. They @b must point to variables | | * store the values of this property. They @b must point to variables | |
| * of the same type the user has defined for them. | | * of the same type the user has defined for them. | |
| * @return @c EINA_TRUE on success, @c EINA_FALSE on failure. | | * @return @c EINA_TRUE on success, @c EINA_FALSE on failure. | |
| * | | * | |
| * This is a variable argument list variant of the | | * This is a variable argument list variant of the | |
| * evas_object_box_option_property_get(). See its documentation for | | * evas_object_box_option_property_get(). See its documentation for | |
| * more details. | | * more details. | |
| */ | | */ | |
| EAPI Eina_Bool evas_object_box_option_property_vget
(Evas_Object *o, Evas_Object_Box_Option *opt, int property, va_l
ist args) EINA_ARG_NONNULL(1, 2); | | EAPI Eina_Bool evas_object_box_option_property_vget
(Evas_Object *o, Evas_Object_Box_Option *opt, int property, va_l
ist args) EINA_ARG_NONNULL(1, 2); | |
| | | | |
| | | | |
| skipping to change at line 11030 | | skipping to change at line 11382 | |
| * no minimum size is provided at all then the table will fallback to | | * no minimum size is provided at all then the table will fallback to | |
| * expand mode as well. | | * expand mode as well. | |
| */ | | */ | |
| EAPI void evas_object_table_homogeneous_set
(Evas_Object *o, Evas_Object_Table_Homogeneous_Mode homogeneous) EINA_ARG_N
ONNULL(1); | | EAPI void evas_object_table_homogeneous_set
(Evas_Object *o, Evas_Object_Table_Homogeneous_Mode homogeneous) EINA_ARG_N
ONNULL(1); | |
| | | | |
| /** | | /** | |
| * Get the current layout homogeneous mode. | | * Get the current layout homogeneous mode. | |
| * | | * | |
| * @see evas_object_table_homogeneous_set() | | * @see evas_object_table_homogeneous_set() | |
| */ | | */ | |
|
| EAPI Evas_Object_Table_Homogeneous_Mode evas_object_table_homogeneous_get
(const Evas_Object *o) EINA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1) EINA_PUR
E; | | EAPI Evas_Object_Table_Homogeneous_Mode evas_object_table_homogeneous_get
(const Evas_Object *o) EINA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1); | |
| | | | |
| /** | | /** | |
| * Set padding between cells. | | * Set padding between cells. | |
| */ | | */ | |
| EAPI void evas_object_table_padding_set
(Evas_Object *o, Evas_Coord horizontal, Evas_Coord vertical) EINA_ARG_NONNU
LL(1); | | EAPI void evas_object_table_padding_set
(Evas_Object *o, Evas_Coord horizontal, Evas_Coord vertical) EINA_ARG_NONNU
LL(1); | |
| | | | |
| /** | | /** | |
| * Get padding between cells. | | * Get padding between cells. | |
| */ | | */ | |
| EAPI void evas_object_table_padding_get
(const Evas_Object *o, Evas_Coord *horizontal, Evas_Coord *vertical) EINA_A
RG_NONNULL(1); | | EAPI void evas_object_table_padding_get
(const Evas_Object *o, Evas_Coord *horizontal, Evas_Coord *vertical) EINA_A
RG_NONNULL(1); | |
| | | | |
| skipping to change at line 11057 | | skipping to change at line 11409 | |
| /** | | /** | |
| * Get alignment of the whole bounding box of contents. | | * Get alignment of the whole bounding box of contents. | |
| */ | | */ | |
| EAPI void evas_object_table_align_get
(const Evas_Object *o, double *horizontal, double *vertical) EINA_ARG_NONNU
LL(1); | | EAPI void evas_object_table_align_get
(const Evas_Object *o, double *horizontal, double *vertical) EINA_ARG_NONNU
LL(1); | |
| | | | |
| /** | | /** | |
| * Sets the mirrored mode of the table. In mirrored mode the table items go | | * Sets the mirrored mode of the table. In mirrored mode the table items go | |
| * from right to left instead of left to right. That is, 1,1 is top right,
not | | * from right to left instead of left to right. That is, 1,1 is top right,
not | |
| * top left. | | * top left. | |
| * | | * | |
|
| * @param obj The table object. | | * @param o The table object. | |
| * @param mirrored the mirrored mode to set | | * @param mirrored the mirrored mode to set | |
| * @since 1.1.0 | | * @since 1.1.0 | |
| */ | | */ | |
| EAPI void evas_object_table_mirrored_set
(Evas_Object *o, Eina_Bool mirrored) EINA_ARG_NONNULL(1); | | EAPI void evas_object_table_mirrored_set
(Evas_Object *o, Eina_Bool mirrored) EINA_ARG_NONNULL(1); | |
| | | | |
| /** | | /** | |
| * Gets the mirrored mode of the table. | | * Gets the mirrored mode of the table. | |
| * | | * | |
|
| * @param obj The table object. | | * @param o The table object. | |
| * @return EINA_TRUE if it's a mirrored table, EINA_FALSE otherwise. | | * @return @c EINA_TRUE if it's a mirrored table, @c EINA_FALSE otherwise. | |
| * @since 1.1.0 | | * @since 1.1.0 | |
| * @see evas_object_table_mirrored_set() | | * @see evas_object_table_mirrored_set() | |
| */ | | */ | |
| EAPI Eina_Bool evas_object_table_mirrored_get
(const Evas_Object *o) EINA_ARG_NONNULL(1); | | EAPI Eina_Bool evas_object_table_mirrored_get
(const Evas_Object *o) EINA_ARG_NONNULL(1); | |
| | | | |
| /** | | /** | |
| * Get packing location of a child of table | | * Get packing location of a child of table | |
| * | | * | |
| * @param o The given table object. | | * @param o The given table object. | |
| * @param child The child object to add. | | * @param child The child object to add. | |
| | | | |
| skipping to change at line 11224 | | skipping to change at line 11576 | |
| * @see evas_object_grid_size_set() | | * @see evas_object_grid_size_set() | |
| * @since 1.1.0 | | * @since 1.1.0 | |
| */ | | */ | |
| EAPI void evas_object_grid_size_get (
const Evas_Object *o, int *w, int *h) EINA_ARG_NONNULL(1); | | EAPI void evas_object_grid_size_get (
const Evas_Object *o, int *w, int *h) EINA_ARG_NONNULL(1); | |
| | | | |
| /** | | /** | |
| * Sets the mirrored mode of the grid. In mirrored mode the grid items go | | * Sets the mirrored mode of the grid. In mirrored mode the grid items go | |
| * from right to left instead of left to right. That is, 0,0 is top right,
not | | * from right to left instead of left to right. That is, 0,0 is top right,
not | |
| * to left. | | * to left. | |
| * | | * | |
|
| * @param obj The grid object. | | * @param o The grid object. | |
| * @param mirrored the mirrored mode to set | | * @param mirrored the mirrored mode to set | |
| * @since 1.1.0 | | * @since 1.1.0 | |
| */ | | */ | |
| EAPI void evas_object_grid_mirrored_set (
Evas_Object *o, Eina_Bool mirrored) EINA_ARG_NONNULL(1); | | EAPI void evas_object_grid_mirrored_set (
Evas_Object *o, Eina_Bool mirrored) EINA_ARG_NONNULL(1); | |
| | | | |
| /** | | /** | |
| * Gets the mirrored mode of the grid. | | * Gets the mirrored mode of the grid. | |
| * | | * | |
|
| * @param obj The grid object. | | * @param o The grid object. | |
| * @return EINA_TRUE if it's a mirrored grid, EINA_FALSE otherwise. | | * @return @c EINA_TRUE if it's a mirrored grid, @c EINA_FALSE otherwise. | |
| * @see evas_object_grid_mirrored_set() | | * @see evas_object_grid_mirrored_set() | |
| * @since 1.1.0 | | * @since 1.1.0 | |
| */ | | */ | |
| EAPI Eina_Bool evas_object_grid_mirrored_get (
const Evas_Object *o) EINA_ARG_NONNULL(1); | | EAPI Eina_Bool evas_object_grid_mirrored_get (
const Evas_Object *o) EINA_ARG_NONNULL(1); | |
| | | | |
| /** | | /** | |
| * Add a new child to a grid object. | | * Add a new child to a grid object. | |
| * | | * | |
| * @param o The given grid object. | | * @param o The given grid object. | |
| * @param child The child object to add. | | * @param child The child object to add. | |
| | | | |
| skipping to change at line 11345 | | skipping to change at line 11697 | |
| typedef struct _Evas_Cserve_Config Evas_Cserve_Config; | | typedef struct _Evas_Cserve_Config Evas_Cserve_Config; | |
| | | | |
| /** | | /** | |
| * Statistics about the server that shares cached bitmaps. | | * Statistics about the server that shares cached bitmaps. | |
| * @ingroup Evas_Cserve | | * @ingroup Evas_Cserve | |
| */ | | */ | |
| struct _Evas_Cserve_Stats | | struct _Evas_Cserve_Stats | |
| { | | { | |
| int saved_memory; /**< current amount of saved memory, in bytes
*/ | | int saved_memory; /**< current amount of saved memory, in bytes
*/ | |
| int wasted_memory; /**< current amount of wasted memory, in byte
s */ | | int wasted_memory; /**< current amount of wasted memory, in byte
s */ | |
|
| int saved_memory_peak; /**< peak ammount of saved memory, in byt | | int saved_memory_peak; /**< peak amount of saved memory, in byte | |
| es */ | | s */ | |
| int wasted_memory_peak; /**< peak ammount of wasted memory, in b | | int wasted_memory_peak; /**< peak amount of wasted memory, in by | |
| ytes */ | | tes */ | |
| double saved_time_image_header_load; /**< time, in seconds, saved i
n header loads by sharing cached loads instead */ | | double saved_time_image_header_load; /**< time, in seconds, saved i
n header loads by sharing cached loads instead */ | |
| double saved_time_image_data_load; /**< time, in seconds, saved in
data loads by sharing cached loads instead */ | | double saved_time_image_data_load; /**< time, in seconds, saved in
data loads by sharing cached loads instead */ | |
| }; | | }; | |
| | | | |
| /** | | /** | |
| * A handle of a cache of images shared by a server. | | * A handle of a cache of images shared by a server. | |
| * @ingroup Evas_Cserve | | * @ingroup Evas_Cserve | |
| */ | | */ | |
| struct _Evas_Cserve_Image_Cache | | struct _Evas_Cserve_Image_Cache | |
| { | | { | |
| | | | |
| skipping to change at line 11403 | | skipping to change at line 11755 | |
| int cache_max_usage; | | int cache_max_usage; | |
| int cache_item_timeout; | | int cache_item_timeout; | |
| int cache_item_timeout_check; | | int cache_item_timeout_check; | |
| }; | | }; | |
| | | | |
| /** | | /** | |
| * Retrieves if the system wants to share bitmaps using the server. | | * Retrieves if the system wants to share bitmaps using the server. | |
| * @return @c EINA_TRUE if it wants, @c EINA_FALSE otherwise. | | * @return @c EINA_TRUE if it wants, @c EINA_FALSE otherwise. | |
| * @ingroup Evas_Cserve | | * @ingroup Evas_Cserve | |
| */ | | */ | |
|
| EAPI Eina_Bool evas_cserve_want_get (void) EINA_W
ARN_UNUSED_RESULT EINA_PURE; | | EAPI Eina_Bool evas_cserve_want_get (void) EINA_W
ARN_UNUSED_RESULT; | |
| | | | |
| /** | | /** | |
| * Retrieves if the system is connected to the server used to share | | * Retrieves if the system is connected to the server used to share | |
| * bitmaps. | | * bitmaps. | |
| * | | * | |
| * @return @c EINA_TRUE if it's connected, @c EINA_FALSE otherwise. | | * @return @c EINA_TRUE if it's connected, @c EINA_FALSE otherwise. | |
| * @ingroup Evas_Cserve | | * @ingroup Evas_Cserve | |
| */ | | */ | |
| EAPI Eina_Bool evas_cserve_connected_get (void) EINA_W
ARN_UNUSED_RESULT; | | EAPI Eina_Bool evas_cserve_connected_get (void) EINA_W
ARN_UNUSED_RESULT; | |
| | | | |
| | | | |
| skipping to change at line 11430 | | skipping to change at line 11782 | |
| * @c EINA_FALSE otherwise (when @p stats is untouched) | | * @c EINA_FALSE otherwise (when @p stats is untouched) | |
| * @ingroup Evas_Cserve | | * @ingroup Evas_Cserve | |
| */ | | */ | |
| EAPI Eina_Bool evas_cserve_stats_get (Evas_Cserve_
Stats *stats) EINA_WARN_UNUSED_RESULT; | | EAPI Eina_Bool evas_cserve_stats_get (Evas_Cserve_
Stats *stats) EINA_WARN_UNUSED_RESULT; | |
| | | | |
| /** | | /** | |
| * Completely discard/clean a given images cache, thus re-setting it. | | * Completely discard/clean a given images cache, thus re-setting it. | |
| * | | * | |
| * @param cache A handle to the given images cache. | | * @param cache A handle to the given images cache. | |
| */ | | */ | |
|
| EAPI void evas_cserve_image_cache_contents_clean (Evas_Cserve_
Image_Cache *cache) EINA_PURE; | | EAPI void evas_cserve_image_cache_contents_clean (Evas_Cserve_
Image_Cache *cache); | |
| | | | |
| /** | | /** | |
| * Retrieves the current configuration of the Evas image caching | | * Retrieves the current configuration of the Evas image caching | |
| * server. | | * server. | |
| * | | * | |
| * @param config where to store current image caching server's | | * @param config where to store current image caching server's | |
| * configuration. | | * configuration. | |
| * | | * | |
| * @return @c EINA_TRUE if @p config was filled with data, | | * @return @c EINA_TRUE if @p config was filled with data, | |
| * @c EINA_FALSE otherwise (when @p config is untouched) | | * @c EINA_FALSE otherwise (when @p config is untouched) | |
| * | | * | |
| * The fields of @p config will be altered to reflect the current | | * The fields of @p config will be altered to reflect the current | |
| * configuration's values. | | * configuration's values. | |
| * | | * | |
| * @see evas_cserve_config_set() | | * @see evas_cserve_config_set() | |
| * | | * | |
| * @ingroup Evas_Cserve | | * @ingroup Evas_Cserve | |
| */ | | */ | |
|
| EAPI Eina_Bool evas_cserve_config_get (Evas_Cserve_
Config *config) EINA_WARN_UNUSED_RESULT EINA_PURE; | | EAPI Eina_Bool evas_cserve_config_get (Evas_Cserve_
Config *config) EINA_WARN_UNUSED_RESULT; | |
| | | | |
| /** | | /** | |
| * Changes the configurations of the Evas image caching server. | | * Changes the configurations of the Evas image caching server. | |
| * | | * | |
| * @param config A bitmap cache configuration handle with fields set | | * @param config A bitmap cache configuration handle with fields set | |
| * to desired configuration values. | | * to desired configuration values. | |
| * @return @c EINA_TRUE if @p config was successfully applied, | | * @return @c EINA_TRUE if @p config was successfully applied, | |
| * @c EINA_FALSE otherwise. | | * @c EINA_FALSE otherwise. | |
| * | | * | |
| * @see evas_cserve_config_get() | | * @see evas_cserve_config_get() | |
| * | | * | |
| * @ingroup Evas_Cserve | | * @ingroup Evas_Cserve | |
| */ | | */ | |
|
| EAPI Eina_Bool evas_cserve_config_set (const Evas_C
serve_Config *config) EINA_WARN_UNUSED_RESULT EINA_PURE; | | EAPI Eina_Bool evas_cserve_config_set (const Evas_C
serve_Config *config) EINA_WARN_UNUSED_RESULT; | |
| | | | |
| /** | | /** | |
| * Force the system to disconnect from the bitmap caching server. | | * Force the system to disconnect from the bitmap caching server. | |
| * | | * | |
| * @ingroup Evas_Cserve | | * @ingroup Evas_Cserve | |
| */ | | */ | |
| EAPI void evas_cserve_disconnect (void); | | EAPI void evas_cserve_disconnect (void); | |
| | | | |
| /** | | /** | |
| * @defgroup Evas_Utils General Utilities | | * @defgroup Evas_Utils General Utilities | |
| | | | |
| skipping to change at line 11495 | | skipping to change at line 11847 | |
| * supported, <code>"Unknown error"</code> is returned. | | * supported, <code>"Unknown error"</code> is returned. | |
| * | | * | |
| * Mostly evas_object_image_file_set() would be the function setting | | * Mostly evas_object_image_file_set() would be the function setting | |
| * that error value afterwards, but also evas_object_image_load(), | | * that error value afterwards, but also evas_object_image_load(), | |
| * evas_object_image_save(), evas_object_image_data_get(), | | * evas_object_image_save(), evas_object_image_data_get(), | |
| * evas_object_image_data_convert(), evas_object_image_pixels_import() | | * evas_object_image_data_convert(), evas_object_image_pixels_import() | |
| * and evas_object_image_is_inside(). This function is meant to be | | * and evas_object_image_is_inside(). This function is meant to be | |
| * used in conjunction with evas_object_image_load_error_get(), as in: | | * used in conjunction with evas_object_image_load_error_get(), as in: | |
| * | | * | |
| * Example code: | | * Example code: | |
|
| * @dontinclude evas-load-error-str.c | | * @dontinclude evas-images.c | |
| * @skip img1 = | | * @skip img1 = | |
| * @until ecore_main_loop_begin( | | * @until ecore_main_loop_begin( | |
| * | | * | |
| * Here, being @c valid_path the path to a valid image and @c | | * Here, being @c valid_path the path to a valid image and @c | |
| * bogus_path a path to a file which does not exist, the two outputs | | * bogus_path a path to a file which does not exist, the two outputs | |
| * of evas_load_error_str() would be (if no other errors occur): | | * of evas_load_error_str() would be (if no other errors occur): | |
| * <code>"No error on load"</code> and <code>"File (or file path) does | | * <code>"No error on load"</code> and <code>"File (or file path) does | |
| * not exist"</code>, respectively. See the full @ref | | * not exist"</code>, respectively. See the full @ref | |
| * Example_Evas_Images "example". | | * Example_Evas_Images "example". | |
| * | | * | |
| | | | |
| skipping to change at line 11558 | | skipping to change at line 11910 | |
| /* argb color space has a,r,g,b in the range 0 to 255 */ | | /* argb color space has a,r,g,b in the range 0 to 255 */ | |
| | | | |
| /** | | /** | |
| * Pre-multiplies a rgb triplet by an alpha factor. | | * Pre-multiplies a rgb triplet by an alpha factor. | |
| * | | * | |
| * @param a The alpha factor. | | * @param a The alpha factor. | |
| * @param r The Red component of the color. | | * @param r The Red component of the color. | |
| * @param g The Green component of the color. | | * @param g The Green component of the color. | |
| * @param b The Blue component of the color. | | * @param b The Blue component of the color. | |
| * | | * | |
|
| * This function pre-multiplies a given rbg triplet by an alpha | | * This function pre-multiplies a given rgb triplet by an alpha | |
| * factor. Alpha factor is used to define transparency. | | * factor. Alpha factor is used to define transparency. | |
| * | | * | |
| * @ingroup Evas_Utils | | * @ingroup Evas_Utils | |
| **/ | | **/ | |
| EAPI void evas_color_argb_premul (int a, int *r, in
t *g, int *b); | | EAPI void evas_color_argb_premul (int a, int *r, in
t *g, int *b); | |
| | | | |
| /** | | /** | |
| * Undo pre-multiplication of a rgb triplet by an alpha factor. | | * Undo pre-multiplication of a rgb triplet by an alpha factor. | |
| * | | * | |
| * @param a The alpha factor. | | * @param a The alpha factor. | |
| | | | |
| skipping to change at line 11658 | | skipping to change at line 12010 | |
| * @ingroup Evas_Utils | | * @ingroup Evas_Utils | |
| */ | | */ | |
| EAPI int evas_string_char_prev_get (const char *str,
int pos, int *decoded) EINA_ARG_NONNULL(1); | | EAPI int evas_string_char_prev_get (const char *str,
int pos, int *decoded) EINA_ARG_NONNULL(1); | |
| | | | |
| /** | | /** | |
| * Get the length in characters of the string. | | * Get the length in characters of the string. | |
| * @param str The string to get the length of. | | * @param str The string to get the length of. | |
| * @return The length in characters (not bytes) | | * @return The length in characters (not bytes) | |
| * @ingroup Evas_Utils | | * @ingroup Evas_Utils | |
| */ | | */ | |
|
| EAPI int evas_string_char_len_get (const char *str)
EINA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1) EINA_PURE; | | EAPI int evas_string_char_len_get (const char *str)
EINA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1); | |
| | | | |
| /** | | /** | |
| * @defgroup Evas_Keys Key Input Functions | | * @defgroup Evas_Keys Key Input Functions | |
| * | | * | |
| * Functions which feed key events to the canvas. | | * Functions which feed key events to the canvas. | |
| * | | * | |
| * As explained in @ref intro_not_evas, Evas is @b not aware of input | | * As explained in @ref intro_not_evas, Evas is @b not aware of input | |
| * systems at all. Then, the user, if using it crudely (evas_new()), | | * systems at all. Then, the user, if using it crudely (evas_new()), | |
| * will have to feed it with input events, so that it can react | | * will have to feed it with input events, so that it can react | |
| * somehow. If, however, the user creates a canvas by means of the | | * somehow. If, however, the user creates a canvas by means of the | |
| | | | |
| skipping to change at line 11716 | | skipping to change at line 12068 | |
| * | | * | |
| * @see evas_key_modifier_add | | * @see evas_key_modifier_add | |
| * @see evas_key_modifier_del | | * @see evas_key_modifier_del | |
| * @see evas_key_modifier_on | | * @see evas_key_modifier_on | |
| * @see evas_key_modifier_off | | * @see evas_key_modifier_off | |
| * @see evas_key_modifier_is_set | | * @see evas_key_modifier_is_set | |
| * | | * | |
| * @return An ::Evas_Modifier handle to query Evas' keys subsystem | | * @return An ::Evas_Modifier handle to query Evas' keys subsystem | |
| * with evas_key_modifier_is_set(), or @c NULL on error. | | * with evas_key_modifier_is_set(), or @c NULL on error. | |
| */ | | */ | |
|
| EAPI const Evas_Modifier *evas_key_modifier_get (const Evas *e) EI
NA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1) EINA_PURE; | | EAPI const Evas_Modifier *evas_key_modifier_get (const Evas *e) EI
NA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1); | |
| | | | |
| /** | | /** | |
| * Returns a handle to the list of lock keys registered in the canvas | | * Returns a handle to the list of lock keys registered in the canvas | |
| * @p e. This is required to check for which locks are set at a given | | * @p e. This is required to check for which locks are set at a given | |
| * time with the evas_key_lock_is_set() function. | | * time with the evas_key_lock_is_set() function. | |
| * | | * | |
| * @param e The pointer to the Evas canvas | | * @param e The pointer to the Evas canvas | |
| * | | * | |
| * @see evas_key_lock_add | | * @see evas_key_lock_add | |
| * @see evas_key_lock_del | | * @see evas_key_lock_del | |
| * @see evas_key_lock_on | | * @see evas_key_lock_on | |
| * @see evas_key_lock_off | | * @see evas_key_lock_off | |
| * @see evas_key_lock_is_set | | * @see evas_key_lock_is_set | |
| * | | * | |
| * @return An ::Evas_Lock handle to query Evas' keys subsystem with | | * @return An ::Evas_Lock handle to query Evas' keys subsystem with | |
| * evas_key_lock_is_set(), or @c NULL on error. | | * evas_key_lock_is_set(), or @c NULL on error. | |
| */ | | */ | |
|
| EAPI const Evas_Lock *evas_key_lock_get (const Evas *e) EI
NA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1) EINA_PURE; | | EAPI const Evas_Lock *evas_key_lock_get (const Evas *e) EI
NA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1); | |
| | | | |
| /** | | /** | |
| * Checks the state of a given modifier key, at the time of the | | * Checks the state of a given modifier key, at the time of the | |
| * call. If the modifier is set, such as shift being pressed, this | | * call. If the modifier is set, such as shift being pressed, this | |
| * function returns @c Eina_True. | | * function returns @c Eina_True. | |
| * | | * | |
| * @param m The current modifiers set, as returned by | | * @param m The current modifiers set, as returned by | |
| * evas_key_modifier_get(). | | * evas_key_modifier_get(). | |
| * @param keyname The name of the modifier key to check status for. | | * @param keyname The name of the modifier key to check status for. | |
| * | | * | |
| * @return @c Eina_True if the modifier key named @p keyname is on, @c | | * @return @c Eina_True if the modifier key named @p keyname is on, @c | |
| * Eina_False otherwise. | | * Eina_False otherwise. | |
| * | | * | |
| * @see evas_key_modifier_add | | * @see evas_key_modifier_add | |
| * @see evas_key_modifier_del | | * @see evas_key_modifier_del | |
| * @see evas_key_modifier_get | | * @see evas_key_modifier_get | |
| * @see evas_key_modifier_on | | * @see evas_key_modifier_on | |
| * @see evas_key_modifier_off | | * @see evas_key_modifier_off | |
| */ | | */ | |
|
| EAPI Eina_Bool evas_key_modifier_is_set (const Evas_Modifi
er *m, const char *keyname) EINA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1, 2)
EINA_PURE; | | EAPI Eina_Bool evas_key_modifier_is_set (const Evas_Modifi
er *m, const char *keyname) EINA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1, 2); | |
| | | | |
| /** | | /** | |
| * Checks the state of a given lock key, at the time of the call. If | | * Checks the state of a given lock key, at the time of the call. If | |
| * the lock is set, such as caps lock, this function returns @c | | * the lock is set, such as caps lock, this function returns @c | |
| * Eina_True. | | * Eina_True. | |
| * | | * | |
| * @param l The current locks set, as returned by evas_key_lock_get(). | | * @param l The current locks set, as returned by evas_key_lock_get(). | |
| * @param keyname The name of the lock key to check status for. | | * @param keyname The name of the lock key to check status for. | |
| * | | * | |
| * @return @c Eina_True if the @p keyname lock key is set, @c | | * @return @c Eina_True if the @p keyname lock key is set, @c | |
| * Eina_False otherwise. | | * Eina_False otherwise. | |
| * | | * | |
| * @see evas_key_lock_get | | * @see evas_key_lock_get | |
| * @see evas_key_lock_add | | * @see evas_key_lock_add | |
| * @see evas_key_lock_del | | * @see evas_key_lock_del | |
| * @see evas_key_lock_on | | * @see evas_key_lock_on | |
| * @see evas_key_lock_off | | * @see evas_key_lock_off | |
| */ | | */ | |
|
| EAPI Eina_Bool evas_key_lock_is_set (const Evas_Lock *
l, const char *keyname) EINA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1, 2) EINA
_PURE; | | EAPI Eina_Bool evas_key_lock_is_set (const Evas_Lock *
l, const char *keyname) EINA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1, 2); | |
| | | | |
| /** | | /** | |
| * Adds the @p keyname key to the current list of modifier keys. | | * Adds the @p keyname key to the current list of modifier keys. | |
| * | | * | |
| * @param e The pointer to the Evas canvas | | * @param e The pointer to the Evas canvas | |
| * @param keyname The name of the modifier key to add to the list of | | * @param keyname The name of the modifier key to add to the list of | |
| * Evas modifiers. | | * Evas modifiers. | |
| * | | * | |
| * Modifiers are keys like shift, alt and ctrl, i.e., keys which are | | * Modifiers are keys like shift, alt and ctrl, i.e., keys which are | |
| * meant to be pressed together with others, altering the behavior of | | * meant to be pressed together with others, altering the behavior of | |
| | | | |
| skipping to change at line 11808 | | skipping to change at line 12160 | |
| * | | * | |
| * @note If the programmer instantiates the canvas by means of the | | * @note If the programmer instantiates the canvas by means of the | |
| * ecore_evas_new() family of helper functions, Ecore will take | | * ecore_evas_new() family of helper functions, Ecore will take | |
| * care of registering on it all standard modifiers: "Shift", | | * care of registering on it all standard modifiers: "Shift", | |
| * "Control", "Alt", "Meta", "Hyper", "Super". | | * "Control", "Alt", "Meta", "Hyper", "Super". | |
| */ | | */ | |
| EAPI void evas_key_modifier_add (Evas *e, const ch
ar *keyname) EINA_ARG_NONNULL(1, 2); | | EAPI void evas_key_modifier_add (Evas *e, const ch
ar *keyname) EINA_ARG_NONNULL(1, 2); | |
| | | | |
| /** | | /** | |
| * Removes the @p keyname key from the current list of modifier keys | | * Removes the @p keyname key from the current list of modifier keys | |
|
| * on canvas @e. | | * on canvas @p e. | |
| * | | * | |
| * @param e The pointer to the Evas canvas | | * @param e The pointer to the Evas canvas | |
| * @param keyname The name of the key to remove from the modifiers list. | | * @param keyname The name of the key to remove from the modifiers list. | |
| * | | * | |
| * @see evas_key_modifier_add | | * @see evas_key_modifier_add | |
| * @see evas_key_modifier_get | | * @see evas_key_modifier_get | |
| * @see evas_key_modifier_on | | * @see evas_key_modifier_on | |
| * @see evas_key_modifier_off | | * @see evas_key_modifier_off | |
| * @see evas_key_modifier_is_set | | * @see evas_key_modifier_is_set | |
| */ | | */ | |
| | | | |
| skipping to change at line 11854 | | skipping to change at line 12206 | |
| * | | * | |
| * @note If the programmer instantiates the canvas by means of the | | * @note If the programmer instantiates the canvas by means of the | |
| * ecore_evas_new() family of helper functions, Ecore will take | | * ecore_evas_new() family of helper functions, Ecore will take | |
| * care of registering on it all standard lock keys: "Caps_Lock", | | * care of registering on it all standard lock keys: "Caps_Lock", | |
| * "Num_Lock", "Scroll_Lock". | | * "Num_Lock", "Scroll_Lock". | |
| */ | | */ | |
| EAPI void evas_key_lock_add (Evas *e, const ch
ar *keyname) EINA_ARG_NONNULL(1, 2); | | EAPI void evas_key_lock_add (Evas *e, const ch
ar *keyname) EINA_ARG_NONNULL(1, 2); | |
| | | | |
| /** | | /** | |
| * Removes the @p keyname key from the current list of lock keys on | | * Removes the @p keyname key from the current list of lock keys on | |
|
| * canvas @e. | | * canvas @p e. | |
| * | | * | |
| * @param e The pointer to the Evas canvas | | * @param e The pointer to the Evas canvas | |
| * @param keyname The name of the key to remove from the locks list. | | * @param keyname The name of the key to remove from the locks list. | |
| * | | * | |
| * @see evas_key_lock_get | | * @see evas_key_lock_get | |
| * @see evas_key_lock_add | | * @see evas_key_lock_add | |
| * @see evas_key_lock_on | | * @see evas_key_lock_on | |
| * @see evas_key_lock_off | | * @see evas_key_lock_off | |
| */ | | */ | |
| EAPI void evas_key_lock_del (Evas *e, const ch
ar *keyname) EINA_ARG_NONNULL(1, 2); | | EAPI void evas_key_lock_del (Evas *e, const ch
ar *keyname) EINA_ARG_NONNULL(1, 2); | |
| | | | |
| skipping to change at line 11954 | | skipping to change at line 12306 | |
| * documentation for more information. | | * documentation for more information. | |
| * | | * | |
| * @see evas_key_modifier_add | | * @see evas_key_modifier_add | |
| * @see evas_key_modifier_get | | * @see evas_key_modifier_get | |
| * @see evas_key_modifier_on | | * @see evas_key_modifier_on | |
| * @see evas_key_modifier_off | | * @see evas_key_modifier_off | |
| * @see evas_key_modifier_is_set | | * @see evas_key_modifier_is_set | |
| * @see evas_object_key_grab | | * @see evas_object_key_grab | |
| * @see evas_object_key_ungrab | | * @see evas_object_key_ungrab | |
| */ | | */ | |
|
| EAPI Evas_Modifier_Mask evas_key_modifier_mask_get (const Evas *e, co
nst char *keyname) EINA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1, 2) EINA_PURE
; | | EAPI Evas_Modifier_Mask evas_key_modifier_mask_get (const Evas *e, co
nst char *keyname) EINA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1, 2); | |
| | | | |
| /** | | /** | |
| * Requests @p keyname key events be directed to @p obj. | | * Requests @p keyname key events be directed to @p obj. | |
| * | | * | |
| * @param obj the object to direct @p keyname events to. | | * @param obj the object to direct @p keyname events to. | |
| * @param keyname the key to request events for. | | * @param keyname the key to request events for. | |
| * @param modifiers a mask of modifiers that must be present to | | * @param modifiers a mask of modifiers that must be present to | |
| * trigger the event. | | * trigger the event. | |
| * @param not_modifiers a mask of modifiers that must @b not be present | | * @param not_modifiers a mask of modifiers that must @b not be present | |
| * to trigger the event. | | * to trigger the event. | |
| | | | |
| skipping to change at line 11981 | | skipping to change at line 12333 | |
| * key is grabbed, only the objects grabbing it will get the events | | * key is grabbed, only the objects grabbing it will get the events | |
| * for the given keys. | | * for the given keys. | |
| * | | * | |
| * @p keyname is a platform dependent symbolic name for the key | | * @p keyname is a platform dependent symbolic name for the key | |
| * pressed (see @ref Evas_Keys for more information). | | * pressed (see @ref Evas_Keys for more information). | |
| * | | * | |
| * @p modifiers and @p not_modifiers are bit masks of all the | | * @p modifiers and @p not_modifiers are bit masks of all the | |
| * modifiers that must and mustn't, respectively, be pressed along | | * modifiers that must and mustn't, respectively, be pressed along | |
| * with @p keyname key in order to trigger this new key | | * with @p keyname key in order to trigger this new key | |
| * grab. Modifiers can be things such as Shift and Ctrl as well as | | * grab. Modifiers can be things such as Shift and Ctrl as well as | |
|
| * user defigned types via evas_key_modifier_add(). Retrieve them with | | * user defined types via evas_key_modifier_add(). Retrieve them with | |
| * evas_key_modifier_mask_get() or use @c 0 for empty masks. | | * evas_key_modifier_mask_get() or use @c 0 for empty masks. | |
| * | | * | |
| * @p exclusive will make the given object the only one permitted to | | * @p exclusive will make the given object the only one permitted to | |
| * grab the given key. If given @c EINA_TRUE, subsequent calls on this | | * grab the given key. If given @c EINA_TRUE, subsequent calls on this | |
| * function with different @p obj arguments will fail, unless the key | | * function with different @p obj arguments will fail, unless the key | |
| * is ungrabbed again. | | * is ungrabbed again. | |
| * | | * | |
| * Example code follows. | | * Example code follows. | |
| * @dontinclude evas-events.c | | * @dontinclude evas-events.c | |
| * @skip if (d.focus) | | * @skip if (d.focus) | |
| | | | |
End of changes. 300 change blocks. |
| 389 lines changed or deleted | | 809 lines changed or added | |
|