~~Title: Efl.Canvas.Group~~ ====== Efl.Canvas.Group (class) ====== ===== Description ===== %%A group object is a container for other canvas objects. Its children move along their parent and are often clipped with a common clipper. This is part of the legacy smart object concept.%% %%A group is not necessarily a container (see %%[[:develop:api:efl:container|Efl.Container]]%%) in the sense that a standard widget may not have any empty slots for content. However it's still a group of low-level canvas objects (clipper, raw objects, etc.).%% //Since 1.22// {{page>:develop:api-include:efl:canvas:group:description&nouser&nolink&nodate}} ===== Inheritance ===== => [[:develop:api:efl:canvas:object|Efl.Canvas.Object]] //(class)// => [[:develop:api:efl:loop_consumer|Efl.Loop_Consumer]] //(class)// => [[:develop:api:efl:object|Efl.Object]] //(class)// ++++ Full hierarchy | * [[:develop:api:efl:canvas:object|Efl.Canvas.Object]] //(class)// * [[:develop:api:efl:loop_consumer|Efl.Loop_Consumer]] //(class)// * [[:develop:api:efl:object|Efl.Object]] //(class)// * [[:develop:api:efl:gfx:entity|Efl.Gfx.Entity]] //(interface)// * [[:develop:api:efl:gfx:color|Efl.Gfx.Color]] //(mixin)// * [[:develop:api:efl:gfx:stack|Efl.Gfx.Stack]] //(interface)// * [[:develop:api:efl:input:interface|Efl.Input.Interface]] //(interface)// * [[:develop:api:efl:gfx:hint|Efl.Gfx.Hint]] //(interface)// * [[:develop:api:efl:gfx:mapping|Efl.Gfx.Mapping]] //(mixin)// * [[:develop:api:efl:canvas:pointer|Efl.Canvas.Pointer]] //(interface)// * [[:develop:api:efl:gesture:events|Efl.Gesture.Events]] //(interface)// ++++ ===== Members ===== **[[:develop:api:efl:canvas:group:property:clipper|clipper]]** //**(get, set)**//// [Overridden from [[:develop:api:efl:canvas:object|Efl.Canvas.Object]]]//\\ > %%Clip one object to another.%% Efl_Canvas_Object *efl_canvas_object_clipper_get(const Eo *obj); void efl_canvas_object_clipper_set(Eo *obj, Efl_Canvas_Object *clipper); \\ **[[:develop:api:efl:canvas:group:property:color|color]]** //**(get, set)**//// [Overridden from [[:develop:api:efl:gfx:color|Efl.Gfx.Color]]]//\\ > %%The general/main color of the given Evas object.%% void efl_gfx_color_get(const Eo *obj, int *r, int *g, int *b, int *a); void efl_gfx_color_set(Eo *obj, int r, int g, int b, int a); \\ **[[:develop:api:efl:canvas:group:method:constructor|constructor]]**// [Overridden from [[:develop:api:efl:object|Efl.Object]]]//\\ > %%Implement this method to provide optional initialization code for your object.%% Efl_Object *efl_constructor(Eo *obj); \\ **[[:develop:api:efl:canvas:group:method:debug_name_override|debug_name_override]]**// [Overridden from [[:develop:api:efl:object|Efl.Object]]]//\\ > %%Build a read-only name for this object used for debugging.%% void efl_debug_name_override(Eo *obj, Eina_Strbuf *sb); \\ **[[:develop:api:efl:canvas:group:method:destructor|destructor]]**// [Overridden from [[:develop:api:efl:object|Efl.Object]]]//\\ > %%Implement this method to provide deinitialization code for your object if you need it.%% void efl_destructor(Eo *obj); \\ **[[:develop:api:efl:canvas:group:method:group_calculate|group_calculate]]**\\ > %%Triggers an immediate recalculation of this object's geometry.%% void efl_canvas_group_calculate(Eo *obj); \\ **[[:develop:api:efl:canvas:group:method:group_change|group_change]]**\\ > %%Marks the object as dirty.%% void efl_canvas_group_change(Eo *obj); \\ **[[:develop:api:efl:canvas:group:method:group_member_add|group_member_add]]**\\ > %%Set a canvas object as a member of a given group (or smart object).%% void efl_canvas_group_member_add(Eo *obj, Efl_Canvas_Object *sub_obj); \\ **[[:develop:api:efl:canvas:group:method:group_member_is|group_member_is]]**\\ > %%Finds out if a given object is a member of this group.%% Eina_Bool efl_canvas_group_member_is(const Eo *obj, const Efl_Canvas_Object *sub_obj); \\ **[[:develop:api:efl:canvas:group:method:group_member_remove|group_member_remove]]**\\ > %%Removes a member object from a given smart object.%% void efl_canvas_group_member_remove(Eo *obj, Efl_Canvas_Object *sub_obj); \\ **[[:develop:api:efl:canvas:group:method:group_members_iterate|group_members_iterate]]**\\ > %%Returns an iterator over the children of this object, which are canvas objects.%% Eina_Iterator *efl_canvas_group_members_iterate(const Eo *obj); \\ **[[:develop:api:efl:canvas:group:property:group_need_recalculate|group_need_recalculate]]** //**(get, set)**//\\ > %%Indicates that the group's layout needs to be recalculated.%% Eina_Bool efl_canvas_group_need_recalculate_get(const Eo *obj); void efl_canvas_group_need_recalculate_set(Eo *obj, Eina_Bool value); \\ **[[:develop:api:efl:canvas:group:property:no_render|no_render]]** //**(get, set)**//// [Overridden from [[:develop:api:efl:canvas:object|Efl.Canvas.Object]]]//\\ > %%Disables all rendering on the canvas.%% Eina_Bool efl_canvas_object_no_render_get(const Eo *obj); void efl_canvas_object_no_render_set(Eo *obj, Eina_Bool enable); \\ **[[:develop:api:efl:canvas:group:property:paragraph_direction|paragraph_direction]]** //**(get, set)**//// [Overridden from [[:develop:api:efl:canvas:object|Efl.Canvas.Object]]]//\\ > %%This handles text paragraph direction of the given object. Even if the given object is not textblock or text, its smart child objects can inherit the paragraph direction from the given object. The default paragraph direction is %%''inherit''%%.%% Efl_Text_Bidirectional_Type efl_canvas_object_paragraph_direction_get(const Eo *obj); void efl_canvas_object_paragraph_direction_set(Eo *obj, Efl_Text_Bidirectional_Type dir); \\ **[[:develop:api:efl:canvas:group:property:position|position]]** //**(get, set)**//// [Overridden from [[:develop:api:efl:gfx:entity|Efl.Gfx.Entity]]]//\\ > %%The 2D position of a canvas object.%% Eina_Position2D efl_gfx_entity_position_get(const Eo *obj); void efl_gfx_entity_position_set(Eo *obj, Eina_Position2D pos); \\ **[[:develop:api:efl:canvas:group:property:visible|visible]]** //**(get, set)**//// [Overridden from [[:develop:api:efl:gfx:entity|Efl.Gfx.Entity]]]//\\ > %%The visibility of a canvas object.%% Eina_Bool efl_gfx_entity_visible_get(const Eo *obj); void efl_gfx_entity_visible_set(Eo *obj, Eina_Bool v); \\ **[[:develop:api:efl:canvas:group:property:group_clipper|group_clipper]]** //**(get)**// ''protected''\\ > const Efl_Canvas_Object *efl_canvas_group_clipper_get(const Eo *obj); \\ ==== Inherited ==== ^ [[:develop:api:efl:canvas:object|Efl.Canvas.Object]] ^^^ | | **[[:develop:api:efl:canvas:object:property:above|above]]** //**(get)**// | | | | **[[:develop:api:efl:canvas:object:property:anti_alias|anti_alias]]** //**(get, set)**// | %%Whether or not the given Evas object is to be drawn anti-aliased.%% | | | **[[:develop:api:efl:canvas:object:property:below|below]]** //**(get)**// | | | | **[[:develop:api:efl:canvas:object:property:clipped_objects|clipped_objects]]** //**(get)**// | | | | **[[:develop:api:efl:canvas:object:method:clipped_objects_count|clipped_objects_count]]** | %%Returns the number of objects clipped by %%''obj''%%%% | | | **[[:develop:api:efl:canvas:object:property:coords_inside|coords_inside]]** //**(get)**// | | | | **[[:develop:api:efl:canvas:object:method:event_freeze|event_freeze]]** | %%Freeze events of this object.%% | | | **[[:develop:api:efl:canvas:object:method:event_thaw|event_thaw]]** | %%Thaw events of object.%% | | | **[[:develop:api:efl:canvas:object:method:finalize|finalize]]** | %%Implement this method to finish the initialization of your object after all (if any) user-provided configuration methods have been executed.%% | | | **[[:develop:api:efl:canvas:object:property:geometry|geometry]]** //**(get, set)**// | %%Rectangular geometry that combines both position and size.%% | | | **[[:develop:api:efl:canvas:object:method:gesture_manager_get|gesture_manager_get]]** | %%Returns current canvas's gesture manager%% | | | **[[:develop:api:efl:canvas:object:property:has_fixed_size|has_fixed_size]]** //**(get, set)**// | %%A hint for an object that its size will not change.%% | | | **[[:develop:api:efl:canvas:object:property:hint_align|hint_align]]** //**(get, set)**// | %%Hints for an object's alignment.%% | | | **[[:develop:api:efl:canvas:object:property:hint_aspect|hint_aspect]]** //**(get, set)**// | %%Defines the aspect ratio to respect when scaling this object.%% | | | **[[:develop:api:efl:canvas:object:property:hint_fill|hint_fill]]** //**(get, set)**// | %%Hints for an object's fill property that used to specify "justify" or "fill" by some users. %%[[:develop:api:efl:gfx:hint:property:hint_fill|Efl.Gfx.Hint.hint_fill]]%% specify whether to fill the space inside the boundaries of a container/manager.%% | | | **[[:develop:api:efl:canvas:object:property:hint_margin|hint_margin]]** //**(get, set)**// | %%Hints for an object's margin or padding space.%% | | | **[[:develop:api:efl:canvas:object:property:hint_size_combined_max|hint_size_combined_max]]** //**(get)**// | | | | **[[:develop:api:efl:canvas:object:property:hint_size_combined_min|hint_size_combined_min]]** //**(get)**// | | | | **[[:develop:api:efl:canvas:object:property:hint_size_max|hint_size_max]]** //**(get, set)**// | %%Hints on the object's maximum size.%% | | | **[[:develop:api:efl:canvas:object:property:hint_size_min|hint_size_min]]** //**(get, set)**// | %%Hints on the object's minimum size.%% | | ''protected set'' | **[[:develop:api:efl:canvas:object:property:hint_size_restricted_max|hint_size_restricted_max]]** //**(get, set)**// | %%Internal hints for an object's maximum size.%% | | ''protected set'' | **[[:develop:api:efl:canvas:object:property:hint_size_restricted_min|hint_size_restricted_min]]** //**(get, set)**// | %%Internal hints for an object's minimum size.%% | | | **[[:develop:api:efl:canvas:object:property:hint_weight|hint_weight]]** //**(get, set)**// | %%Hints for an object's weight.%% | | | **[[:develop:api:efl:canvas:object:method:invalidate|invalidate]]** | %%Implement this method to perform special actions when your object loses its parent, if you need to.%% | | | **[[:develop:api:efl:canvas:object:property:key_focus|key_focus]]** //**(get, set)**// | %%Indicates that this object is the keyboard event receiver on its canvas.%% | | | **[[:develop:api:efl:canvas:object:method:key_grab|key_grab]]** | %%Requests %%''keyname''%% key events be directed to %%''obj''%%.%% | | | **[[:develop:api:efl:canvas:object:method:key_ungrab|key_ungrab]]** | %%Removes the grab on %%''keyname''%% key events by %%''obj''%%.%% | | | **[[:develop:api:efl:canvas:object:property:layer|layer]]** //**(get, set)**// | %%The layer of its canvas that the given object will be part of.%% | | | **[[:develop:api:efl:canvas:object:property:loop|loop]]** //**(get)**// | | | | **[[:develop:api:efl:canvas:object:method:lower_to_bottom|lower_to_bottom]]** | %%Lower %%''obj''%% to the bottom of its layer.%% | | | **[[:develop:api:efl:canvas:object:property:pass_events|pass_events]]** //**(get, set)**// | %%Whether an Evas object is to pass (ignore) events.%% | | | **[[:develop:api:efl:canvas:object:property:pointer_inside|pointer_inside]]** //**(get)**// | | | | **[[:develop:api:efl:canvas:object:property:pointer_mode|pointer_mode]]** //**(get, set)**// | %%Low-level pointer behaviour.%% | | | **[[:develop:api:efl:canvas:object:property:pointer_mode_by_device|pointer_mode_by_device]]** //**(get, set)**// | %%Low-level pointer behaviour by device. See %%[[:develop:api:efl:canvas:object:property:pointer_mode|Efl.Canvas.Object.pointer_mode.get]]%% and %%[[:develop:api:efl:canvas:object:property:pointer_mode|Efl.Canvas.Object.pointer_mode.set]]%% for more explanation.%% | | | **[[:develop:api:efl:canvas:object:property:precise_is_inside|precise_is_inside]]** //**(get, set)**// | %%Whether to use precise (usually expensive) point collision detection for a given Evas object.%% | | | **[[:develop:api:efl:canvas:object:property:propagate_events|propagate_events]]** //**(get, set)**// | %%Whether events on a smart object's member should be propagated up to its parent.%% | | | **[[:develop:api:efl:canvas:object:method:provider_find|provider_find]]** | %%Searches upwards in the object tree for a provider which knows the given class/interface.%% | | | **[[:develop:api:efl:canvas:object:method:raise_to_top|raise_to_top]]** | %%Raise %%''obj''%% to the top of its layer.%% | | | **[[:develop:api:efl:canvas:object:property:render_op|render_op]]** //**(get, set)**// | %%Render mode to be used for compositing the Evas object.%% | | | **[[:develop:api:efl:canvas:object:property:repeat_events|repeat_events]]** //**(get, set)**// | %%Whether an Evas object is to repeat events to objects below it.%% | | | **[[:develop:api:efl:canvas:object:property:scale|scale]]** //**(get, set)**// | %%The scaling factor of an object.%% | | | **[[:develop:api:efl:canvas:object:property:seat_event_filter|seat_event_filter]]** //**(get, set)**// | %%Whether input events from a given seat are enabled. If the filter list is empty (no seat is disabled) this object will report mouse, keyboard and focus events from any seat, otherwise those events will only be reported if the event comes from a seat that is not in the list.%% | | | **[[:develop:api:efl:canvas:object:property:seat_focus|seat_focus]]** //**(get)**// | | | | **[[:develop:api:efl:canvas:object:method:seat_focus_add|seat_focus_add]]** | %%Add a seat to the focus list.%% | | | **[[:develop:api:efl:canvas:object:method:seat_focus_check|seat_focus_check]]** | %%Check if this object is focused by a given seat%% | | | **[[:develop:api:efl:canvas:object:method:seat_focus_del|seat_focus_del]]** | %%Remove a seat from the focus list.%% | | | **[[:develop:api:efl:canvas:object:property:size|size]]** //**(get, set)**// | %%The 2D size of a canvas object.%% | | | **[[:develop:api:efl:canvas:object:method:stack_above|stack_above]]** | %%Stack %%''obj''%% immediately %%''above''%%%% | | | **[[:develop:api:efl:canvas:object:method:stack_below|stack_below]]** | %%Stack %%''obj''%% immediately %%''below''%%%% | | ''protected'' | **[[:develop:api:efl:canvas:object:property:render_parent|render_parent]]** //**(get)**// | | ^ [[:develop:api:efl:gfx:color|Efl.Gfx.Color]] ^^^ | | **[[:develop:api:efl:gfx:color:property:color_code|color_code]]** //**(get, set)**// | %%Hexadecimal color code of given Evas object (#RRGGBBAA).%% | ^ [[:develop:api:efl:gfx:mapping|Efl.Gfx.Mapping]] ^^^ | | **[[:develop:api:efl:gfx:mapping:method:lighting_3d|lighting_3d]]** | %%Apply a lighting effect on the object.%% | | | **[[:develop:api:efl:gfx:mapping:method:lighting_3d_absolute|lighting_3d_absolute]]** | %%Apply a lighting effect to the object.%% | | | **[[:develop:api:efl:gfx:mapping:property:mapping_alpha|mapping_alpha]]** //**(get, set)**// | %%Alpha flag for map rendering.%% | | | **[[:develop:api:efl:gfx:mapping:property:mapping_clockwise|mapping_clockwise]]** //**(get)**// | | | | **[[:develop:api:efl:gfx:mapping:property:mapping_color|mapping_color]]** //**(get, set)**// | %%Color of a vertex in the map.%% | | | **[[:develop:api:efl:gfx:mapping:property:mapping_coord_absolute|mapping_coord_absolute]]** //**(get, set)**// | %%A point's absolute coordinate on the canvas.%% | | | **[[:develop:api:efl:gfx:mapping:method:mapping_has|mapping_has]]** | %%Read-only property indicating whether an object is mapped.%% | | | **[[:develop:api:efl:gfx:mapping:property:mapping_point_count|mapping_point_count]]** //**(get, set)**// | %%Number of points of a map.%% | | | **[[:develop:api:efl:gfx:mapping:method:mapping_reset|mapping_reset]]** | %%Resets the map transformation to its default state.%% | | | **[[:develop:api:efl:gfx:mapping:property:mapping_smooth|mapping_smooth]]** //**(get, set)**// | %%Smoothing state for map rendering.%% | | | **[[:develop:api:efl:gfx:mapping:property:mapping_uv|mapping_uv]]** //**(get, set)**// | %%Map point's U and V texture source point.%% | | | **[[:develop:api:efl:gfx:mapping:method:perspective_3d|perspective_3d]]** | %%Apply a perspective transform to the map%% | | | **[[:develop:api:efl:gfx:mapping:method:perspective_3d_absolute|perspective_3d_absolute]]** | %%Apply a perspective transform to the map%% | | | **[[:develop:api:efl:gfx:mapping:method:rotate|rotate]]** | %%Apply a rotation to the object.%% | | | **[[:develop:api:efl:gfx:mapping:method:rotate_3d|rotate_3d]]** | %%Rotate the object around 3 axes in 3D.%% | | | **[[:develop:api:efl:gfx:mapping:method:rotate_3d_absolute|rotate_3d_absolute]]** | %%Rotate the object around 3 axes in 3D, using absolute coordinates.%% | | | **[[:develop:api:efl:gfx:mapping:method:rotate_absolute|rotate_absolute]]** | %%Apply a rotation to the object, using absolute coordinates.%% | | | **[[:develop:api:efl:gfx:mapping:method:rotate_quat|rotate_quat]]** | %%Rotate the object in 3D using a unit quaternion.%% | | | **[[:develop:api:efl:gfx:mapping:method:rotate_quat_absolute|rotate_quat_absolute]]** | %%Rotate the object in 3D using a unit quaternion, using absolute coordinates.%% | | | **[[:develop:api:efl:gfx:mapping:method:translate|translate]]** | %%Apply a translation to the object using map.%% | | | **[[:develop:api:efl:gfx:mapping:method:zoom|zoom]]** | %%Apply a zoom to the object.%% | | | **[[:develop:api:efl:gfx:mapping:method:zoom_absolute|zoom_absolute]]** | %%Apply a zoom to the object, using absolute coordinates.%% | ^ [[:develop:api:efl:loop_consumer|Efl.Loop_Consumer]] ^^^ | | **[[:develop:api:efl:loop_consumer:method:future_rejected|future_rejected]]** | %%Creates a new future that is already rejected to a specified error using the %%[[:develop:api:efl:loop_consumer:property:loop|Efl.Loop_Consumer.loop.get]]%%.%% | | | **[[:develop:api:efl:loop_consumer:method:future_resolved|future_resolved]]** | %%Creates a new future that is already resolved to a value.%% | | | **[[:develop:api:efl:loop_consumer:property:parent|parent]]** //**(get, set)**// | %%The parent of an object.%% | | | **[[:develop:api:efl:loop_consumer:method:promise_new|promise_new]]** | %%Create a new promise with the scheduler coming from the loop provided by this object.%% | ^ [[:develop:api:efl:object|Efl.Object]] ^^^ | | **[[:develop:api:efl:object:property:allow_parent_unref|allow_parent_unref]]** //**(get, set)**// | %%Allow an object to be deleted by unref even if it has a parent.%% | | | **[[:develop:api:efl:object:method:children_iterator_new|children_iterator_new]]** | %%Get an iterator on all children.%% | | | **[[:develop:api:efl:object:property:comment|comment]]** //**(get, set)**// | %%A human readable comment for the object.%% | | | **[[:develop:api:efl:object:method:composite_attach|composite_attach]]** | %%Make an object a composite object of another.%% | | | **[[:develop:api:efl:object:method:composite_detach|composite_detach]]** | %%Detach a composite object from another object.%% | | | **[[:develop:api:efl:object:method:composite_part_is|composite_part_is]]** | %%Check if an object is part of a composite object.%% | | | **[[:develop:api:efl:object:method:event_callback_forwarder_del|event_callback_forwarder_del]]** | %%Remove an event callback forwarder for a specified event and object.%% | | | **[[:develop:api:efl:object:method:event_callback_forwarder_priority_add|event_callback_forwarder_priority_add]]** | %%Add an event callback forwarder that will make this object emit an event whenever another object (%%''source''%%) emits it. The event is said to be forwarded from %%''source''%% to this object.%% | | | **[[:develop:api:efl:object:method:event_callback_stop|event_callback_stop]]** | %%Stop the current callback call.%% | | | **[[:develop:api:efl:object:property:event_freeze_count|event_freeze_count]]** //**(get)**// | | | ''static'' | **[[:develop:api:efl:object:method:event_global_freeze|event_global_freeze]]** | %%Globally freeze events for ALL EFL OBJECTS.%% | | ''static'' | **[[:develop:api:efl:object:property:event_global_freeze_count|event_global_freeze_count]]** //**(get)**// | | | ''static'' | **[[:develop:api:efl:object:method:event_global_thaw|event_global_thaw]]** | %%Globally thaw events for ALL EFL OBJECTS.%% | | | **[[:develop:api:efl:object:property:finalized|finalized]]** //**(get)**// | | | | **[[:develop:api:efl:object:property:invalidated|invalidated]]** //**(get)**// | | | | **[[:develop:api:efl:object:property:invalidating|invalidating]]** //**(get)**// | | | | **[[:develop:api:efl:object:property:name|name]]** //**(get, set)**// | %%The name of the object.%% | | | **[[:develop:api:efl:object:method:name_find|name_find]]** | %%Find a child object with the given name and return it.%% | | | **[[:develop:api:efl:object:method:provider_register|provider_register]]** | %%Will register a manager of a specific class to be answered by %%[[:develop:api:efl:object:method:provider_find|Efl.Object.provider_find]]%%.%% | | | **[[:develop:api:efl:object:method:provider_unregister|provider_unregister]]** | %%Will unregister a manager of a specific class that was previously registered and answered by %%[[:develop:api:efl:object:method:provider_find|Efl.Object.provider_find]]%%.%% | ===== Events ===== **[[:develop:api:efl:canvas:group:event:member_added|member,added]]**\\ > %%Called when a member is added to the group.%% EFL_CANVAS_GROUP_EVENT_MEMBER_ADDED(Efl_Gfx_Entity *) \\ **[[:develop:api:efl:canvas:group:event:member_removed|member,removed]]**\\ > %%Called when a member is removed from the group.%% EFL_CANVAS_GROUP_EVENT_MEMBER_REMOVED(Efl_Gfx_Entity *) \\ ==== Inherited ==== ^ [[:develop:api:efl:canvas:object|Efl.Canvas.Object]] ^^^ | | **[[:develop:api:efl:canvas:object:event:animator_tick|animator,tick]]** | %%Animator tick synchronized with screen vsync if possible.%% | ^ [[:develop:api:efl:gesture:events|Efl.Gesture.Events]] ^^^ | | **[[:develop:api:efl:gesture:events:event:gesture_double_tap|gesture,double_tap]]** | %%Emitted when a Double-tap gesture has been detected. A Double-tap gesture consists of two taps on the screen (or clicks of the mouse) in quick succession. If the second one is delayed for too long they will be detected as two independent %%[[:develop:api:efl:gesture:events:event:gesture,tap|Efl.Gesture.Events.gesture,tap]]%% events.%% | | | **[[:develop:api:efl:gesture:events:event:gesture_flick|gesture,flick]]** | %%Emitted when a Flick gesture has been detected.%% | | | **[[:develop:api:efl:gesture:events:event:gesture_long_tap|gesture,long_tap]]** | %%Emitted when a Long-tap gesture has been detected. A Long-tap gesture consists of a touch of the screen (or click of the mouse) followed by a release after some time. If the release happens too quickly a %%[[:develop:api:efl:gesture:events:event:gesture,tap|Efl.Gesture.Events.gesture,tap]]%% event will be emitted instead.%% | | | **[[:develop:api:efl:gesture:events:event:gesture_momentum|gesture,momentum]]** | %%Emitted when a Momentum gesture has been detected. A Momentum gesture consists of a quick displacement of the finger while touching the screen (or while holding down a mouse button).%% | | | **[[:develop:api:efl:gesture:events:event:gesture_tap|gesture,tap]]** | %%Emitted when a Tap gesture has been detected. A Tap gesture consists of a touch of the screen (or click of the mouse) quickly followed by a release. If the release happens too late a %%[[:develop:api:efl:gesture:events:event:gesture,long_tap|Efl.Gesture.Events.gesture,long_tap]]%% event will be emitted instead.%% | | | **[[:develop:api:efl:gesture:events:event:gesture_triple_tap|gesture,triple_tap]]** | %%Emitted when a Triple-tap gesture has been detected. A Triple-tap gesture consists of three taps on the screen (or clicks of the mouse) in quick succession. If any of them is delayed for too long they will be detected as independent %%[[:develop:api:efl:gesture:events:event:gesture,tap|Efl.Gesture.Events.gesture,tap]]%% or %%[[:develop:api:efl:gesture:events:event:gesture,double_tap|Efl.Gesture.Events.gesture,double_tap]]%% events.%% | | | **[[:develop:api:efl:gesture:events:event:gesture_zoom|gesture,zoom]]** | %%Emitted when a Zoom gesture has been detected. A Zoom gesture consists of two fingers touching the screen and separating ("zoom in") or getting closer ("zoom out" or "pinch"). This gesture cannot be performed with a mouse as it requires more than one pointer.%% | ^ [[:develop:api:efl:gfx:entity|Efl.Gfx.Entity]] ^^^ | | **[[:develop:api:efl:gfx:entity:event:position_changed|position,changed]]** | %%Object was moved, its position during the event is the new one.%% | | | **[[:develop:api:efl:gfx:entity:event:size_changed|size,changed]]** | %%Object was resized, its size during the event is the new one.%% | | | **[[:develop:api:efl:gfx:entity:event:visibility_changed|visibility,changed]]** | %%Object's visibility state changed, the event value is the new state.%% | ^ [[:develop:api:efl:gfx:hint|Efl.Gfx.Hint]] ^^^ | | **[[:develop:api:efl:gfx:hint:event:hints_changed|hints,changed]]** | %%Object hints changed.%% | ^ [[:develop:api:efl:gfx:stack|Efl.Gfx.Stack]] ^^^ | | **[[:develop:api:efl:gfx:stack:event:stacking_changed|stacking,changed]]** | %%Object stacking was changed.%% | ^ [[:develop:api:efl:input:interface|Efl.Input.Interface]] ^^^ | | **[[:develop:api:efl:input:interface:event:finger_down|finger,down]]** | %%Finger pressed (finger id is known).%% | | | **[[:develop:api:efl:input:interface:event:finger_move|finger,move]]** | %%Finger moved (current and previous positions are known).%% | | | **[[:develop:api:efl:input:interface:event:finger_up|finger,up]]** | %%Finger released (finger id is known).%% | | | **[[:develop:api:efl:input:interface:event:focus_in|focus,in]]** | %%A focus in event.%% | | | **[[:develop:api:efl:input:interface:event:focus_out|focus,out]]** | %%A focus out event.%% | | | **[[:develop:api:efl:input:interface:event:hold|hold]]** | %%All input events are on hold or resumed.%% | | | **[[:develop:api:efl:input:interface:event:key_down|key,down]]** | %%Keyboard key press.%% | | | **[[:develop:api:efl:input:interface:event:key_up|key,up]]** | %%Keyboard key release.%% | | | **[[:develop:api:efl:input:interface:event:pointer_axis|pointer,axis]]** | %%Pen or other axis event update.%% | | | **[[:develop:api:efl:input:interface:event:pointer_cancel|pointer,cancel]]** | %%Main pointer button press was cancelled (button id is known). This can happen in rare cases when the window manager passes the focus to a more urgent window, for instance. You probably don't need to listen to this event, as it will be accompanied by an up event.%% | | | **[[:develop:api:efl:input:interface:event:pointer_down|pointer,down]]** | %%Main pointer button pressed (button id is known).%% | | | **[[:develop:api:efl:input:interface:event:pointer_in|pointer,in]]** | %%Pointer entered a window or a widget.%% | | | **[[:develop:api:efl:input:interface:event:pointer_move|pointer,move]]** | %%Main pointer move (current and previous positions are known).%% | | | **[[:develop:api:efl:input:interface:event:pointer_out|pointer,out]]** | %%Pointer left a window or a widget.%% | | | **[[:develop:api:efl:input:interface:event:pointer_up|pointer,up]]** | %%Main pointer button released (button id is known).%% | | | **[[:develop:api:efl:input:interface:event:pointer_wheel|pointer,wheel]]** | %%Mouse wheel event.%% | ^ [[:develop:api:efl:object|Efl.Object]] ^^^ | | **[[:develop:api:efl:object:event:del|del]]** | %%Object is being deleted. See %%[[:develop:api:efl:object:method:destructor|Efl.Object.destructor]]%%.%% | | | **[[:develop:api:efl:object:event:destruct|destruct]]** | %%Object has been fully destroyed. It can not be used beyond this point. This event should only serve to clean up any reference you keep to the object.%% | | | **[[:develop:api:efl:object:event:invalidate|invalidate]]** | %%Object is being invalidated and losing its parent. See %%[[:develop:api:efl:object:method:invalidate|Efl.Object.invalidate]]%%.%% | | | **[[:develop:api:efl:object:event:noref|noref]]** | %%Object has lost its last reference, only parent relationship is keeping it alive. Advanced usage.%% | | | **[[:develop:api:efl:object:event:ownership_shared|ownership,shared]]** | %%Object has acquired a second reference. It has multiple owners now. Triggered whenever increasing the refcount from one to two, it will not trigger by further increasing the refcount beyond two.%% | | | **[[:develop:api:efl:object:event:ownership_unique|ownership,unique]]** | %%Object has lost a reference and only one is left. It has just one owner now. Triggered whenever the refcount goes from two to one.%% |