~~Title: Efl.Canvas.Surface~~ ====== Efl.Canvas.Surface (class) ====== ===== Description ===== %%Native surfaces usually bound to an externally-managed buffer.%% %%The attached %%[[:develop:api:efl:canvas:surface:property:native_buffer|Efl.Canvas.Surface.native_buffer]]%% is entirely platform-dependent, which means some of this mixin's subclasses will not work (constructor returns %%''null''%%) on some platforms. This class is meant to be used from native code only (C or C++), with direct access to the display system or a buffer allocation system.%% {{page>:develop:api-include:efl:canvas:surface:description&nouser&nolink&nodate}} ===== Inheritance ===== => [[:develop:api:efl:canvas:image_internal|Efl.Canvas.Image_Internal]] //(class)// => [[: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:image_internal|Efl.Canvas.Image_Internal]] //(class)// * [[: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)// * [[:develop:api:efl:canvas:filter:internal|Efl.Canvas.Filter.Internal]] //(mixin)// * [[:develop:api:efl:gfx:filter|Efl.Gfx.Filter]] //(interface)// * [[:develop:api:efl:gfx:image|Efl.Gfx.Image]] //(interface)// * [[:develop:api:efl:gfx:buffer|Efl.Gfx.Buffer]] //(interface)// * [[:develop:api:efl:gfx:fill|Efl.Gfx.Fill]] //(interface)// * [[:develop:api:efl:gfx:view|Efl.Gfx.View]] //(interface)// * [[:develop:api:efl:gfx:image_orientable|Efl.Gfx.Image_Orientable]] //(interface)// * [[:develop:api:efl:file_save|Efl.File_Save]] //(interface)// ++++ ===== Members ===== **[[:develop:api:efl:canvas:surface: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:surface:property:native_buffer|native_buffer]]** //**(get, set)**//\\ > %%External buffer attached to this native surface.%% void *efl_canvas_surface_native_buffer_get(const Eo *obj); Eina_Bool efl_canvas_surface_native_buffer_set(Eo *obj, void *buffer); \\ ==== Inherited ==== ^ [[:develop:api:efl:canvas:filter:internal|Efl.Canvas.Filter.Internal]] ^^^ | | **[[:develop:api:efl:canvas:filter:internal:property:filter_data|filter_data]]** //**(get, set)**// | %%Extra data used by the filter program.%% | | | **[[:develop:api:efl:canvas:filter:internal:property:filter_padding|filter_padding]]** //**(get)**// | | | | **[[:develop:api:efl:canvas:filter:internal:property:filter_source|filter_source]]** //**(get, set)**// | %%Bind an object to use as a mask or texture in a filter program.%% | | | **[[:develop:api:efl:canvas:filter:internal:property:filter_state|filter_state]]** //**(get, set)**// | %%Set the current state of the filter.%% | | ''protected'' | **[[:develop:api:efl:canvas:filter:internal:property:filter_changed|filter_changed]]** //**(set)**// | | | ''protected'' | **[[:develop:api:efl:canvas:filter:internal:property:filter_invalid|filter_invalid]]** //**(set)**// | | | ''protected'' | **[[:develop:api:efl:canvas:filter:internal:property:filter_output_buffer|filter_output_buffer]]** //**(get)**// | | ^ [[:develop:api:efl:canvas:image_internal|Efl.Canvas.Image_Internal]] ^^^ | | **[[:develop:api:efl:canvas:image_internal:property:alpha|alpha]]** //**(get, set)**// | %%Indicates whether the alpha channel should be used.%% | | | **[[:develop:api:efl:canvas:image_internal:property:border_insets|border_insets]]** //**(get, set)**// | %%Dimensions of this image's border, a region that does not scale with the center area.%% | | | **[[:develop:api:efl:canvas:image_internal:property:border_insets_scale|border_insets_scale]]** //**(get, set)**// | %%Scaling factor applied to the image borders.%% | | | **[[:develop:api:efl:canvas:image_internal:method:buffer_update_add|buffer_update_add]]** | %%Mark a sub-region of the given image object to be redrawn.%% | | | **[[:develop:api:efl:canvas:image_internal:property:center_fill_mode|center_fill_mode]]** //**(get, set)**// | %%Specifies how the center part of the object (not the borders) should be drawn when EFL is rendering it.%% | | | **[[:develop:api:efl:canvas:image_internal:property:colorspace|colorspace]]** //**(get)**// | %%Returns the current encoding of this buffer's pixels.%% | | | **[[:develop:api:efl:canvas:image_internal:property:content_hint|content_hint]]** //**(get, set)**// | %%Content hint setting for the image. These hints might be used by EFL to enable optimizations.%% | | | **[[:develop:api:efl:canvas:image_internal:property:content_region|content_region]]** //**(get)**// | | | | **[[:develop:api:efl:canvas:image_internal:method:debug_name_override|debug_name_override]]** | %%Build a read-only name for this object used for debugging.%% | | | **[[:develop:api:efl:canvas:image_internal:method:destructor|destructor]]** | %%Implement this method to provide deinitialization code for your object if you need it.%% | | | **[[:develop:api:efl:canvas:image_internal:property:fill|fill]]** //**(get, set)**// | %%Specifies how to tile an image to fill its rectangle geometry.%% | | | **[[:develop:api:efl:canvas:image_internal:property:fill_auto|fill_auto]]** //**(get, set)**// | %%Binds the object's %%[[:develop:api:efl:gfx:fill:property:fill|Efl.Gfx.Fill.fill]]%% property to its actual geometry.%% | | | **[[:develop:api:efl:canvas:image_internal:property:filter_program|filter_program]]** //**(get, set)**// | %%A graphical filter program on this object.%% | | | **[[:develop:api:efl:canvas:image_internal: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:image_internal:property:image_load_error|image_load_error]]** //**(get)**// | | | | **[[:develop:api:efl:canvas:image_internal:property:image_orientation|image_orientation]]** //**(get, set)**// | %%Control the orientation (rotation and flipping) of a visual object.%% | | | **[[:develop:api:efl:canvas:image_internal:property:image_size|image_size]]** //**(get)**// | | | | **[[:develop:api:efl:canvas:image_internal:property:ratio|ratio]]** //**(get)**// | | | | **[[:develop:api:efl:canvas:image_internal:method:save|save]]** | %%Save the given image object's contents to an (image) file.%% | | | **[[:develop:api:efl:canvas:image_internal:property:scale_hint|scale_hint]]** //**(get, set)**// | %%The scale hint of a given image of the canvas.%% | | | **[[:develop:api:efl:canvas:image_internal:property:smooth_scale|smooth_scale]]** //**(get, set)**// | %%Whether to use high-quality image scaling algorithm for this image.%% | | | **[[:develop:api:efl:canvas:image_internal:property:stretch_region|stretch_region]]** //**(get, set)**// | %%This property defines the stretchable pixels region of an image.%% | | | **[[:develop:api:efl:canvas:image_internal:property:view_size|view_size]]** //**(get, set)**// | %%The dimensions of this object's viewport.%% | | ''protected'' | **[[:develop:api:efl:canvas:image_internal:method:filter_dirty|filter_dirty]]** | %%Called when filter changes must trigger a redraw of the object.%% | | ''protected'' | **[[:develop:api:efl:canvas:image_internal:method:filter_input_alpha|filter_input_alpha]]** | %%Called by Efl.Canvas.Filter.Internal to determine whether the input is alpha or rgba.%% | | ''protected'' | **[[:develop:api:efl:canvas:image_internal:method:filter_input_render|filter_input_render]]** | %%Called by Efl.Canvas.Filter.Internal when the parent class must render the input.%% | | ''protected'' | **[[:develop:api:efl:canvas:image_internal:method:filter_state_prepare|filter_state_prepare]]** | %%Called by Efl.Canvas.Filter.Internal to request the parent class for state information (color, etc...).%% | ^ [[: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:clipper|clipper]]** //**(get, set)**// | %%Clip one object to another.%% | | | **[[:develop:api:efl:canvas:object:property:color|color]]** //**(get, set)**// | %%The general/main color of the given Evas object.%% | | | **[[: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: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:no_render|no_render]]** //**(get, set)**// | %%Disables all rendering on the canvas.%% | | | **[[:develop:api:efl:canvas:object:property:paragraph_direction|paragraph_direction]]** //**(get, set)**// | %%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''%%.%% | | | **[[: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:position|position]]** //**(get, set)**// | %%The 2D position of a canvas object.%% | | | **[[: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''%%%% | | | **[[:develop:api:efl:canvas:object:property:visible|visible]]** //**(get, set)**// | %%The visibility of a canvas object.%% | | ''protected'' | **[[:develop:api:efl:canvas:object:property:render_parent|render_parent]]** //**(get)**// | | ^ [[:develop:api:efl:gfx:buffer|Efl.Gfx.Buffer]] ^^^ | | **[[:develop:api:efl:gfx:buffer:property:buffer_borders|buffer_borders]]** //**(get)**// | | | | **[[:develop:api:efl:gfx:buffer:method:buffer_copy_set|buffer_copy_set]]** | %%Set the pixels for this buffer by copying them, or allocate a new memory region.%% | | | **[[:develop:api:efl:gfx:buffer:method:buffer_managed_get|buffer_managed_get]]** | %%Get a direct pointer to the internal pixel data, if available.%% | | | **[[:develop:api:efl:gfx:buffer:method:buffer_managed_set|buffer_managed_set]]** | %%Set the pixels for this buffer, managed externally by the client.%% | | | **[[:develop:api:efl:gfx:buffer:method:buffer_map|buffer_map]]** | %%Map a region of this buffer for read or write access by the CPU.%% | | | **[[:develop:api:efl:gfx:buffer:property:buffer_size|buffer_size]]** //**(get, set)**// | %%Rectangular size of the pixel buffer as allocated in memory.%% | | | **[[:develop:api:efl:gfx:buffer:method:buffer_unmap|buffer_unmap]]** | %%Unmap a region of this buffer, and update the internal data if needed.%% | | | **[[:develop:api:efl:gfx:buffer:property:stride|stride]]** //**(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:image|Efl.Gfx.Image]] ^^^ | | **[[:develop:api:efl:gfx:image:property:can_downscale|can_downscale]]** //**(get, set)**// | %%If %%''true''%%, the image may be scaled to a smaller size. If %%''false''%%, the image will never be resized smaller than its native size.%% | | | **[[:develop:api:efl:gfx:image:property:can_upscale|can_upscale]]** //**(get, set)**// | %%If %%''true''%%, the image may be scaled to a larger size. If %%''false''%%, the image will never be resized larger than its native size.%% | | | **[[:develop:api:efl:gfx:image:property:scale_method|scale_method]]** //**(get, set)**// | %%Determine how the image is scaled at render time.%% | ^ [[: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 ===== ==== 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:image|Efl.Gfx.Image]] ^^^ | | **[[:develop:api:efl:gfx:image:event:image_preload_state_changed|image,preload_state,changed]]** | %%If %%''true''%%, image data has been preloaded and can be displayed. If %%''false''%%, the image data has been unloaded and can no longer be displayed.%% | | | **[[:develop:api:efl:gfx:image:event:image_resized|image,resized]]** | %%Image was resized (its pixel data). The event data is the image's new size.%% | ^ [[: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.%% |