ecrustified

SVN revision: 57909
This commit is contained in:
Mike Blumenkrantz 2011-03-20 06:12:17 +00:00
parent 3e85ebbb42
commit 1bfdf90aab
8 changed files with 955 additions and 768 deletions

View File

@ -62,7 +62,8 @@ struct _E_Comp_Win
E_Popup *pop; // if its a popup - later
E_Menu *menu; // if it is a menu - later
int x, y, w, h; // geometry
struct {
struct
{
int x, y, w, h; // hidden geometry (used when its unmapped and re-instated on map)
} hidden;
int pw, ph; // pixmap w/h
@ -133,22 +134,34 @@ static Eina_Hash *damages = NULL;
//////////////////////////////////////////////////////////////////////////
#if 0
#define DBG(f, x...) printf(f, ##x)
#define DBG(f, x ...) printf(f, ##x)
#else
#define DBG(f, x...)
#define DBG(f, x ...)
#endif
static void _e_mod_comp_win_ready_timeout_setup(E_Comp_Win *cw);
static void _e_mod_comp_render_queue(E_Comp *c);
static void _e_mod_comp_win_damage(E_Comp_Win *cw, int x, int y, int w, int h, Eina_Bool dmg);
static void _e_mod_comp_win_damage(E_Comp_Win *cw,
int x,
int y,
int w,
int h,
Eina_Bool dmg);
static void _e_mod_comp_win_render_queue(E_Comp_Win *cw);
static void _e_mod_comp_win_del(E_Comp_Win *cw);
static void _e_mod_comp_win_real_hide(E_Comp_Win *cw);
static void _e_mod_comp_win_hide(E_Comp_Win *cw);
static void _e_mod_comp_win_configure(E_Comp_Win *cw, int x, int y, int w, int h, int border);
static void _e_mod_comp_win_configure(E_Comp_Win *cw,
int x,
int y,
int w,
int h,
int border);
static void
_e_mod_comp_cb_pending_after(void *data __UNUSED__, E_Manager *man __UNUSED__, E_Manager_Comp_Source *src)
_e_mod_comp_cb_pending_after(void *data __UNUSED__,
E_Manager *man __UNUSED__,
E_Manager_Comp_Source *src)
{
E_Comp_Win *cw = (E_Comp_Win *)src;
cw->pending_count--;
@ -183,7 +196,10 @@ _e_mod_comp_fullscreen_check(E_Comp *c)
}
static inline Eina_Bool
_e_mod_comp_shaped_check(int w, int h, const Ecore_X_Rectangle *rects, int num)
_e_mod_comp_shaped_check(int w,
int h,
const Ecore_X_Rectangle *rects,
int num)
{
if ((!rects) || (num < 1)) return EINA_FALSE;
if (num > 1) return EINA_TRUE;
@ -194,13 +210,17 @@ _e_mod_comp_shaped_check(int w, int h, const Ecore_X_Rectangle *rects, int num)
}
static inline Eina_Bool
_e_mod_comp_win_shaped_check(const E_Comp_Win *cw, const Ecore_X_Rectangle *rects, int num)
_e_mod_comp_win_shaped_check(const E_Comp_Win *cw,
const Ecore_X_Rectangle *rects,
int num)
{
return _e_mod_comp_shaped_check(cw->w, cw->h, rects, num);
}
static void
_e_mod_comp_win_shape_rectangles_apply(E_Comp_Win *cw, const Ecore_X_Rectangle *rects, int num)
_e_mod_comp_win_shape_rectangles_apply(E_Comp_Win *cw,
const Ecore_X_Rectangle *rects,
int num)
{
Eina_List *l;
Evas_Object *o;
@ -371,7 +391,7 @@ _e_mod_comp_win_ready_timeout_setup(E_Comp_Win *cw)
if (cw->show_ready) return;
if (cw->counter) return;
// printf("_e_mod_comp_win_ready_timeout_setup %x\n", cw->win);
// FIXME: make show_ready option
// FIXME: make show_ready option
if (0)
{
cw->show_ready = 1;
@ -672,8 +692,8 @@ _e_mod_comp_win_update(E_Comp_Win *cw)
}
}
// printf("==== up %x | %i %i %i %i\n", cw->win, cw->update, cw->visible, cw->dmg_updates, cw->show_ready);
// FIXME: below cw update check screws with show
if (/*(!cw->update) &&*/(cw->visible) && (cw->dmg_updates >= 1) &&
// FIXME: below cw update check screws with show
if (/*(!cw->update) &&*/ (cw->visible) && (cw->dmg_updates >= 1) &&
(cw->show_ready) && (!cw->hidden_override))
{
if (!evas_object_visible_get(cw->shobj))
@ -706,7 +726,8 @@ _e_mod_comp_win_update(E_Comp_Win *cw)
}
static void
_e_mod_comp_pre_swap(void *data, Evas *e __UNUSED__)
_e_mod_comp_pre_swap(void *data,
Evas *e __UNUSED__)
{
E_Comp *c = data;
@ -842,14 +863,17 @@ _e_mod_comp_cb_update(E_Comp *c)
x = z->x + z->w - w;
y = z->y + z->h - h;
break;
case 2: // bottom-left
x = z->x;
y = z->y + z->h - h;
break;
case 1: // top-right
x = z->x + z->w - w;
y = z->y;
break;
default: // 0 // top-left
x = z->x;
y = z->y;
@ -914,7 +938,7 @@ _e_mod_comp_cb_update(E_Comp *c)
t0 = t;
}
*/
nocomp:
nocomp:
cw = _e_mod_comp_fullscreen_check(c);
if (cw)
{
@ -1209,7 +1233,8 @@ _e_mod_comp_win_damage_timeout(void *data)
}
static void
_e_mod_comp_object_del(void *data, void *obj)
_e_mod_comp_object_del(void *data,
void *obj)
{
E_Comp_Win *cw = data;
@ -1267,21 +1292,28 @@ _e_mod_comp_done_defer(E_Comp_Win *cw)
}
static void
_e_mod_comp_show_done(void *data, Evas_Object *obj __UNUSED__, const char *emission __UNUSED__, const char *source __UNUSED__)
_e_mod_comp_show_done(void *data,
Evas_Object *obj __UNUSED__,
const char *emission __UNUSED__,
const char *source __UNUSED__)
{
E_Comp_Win *cw = data;
_e_mod_comp_done_defer(cw);
}
static void
_e_mod_comp_hide_done(void *data, Evas_Object *obj __UNUSED__, const char *emission __UNUSED__, const char *source __UNUSED__)
_e_mod_comp_hide_done(void *data,
Evas_Object *obj __UNUSED__,
const char *emission __UNUSED__,
const char *source __UNUSED__)
{
E_Comp_Win *cw = data;
_e_mod_comp_done_defer(cw);
}
static void
_e_mod_comp_win_sync_setup(E_Comp_Win *cw, Ecore_X_Window win)
_e_mod_comp_win_sync_setup(E_Comp_Win *cw,
Ecore_X_Window win)
{
if (!_comp_mod->conf->efl_sync) return;
@ -1380,7 +1412,7 @@ _e_mod_comp_win_shadow_setup(E_Comp_Win *cw)
if ((cw->bd->client.mwm.borderless) || (cw->bd->borderless))
borderless = 1;
if (!(((m->borderless == -1) && (!borderless)) ||
((m->borderless == 1) && ( borderless))))
((m->borderless == 1) && (borderless))))
continue;
}
if (m->dialog != 0)
@ -1391,7 +1423,7 @@ _e_mod_comp_win_shadow_setup(E_Comp_Win *cw)
(cw->bd->client.netwm.type == ECORE_X_WINDOW_TYPE_DIALOG)))
dialog = 1;
if (!(((m->dialog == -1) && (!dialog)) ||
((m->dialog == 1) && ( dialog))))
((m->dialog == 1) && (dialog))))
continue;
}
if (m->accepts_focus != 0)
@ -1401,7 +1433,7 @@ _e_mod_comp_win_shadow_setup(E_Comp_Win *cw)
if (cw->bd->client.icccm.accepts_focus)
accepts_focus = 1;
if (!(((m->accepts_focus == -1) && (!accepts_focus)) ||
((m->accepts_focus == 1) && ( accepts_focus))))
((m->accepts_focus == 1) && (accepts_focus))))
continue;
}
if (m->vkbd != 0)
@ -1411,7 +1443,7 @@ _e_mod_comp_win_shadow_setup(E_Comp_Win *cw)
if (cw->bd->client.vkbd.vkbd)
vkbd = 1;
if (!(((m->vkbd == -1) && (!vkbd)) ||
((m->vkbd == 1) && ( vkbd))))
((m->vkbd == 1) && (vkbd))))
continue;
}
if (m->quickpanel != 0)
@ -1421,13 +1453,13 @@ _e_mod_comp_win_shadow_setup(E_Comp_Win *cw)
if (cw->bd->client.illume.quickpanel.quickpanel)
quickpanel = 1;
if (!(((m->quickpanel == -1) && (!quickpanel)) ||
((m->quickpanel == 1) && ( quickpanel))))
((m->quickpanel == 1) && (quickpanel))))
continue;
}
if (m->argb != 0)
{
if (!(((m->argb == -1) && (!cw->argb)) ||
((m->argb == 1) && ( cw->argb))))
((m->argb == 1) && (cw->argb))))
continue;
}
if (m->fullscreen != 0)
@ -1437,7 +1469,7 @@ _e_mod_comp_win_shadow_setup(E_Comp_Win *cw)
if (cw->bd->client.netwm.state.fullscreen)
fullscreen = 1;
if (!(((m->fullscreen == -1) && (!fullscreen)) ||
((m->fullscreen == 1) && ( fullscreen))))
((m->fullscreen == 1) && (fullscreen))))
continue;
}
if (m->modal != 0)
@ -1447,7 +1479,7 @@ _e_mod_comp_win_shadow_setup(E_Comp_Win *cw)
if (cw->bd->client.netwm.state.modal)
modal = 1;
if (!(((m->modal == -1) && (!modal)) ||
((m->modal == 1) && ( modal))))
((m->modal == 1) && (modal))))
continue;
}
}
@ -1504,7 +1536,10 @@ _e_mod_comp_win_shadow_setup(E_Comp_Win *cw)
}
static void
_e_mod_comp_cb_win_mirror_del(void *data, Evas *e, Evas_Object *obj, void *event_info)
_e_mod_comp_cb_win_mirror_del(void *data,
Evas *e,
Evas_Object *obj,
void *event_info)
{
E_Comp_Win *cw = data;
@ -1577,7 +1612,8 @@ _e_mod_comp_win_mirror_add(E_Comp_Win *cw)
}
static E_Comp_Win *
_e_mod_comp_win_add(E_Comp *c, Ecore_X_Window win)
_e_mod_comp_win_add(E_Comp *c,
Ecore_X_Window win)
{
Ecore_X_Window_Attributes att;
E_Comp_Win *cw;
@ -1775,8 +1811,10 @@ _e_mod_comp_win_add(E_Comp *c, Ecore_X_Window win)
}
if (cw->bd) evas_object_data_set(cw->shobj, "border", cw->bd);
else if (cw->pop) evas_object_data_set(cw->shobj, "popup", cw->pop);
else if (cw->menu) evas_object_data_set(cw->shobj, "menu", cw->menu);
else if (cw->pop)
evas_object_data_set(cw->shobj, "popup", cw->pop);
else if (cw->menu)
evas_object_data_set(cw->shobj, "menu", cw->menu);
evas_object_pass_events_set(cw->obj, 1);
@ -2179,7 +2217,8 @@ _e_mod_comp_win_hide(E_Comp_Win *cw)
}
static void
_e_mod_comp_win_raise_above(E_Comp_Win *cw, E_Comp_Win *cw2)
_e_mod_comp_win_raise_above(E_Comp_Win *cw,
E_Comp_Win *cw2)
{
DBG(" [0x%x] abv [0x%x]\n", cw->win, cw2->win);
cw->c->wins_invalid = 1;
@ -2226,7 +2265,12 @@ _e_mod_comp_win_lower(E_Comp_Win *cw)
}
static void
_e_mod_comp_win_configure(E_Comp_Win *cw, int x, int y, int w, int h, int border)
_e_mod_comp_win_configure(E_Comp_Win *cw,
int x,
int y,
int w,
int h,
int border)
{
if (!cw->visible)
{
@ -2277,7 +2321,12 @@ _e_mod_comp_win_configure(E_Comp_Win *cw, int x, int y, int w, int h, int border
}
static void
_e_mod_comp_win_damage(E_Comp_Win *cw, int x, int y, int w, int h, Eina_Bool dmg)
_e_mod_comp_win_damage(E_Comp_Win *cw,
int x,
int y,
int w,
int h,
Eina_Bool dmg)
{
if ((cw->input_only) || (cw->invalid)) return;
DBG(" [0x%x] dmg [%x] %4i %4i %4ix%4i\n", cw->win, cw->damage, x, y, w, h);
@ -2327,7 +2376,9 @@ _e_mod_comp_win_reshape(E_Comp_Win *cw)
//////////////////////////////////////////////////////////////////////////
static Eina_Bool
_e_mod_comp_create(void *data __UNUSED__, int type __UNUSED__, void *event)
_e_mod_comp_create(void *data __UNUSED__,
int type __UNUSED__,
void *event)
{
Ecore_X_Event_Window_Create *ev = event;
E_Comp_Win *cw;
@ -2342,7 +2393,9 @@ _e_mod_comp_create(void *data __UNUSED__, int type __UNUSED__, void *event)
}
static Eina_Bool
_e_mod_comp_destroy(void *data __UNUSED__, int type __UNUSED__, void *event)
_e_mod_comp_destroy(void *data __UNUSED__,
int type __UNUSED__,
void *event)
{
Ecore_X_Event_Window_Destroy *ev = event;
E_Comp_Win *cw = _e_mod_comp_win_find(ev->win);
@ -2353,7 +2406,9 @@ _e_mod_comp_destroy(void *data __UNUSED__, int type __UNUSED__, void *event)
}
static Eina_Bool
_e_mod_comp_show(void *data __UNUSED__, int type __UNUSED__, void *event)
_e_mod_comp_show(void *data __UNUSED__,
int type __UNUSED__,
void *event)
{
Ecore_X_Event_Window_Show *ev = event;
E_Comp_Win *cw = _e_mod_comp_win_find(ev->win);
@ -2364,7 +2419,9 @@ _e_mod_comp_show(void *data __UNUSED__, int type __UNUSED__, void *event)
}
static Eina_Bool
_e_mod_comp_hide(void *data __UNUSED__, int type __UNUSED__, void *event)
_e_mod_comp_hide(void *data __UNUSED__,
int type __UNUSED__,
void *event)
{
Ecore_X_Event_Window_Hide *ev = event;
E_Comp_Win *cw = _e_mod_comp_win_find(ev->win);
@ -2375,7 +2432,9 @@ _e_mod_comp_hide(void *data __UNUSED__, int type __UNUSED__, void *event)
}
static Eina_Bool
_e_mod_comp_reparent(void *data __UNUSED__, int type __UNUSED__, void *event)
_e_mod_comp_reparent(void *data __UNUSED__,
int type __UNUSED__,
void *event)
{
Ecore_X_Event_Window_Reparent *ev = event;
E_Comp_Win *cw = _e_mod_comp_win_find(ev->win);
@ -2387,7 +2446,9 @@ _e_mod_comp_reparent(void *data __UNUSED__, int type __UNUSED__, void *event)
}
static Eina_Bool
_e_mod_comp_configure(void *data __UNUSED__, int type __UNUSED__, void *event)
_e_mod_comp_configure(void *data __UNUSED__,
int type __UNUSED__,
void *event)
{
Ecore_X_Event_Window_Configure *ev = event;
E_Comp_Win *cw = _e_mod_comp_win_find(ev->win);
@ -2419,7 +2480,9 @@ _e_mod_comp_configure(void *data __UNUSED__, int type __UNUSED__, void *event)
}
static Eina_Bool
_e_mod_comp_stack(void *data __UNUSED__, int type __UNUSED__, void *event)
_e_mod_comp_stack(void *data __UNUSED__,
int type __UNUSED__,
void *event)
{
Ecore_X_Event_Window_Stack *ev = event;
E_Comp_Win *cw = _e_mod_comp_win_find(ev->win);
@ -2442,7 +2505,9 @@ _e_mod_comp_win_opacity_set(E_Comp_Win *cw)
}
static Eina_Bool
_e_mod_comp_property(void *data __UNUSED__, int type __UNUSED__, void *event __UNUSED__)
_e_mod_comp_property(void *data __UNUSED__,
int type __UNUSED__,
void *event __UNUSED__)
{
Ecore_X_Event_Window_Property *ev = event;
@ -2456,7 +2521,9 @@ _e_mod_comp_property(void *data __UNUSED__, int type __UNUSED__, void *event __U
}
static Eina_Bool
_e_mod_comp_message(void *data __UNUSED__, int type __UNUSED__, void *event)
_e_mod_comp_message(void *data __UNUSED__,
int type __UNUSED__,
void *event)
{
Ecore_X_Event_Client_Message *ev = event;
E_Comp_Win *cw = NULL;
@ -2509,7 +2576,9 @@ _e_mod_comp_message(void *data __UNUSED__, int type __UNUSED__, void *event)
}
static Eina_Bool
_e_mod_comp_shape(void *data __UNUSED__, int type __UNUSED__, void *event)
_e_mod_comp_shape(void *data __UNUSED__,
int type __UNUSED__,
void *event)
{
Ecore_X_Event_Window_Shape *ev = event;
E_Comp_Win *cw = _e_mod_comp_win_find(ev->win);
@ -2520,7 +2589,9 @@ _e_mod_comp_shape(void *data __UNUSED__, int type __UNUSED__, void *event)
}
static Eina_Bool
_e_mod_comp_damage(void *data __UNUSED__, int type __UNUSED__, void *event)
_e_mod_comp_damage(void *data __UNUSED__,
int type __UNUSED__,
void *event)
{
Ecore_X_Event_Damage *ev = event;
E_Comp_Win *cw = _e_mod_comp_win_damage_find(ev->damage);
@ -2532,7 +2603,9 @@ _e_mod_comp_damage(void *data __UNUSED__, int type __UNUSED__, void *event)
}
static Eina_Bool
_e_mod_comp_damage_win(void *data __UNUSED__, int type __UNUSED__, void *event)
_e_mod_comp_damage_win(void *data __UNUSED__,
int type __UNUSED__,
void *event)
{
Ecore_X_Event_Window_Damage *ev = event;
Eina_List *l;
@ -2553,7 +2626,9 @@ _e_mod_comp_damage_win(void *data __UNUSED__, int type __UNUSED__, void *event)
}
static Eina_Bool
_e_mod_comp_randr(void *data __UNUSED__, int type __UNUSED__, __UNUSED__ void *event)
_e_mod_comp_randr(void *data __UNUSED__,
int type __UNUSED__,
__UNUSED__ void *event)
{
Eina_List *l;
E_Comp *c;
@ -2566,7 +2641,9 @@ _e_mod_comp_randr(void *data __UNUSED__, int type __UNUSED__, __UNUSED__ void *e
}
static Eina_Bool
_e_mod_comp_bd_add(void *data __UNUSED__, int type __UNUSED__, void *event)
_e_mod_comp_bd_add(void *data __UNUSED__,
int type __UNUSED__,
void *event)
{
E_Event_Border_Add *ev = event;
E_Comp_Win *cw = _e_mod_comp_win_find(ev->border->win);
@ -2576,7 +2653,9 @@ _e_mod_comp_bd_add(void *data __UNUSED__, int type __UNUSED__, void *event)
}
static Eina_Bool
_e_mod_comp_bd_del(void *data __UNUSED__, int type __UNUSED__, void *event)
_e_mod_comp_bd_del(void *data __UNUSED__,
int type __UNUSED__,
void *event)
{
E_Event_Border_Remove *ev = event;
E_Comp_Win *cw = _e_mod_comp_win_find(ev->border->win);
@ -2586,7 +2665,9 @@ _e_mod_comp_bd_del(void *data __UNUSED__, int type __UNUSED__, void *event)
}
static Eina_Bool
_e_mod_comp_bd_show(void *data __UNUSED__, int type __UNUSED__, void *event)
_e_mod_comp_bd_show(void *data __UNUSED__,
int type __UNUSED__,
void *event)
{
E_Event_Border_Show *ev = event;
E_Comp_Win *cw = _e_mod_comp_win_find(ev->border->win);
@ -2597,7 +2678,9 @@ _e_mod_comp_bd_show(void *data __UNUSED__, int type __UNUSED__, void *event)
}
static Eina_Bool
_e_mod_comp_bd_hide(void *data __UNUSED__, int type __UNUSED__, void *event)
_e_mod_comp_bd_hide(void *data __UNUSED__,
int type __UNUSED__,
void *event)
{
E_Event_Border_Hide *ev = event;
E_Comp_Win *cw = _e_mod_comp_win_find(ev->border->win);
@ -2608,7 +2691,9 @@ _e_mod_comp_bd_hide(void *data __UNUSED__, int type __UNUSED__, void *event)
}
static Eina_Bool
_e_mod_comp_bd_move(void *data __UNUSED__, int type __UNUSED__, void *event)
_e_mod_comp_bd_move(void *data __UNUSED__,
int type __UNUSED__,
void *event)
{
E_Event_Border_Move *ev = event;
E_Comp_Win *cw = _e_mod_comp_win_find(ev->border->win);
@ -2618,7 +2703,9 @@ _e_mod_comp_bd_move(void *data __UNUSED__, int type __UNUSED__, void *event)
}
static Eina_Bool
_e_mod_comp_bd_resize(void *data __UNUSED__, int type __UNUSED__, void *event)
_e_mod_comp_bd_resize(void *data __UNUSED__,
int type __UNUSED__,
void *event)
{
E_Event_Border_Resize *ev = event;
E_Comp_Win *cw = _e_mod_comp_win_find(ev->border->win);
@ -2628,7 +2715,9 @@ _e_mod_comp_bd_resize(void *data __UNUSED__, int type __UNUSED__, void *event)
}
static Eina_Bool
_e_mod_comp_bd_iconify(void *data __UNUSED__, int type __UNUSED__, void *event)
_e_mod_comp_bd_iconify(void *data __UNUSED__,
int type __UNUSED__,
void *event)
{
E_Event_Border_Iconify *ev = event;
E_Comp_Win *cw = _e_mod_comp_win_find(ev->border->win);
@ -2638,7 +2727,9 @@ _e_mod_comp_bd_iconify(void *data __UNUSED__, int type __UNUSED__, void *event)
}
static Eina_Bool
_e_mod_comp_bd_uniconify(void *data __UNUSED__, int type __UNUSED__, void *event)
_e_mod_comp_bd_uniconify(void *data __UNUSED__,
int type __UNUSED__,
void *event)
{
E_Event_Border_Uniconify *ev = event;
E_Comp_Win *cw = _e_mod_comp_win_find(ev->border->win);
@ -2648,7 +2739,9 @@ _e_mod_comp_bd_uniconify(void *data __UNUSED__, int type __UNUSED__, void *event
}
static Eina_Bool
_e_mod_comp_bd_urgent_change(void *data __UNUSED__, int type __UNUSED__, void *event)
_e_mod_comp_bd_urgent_change(void *data __UNUSED__,
int type __UNUSED__,
void *event)
{
E_Event_Border_Urgent_Change *ev = event;
E_Comp_Win *cw = _e_mod_comp_win_find(ev->border->win);
@ -2661,7 +2754,9 @@ _e_mod_comp_bd_urgent_change(void *data __UNUSED__, int type __UNUSED__, void *e
}
static Eina_Bool
_e_mod_comp_bd_focus_in(void *data __UNUSED__, int type __UNUSED__, void *event)
_e_mod_comp_bd_focus_in(void *data __UNUSED__,
int type __UNUSED__,
void *event)
{
E_Event_Border_Focus_In *ev = event;
E_Comp_Win *cw = _e_mod_comp_win_find(ev->border->win);
@ -2671,7 +2766,9 @@ _e_mod_comp_bd_focus_in(void *data __UNUSED__, int type __UNUSED__, void *event)
}
static Eina_Bool
_e_mod_comp_bd_focus_out(void *data __UNUSED__, int type __UNUSED__, void *event)
_e_mod_comp_bd_focus_out(void *data __UNUSED__,
int type __UNUSED__,
void *event)
{
E_Event_Border_Focus_Out *ev = event;
E_Comp_Win *cw = _e_mod_comp_win_find(ev->border->win);
@ -2681,7 +2778,9 @@ _e_mod_comp_bd_focus_out(void *data __UNUSED__, int type __UNUSED__, void *event
}
static Eina_Bool
_e_mod_comp_bd_property(void *data __UNUSED__, int type __UNUSED__, void *event)
_e_mod_comp_bd_property(void *data __UNUSED__,
int type __UNUSED__,
void *event)
{
E_Event_Border_Property *ev = event;
E_Comp_Win *cw = _e_mod_comp_win_find(ev->border->win);
@ -2714,7 +2813,9 @@ _e_mod_comp_fps_toggle(void)
}
static Eina_Bool
_e_mod_comp_key_down(void *data __UNUSED__, int type __UNUSED__, void *event)
_e_mod_comp_key_down(void *data __UNUSED__,
int type __UNUSED__,
void *event)
{
Ecore_Event_Key *ev = event;
@ -2745,21 +2846,24 @@ _e_mod_comp_key_down(void *data __UNUSED__, int type __UNUSED__, void *event)
//////////////////////////////////////////////////////////////////////////
static Evas *
_e_mod_comp_evas_get_func(void *data, E_Manager *man __UNUSED__)
_e_mod_comp_evas_get_func(void *data,
E_Manager *man __UNUSED__)
{
E_Comp *c = data;
return c->evas;
}
static void
_e_mod_comp_update_func(void *data, E_Manager *man __UNUSED__)
_e_mod_comp_update_func(void *data,
E_Manager *man __UNUSED__)
{
E_Comp *c = data;
_e_mod_comp_render_queue(c);
}
static const Eina_List *
_e_mod_comp_src_list_get_func(void *data, E_Manager *man __UNUSED__)
_e_mod_comp_src_list_get_func(void *data,
E_Manager *man __UNUSED__)
{
E_Comp *c = data;
E_Comp_Win *cw;
@ -2780,7 +2884,9 @@ _e_mod_comp_src_list_get_func(void *data, E_Manager *man __UNUSED__)
}
static Evas_Object *
_e_mod_comp_src_image_get_func(void *data __UNUSED__, E_Manager *man __UNUSED__, E_Manager_Comp_Source *src)
_e_mod_comp_src_image_get_func(void *data __UNUSED__,
E_Manager *man __UNUSED__,
E_Manager_Comp_Source *src)
{
// E_Comp *c = data;
E_Comp_Win *cw = (E_Comp_Win *)src;
@ -2789,7 +2895,9 @@ _e_mod_comp_src_image_get_func(void *data __UNUSED__, E_Manager *man __UNUSED__,
}
static Evas_Object *
_e_mod_comp_src_shadow_get_func(void *data __UNUSED__, E_Manager *man __UNUSED__, E_Manager_Comp_Source *src)
_e_mod_comp_src_shadow_get_func(void *data __UNUSED__,
E_Manager *man __UNUSED__,
E_Manager_Comp_Source *src)
{
// E_Comp *c = data;
E_Comp_Win *cw = (E_Comp_Win *)src;
@ -2798,7 +2906,9 @@ _e_mod_comp_src_shadow_get_func(void *data __UNUSED__, E_Manager *man __UNUSED__
}
static Evas_Object *
_e_mod_comp_src_image_mirror_add_func(void *data __UNUSED__, E_Manager *man __UNUSED__, E_Manager_Comp_Source *src)
_e_mod_comp_src_image_mirror_add_func(void *data __UNUSED__,
E_Manager *man __UNUSED__,
E_Manager_Comp_Source *src)
{
// E_Comp *c = data;
E_Comp_Win *cw = (E_Comp_Win *)src;
@ -2807,7 +2917,9 @@ _e_mod_comp_src_image_mirror_add_func(void *data __UNUSED__, E_Manager *man __UN
}
static Eina_Bool
_e_mod_comp_src_visible_get_func(void *data __UNUSED__, E_Manager *man __UNUSED__, E_Manager_Comp_Source *src)
_e_mod_comp_src_visible_get_func(void *data __UNUSED__,
E_Manager *man __UNUSED__,
E_Manager_Comp_Source *src)
{
// E_Comp *c = data;
E_Comp_Win *cw = (E_Comp_Win *)src;
@ -2816,7 +2928,10 @@ _e_mod_comp_src_visible_get_func(void *data __UNUSED__, E_Manager *man __UNUSED_
}
static void
_e_mod_comp_src_hidden_set_func(void *data __UNUSED__, E_Manager *man __UNUSED__, E_Manager_Comp_Source *src, Eina_Bool hidden)
_e_mod_comp_src_hidden_set_func(void *data __UNUSED__,
E_Manager *man __UNUSED__,
E_Manager_Comp_Source *src,
Eina_Bool hidden)
{
// E_Comp *c = data;
E_Comp_Win *cw = (E_Comp_Win *)src;
@ -2836,7 +2951,9 @@ _e_mod_comp_src_hidden_set_func(void *data __UNUSED__, E_Manager *man __UNUSED__
}
static Eina_Bool
_e_mod_comp_src_hidden_get_func(void *data __UNUSED__, E_Manager *man __UNUSED__, E_Manager_Comp_Source *src)
_e_mod_comp_src_hidden_get_func(void *data __UNUSED__,
E_Manager *man __UNUSED__,
E_Manager_Comp_Source *src)
{
// E_Comp *c = data;
E_Comp_Win *cw = (E_Comp_Win *)src;
@ -3211,3 +3328,4 @@ e_mod_comp_shadow_set(void)
}
}
}

View File

@ -6,10 +6,10 @@
typedef struct _E_Comp E_Comp;
typedef struct _E_Comp_Win E_Comp_Win;
Eina_Bool e_mod_comp_init (void);
void e_mod_comp_shutdown (void);
Eina_Bool e_mod_comp_init(void);
void e_mod_comp_shutdown(void);
void e_mod_comp_shadow_set (void);
void e_mod_comp_shadow_set(void);
#endif
#endif

View File

@ -4,7 +4,6 @@
//////////////////////////////////////////////////////////////////////////
static void
_e_mod_comp_tiles_alloc(E_Update *up)
{
@ -34,13 +33,16 @@ e_mod_comp_update_free(E_Update *up)
}
void
e_mod_comp_update_policy_set(E_Update *up, E_Update_Policy pol)
e_mod_comp_update_policy_set(E_Update *up,
E_Update_Policy pol)
{
up->pol = pol;
}
void
e_mod_comp_update_tile_size_set(E_Update *up, int tsw, int tsh)
e_mod_comp_update_tile_size_set(E_Update *up,
int tsw,
int tsh)
{
if ((up->tsw == tsw) && (up->tsh == tsh)) return;
up->tsw = tsw;
@ -49,7 +51,9 @@ e_mod_comp_update_tile_size_set(E_Update *up, int tsw, int tsh)
}
void
e_mod_comp_update_resize(E_Update *up, int w, int h)
e_mod_comp_update_resize(E_Update *up,
int w,
int h)
{
unsigned char *ptiles, *p, *pp;
int ptw, pth, x, y;
@ -93,7 +97,11 @@ e_mod_comp_update_resize(E_Update *up, int w, int h)
}
void
e_mod_comp_update_add(E_Update *up, int x, int y, int w, int h)
e_mod_comp_update_add(E_Update *up,
int x,
int y,
int w,
int h)
{
int tx, ty, txx, tyy, xx, yy;
unsigned char *t, *t2;
@ -110,6 +118,7 @@ e_mod_comp_update_add(E_Update *up, int x, int y, int w, int h)
{
case E_UPDATE_POLICY_RAW:
break;
case E_UPDATE_POLICY_HALF_WIDTH_OR_MORE_ROUND_UP_TO_FULL_WIDTH:
if (w > (up->w / 2))
{
@ -117,6 +126,7 @@ e_mod_comp_update_add(E_Update *up, int x, int y, int w, int h)
w = up->w;
}
break;
default:
break;
}
@ -164,7 +174,8 @@ e_mod_comp_update_rects_get(E_Update *up)
{
xx++;
if ((x + xx) >= up->tw) can_expand_x = 0;
else if (!*t2) can_expand_x = 0;
else if (!*t2)
can_expand_x = 0;
if (can_expand_x) *t2 = 0;
t2++;
}

View File

@ -25,14 +25,23 @@ struct _E_Update
E_Update_Policy pol;
};
E_Update *e_mod_comp_update_new (void);
void e_mod_comp_update_free (E_Update *up);
void e_mod_comp_update_policy_set (E_Update *up, E_Update_Policy pol);
void e_mod_comp_update_tile_size_set (E_Update *up, int tsw, int tsh);
void e_mod_comp_update_resize (E_Update *up, int w, int h);
void e_mod_comp_update_add (E_Update *up, int x, int y, int w, int h);
E_Update_Rect *e_mod_comp_update_rects_get (E_Update *up);
void e_mod_comp_update_clear (E_Update *up);
E_Update *e_mod_comp_update_new(void);
void e_mod_comp_update_free(E_Update *up);
void e_mod_comp_update_policy_set(E_Update *up,
E_Update_Policy pol);
void e_mod_comp_update_tile_size_set(E_Update *up,
int tsw,
int tsh);
void e_mod_comp_update_resize(E_Update *up,
int w,
int h);
void e_mod_comp_update_add(E_Update *up,
int x,
int y,
int w,
int h);
E_Update_Rect *e_mod_comp_update_rects_get(E_Update *up);
void e_mod_comp_update_clear(E_Update *up);
#endif
#endif

View File

@ -67,15 +67,19 @@ struct _E_Config_Dialog_Data
double first_draw_delay;
};
/* Protos */
static void *_create_data(E_Config_Dialog *cfd);
static void _free_data(E_Config_Dialog *cfd, E_Config_Dialog_Data *cfdata);
static Evas_Object *_basic_create_widgets (E_Config_Dialog *cfd, Evas *evas, E_Config_Dialog_Data *cfdata);
static int _basic_apply_data(E_Config_Dialog *cfd, E_Config_Dialog_Data *cfdata);
static void _free_data(E_Config_Dialog *cfd,
E_Config_Dialog_Data *cfdata);
static Evas_Object *_basic_create_widgets(E_Config_Dialog *cfd,
Evas *evas,
E_Config_Dialog_Data *cfdata);
static int _basic_apply_data(E_Config_Dialog *cfd,
E_Config_Dialog_Data *cfdata);
E_Config_Dialog *
e_int_config_comp_module(E_Container *con, const char *params __UNUSED__)
e_int_config_comp_module(E_Container *con,
const char *params __UNUSED__)
{
E_Config_Dialog *cfd;
E_Config_Dialog_View *v;
@ -99,7 +103,8 @@ e_int_config_comp_module(E_Container *con, const char *params __UNUSED__)
}
static void
_match_dup(Match *m, Match_Config *m2)
_match_dup(Match *m,
Match_Config *m2)
{
m2->match = *m;
if (m2->match.title) m2->match.title = eina_stringshare_add(m2->match.title);
@ -147,7 +152,8 @@ _create_data(E_Config_Dialog *cfd)
cfdata->fps_corner = _comp_mod->conf->fps_corner;
cfdata->fps_average_range = _comp_mod->conf->fps_average_range;
if (cfdata->fps_average_range < 1) cfdata->fps_average_range = 12;
else if (cfdata->fps_average_range > 120) cfdata->fps_average_range = 120;
else if (cfdata->fps_average_range > 120)
cfdata->fps_average_range = 120;
cfdata->first_draw_delay = _comp_mod->conf->first_draw_delay;
EINA_LIST_FOREACH(_comp_mod->conf->match.popups, l, m)
@ -201,7 +207,8 @@ _match_free(Match_Config *m)
}
static void
_free_data(E_Config_Dialog *cfd __UNUSED__, E_Config_Dialog_Data *cfdata)
_free_data(E_Config_Dialog *cfd __UNUSED__,
E_Config_Dialog_Data *cfdata)
{
Match_Config *m;
@ -227,7 +234,9 @@ _free_data(E_Config_Dialog *cfd __UNUSED__, E_Config_Dialog_Data *cfdata)
}
static void
_shadow_changed(void *data, Evas_Object *obj, void *event_info __UNUSED__)
_shadow_changed(void *data,
Evas_Object *obj,
void *event_info __UNUSED__)
{
E_Config_Dialog_Data *cfdata = data;
Evas_Object *orec0;
@ -270,18 +279,22 @@ _style_demo(void *data)
edje_object_signal_emit(ob, "e,state,focus,on", "e");
edje_object_part_text_set(of, "e.text.label", _("Visible"));
break;
case 1:
edje_object_signal_emit(ob, "e,state,focus,off", "e");
edje_object_part_text_set(of, "e.text.label", _("Focus-Out"));
break;
case 2:
edje_object_signal_emit(ob, "e,state,focus,on", "e");
edje_object_part_text_set(of, "e.text.label", _("Focus-In"));
break;
case 3:
edje_object_signal_emit(ob, "e,state,visible,off", "e");
edje_object_part_text_set(of, "e.text.label", _("Hidden"));
break;
default:
break;
}
@ -290,7 +303,10 @@ _style_demo(void *data)
}
static void
_style_selector_del(void *data __UNUSED__, Evas *e, Evas_Object *o, void *event_info __UNUSED__)
_style_selector_del(void *data __UNUSED__,
Evas *e,
Evas_Object *o,
void *event_info __UNUSED__)
{
Eina_List *style_shadows, *style_list;
Ecore_Timer *timer;
@ -330,7 +346,9 @@ _style_selector_del(void *data __UNUSED__, Evas *e, Evas_Object *o, void *event_
}
static Evas_Object *
_style_selector(Evas *evas, int use_shadow, const char **source)
_style_selector(Evas *evas,
int use_shadow,
const char **source)
{
Evas_Object *oi, *ob, *oo, *obd, *orec, *oly, *orec0;
Eina_List *styles, *l, *style_shadows = NULL, *style_list;
@ -516,7 +534,10 @@ _match_label_get(Match_Config *m)
}
static void
_match_ilist_append(Evas_Object *il, Match_Config *m, int pos, int pre)
_match_ilist_append(Evas_Object *il,
Match_Config *m,
int pos,
int pre)
{
char *name = _match_label_get(m);
@ -533,7 +554,8 @@ _match_ilist_append(Evas_Object *il, Match_Config *m, int pos, int pre)
}
static void
_match_list_up(Eina_List **list, Match_Config *m)
_match_list_up(Eina_List **list,
Match_Config *m)
{
Eina_List *l, *lp;
@ -546,7 +568,8 @@ _match_list_up(Eina_List **list, Match_Config *m)
}
static void
_match_list_down(Eina_List **list, Match_Config *m)
_match_list_down(Eina_List **list,
Match_Config *m)
{
Eina_List *l, *lp;
@ -559,7 +582,8 @@ _match_list_down(Eina_List **list, Match_Config *m)
}
static void
_match_list_del(Eina_List **list, Match_Config *m)
_match_list_del(Eina_List **list,
Match_Config *m)
{
Eina_List *l, *lp;
@ -571,7 +595,10 @@ _match_list_del(Eina_List **list, Match_Config *m)
}
static void
_cb_dialog_resize(void *data, Evas *e __UNUSED__, Evas_Object *obj, void *event_info __UNUSED__)
_cb_dialog_resize(void *data,
Evas *e __UNUSED__,
Evas_Object *obj,
void *event_info __UNUSED__)
{
Evas_Object *bg, *of;
int x, y, w, h;
@ -587,7 +614,8 @@ _cb_dialog_resize(void *data, Evas *e __UNUSED__, Evas_Object *obj, void *event_
}
static void
_edit_ok(void *d1, void *d2)
_edit_ok(void *d1,
void *d2)
{
Match_Config *m = d1;
Evas_Object *dia, *bg, *of = d2;
@ -650,7 +678,10 @@ _edit_ok(void *d1, void *d2)
}
static void
_create_edit_frame(E_Config_Dialog *cfd, Evas *evas, E_Config_Dialog_Data *cfdata, Match_Config *m)
_create_edit_frame(E_Config_Dialog *cfd,
Evas *evas,
E_Config_Dialog_Data *cfdata,
Match_Config *m)
{
Evas_Object *of, *oi, *lb, *en, *bt, *tb, *tab2, *o, *sf, *li;
E_Radio_Group *rg;
@ -902,7 +933,8 @@ _create_edit_frame(E_Config_Dialog *cfd, Evas *evas, E_Config_Dialog_Data *cfdat
}
static void
_but_up(void *d1, void *d2)
_but_up(void *d1,
void *d2)
{
E_Config_Dialog *cfd = d1;
Evas_Object *il = d2;
@ -933,7 +965,8 @@ _but_up(void *d1, void *d2)
}
static void
_but_down(void *d1, void *d2)
_but_down(void *d1,
void *d2)
{
E_Config_Dialog *cfd = d1;
Evas_Object *il = d2;
@ -963,7 +996,8 @@ _but_down(void *d1, void *d2)
}
static void
_but_add(void *d1, void *d2)
_but_add(void *d1,
void *d2)
{
E_Config_Dialog *cfd = d1;
Evas_Object *il = d2;
@ -991,8 +1025,8 @@ _but_add(void *d1, void *d2)
e_widget_ilist_thaw(il);
e_widget_ilist_go(il);
n = e_widget_ilist_count(il);
e_widget_ilist_nth_show(il, n-1, 0);
e_widget_ilist_selected_set(il, n-1);
e_widget_ilist_nth_show(il, n - 1, 0);
e_widget_ilist_selected_set(il, n - 1);
cfd->cfdata->edit_il = il;
_create_edit_frame(cfd, evas_object_evas_get(il), cfd->cfdata, m);
@ -1000,7 +1034,8 @@ _but_add(void *d1, void *d2)
}
static void
_but_del(void *d1, void *d2)
_but_del(void *d1,
void *d2)
{
E_Config_Dialog *cfd = d1;
Evas_Object *il = d2;
@ -1026,7 +1061,8 @@ _but_del(void *d1, void *d2)
}
static void
_but_edit(void *d1, void *d2)
_but_edit(void *d1,
void *d2)
{
E_Config_Dialog *cfd = d1;
Evas_Object *il = d2;
@ -1043,7 +1079,11 @@ _but_edit(void *d1, void *d2)
}
static Evas_Object *
_create_match_editor(E_Config_Dialog *cfd, Evas *evas, E_Config_Dialog_Data *cfdata __UNUSED__, Eina_List **matches, Evas_Object **il_ret)
_create_match_editor(E_Config_Dialog *cfd,
Evas *evas,
E_Config_Dialog_Data *cfdata __UNUSED__,
Eina_List **matches,
Evas_Object **il_ret)
{
Evas_Object *tab, *il, *bt;
Match_Config *m;
@ -1079,7 +1119,9 @@ _create_match_editor(E_Config_Dialog *cfd, Evas *evas, E_Config_Dialog_Data *cfd
}
static Evas_Object *
_create_styles_toolbook(E_Config_Dialog *cfd, Evas *evas, E_Config_Dialog_Data *cfdata)
_create_styles_toolbook(E_Config_Dialog *cfd,
Evas *evas,
E_Config_Dialog_Data *cfdata)
{
Evas_Object *tb, *oi, *il;
@ -1110,7 +1152,9 @@ _create_styles_toolbook(E_Config_Dialog *cfd, Evas *evas, E_Config_Dialog_Data *
}
static Evas_Object *
_basic_create_widgets(E_Config_Dialog *cfd, Evas *evas, E_Config_Dialog_Data *cfdata)
_basic_create_widgets(E_Config_Dialog *cfd,
Evas *evas,
E_Config_Dialog_Data *cfdata)
{
Evas_Object *ob, *ol, *ol2, *of, *otb, *oi, *orec0, *tab;
E_Radio_Group *rg;
@ -1307,7 +1351,8 @@ _match_list_free(Eina_List *list)
}
static void
_match_dup2(Match_Config *m2, Match *m)
_match_dup2(Match_Config *m2,
Match *m)
{
*m = m2->match;
if (m->title) m->title = eina_stringshare_add(m->title);
@ -1318,7 +1363,8 @@ _match_dup2(Match_Config *m2, Match *m)
}
static int
_basic_apply_data(E_Config_Dialog *cfd __UNUSED__, E_Config_Dialog_Data *cfdata)
_basic_apply_data(E_Config_Dialog *cfd __UNUSED__,
E_Config_Dialog_Data *cfdata)
{
if ((cfdata->use_shadow != _comp_mod->conf->use_shadow) ||
(cfdata->lock_fps != _comp_mod->conf->lock_fps) ||
@ -1431,3 +1477,4 @@ _basic_apply_data(E_Config_Dialog *cfd __UNUSED__, E_Config_Dialog_Data *cfdata)
e_config_save_queue();
return 1;
}

View File

@ -2,6 +2,7 @@
#else
#ifndef E_MOD_CONFIG_H
#define E_MOD_CONFIG_H
E_Config_Dialog *e_int_config_comp_module(E_Container *con, const char *params __UNUSED__);
E_Config_Dialog *e_int_config_comp_module(E_Container *con,
const char *params __UNUSED__);
#endif
#endif

View File

@ -265,3 +265,4 @@ e_modapi_save(E_Module *m)
e_config_domain_save("module.comp", mod->conf_edd, mod->conf);
return 1;
}

View File

@ -32,7 +32,8 @@ struct _Config
unsigned char smooth_windows;
double first_draw_delay;
struct {
struct
{
Eina_List *popups; // used for e popups
Eina_List *borders; // used for borders
Eina_List *overrides; // used for client menus, tooltips etc.
@ -69,17 +70,16 @@ struct _Match
char argb; // used for borders, overrides, popups, menus, 0 == don't use, 1 == is argb, -1 == not argb
char fullscreen; // used for borders, 0 == don't use, 1 == is fullscreen, -1 == not fullscreen
char modal; // used for borders, 0 == don't use, 1 == is modal, -1 == not modal
};
extern Mod *_comp_mod;
EAPI extern E_Module_Api e_modapi;
EAPI void *e_modapi_init (E_Module *m);
EAPI int e_modapi_shutdown (E_Module *m);
EAPI int e_modapi_save (E_Module *m);
EAPI int e_modapi_info (E_Module *m);
EAPI void *e_modapi_init(E_Module *m);
EAPI int e_modapi_shutdown(E_Module *m);
EAPI int e_modapi_save(E_Module *m);
EAPI int e_modapi_info(E_Module *m);
void _e_mod_config_new(E_Module *m);
void _e_mod_config_free(E_Module *m);