forked from enlightenment/enlightenment
make SHAPE_DEBUG activate with E_SHAPE_DEBUG env var
this is useful for debugging and the option to recompile is not always available
This commit is contained in:
parent
7172239c0c
commit
4eb60da0b3
|
@ -4,7 +4,6 @@
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#define OVER_FLOW 1
|
#define OVER_FLOW 1
|
||||||
//#define SHAPE_DEBUG
|
|
||||||
//#define BORDER_ZOOMAPS
|
//#define BORDER_ZOOMAPS
|
||||||
//////////////////////////////////////////////////////////////////////////
|
//////////////////////////////////////////////////////////////////////////
|
||||||
//
|
//
|
||||||
|
@ -33,6 +32,7 @@ static E_Config_DD *conf_match_edd = NULL;
|
||||||
|
|
||||||
static Ecore_Timer *action_timeout = NULL;
|
static Ecore_Timer *action_timeout = NULL;
|
||||||
static Eina_Bool gl_avail = EINA_FALSE;
|
static Eina_Bool gl_avail = EINA_FALSE;
|
||||||
|
static Eina_Bool shape_debug = EINA_FALSE;
|
||||||
|
|
||||||
static double ecore_frametime = 0;
|
static double ecore_frametime = 0;
|
||||||
|
|
||||||
|
@ -50,33 +50,17 @@ E_API int E_EVENT_COMPOSITOR_XWAYLAND_INIT = -1;
|
||||||
#undef ERR
|
#undef ERR
|
||||||
#undef CRI
|
#undef CRI
|
||||||
|
|
||||||
#if 1
|
#define SHAPE_DBG(...) do { if (shape_debug) EINA_LOG_DOM_DBG(_e_comp_log_dom, __VA_ARGS__); } while (0)
|
||||||
# ifdef SHAPE_DEBUG
|
#define SHAPE_INF(...) do { if (shape_debug) EINA_LOG_DOM_INFO(_e_comp_log_dom, __VA_ARGS__); } while (0)
|
||||||
# define SHAPE_DBG(...) EINA_LOG_DOM_DBG(_e_comp_log_dom, __VA_ARGS__)
|
#define SHAPE_WRN(...) do { if (shape_debug) EINA_LOG_DOM_WARN(_e_comp_log_dom, __VA_ARGS__); } while (0)
|
||||||
# define SHAPE_INF(...) EINA_LOG_DOM_INFO(_e_comp_log_dom, __VA_ARGS__)
|
#define SHAPE_ERR(...) do { if (shape_debug) EINA_LOG_DOM_ERR(_e_comp_log_dom, __VA_ARGS__); } while (0)
|
||||||
# define SHAPE_WRN(...) EINA_LOG_DOM_WARN(_e_comp_log_dom, __VA_ARGS__)
|
#define SHAPE_CRI(...) do { if (shape_debug) EINA_LOG_DOM_CRIT(_e_comp_log_dom, __VA_ARGS__); } while (0)
|
||||||
# define SHAPE_ERR(...) EINA_LOG_DOM_ERR(_e_comp_log_dom, __VA_ARGS__)
|
|
||||||
# define SHAPE_CRI(...) EINA_LOG_DOM_CRIT(_e_comp_log_dom, __VA_ARGS__)
|
|
||||||
# else
|
|
||||||
# define SHAPE_DBG(f, x ...)
|
|
||||||
# define SHAPE_INF(f, x ...)
|
|
||||||
# define SHAPE_WRN(f, x ...)
|
|
||||||
# define SHAPE_ERR(f, x ...)
|
|
||||||
# define SHAPE_CRI(f, x ...)
|
|
||||||
# endif
|
|
||||||
|
|
||||||
#define DBG(...) EINA_LOG_DOM_DBG(_e_comp_log_dom, __VA_ARGS__)
|
#define DBG(...) EINA_LOG_DOM_DBG(_e_comp_log_dom, __VA_ARGS__)
|
||||||
#define INF(...) EINA_LOG_DOM_INFO(_e_comp_log_dom, __VA_ARGS__)
|
#define INF(...) EINA_LOG_DOM_INFO(_e_comp_log_dom, __VA_ARGS__)
|
||||||
#define WRN(...) EINA_LOG_DOM_WARN(_e_comp_log_dom, __VA_ARGS__)
|
#define WRN(...) EINA_LOG_DOM_WARN(_e_comp_log_dom, __VA_ARGS__)
|
||||||
#define ERR(...) EINA_LOG_DOM_ERR(_e_comp_log_dom, __VA_ARGS__)
|
#define ERR(...) EINA_LOG_DOM_ERR(_e_comp_log_dom, __VA_ARGS__)
|
||||||
#define CRI(...) EINA_LOG_DOM_CRIT(_e_comp_log_dom, __VA_ARGS__)
|
#define CRI(...) EINA_LOG_DOM_CRIT(_e_comp_log_dom, __VA_ARGS__)
|
||||||
#else
|
|
||||||
#define DBG(f, x ...)
|
|
||||||
#define INF(f, x ...)
|
|
||||||
#define WRN(f, x ...)
|
|
||||||
#define ERR(f, x ...)
|
|
||||||
#define CRI(f, x ...)
|
|
||||||
#endif
|
|
||||||
|
|
||||||
static Eina_Bool
|
static Eina_Bool
|
||||||
_e_comp_visible_object_clip_is(Evas_Object *obj)
|
_e_comp_visible_object_clip_is(Evas_Object *obj)
|
||||||
|
@ -553,7 +537,6 @@ _e_comp_cb_animator(void *data EINA_UNUSED)
|
||||||
//////////////////////////////////////////////////////////////////////////
|
//////////////////////////////////////////////////////////////////////////
|
||||||
|
|
||||||
|
|
||||||
#ifdef SHAPE_DEBUG
|
|
||||||
static void
|
static void
|
||||||
_e_comp_shape_debug_rect(Eina_Rectangle *rect, E_Color *color)
|
_e_comp_shape_debug_rect(Eina_Rectangle *rect, E_Color *color)
|
||||||
{
|
{
|
||||||
|
@ -574,7 +557,6 @@ _e_comp_shape_debug_rect(Eina_Rectangle *rect, E_Color *color)
|
||||||
e_comp->debug_rects = eina_list_append(e_comp->debug_rects, o);
|
e_comp->debug_rects = eina_list_append(e_comp->debug_rects, o);
|
||||||
evas_object_show(o);
|
evas_object_show(o);
|
||||||
}
|
}
|
||||||
#endif
|
|
||||||
|
|
||||||
static Eina_Bool
|
static Eina_Bool
|
||||||
_e_comp_shapes_update_object_checker_function_thingy(Evas_Object *o)
|
_e_comp_shapes_update_object_checker_function_thingy(Evas_Object *o)
|
||||||
|
@ -595,11 +577,7 @@ _e_comp_shapes_update_object_checker_function_thingy(Evas_Object *o)
|
||||||
}
|
}
|
||||||
|
|
||||||
static void
|
static void
|
||||||
#ifdef SHAPE_DEBUG
|
|
||||||
_e_comp_shapes_update_comp_client_shape_comp_helper(E_Client *ec, Eina_Tiler *tb, Eina_List **rl)
|
_e_comp_shapes_update_comp_client_shape_comp_helper(E_Client *ec, Eina_Tiler *tb, Eina_List **rl)
|
||||||
#else
|
|
||||||
_e_comp_shapes_update_comp_client_shape_comp_helper(E_Client *ec, Eina_Tiler *tb)
|
|
||||||
#endif
|
|
||||||
{
|
{
|
||||||
int x, y, w, h;
|
int x, y, w, h;
|
||||||
|
|
||||||
|
@ -614,9 +592,8 @@ _e_comp_shapes_update_comp_client_shape_comp_helper(E_Client *ec, Eina_Tiler *tb
|
||||||
SHAPE_DBG("SKIPPING SHAPE FOR %p", ec);
|
SHAPE_DBG("SKIPPING SHAPE FOR %p", ec);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
#ifdef SHAPE_DEBUG
|
|
||||||
INF("COMP EC: %p", ec);
|
SHAPE_INF("COMP EC: %p", ec);
|
||||||
#endif
|
|
||||||
|
|
||||||
if (ec->shaped || ec->shaped_input)
|
if (ec->shaped || ec->shaped_input)
|
||||||
{
|
{
|
||||||
|
@ -669,7 +646,7 @@ _e_comp_shapes_update_comp_client_shape_comp_helper(E_Client *ec, Eina_Tiler *tb
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
#ifdef SHAPE_DEBUG
|
if (shape_debug)
|
||||||
{
|
{
|
||||||
Eina_Rectangle *r;
|
Eina_Rectangle *r;
|
||||||
|
|
||||||
|
@ -677,7 +654,6 @@ _e_comp_shapes_update_comp_client_shape_comp_helper(E_Client *ec, Eina_Tiler *tb
|
||||||
EINA_RECTANGLE_SET(r, ec->client.x, ec->client.y, ec->client.w, ec->client.h);
|
EINA_RECTANGLE_SET(r, ec->client.x, ec->client.y, ec->client.w, ec->client.h);
|
||||||
*rl = eina_list_append(*rl, r);
|
*rl = eina_list_append(*rl, r);
|
||||||
}
|
}
|
||||||
#endif
|
|
||||||
|
|
||||||
if (!e_client_util_borderless(ec))
|
if (!e_client_util_borderless(ec))
|
||||||
{
|
{
|
||||||
|
@ -728,13 +704,11 @@ _e_comp_shapes_update_job(void *d EINA_UNUSED)
|
||||||
Eina_Rectangle *exr;
|
Eina_Rectangle *exr;
|
||||||
unsigned int i, tile_count;
|
unsigned int i, tile_count;
|
||||||
Ecore_Window win;
|
Ecore_Window win;
|
||||||
#ifdef SHAPE_DEBUG
|
|
||||||
Eina_Rectangle *r;
|
Eina_Rectangle *r;
|
||||||
Eina_List *rl = NULL;
|
Eina_List *rl = NULL;
|
||||||
E_Color color = {0};
|
E_Color color = {0};
|
||||||
|
|
||||||
INF("---------------------");
|
SHAPE_INF("---------------------");
|
||||||
#endif
|
|
||||||
|
|
||||||
if (e_comp->comp_type == E_PIXMAP_TYPE_X)
|
if (e_comp->comp_type == E_PIXMAP_TYPE_X)
|
||||||
win = e_comp->win;
|
win = e_comp->win;
|
||||||
|
@ -761,9 +735,7 @@ _e_comp_shapes_update_job(void *d EINA_UNUSED)
|
||||||
ec = e_comp_object_client_get(o);
|
ec = e_comp_object_client_get(o);
|
||||||
if (ec && (!ec->no_shape_cut))
|
if (ec && (!ec->no_shape_cut))
|
||||||
_e_comp_shapes_update_comp_client_shape_comp_helper(ec, tb
|
_e_comp_shapes_update_comp_client_shape_comp_helper(ec, tb
|
||||||
#ifdef SHAPE_DEBUG
|
|
||||||
,&rl
|
,&rl
|
||||||
#endif
|
|
||||||
);
|
);
|
||||||
|
|
||||||
else
|
else
|
||||||
|
@ -779,27 +751,29 @@ _e_comp_shapes_update_job(void *d EINA_UNUSED)
|
||||||
exr[i++] = *((Eina_Rectangle *)tr);
|
exr[i++] = *((Eina_Rectangle *)tr);
|
||||||
if (i == tile_count - 1)
|
if (i == tile_count - 1)
|
||||||
exr = realloc(exr, sizeof(Eina_Rectangle) * (tile_count *= 2));
|
exr = realloc(exr, sizeof(Eina_Rectangle) * (tile_count *= 2));
|
||||||
#ifdef SHAPE_DEBUG
|
if (shape_debug)
|
||||||
Eina_List *l;
|
|
||||||
|
|
||||||
_e_comp_shape_debug_rect(&exr[i - 1], &color);
|
|
||||||
INF("%d,%d @ %dx%d", exr[i - 1].x, exr[i - 1].y, exr[i - 1].w, exr[i - 1].h);
|
|
||||||
EINA_LIST_FOREACH(rl, l, r)
|
|
||||||
{
|
{
|
||||||
if (E_INTERSECTS(r->x, r->y, r->w, r->h, tr->x, tr->y, tr->w, tr->h))
|
Eina_List *l;
|
||||||
ERR("POSSIBLE RECT FAIL!!!!");
|
|
||||||
|
_e_comp_shape_debug_rect(&exr[i - 1], &color);
|
||||||
|
SHAPE_INF("%d,%d @ %dx%d", exr[i - 1].x, exr[i - 1].y, exr[i - 1].w, exr[i - 1].h);
|
||||||
|
EINA_LIST_FOREACH(rl, l, r)
|
||||||
|
{
|
||||||
|
if (E_INTERSECTS(r->x, r->y, r->w, r->h, tr->x, tr->y, tr->w, tr->h))
|
||||||
|
SHAPE_ERR("POSSIBLE RECT FAIL!!!!");
|
||||||
|
}
|
||||||
}
|
}
|
||||||
#endif
|
|
||||||
}
|
}
|
||||||
|
|
||||||
#ifndef HAVE_WAYLAND_ONLY
|
#ifndef HAVE_WAYLAND_ONLY
|
||||||
ecore_x_window_shape_input_rectangles_set(win, (Ecore_X_Rectangle*)exr, i);
|
ecore_x_window_shape_input_rectangles_set(win, (Ecore_X_Rectangle*)exr, i);
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#ifdef SHAPE_DEBUG
|
if (shape_debug)
|
||||||
E_FREE_LIST(rl, free);
|
{
|
||||||
printf("\n");
|
E_FREE_LIST(rl, free);
|
||||||
#endif
|
printf("\n");
|
||||||
|
}
|
||||||
free(exr);
|
free(exr);
|
||||||
eina_iterator_free(ti);
|
eina_iterator_free(ti);
|
||||||
eina_tiler_free(tb);
|
eina_tiler_free(tb);
|
||||||
|
@ -1035,6 +1009,7 @@ e_comp_init(void)
|
||||||
eina_log_domain_level_set("e_comp", EINA_LOG_LEVEL_INFO);
|
eina_log_domain_level_set("e_comp", EINA_LOG_LEVEL_INFO);
|
||||||
|
|
||||||
ecore_frametime = ecore_animator_frametime_get();
|
ecore_frametime = ecore_animator_frametime_get();
|
||||||
|
shape_debug = !!getenv("E_SHAPE_DEBUG");
|
||||||
|
|
||||||
E_EVENT_COMPOSITOR_RESIZE = ecore_event_type_new();
|
E_EVENT_COMPOSITOR_RESIZE = ecore_event_type_new();
|
||||||
E_EVENT_COMP_OBJECT_ADD = ecore_event_type_new();
|
E_EVENT_COMP_OBJECT_ADD = ecore_event_type_new();
|
||||||
|
|
Loading…
Reference in New Issue