~~Title: Efl.Input.Pointer~~ ====== Efl.Input.Pointer (class) ====== ===== Description ===== %%Event data carried over with any pointer event (mouse, touch, pen, ...)%% //Since 1.23// {{page>:develop:api-include:efl:input:pointer:description&nouser&nolink&nodate}} ===== Inheritance ===== => [[:develop:api:efl:object|Efl.Object]] //(class)// ++++ Full hierarchy | * [[:develop:api:efl:object|Efl.Object]] //(class)// * [[:develop:api:efl:input:event|Efl.Input.Event]] //(mixin)// * [[:develop:api:efl:duplicate|Efl.Duplicate]] //(interface)// * [[:develop:api:efl:input:state|Efl.Input.State]] //(interface)// ++++ ===== Members ===== **[[:develop:api:efl:input:pointer:property:action|action]]** //**(get, set)**//\\ > %%The action represented by this event.%% Efl_Pointer_Action efl_input_pointer_action_get(const Eo *obj); void efl_input_pointer_action_set(Eo *obj, Efl_Pointer_Action act); \\ **[[:develop:api:efl:input:pointer:property:button|button]]** //**(get, set)**//\\ > %%The mouse button that triggered the event.%% int efl_input_pointer_button_get(const Eo *obj); void efl_input_pointer_button_set(Eo *obj, int but); \\ **[[:develop:api:efl:input:pointer:property:button_flags|button_flags]]** //**(get, set)**//\\ > %%Double or triple click information.%% Efl_Pointer_Flags efl_input_pointer_button_flags_get(const Eo *obj); void efl_input_pointer_button_flags_set(Eo *obj, Efl_Pointer_Flags flags); \\ **[[:develop:api:efl:input:pointer:property:button_pressed|button_pressed]]** //**(get, set)**//\\ > %%Whether a mouse button is pressed at the moment of the event.%% Eina_Bool efl_input_pointer_button_pressed_get(const Eo *obj, int button); void efl_input_pointer_button_pressed_set(Eo *obj, int button, Eina_Bool pressed); \\ **[[:develop:api:efl:input:pointer: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:input:pointer: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:input:pointer:property:device|device]]** //**(get, set)**//// [Overridden from [[:develop:api:efl:input:event|Efl.Input.Event]]]//\\ > %%Input device that originated this event.%% Efl_Input_Device *efl_input_device_get(const Eo *obj); void efl_input_device_set(Eo *obj, Efl_Input_Device *dev); \\ **[[:develop:api:efl:input:pointer:property:double_click|double_click]]** //**(get, set)**//\\ > %%%%''true''%% if %%[[:develop:api:efl:input:pointer:property:button_flags|Efl.Input.Pointer.button_flags]]%% indicates a double click (2nd press).%% Eina_Bool efl_input_pointer_double_click_get(const Eo *obj); void efl_input_pointer_double_click_set(Eo *obj, Eina_Bool val); \\ **[[:develop:api:efl:input:pointer:method:duplicate|duplicate]]**// [Overridden from [[:develop:api:efl:duplicate|Efl.Duplicate]]]//\\ > %%Creates a copy of this event. %%[[:develop:api:efl:input:event:property:fake|Efl.Input.Event.fake]]%% is %%''true''%%.%% Efl_Duplicate *efl_duplicate(const Eo *obj); \\ **[[:develop:api:efl:input:pointer:property:event_flags|event_flags]]** //**(get, set)**//// [Overridden from [[:develop:api:efl:input:event|Efl.Input.Event]]]//\\ > %%Extra flags for this event, may be changed by the user.%% Efl_Input_Flags efl_input_event_flags_get(const Eo *obj); void efl_input_event_flags_set(Eo *obj, Efl_Input_Flags flags); \\ **[[:develop:api:efl:input:pointer:property:fake|fake]]** //**(get)**//// [Overridden from [[:develop:api:efl:input:event|Efl.Input.Event]]]//\\ > Eina_Bool efl_input_fake_get(const Eo *obj); \\ **[[:develop:api:efl:input:pointer:property:lock_enabled|lock_enabled]]** //**(get)**//// [Overridden from [[:develop:api:efl:input:state|Efl.Input.State]]]//\\ > Eina_Bool efl_input_lock_enabled_get(const Eo *obj, Efl_Input_Lock lock, const Efl_Input_Device *seat); \\ **[[:develop:api:efl:input:pointer:property:modifier_enabled|modifier_enabled]]** //**(get)**//// [Overridden from [[:develop:api:efl:input:state|Efl.Input.State]]]//\\ > Eina_Bool efl_input_modifier_enabled_get(const Eo *obj, Efl_Input_Modifier mod, const Efl_Input_Device *seat); \\ **[[:develop:api:efl:input:pointer:property:position|position]]** //**(get, set)**//\\ > %%Position where the event happened, relative to the window.%% Eina_Position2D efl_input_pointer_position_get(const Eo *obj); void efl_input_pointer_position_set(Eo *obj, Eina_Position2D pos); \\ **[[:develop:api:efl:input:pointer:property:precise_position|precise_position]]** //**(get, set)**//\\ > %%Position where the event happened, relative to the window.%% Eina_Vector2 efl_input_pointer_precise_position_get(const Eo *obj); void efl_input_pointer_precise_position_set(Eo *obj, Eina_Vector2 pos); \\ **[[:develop:api:efl:input:pointer:property:previous_position|previous_position]]** //**(get, set)**//\\ > %%Position of the previous event, valid for move events.%% Eina_Position2D efl_input_pointer_previous_position_get(const Eo *obj); void efl_input_pointer_previous_position_set(Eo *obj, Eina_Position2D pos); \\ **[[:develop:api:efl:input:pointer:method:reset|reset]]**// [Overridden from [[:develop:api:efl:input:event|Efl.Input.Event]]]//\\ > %%Resets the internal data to 0 or default values.%% void efl_input_reset(Eo *obj); \\ **[[:develop:api:efl:input:pointer:property:source|source]]** //**(get, set)**//\\ > %%The object where this event first originated, in case of propagation or repetition of the event.%% Efl_Object *efl_input_pointer_source_get(const Eo *obj); void efl_input_pointer_source_set(Eo *obj, Efl_Object *src); \\ **[[:develop:api:efl:input:pointer:property:timestamp|timestamp]]** //**(get, set)**//// [Overridden from [[:develop:api:efl:input:event|Efl.Input.Event]]]//\\ > %%The time at which an event was generated.%% double efl_input_timestamp_get(const Eo *obj); void efl_input_timestamp_set(Eo *obj, double ms); \\ **[[:develop:api:efl:input:pointer:property:touch_id|touch_id]]** //**(get, set)**//\\ > %%The ID associated with this pointer.%% int efl_input_pointer_touch_id_get(const Eo *obj); void efl_input_pointer_touch_id_set(Eo *obj, int id); \\ **[[:develop:api:efl:input:pointer:property:triple_click|triple_click]]** //**(get, set)**//\\ > %%%%''true''%% if %%[[:develop:api:efl:input:pointer:property:button_flags|Efl.Input.Pointer.button_flags]]%% indicates a triple click (3rd press).%% Eina_Bool efl_input_pointer_triple_click_get(const Eo *obj); void efl_input_pointer_triple_click_set(Eo *obj, Eina_Bool val); \\ **[[:develop:api:efl:input:pointer:property:value|value]]** //**(get, set)**//\\ > %%Represents a generic value for this event.%% double efl_input_pointer_value_get(const Eo *obj, Efl_Input_Value key); Eina_Bool efl_input_pointer_value_set(Eo *obj, Efl_Input_Value key, double val); \\ **[[:develop:api:efl:input:pointer:property:value_has|value_has]]** //**(get)**//\\ > Eina_Bool efl_input_pointer_value_has_get(const Eo *obj, Efl_Input_Value key); \\ **[[:develop:api:efl:input:pointer:property:wheel_delta|wheel_delta]]** //**(get, set)**//\\ > %%Delta movement of the wheel in discrete steps.%% int efl_input_pointer_wheel_delta_get(const Eo *obj); void efl_input_pointer_wheel_delta_set(Eo *obj, int dist); \\ **[[:develop:api:efl:input:pointer:property:wheel_horizontal|wheel_horizontal]]** //**(get, set)**//\\ > %%Direction of the wheel, usually vertical.%% Eina_Bool efl_input_pointer_wheel_horizontal_get(const Eo *obj); void efl_input_pointer_wheel_horizontal_set(Eo *obj, Eina_Bool horizontal); \\ ==== Inherited ==== ^ [[:develop:api:efl:input:event|Efl.Input.Event]] ^^^ | | **[[:develop:api:efl:input:event:property:processed|processed]]** //**(get, set)**// | %%%%''true''%% if %%[[:develop:api:efl:input:event:property:event_flags|Efl.Input.Event.event_flags]]%% indicates the event is on hold.%% | | | **[[:develop:api:efl:input:event:property:scrolling|scrolling]]** //**(get, set)**// | %%%%''true''%% if %%[[:develop:api:efl:input:event:property:event_flags|Efl.Input.Event.event_flags]]%% indicates the event happened while scrolling.%% | ^ [[: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:debug_name_override|debug_name_override]]** | %%Build a read-only name for this object used for debugging.%% | | | **[[: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:method:event_freeze|event_freeze]]** | %%Freeze events of this object.%% | | | **[[: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:method:event_thaw|event_thaw]]** | %%Thaw events of object.%% | | | **[[:develop:api:efl: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:object:property:finalized|finalized]]** //**(get)**// | | | | **[[:develop:api:efl:object:method:invalidate|invalidate]]** | %%Implement this method to perform special actions when your object loses its parent, if you need to.%% | | | **[[: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:property:parent|parent]]** //**(get, set)**// | %%The parent of an object.%% | | | **[[:develop:api:efl:object:method:provider_find|provider_find]]** | %%Searches upwards in the object tree for a provider which knows the given class/interface.%% | | | **[[: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 ===== ==== Inherited ==== ^ [[: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.%% |