[E_POLICY_HOOK_CLIENT_ROTATION_GEOMETRY_SET] = NULL,
};
+E_API int E_EVENT_POLICY_QUICKPANEL_VISIBLE_STATE_CHANGE = -1;
+
static E_Policy_Client *_e_policy_client_add(E_Client *ec);
static void _e_policy_client_del(E_Policy_Client *pc);
static Eina_Bool _e_policy_client_normal_check(E_Client *ec);
hash_policy_clients = eina_hash_pointer_new(_e_policy_cb_client_data_free);
hash_policy_desks = eina_hash_pointer_new(_e_policy_cb_desk_data_free);
+ E_EVENT_POLICY_QUICKPANEL_VISIBLE_STATE_CHANGE = ecore_event_type_new();
+
e_policy_stack_init();
e_policy_wl_init();
e_policy_wl_aux_hint_init();
E_API extern int E_EVENT_POLICY_INDICATOR_OPACITY_MODE_CHANGE;
E_API extern int E_EVENT_POLICY_INDICATOR_VISIBLE_STATE_CHANGE;
+E_API extern int E_EVENT_POLICY_QUICKPANEL_VISIBLE_STATE_CHANGE;
+
EINTERN E_Policy_Config_Desk *e_policy_conf_desk_get_by_nums(E_Policy_Config *conf, unsigned int zone_num, int x, int y);
EINTERN E_Policy_Client *e_policy_client_get(E_Client *ec);
EINTERN void e_policy_desk_add(E_Desk *desk);
E_FREE_FUNC(qp->effect.animator, ecore_animator_del);
}
+static void
+_e_qp_srv_event_free(void *d EINA_UNUSED, E_Event_Client *ev)
+{
+ e_object_unref(E_OBJECT(ev->ec));
+ E_FREE(ev);
+}
+
+static void
+_e_qp_srv_visible_state_change_event(E_Client *ec, int vis_state)
+{
+ E_Event_Client_Property *ev;
+
+ if (!ec) return;
+
+ ev = E_NEW(E_Event_Client_Property, 1);
+ if (!ev) return;
+
+ ev->ec = ec;
+ ev->property = vis_state;
+ e_object_ref(E_OBJECT(ec));
+ ecore_event_add(E_EVENT_POLICY_QUICKPANEL_VISIBLE_STATE_CHANGE, ev, (Ecore_End_Cb)_e_qp_srv_event_free, NULL);
+}
+
static void
_e_qp_srv_effect_finish_job_end(E_Policy_Quickpanel *qp)
{
}
}
+ _e_qp_srv_visible_state_change_event(qp->ec, qp->effect.final_visible_state);
+
EC_CHANGED(qp->ec);
}