Register focus with the given configuration.

The implementation can feel free to change the logical flag as it wants, but other than that it should strictly keep the configuration.

The implementation in elm.widget updates the current state into what is passed as configured state, respecting manager changes, registeration and unregistration based on if it should be registered or unregistered.

A manager field that is null means that the widget should not or was not registered.


focus_state_apply @protected {
    params {
        @in current_state: Efl.Ui.Widget.Focus_State;
        @inout configured_state: Efl.Ui.Widget.Focus_State;
        @in redirect: free(Efl.Ui.Widget, efl_del);
    return: bool;

C signature

Eina_Bool efl_ui_widget_focus_state_apply(Eo *obj, Efl_Ui_Widget_Focus_State current_state, Efl_Ui_Widget_Focus_State configured_state, Efl_Ui_Widget *redirect);


  • current_state (in) - The focus manager to register with.
  • configured_state (inout) - The evalulated Focus state that should be used.
  • redirect (in) - A redirect that will be set by the elm.widget implementation.

Implemented by

  • Efl.Ui.Widget.focus_state_apply