diff --git a/src/bin/e_comp.c b/src/bin/e_comp.c index feecfd339..019e4703a 100644 --- a/src/bin/e_comp.c +++ b/src/bin/e_comp.c @@ -167,7 +167,7 @@ _e_comp_visible_object_is_above(Evas_Object *obj, Evas_Coord x, Evas_Coord y, Ev } static E_Client * -_e_comp_fullscreen_check(E_Comp *c) +_e_comp_fullscreen_check(void) { E_Client *ec; @@ -185,7 +185,7 @@ _e_comp_fullscreen_check(E_Comp *c) while (o) { if (_e_comp_visible_object_is_above - (o, 0, 0, c->man->w, c->man->h)) return NULL; + (o, 0, 0, e_comp->man->w, e_comp->man->h)) return NULL; o = evas_object_smart_parent_get(o); } return ec; @@ -194,63 +194,63 @@ _e_comp_fullscreen_check(E_Comp *c) } static void -_e_comp_fps_update(E_Comp *c) +_e_comp_fps_update(void) { if (conf->fps_show) { - if (c->fps_bg) return; + if (e_comp->fps_bg) return; - c->fps_bg = evas_object_rectangle_add(c->evas); - evas_object_color_set(c->fps_bg, 0, 0, 0, 128); - evas_object_layer_set(c->fps_bg, E_LAYER_MAX); - evas_object_name_set(c->fps_bg, "c->fps_bg"); - evas_object_lower(c->fps_bg); - evas_object_show(c->fps_bg); + e_comp->fps_bg = evas_object_rectangle_add(e_comp->evas); + evas_object_color_set(e_comp->fps_bg, 0, 0, 0, 128); + evas_object_layer_set(e_comp->fps_bg, E_LAYER_MAX); + evas_object_name_set(e_comp->fps_bg, "e_comp->fps_bg"); + evas_object_lower(e_comp->fps_bg); + evas_object_show(e_comp->fps_bg); - c->fps_fg = evas_object_text_add(c->evas); - evas_object_text_font_set(c->fps_fg, "Sans", 10); - evas_object_text_text_set(c->fps_fg, "???"); - evas_object_color_set(c->fps_fg, 255, 255, 255, 255); - evas_object_layer_set(c->fps_fg, E_LAYER_MAX); - evas_object_name_set(c->fps_bg, "c->fps_fg"); - evas_object_stack_above(c->fps_fg, c->fps_bg); - evas_object_show(c->fps_fg); + e_comp->fps_fg = evas_object_text_add(e_comp->evas); + evas_object_text_font_set(e_comp->fps_fg, "Sans", 10); + evas_object_text_text_set(e_comp->fps_fg, "???"); + evas_object_color_set(e_comp->fps_fg, 255, 255, 255, 255); + evas_object_layer_set(e_comp->fps_fg, E_LAYER_MAX); + evas_object_name_set(e_comp->fps_bg, "e_comp->fps_fg"); + evas_object_stack_above(e_comp->fps_fg, e_comp->fps_bg); + evas_object_show(e_comp->fps_fg); } else { - E_FREE_FUNC(c->fps_fg, evas_object_del); - E_FREE_FUNC(c->fps_bg, evas_object_del); + E_FREE_FUNC(e_comp->fps_fg, evas_object_del); + E_FREE_FUNC(e_comp->fps_bg, evas_object_del); } } static void -_e_comp_cb_nocomp_begin(E_Comp *c) +_e_comp_cb_nocomp_begin(void) { E_Client *ec, *ecf; - if (c->nocomp) return; + if (e_comp->nocomp) return; - E_FREE_FUNC(c->nocomp_delay_timer, ecore_timer_del); + E_FREE_FUNC(e_comp->nocomp_delay_timer, ecore_timer_del); - ecf = _e_comp_fullscreen_check(c); + ecf = _e_comp_fullscreen_check(); if (!ecf) return; - c->nocomp_ec = ecf; + e_comp->nocomp_ec = ecf; E_CLIENT_FOREACH(ec) if (ec != ecf) e_client_redirected_set(ec, 0); INF("NOCOMP %p: frame %p", ecf, ecf->frame); - c->nocomp = 1; + e_comp->nocomp = 1; evas_object_raise(ecf->frame); e_client_redirected_set(ecf, 0); - //ecore_evas_manual_render_set(c->ee, EINA_TRUE); - ecore_evas_hide(c->ee); + //ecore_evas_manual_render_set(e_comp->ee, EINA_TRUE); + ecore_evas_hide(e_comp->ee); edje_file_cache_flush(); edje_collection_cache_flush(); - evas_image_cache_flush(c->evas); - evas_font_cache_flush(c->evas); - evas_render_dump(c->evas); + evas_image_cache_flush(e_comp->evas); + evas_font_cache_flush(e_comp->evas); + evas_render_dump(e_comp->evas); DBG("JOB2..."); e_comp_render_queue(); @@ -259,15 +259,15 @@ _e_comp_cb_nocomp_begin(E_Comp *c) } static void -_e_comp_cb_nocomp_end(E_Comp *c) +_e_comp_cb_nocomp_end(void) { E_Client *ec; - if (!c->nocomp) return; + if (!e_comp->nocomp) return; INF("COMP RESUME!"); - //ecore_evas_manual_render_set(c->ee, EINA_FALSE); - ecore_evas_show(c->ee); + //ecore_evas_manual_render_set(e_comp->ee, EINA_FALSE); + ecore_evas_show(e_comp->ee); E_CLIENT_FOREACH(ec) { e_client_redirected_set(ec, 1); @@ -275,7 +275,7 @@ _e_comp_cb_nocomp_end(E_Comp *c) e_comp_object_damage(ec->frame, 0, 0, ec->w, ec->h); } #ifndef HAVE_WAYLAND_ONLY - e_comp_x_nocomp_end(c); + e_comp_x_nocomp_end(); #endif e_comp_render_queue(); e_comp_shape_queue_block(0); @@ -283,15 +283,13 @@ _e_comp_cb_nocomp_end(E_Comp *c) } static Eina_Bool -_e_comp_cb_nocomp_begin_timeout(void *data) +_e_comp_cb_nocomp_begin_timeout(void *data EINA_UNUSED) { - E_Comp *c = data; - - c->nocomp_delay_timer = NULL; - if (c->nocomp_override == 0) + e_comp->nocomp_delay_timer = NULL; + if (e_comp->nocomp_override == 0) { - if (_e_comp_fullscreen_check(c)) c->nocomp_want = 1; - _e_comp_cb_nocomp_begin(c); + if (_e_comp_fullscreen_check()) e_comp->nocomp_want = 1; + _e_comp_cb_nocomp_begin(); } return EINA_FALSE; } @@ -340,46 +338,46 @@ _e_comp_client_update(E_Client *ec) } static void -_e_comp_nocomp_end(E_Comp *c) +_e_comp_nocomp_end(void) { - c->nocomp_want = 0; - E_FREE_FUNC(c->nocomp_delay_timer, ecore_timer_del); - _e_comp_cb_nocomp_end(c); - c->nocomp_ec = NULL; + e_comp->nocomp_want = 0; + E_FREE_FUNC(e_comp->nocomp_delay_timer, ecore_timer_del); + _e_comp_cb_nocomp_end(); + e_comp->nocomp_ec = NULL; } static Eina_Bool -_e_comp_cb_update(E_Comp *c) +_e_comp_cb_update(void) { E_Client *ec; Eina_List *l; // static int doframeinfo = -1; - if (!c) return EINA_FALSE; - if (c->update_job) - c->update_job = NULL; + if (!e_comp) return EINA_FALSE; + if (e_comp->update_job) + e_comp->update_job = NULL; else - ecore_animator_freeze(c->render_animator); + ecore_animator_freeze(e_comp->render_animator); DBG("UPDATE ALL"); - if (c->nocomp) goto nocomp; - if (conf->grab && (!c->grabbed)) + if (e_comp->nocomp) goto nocomp; + if (conf->grab && (!e_comp->grabbed)) { - if (c->grab_cb) c->grab_cb(c); - c->grabbed = 1; + if (e_comp->grab_cb) e_comp->grab_cb(); + e_comp->grabbed = 1; } - l = c->updates; - c->updates = NULL; + l = e_comp->updates; + e_comp->updates = NULL; EINA_LIST_FREE(l, ec) { /* clear update flag */ e_comp_object_render_update_del(ec->frame); if (_e_comp_client_update(ec)) { - c->post_updates = eina_list_append(c->post_updates, ec); + e_comp->post_updates = eina_list_append(e_comp->post_updates, ec); e_object_ref(E_OBJECT(ec)); } } - _e_comp_fps_update(c); + _e_comp_fps_update(); if (conf->fps_show) { char buf[128]; @@ -393,21 +391,21 @@ _e_comp_cb_update(E_Comp *c) conf->fps_average_range = 30; else if (conf->fps_average_range > 120) conf->fps_average_range = 120; - dt = t - c->frametimes[conf->fps_average_range - 1]; + dt = t - e_comp->frametimes[conf->fps_average_range - 1]; if (dt > 0.0) fps = (double)conf->fps_average_range / dt; else fps = 0.0; if (fps > 0.0) snprintf(buf, sizeof(buf), "FPS: %1.1f", fps); else snprintf(buf, sizeof(buf), "N/A"); for (i = 121; i >= 1; i--) - c->frametimes[i] = c->frametimes[i - 1]; - c->frametimes[0] = t; - c->frameskip++; - if (c->frameskip >= conf->fps_average_range) + e_comp->frametimes[i] = e_comp->frametimes[i - 1]; + e_comp->frametimes[0] = t; + e_comp->frameskip++; + if (e_comp->frameskip >= conf->fps_average_range) { - c->frameskip = 0; - evas_object_text_text_set(c->fps_fg, buf); + e_comp->frameskip = 0; + evas_object_text_text_set(e_comp->fps_fg, buf); } - evas_object_geometry_get(c->fps_fg, NULL, NULL, &w, &h); + evas_object_geometry_get(e_comp->fps_fg, NULL, NULL, &w, &h); w += 8; h += 8; z = e_zone_current_get(); @@ -435,23 +433,23 @@ _e_comp_cb_update(E_Comp *c) break; } } - evas_object_move(c->fps_bg, x, y); - evas_object_resize(c->fps_bg, w, h); - evas_object_move(c->fps_fg, x + 4, y + 4); + evas_object_move(e_comp->fps_bg, x, y); + evas_object_resize(e_comp->fps_bg, w, h); + evas_object_move(e_comp->fps_fg, x + 4, y + 4); } if (conf->lock_fps) { DBG("MANUAL RENDER..."); - // if (!c->nocomp) ecore_evas_manual_render(c->ee); + // if (!e_comp->nocomp) ecore_evas_manual_render(e_comp->ee); } - if (conf->grab && c->grabbed) + if (conf->grab && e_comp->grabbed) { - if (c->grab_cb) c->grab_cb(c); - c->grabbed = 0; + if (e_comp->grab_cb) e_comp->grab_cb(); + e_comp->grabbed = 0; } - if (c->updates && (!c->update_job)) - ecore_animator_thaw(c->render_animator); + if (e_comp->updates && (!e_comp->update_job)) + ecore_animator_thaw(e_comp->render_animator); /* if (doframeinfo == -1) { @@ -477,56 +475,56 @@ _e_comp_cb_update(E_Comp *c) } */ nocomp: - ec = _e_comp_fullscreen_check(c); + ec = _e_comp_fullscreen_check(); if (ec) { if (conf->nocomp_fs) { - if (c->nocomp && c->nocomp_ec) + if (e_comp->nocomp && e_comp->nocomp_ec) { E_Client *nec = NULL; for (ec = e_client_top_get(), nec = e_client_below_get(ec); (ec && nec) && (ec != nec); ec = nec, nec = e_client_below_get(ec)) { - if (ec == c->nocomp_ec) break; - if (evas_object_layer_get(ec->frame) < evas_object_layer_get(c->nocomp_ec->frame)) break; + if (ec == e_comp->nocomp_ec) break; + if (evas_object_layer_get(ec->frame) < evas_object_layer_get(e_comp->nocomp_ec->frame)) break; if (e_client_is_stacking(ec)) continue; if (!ec->visible) continue; if (evas_object_data_get(ec->frame, "comp_skip")) continue; if (e_object_is_del(E_OBJECT(ec)) || (!e_client_util_desk_visible(ec, e_desk_current_get(ec->zone)))) continue; if (ec->override || (e_config->allow_above_fullscreen && (!e_config->mode.presentation))) { - _e_comp_nocomp_end(c); + _e_comp_nocomp_end(); break; } else - evas_object_stack_below(ec->frame, c->nocomp_ec->frame); + evas_object_stack_below(ec->frame, e_comp->nocomp_ec->frame); } } - else if ((!c->nocomp) && (!c->nocomp_override > 0)) + else if ((!e_comp->nocomp) && (!e_comp->nocomp_override > 0)) { - if (!c->nocomp_delay_timer) - c->nocomp_delay_timer = ecore_timer_add(1.0, _e_comp_cb_nocomp_begin_timeout, c); + if (!e_comp->nocomp_delay_timer) + e_comp->nocomp_delay_timer = ecore_timer_add(1.0, _e_comp_cb_nocomp_begin_timeout, NULL); } } } else - _e_comp_nocomp_end(c); + _e_comp_nocomp_end(); return ECORE_CALLBACK_RENEW; } static void -_e_comp_cb_job(void *data) +_e_comp_cb_job(void *data EINA_UNUSED) { DBG("UPDATE ALL JOB..."); - _e_comp_cb_update(data); + _e_comp_cb_update(); } static Eina_Bool -_e_comp_cb_animator(void *data) +_e_comp_cb_animator(void *data EINA_UNUSED) { - return _e_comp_cb_update(data); + return _e_comp_cb_update(); } ////////////////////////////////////////////////////////////////////////// @@ -534,12 +532,12 @@ _e_comp_cb_animator(void *data) #ifdef SHAPE_DEBUG static void -_e_comp_shape_debug_rect(E_Comp *c, Eina_Rectangle *rect, E_Color *color) +_e_comp_shape_debug_rect(Eina_Rectangle *rect, E_Color *color) { Evas_Object *o; #define COLOR_INCREMENT 30 - o = evas_object_rectangle_add(c->evas); + o = evas_object_rectangle_add(e_comp->evas); if (color->r < 256 - COLOR_INCREMENT) evas_object_color_set(o, (color->r += COLOR_INCREMENT), 0, 0, 255); else if (color->g < 256 - COLOR_INCREMENT) @@ -550,19 +548,19 @@ _e_comp_shape_debug_rect(E_Comp *c, Eina_Rectangle *rect, E_Color *color) evas_object_layer_set(o, E_LAYER_MENU - 1); evas_object_move(o, rect->x, rect->y); evas_object_resize(o, rect->w, rect->h); - c->debug_rects = eina_list_append(c->debug_rects, o); + e_comp->debug_rects = eina_list_append(e_comp->debug_rects, o); evas_object_show(o); } #endif static Eina_Bool -_e_comp_shapes_update_object_checker_function_thingy(E_Comp *c, Evas_Object *o) +_e_comp_shapes_update_object_checker_function_thingy(Evas_Object *o) { Eina_List *l; E_Zone *zone; - if (o == c->bg_blank_object) return EINA_TRUE; - EINA_LIST_FOREACH(c->zones, l, zone) + if (o == e_comp->bg_blank_object) return EINA_TRUE; + EINA_LIST_FOREACH(e_comp->zones, l, zone) { if ((o == zone->over) || (o == zone->base)) return EINA_TRUE; if ((o == zone->bg_object) || (o == zone->bg_event_object) || @@ -675,14 +673,14 @@ _e_comp_shapes_update_comp_client_shape_comp_helper(E_Client *ec, Eina_Tiler *tb } static void -_e_comp_shapes_update_object_shape_comp_helper(E_Comp *c, Evas_Object *o, Eina_Tiler *tb) +_e_comp_shapes_update_object_shape_comp_helper(Evas_Object *o, Eina_Tiler *tb) { int x, y, w, h; /* ignore hidden and pass-event objects */ if ((!evas_object_visible_get(o)) || evas_object_pass_events_get(o) || evas_object_repeat_events_get(o)) return; /* ignore canvas objects */ - if (_e_comp_shapes_update_object_checker_function_thingy(c, o)) return; + if (_e_comp_shapes_update_object_checker_function_thingy(o)) return; SHAPE_INF("OBJ: %p:%s", o, evas_object_name_get(o)); evas_object_geometry_get(o, &x, &y, &w, &h); eina_tiler_rect_add(tb, &(Eina_Rectangle){x, y, w, h}); @@ -690,7 +688,7 @@ _e_comp_shapes_update_object_shape_comp_helper(E_Comp *c, Evas_Object *o, Eina_T } static void -_e_comp_shapes_update_job(E_Comp *c) +_e_comp_shapes_update_job(void *d EINA_UNUSED) { Eina_Tiler *tb; E_Client *ec; @@ -707,11 +705,11 @@ _e_comp_shapes_update_job(E_Comp *c) INF("---------------------"); #endif - E_FREE_LIST(c->debug_rects, evas_object_del); - tb = eina_tiler_new(c->man->w, c->man->h); + E_FREE_LIST(e_comp->debug_rects, evas_object_del); + tb = eina_tiler_new(e_comp->man->w, e_comp->man->h); eina_tiler_tile_size_set(tb, 1, 1); /* background */ - eina_tiler_rect_add(tb, &(Eina_Rectangle){0, 0, c->man->w, c->man->h}); + eina_tiler_rect_add(tb, &(Eina_Rectangle){0, 0, e_comp->man->w, e_comp->man->h}); ec = e_client_bottom_get(); if (ec) o = ec->frame; @@ -722,7 +720,7 @@ _e_comp_shapes_update_job(E_Comp *c) layer = evas_object_layer_get(o); if (e_comp_canvas_client_layer_map(layer) == 9999) //not a client layer { - _e_comp_shapes_update_object_shape_comp_helper(c, o, tb); + _e_comp_shapes_update_object_shape_comp_helper(o, tb); continue; } ec = e_comp_object_client_get(o); @@ -734,7 +732,7 @@ _e_comp_shapes_update_job(E_Comp *c) ); else - _e_comp_shapes_update_object_shape_comp_helper(c, o, tb); + _e_comp_shapes_update_object_shape_comp_helper(o, tb); } ti = eina_tiler_iterator_new(tb); @@ -749,7 +747,7 @@ _e_comp_shapes_update_job(E_Comp *c) #ifdef SHAPE_DEBUG Eina_List *l; - _e_comp_shape_debug_rect(c, &exr[i - 1], &color); + _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) { @@ -760,7 +758,7 @@ _e_comp_shapes_update_job(E_Comp *c) } #ifndef HAVE_WAYLAND_ONLY - ecore_x_window_shape_input_rectangles_set(c->win, (Ecore_X_Rectangle*)exr, i); + ecore_x_window_shape_input_rectangles_set(e_comp->win, (Ecore_X_Rectangle*)exr, i); #endif #ifdef SHAPE_DEBUG @@ -770,7 +768,7 @@ _e_comp_shapes_update_job(E_Comp *c) free(exr); eina_iterator_free(ti); eina_tiler_free(tb); - c->shape_job = NULL; + e_comp->shape_job = NULL; } ////////////////////////////////////////////////////////////////////////// @@ -828,17 +826,15 @@ _e_comp_free(E_Comp *c) ////////////////////////////////////////////////////////////////////////// static Eina_Bool -_e_comp_override_expire(void *data) +_e_comp_override_expire(void *data EINA_UNUSED) { - E_Comp *c = data; + e_comp->nocomp_override_timer = NULL; + e_comp->nocomp_override--; - c->nocomp_override_timer = NULL; - c->nocomp_override--; - - if (c->nocomp_override <= 0) + if (e_comp->nocomp_override <= 0) { - c->nocomp_override = 0; - if (c->nocomp_want) _e_comp_cb_nocomp_begin(c); + e_comp->nocomp_override = 0; + if (e_comp->nocomp_want) _e_comp_cb_nocomp_begin(); } return EINA_FALSE; } @@ -1261,18 +1257,15 @@ e_comp_style_selector_create(Evas *evas, const char **source) EAPI E_Comp * e_comp_new(void) { - E_Comp *c; - if (e_comp) CRI("CANNOT REPLACE EXISTING COMPOSITOR"); - c = E_OBJECT_ALLOC(E_Comp, E_COMP_TYPE, _e_comp_free); - if (!c) return NULL; + e_comp = E_OBJECT_ALLOC(E_Comp, E_COMP_TYPE, _e_comp_free); + if (!e_comp) return NULL; - c->name = eina_stringshare_add(_("Compositor")); - c->render_animator = ecore_animator_add(_e_comp_cb_animator, c); - ecore_animator_freeze(c->render_animator); - e_comp = c; - return c; + e_comp->name = eina_stringshare_add(_("Compositor")); + e_comp->render_animator = ecore_animator_add(_e_comp_cb_animator, NULL); + ecore_animator_freeze(e_comp->render_animator); + return e_comp; } EAPI int @@ -1310,11 +1303,8 @@ e_comp_shutdown(void) } EAPI void -e_comp_render_queue() +e_comp_render_queue(void) { - E_OBJECT_CHECK(e_comp); - E_OBJECT_TYPE_CHECK(e_comp, E_COMP_TYPE); - if (conf->lock_fps) { ecore_animator_thaw(e_comp->render_animator); @@ -1332,20 +1322,16 @@ e_comp_render_queue() } EAPI void -e_comp_shape_queue() +e_comp_shape_queue(void) { - EINA_SAFETY_ON_NULL_RETURN(e_comp); - if (e_comp->comp_type != E_PIXMAP_TYPE_X) return; if (!e_comp->shape_job) - e_comp->shape_job = ecore_job_add((Ecore_Cb)_e_comp_shapes_update_job, e_comp); + e_comp->shape_job = ecore_job_add(_e_comp_shapes_update_job, NULL); } EAPI void e_comp_shape_queue_block(Eina_Bool block) { - EINA_SAFETY_ON_NULL_RETURN(e_comp); - e_comp->shape_queue_blocked = !!block; if (block) E_FREE_FUNC(e_comp->shape_job, ecore_job_del); @@ -1364,7 +1350,7 @@ e_comp_shadows_reset(void) { E_Client *ec; - _e_comp_fps_update(e_comp); + _e_comp_fps_update(); E_LIST_FOREACH(e_comp->zones, e_comp_canvas_zone_update); E_CLIENT_FOREACH(ec) e_comp_object_frame_theme_set(ec->frame, E_COMP_OBJECT_FRAME_RESHADOW); @@ -1446,7 +1432,7 @@ e_comp_override_del() if (e_comp->nocomp_override <= 0) { e_comp->nocomp_override = 0; - if (e_comp->nocomp_want) _e_comp_cb_nocomp_begin(e_comp); + if (e_comp->nocomp_want) _e_comp_cb_nocomp_begin(); } } @@ -1454,7 +1440,7 @@ EAPI void e_comp_override_add() { e_comp->nocomp_override++; - if ((e_comp->nocomp_override > 0) && (e_comp->nocomp)) _e_comp_cb_nocomp_end(e_comp); + if ((e_comp->nocomp_override > 0) && (e_comp->nocomp)) _e_comp_cb_nocomp_end(); } #if 0 @@ -1493,14 +1479,13 @@ e_comp_find_by_window(Ecore_Window win) } EAPI void -e_comp_override_timed_pop() +e_comp_override_timed_pop(void) { - EINA_SAFETY_ON_NULL_RETURN(e_comp); if (e_comp->nocomp_override <= 0) return; if (e_comp->nocomp_override_timer) e_comp->nocomp_override--; else - e_comp->nocomp_override_timer = ecore_timer_add(1.0, _e_comp_override_expire, e_comp); + e_comp->nocomp_override_timer = ecore_timer_add(1.0, _e_comp_override_expire, NULL); } EAPI unsigned int @@ -1601,14 +1586,14 @@ EAPI void e_comp_button_bindings_ungrab_all(void) { if (e_comp->bindings_ungrab_cb) - e_comp->bindings_ungrab_cb(e_comp); + e_comp->bindings_ungrab_cb(); } EAPI void e_comp_button_bindings_grab_all(void) { if (e_comp->bindings_grab_cb) - e_comp->bindings_grab_cb(e_comp); + e_comp->bindings_grab_cb(); } EAPI void diff --git a/src/bin/e_comp.h b/src/bin/e_comp.h index c05951e4f..82cda6896 100644 --- a/src/bin/e_comp.h +++ b/src/bin/e_comp.h @@ -55,6 +55,8 @@ typedef enum _E_Layer extern EAPI int E_EVENT_COMPOSITOR_DISABLE; extern EAPI int E_EVENT_COMPOSITOR_ENABLE; +typedef void (*E_Comp_Grab_Cb)(void); + struct _E_Comp { E_Object e_obj_inherit; @@ -124,9 +126,9 @@ struct _E_Comp unsigned int input_key_grabs; unsigned int input_mouse_grabs; - Ecore_Cb grab_cb; - Ecore_Cb bindings_grab_cb; - Ecore_Cb bindings_ungrab_cb; + E_Comp_Grab_Cb grab_cb; + E_Comp_Grab_Cb bindings_grab_cb; + E_Comp_Grab_Cb bindings_ungrab_cb; Eina_Bool gl : 1; Eina_Bool grabbed : 1; diff --git a/src/bin/e_comp_x.c b/src/bin/e_comp_x.c index 56342133f..8d0d85e9e 100644 --- a/src/bin/e_comp_x.c +++ b/src/bin/e_comp_x.c @@ -4124,7 +4124,7 @@ _e_comp_x_hook_client_redirect(void *d EINA_UNUSED, E_Client *ec) else if (e_comp->nocomp) { /* first window */ - e_comp_x_nocomp_end(e_comp); + e_comp_x_nocomp_end(); ecore_x_window_reparent(_e_comp_x_client_window_get(ec), e_comp->man->root, ec->client.x, ec->client.y); _e_comp_x_client_stack(ec); } @@ -4887,12 +4887,12 @@ _e_comp_x_manage_windows(E_Comp *c) } static void -_e_comp_x_bindings_grab_cb(E_Comp *c) +_e_comp_x_bindings_grab_cb(void) { Eina_List *l; E_Client *ec; - EINA_LIST_FOREACH(c->clients, l, ec) + EINA_LIST_FOREACH(e_comp->clients, l, ec) { if (e_client_util_ignored_get(ec)) continue; _e_comp_x_focus_setup(ec); @@ -4902,12 +4902,12 @@ _e_comp_x_bindings_grab_cb(E_Comp *c) } static void -_e_comp_x_bindings_ungrab_cb(E_Comp *c) +_e_comp_x_bindings_ungrab_cb(void) { Eina_List *l; E_Client *ec; - EINA_LIST_FOREACH(c->clients, l, ec) + EINA_LIST_FOREACH(e_comp->clients, l, ec) { if (e_client_util_ignored_get(ec)) continue; _e_comp_x_focus_setdown(ec); @@ -4917,9 +4917,9 @@ _e_comp_x_bindings_ungrab_cb(E_Comp *c) } static void -_e_comp_x_grab_cb(E_Comp *c) +_e_comp_x_grab_cb(void) { - if (!c->grabbed) + if (!e_comp->grabbed) { ecore_x_grab(); ecore_x_sync(); @@ -5124,9 +5124,9 @@ _e_comp_x_setup(E_Comp *c, Ecore_X_Window root, int w, int h) ecore_evas_callback_resize_set(c->ee, _e_comp_x_ee_resize); ecore_evas_data_set(c->ee, "comp", c); - c->grab_cb = (Ecore_Cb)_e_comp_x_grab_cb; - c->bindings_grab_cb = (Ecore_Cb)_e_comp_x_bindings_grab_cb; - c->bindings_ungrab_cb = (Ecore_Cb)_e_comp_x_bindings_ungrab_cb; + c->grab_cb = _e_comp_x_grab_cb; + c->bindings_grab_cb = _e_comp_x_bindings_grab_cb; + c->bindings_ungrab_cb = _e_comp_x_bindings_ungrab_cb; if (!e_comp_canvas_init()) return EINA_FALSE; @@ -5379,10 +5379,10 @@ e_comp_x_shutdown(void) } EINTERN void -e_comp_x_nocomp_end(E_Comp *comp) +e_comp_x_nocomp_end(void) { - comp->nocomp = 0; - ecore_x_window_show(comp->win); - ecore_x_composite_redirect_subwindows(comp->man->root, ECORE_X_COMPOSITE_UPDATE_MANUAL); - _e_comp_x_focus_check(comp); + e_comp->nocomp = 0; + ecore_x_window_show(e_comp->win); + ecore_x_composite_redirect_subwindows(e_comp->man->root, ECORE_X_COMPOSITE_UPDATE_MANUAL); + _e_comp_x_focus_check(e_comp); } diff --git a/src/bin/e_comp_x.h b/src/bin/e_comp_x.h index a724a7c9e..f25477047 100644 --- a/src/bin/e_comp_x.h +++ b/src/bin/e_comp_x.h @@ -109,6 +109,6 @@ EINTERN Eina_Bool e_comp_x_init(void); EINTERN void e_comp_x_shutdown(void); EAPI void e_alert_composite_win(Ecore_X_Window root, Ecore_X_Window win); -EINTERN void e_comp_x_nocomp_end(E_Comp *comp); +EINTERN void e_comp_x_nocomp_end(void); # endif #endif