~~Title: Efl.Ui.Widget_Part_Shadow~~ ====== Efl.Ui.Widget_Part_Shadow (class) ====== ===== Description ===== %%A drop-shadow or glow effect around any widget.%% %%A simple drop-shadow effect can be applied to any widget by setting the color and blur radius on this part.%% %%For instance, a blue glow can be achieved with: obj.shadow().color_set(0, 128, 255, 255); obj.shadow().grow_set(2); obj.shadow().radius_set(3, 3);%% %%As another example, here's a black drop-shadow: obj.shadow().color_set(0, 0, 0, 255); obj.shadow().grow_set(1); obj.shadow().radius_set(5, 5); obj.shadow().offset_set(5, 5);%% %%It is also possible to manually specify which %%[[:develop:api:efl:gfx:filter|Efl.Gfx.Filter]]%% program to use.%% //Since 1.23// {{page>:develop:api-include:efl:ui:widget_part_shadow:description&nouser&nolink&nodate}} ===== Inheritance ===== => [[:develop:api:efl:ui:widget_part|Efl.Ui.Widget_Part]] //(class)// => [[:develop:api:efl:object|Efl.Object]] //(class)// ++++ Full hierarchy | * [[:develop:api:efl:ui:widget_part|Efl.Ui.Widget_Part]] //(class)// * [[:develop:api:efl:object|Efl.Object]] //(class)// * [[:develop:api:efl:ui:property_bind|Efl.Ui.Property_Bind]] //(interface)// * [[:develop:api:efl:gfx:color|Efl.Gfx.Color]] //(mixin)// * [[:develop:api:efl:gfx:blur|Efl.Gfx.Blur]] //(interface)// * [[:develop:api:efl:gfx:filter|Efl.Gfx.Filter]] //(interface)// ++++ ===== Members ===== **[[:develop:api:efl:ui:widget_part_shadow: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:ui:widget_part_shadow:property:filter_data|filter_data]]** //**(get, set)**//// [Overridden from [[:develop:api:efl:gfx:filter|Efl.Gfx.Filter]]]//\\ > %%Extra data used by the filter program.%% void efl_gfx_filter_data_get(const Eo *obj, const char *name, const char **value, Eina_Bool *execute); void efl_gfx_filter_data_set(Eo *obj, const char *name, const char *value, Eina_Bool execute); \\ **[[:develop:api:efl:ui:widget_part_shadow:property:filter_padding|filter_padding]]** //**(get)**//// [Overridden from [[:develop:api:efl:gfx:filter|Efl.Gfx.Filter]]]//\\ > void efl_gfx_filter_padding_get(const Eo *obj, int *l, int *r, int *t, int *b); \\ **[[:develop:api:efl:ui:widget_part_shadow:property:filter_program|filter_program]]** //**(get, set)**//// [Overridden from [[:develop:api:efl:gfx:filter|Efl.Gfx.Filter]]]//\\ > %%A graphical filter program on this object.%% void efl_gfx_filter_program_get(const Eo *obj, const char **code, const char **name); void efl_gfx_filter_program_set(Eo *obj, const char *code, const char *name); \\ **[[:develop:api:efl:ui:widget_part_shadow:property:filter_source|filter_source]]** //**(get, set)**//// [Overridden from [[:develop:api:efl:gfx:filter|Efl.Gfx.Filter]]]//\\ > %%Bind an object to use as a mask or texture in a filter program.%% Efl_Gfx_Entity *efl_gfx_filter_source_get(const Eo *obj, const char *name); void efl_gfx_filter_source_set(Eo *obj, const char *name, Efl_Gfx_Entity *source); \\ **[[:develop:api:efl:ui:widget_part_shadow:property:filter_state|filter_state]]** //**(get, set)**//// [Overridden from [[:develop:api:efl:gfx:filter|Efl.Gfx.Filter]]]//\\ > %%Set the current state of the filter.%% void efl_gfx_filter_state_get(const Eo *obj, const char **cur_state, double *cur_val, const char **next_state, double *next_val, double *pos); void efl_gfx_filter_state_set(Eo *obj, const char *cur_state, double cur_val, const char *next_state, double next_val, double pos); \\ **[[:develop:api:efl:ui:widget_part_shadow:property:grow|grow]]** //**(get, set)**//// [Overridden from [[:develop:api:efl:gfx:blur|Efl.Gfx.Blur]]]//\\ > %%How much the original image should be "grown" before blurring.%% double efl_gfx_blur_grow_get(const Eo *obj); void efl_gfx_blur_grow_set(Eo *obj, double radius); \\ **[[:develop:api:efl:ui:widget_part_shadow:property:offset|offset]]** //**(get, set)**//// [Overridden from [[:develop:api:efl:gfx:blur|Efl.Gfx.Blur]]]//\\ > %%An offset relative to the original pixels.%% void efl_gfx_blur_offset_get(const Eo *obj, double *ox, double *oy); void efl_gfx_blur_offset_set(Eo *obj, double ox, double oy); \\ **[[:develop:api:efl:ui:widget_part_shadow:property:radius|radius]]** //**(get, set)**//// [Overridden from [[:develop:api:efl:gfx:blur|Efl.Gfx.Blur]]]//\\ > %%The blur radius in pixels.%% void efl_gfx_blur_radius_get(const Eo *obj, double *rx, double *ry); void efl_gfx_blur_radius_set(Eo *obj, double rx, double ry); \\ ==== Inherited ==== ^ [[: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: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:constructor|constructor]]** | %%Implement this method to provide optional initialization code for your 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]]%%.%% | ^ [[:develop:api:efl:ui:widget_part|Efl.Ui.Widget_Part]] ^^^ | | **[[:develop:api:efl:ui:widget_part:method:destructor|destructor]]** | %%Implement this method to provide deinitialization code for your object if you need it.%% | | | **[[:develop:api:efl:ui:widget_part:method:property_bind|property_bind]]** | %%bind property data with the given key string. when the data is ready or changed, bind the data to the key action and process promised work.%% | ===== 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.%% | ^ [[:develop:api:efl:ui:property_bind|Efl.Ui.Property_Bind]] ^^^ | | **[[:develop:api:efl:ui:property_bind:event:properties_changed|properties,changed]]** | %%Event dispatched when a property on the object has changed due to a user interaction on the object that a model could be interested in.%% | | | **[[:develop:api:efl:ui:property_bind:event:property_bound|property,bound]]** | %%Event dispatched when a property on the object is bound to a model. This is useful to avoid generating too many events.%% |