static Eina_Rectangle action_orig = {0, 0, 0, 0};
static E_Client_Layout_Cb _e_client_layout_cb = NULL;
+static E_Client_Resize_Object_Create_Cb _e_client_resize_object_create_cb = NULL;
static Eina_Bool _e_calc_visibility = EINA_FALSE;
static Eina_Bool _e_visibility_changed = EINA_FALSE;
Evas_Object *resize_obj = NULL;
- if (e_config->resize_object.type == 1) // image object
- {
- resize_obj = _e_client_resize_object_image_get(ec);
- }
- else // rectangle
+ if (_e_client_resize_object_create_cb)
+ resize_obj = _e_client_resize_object_create_cb(ec);
+ else
{
- resize_obj = _e_client_resize_object_rectangle_get(ec);
+ if (e_config->resize_object.type == 1) // image object
+ {
+ resize_obj = _e_client_resize_object_image_get(ec);
+ }
+ else // rectangle
+ {
+ resize_obj = _e_client_resize_object_rectangle_get(ec);
+ }
}
EINA_SAFETY_ON_NULL_RETURN_VAL(resize_obj, NULL);
if (!ec) return E_TRANSIENT_ABOVE;
return ec->transient_policy;
}
+
+E_API void
+e_client_resize_object_create_cb_set(E_Client_Resize_Object_Create_Cb cb)
+{
+ if (_e_client_resize_object_create_cb && cb)
+ CRI("ATTEMPTING TO OVERWRITE EXISTING CLIENT RESIZE OBJECT CREATE HOOK!!!");
+ _e_client_resize_object_create_cb = cb;
+}
typedef Eina_Bool (*E_Client_Intercept_Hook_Cb)(void *data, E_Client *ec);
typedef void (*E_Client_Layout_Cb)(void);
typedef Eina_Bool (*E_Client_Surface_Tree_Foreach)(void *data, E_Client *ec);
+typedef Evas_Object* (*E_Client_Resize_Object_Create_Cb)(E_Client *ec);
#else
#define E_CLIENT_TYPE (int)0xE0b01002
E_API void e_client_transient_policy_set(E_Client *ec, E_Transient policy);
E_API E_Transient e_client_transient_policy_get(E_Client *ec);
+E_API void e_client_resize_object_create_cb_set(E_Client_Resize_Object_Create_Cb cb);
+
/**
* Move window to coordinates that do not account client decorations yet.
*