Enlightenment CVS committal Author : raster Project : e17 Module : apps/e
Dir : e17/apps/e/src/bin Modified Files: e_bindings.c e_bindings.h e_box.c e_container.c e_init.c Log Message: work in multihead again! :) =================================================================== RCS file: /cvsroot/enlightenment/e17/apps/e/src/bin/e_bindings.c,v retrieving revision 1.2 retrieving revision 1.3 diff -u -3 -r1.2 -r1.3 --- e_bindings.c 25 Apr 2005 05:58:45 -0000 1.2 +++ e_bindings.c 25 Apr 2005 08:29:52 -0000 1.3 @@ -21,15 +21,46 @@ return 1; } +void +e_bindings_mouse_add(E_Binding_Context ctxt, int button, E_Binding_Modifier mod, int any_mod, char *action, char *param) +{ +} + +void +e_bindings_mouse_grab(Ecore_X_Window win) +{ +} + +void +e_bindings_mouse_ungrab(Ecore_X_Window win) +{ +} + int e_bindings_mouse_down_event_handle(E_Binding_Context ctxt, E_Object *obj, Ecore_X_Event_Mouse_Button_Down *ev) { + E_Binding_Modifier mod = 0; + Evas_List *l; + + if (ev->modifiers & ECORE_X_MODIFIER_SHIFT) mod |= E_BINDING_MODIFIER_SHIFT; + if (ev->modifiers & ECORE_X_MODIFIER_CTRL) mod |= E_BINDING_MODIFIER_CTRL; + if (ev->modifiers & ECORE_X_MODIFIER_ALT) mod |= E_BINDING_MODIFIER_ALT; + if (ev->modifiers & ECORE_X_MODIFIER_WIN) mod |= E_BINDING_MODIFIER_WIN; + return 0; } int e_bindings_key_down_event_handle(E_Binding_Context ctxt, E_Object *obj, Ecore_X_Event_Key_Down *ev) { + E_Binding_Modifier mod = 0; + Evas_List *l; + + if (ev->modifiers & ECORE_X_MODIFIER_SHIFT) mod |= E_BINDING_MODIFIER_SHIFT; + if (ev->modifiers & ECORE_X_MODIFIER_CTRL) mod |= E_BINDING_MODIFIER_CTRL; + if (ev->modifiers & ECORE_X_MODIFIER_ALT) mod |= E_BINDING_MODIFIER_ALT; + if (ev->modifiers & ECORE_X_MODIFIER_WIN) mod |= E_BINDING_MODIFIER_WIN; + return 0; } =================================================================== RCS file: /cvsroot/enlightenment/e17/apps/e/src/bin/e_bindings.h,v retrieving revision 1.2 retrieving revision 1.3 diff -u -3 -r1.2 -r1.3 --- e_bindings.h 25 Apr 2005 05:58:45 -0000 1.2 +++ e_bindings.h 25 Apr 2005 08:29:53 -0000 1.3 @@ -11,6 +11,18 @@ E_BINDING_CONTEXT_ZONE } E_Binding_Context; +/* why do we do this? config stored bindings must be fixed. x's modifier masks + * may change from time to time, xserver to xserver - so we cant do a + * simple match without translating to fixed values + */ +typedef enum _E_Binding_Modifier +{ + E_BINDING_MODIFIER_SHIFT = (1 << 0), + E_BINDING_MODIFIER_CTRL = (1 << 1), + E_BINDING_MODIFIER_ALT = (1 << 2), + E_BINDING_MODIFIER_WIN = (1 << 3) +} E_Binding_Modifier; + #else #ifndef E_BINDINGS_H #define E_BINDINGS_H =================================================================== RCS file: /cvsroot/enlightenment/e17/apps/e/src/bin/e_box.c,v retrieving revision 1.6 retrieving revision 1.7 diff -u -3 -r1.6 -r1.7 --- e_box.c 13 Mar 2005 08:21:01 -0000 1.6 +++ e_box.c 25 Apr 2005 08:29:53 -0000 1.7 @@ -80,6 +80,7 @@ E_Smart_Data *sd; sd = evas_object_smart_data_get(obj); + if (!sd) return 0; sd->frozen++; return sd->frozen; } @@ -90,6 +91,7 @@ E_Smart_Data *sd; sd = evas_object_smart_data_get(obj); + if (!sd) return 0; sd->frozen--; if (sd->frozen <= 0) _e_box_smart_reconfigure(sd); return sd->frozen; @@ -101,6 +103,7 @@ E_Smart_Data *sd; sd = evas_object_smart_data_get(obj); + if (!sd) return; if (((sd->horizontal) && (horizontal)) || ((!sd->horizontal) && (!horizontal))) return; sd->horizontal = horizontal; @@ -114,6 +117,7 @@ E_Smart_Data *sd; sd = evas_object_smart_data_get(obj); + if (!sd) return 0; return sd->horizontal; } @@ -123,6 +127,7 @@ E_Smart_Data *sd; sd = evas_object_smart_data_get(obj); + if (!sd) return; if (sd->homogenous == homogenous) return; sd->homogenous = homogenous; sd->changed = 1; @@ -135,6 +140,7 @@ E_Smart_Data *sd; sd = evas_object_smart_data_get(obj); + if (!sd) return 0; _e_box_smart_adopt(sd, child); sd->items = evas_list_prepend(sd->items, child); sd->changed = 1; @@ -148,6 +154,7 @@ E_Smart_Data *sd; sd = evas_object_smart_data_get(obj); + if (!sd) return 0; _e_box_smart_adopt(sd, child); sd->items = evas_list_append(sd->items, child); sd->changed = 1; @@ -163,6 +170,7 @@ Evas_List *l; sd = evas_object_smart_data_get(obj); + if (!sd) return 0; _e_box_smart_adopt(sd, child); sd->items = evas_list_prepend_relative(sd->items, child, before); for (i = 0, l = sd->items; l; l = l->next, i++) @@ -182,6 +190,7 @@ Evas_List *l; sd = evas_object_smart_data_get(obj); + if (!sd) return 0; _e_box_smart_adopt(sd, child); sd->items = evas_list_append_relative(sd->items, child, after); for (i = 0, l = sd->items; l; l = l->next, i++) @@ -199,6 +208,7 @@ E_Smart_Data *sd; sd = evas_object_smart_data_get(obj); + if (!sd) return 0; return evas_list_count(sd->items); } @@ -208,6 +218,7 @@ E_Smart_Data *sd; sd = evas_object_smart_data_get(obj); + if (!sd) return NULL; return evas_list_nth(sd->items, n); } @@ -217,6 +228,7 @@ E_Smart_Data *sd; sd = evas_object_smart_data_get(obj); + if (!sd) return NULL; return evas_list_data(sd->items); } @@ -226,6 +238,7 @@ E_Smart_Data *sd; sd = evas_object_smart_data_get(obj); + if (!sd) return NULL; return evas_list_data(evas_list_last(sd->items)); } @@ -259,6 +272,7 @@ bi = evas_object_data_get(obj, "e_box_data"); if (!bi) return; sd = bi->sd; + if (!sd) return; sd->items = evas_list_remove(sd->items, obj); _e_box_smart_disown(obj); sd->changed = 1; @@ -271,6 +285,7 @@ E_Smart_Data *sd; sd = evas_object_smart_data_get(obj); + if (!sd) return; if (sd->changed) _e_box_smart_extents_calcuate(sd); if (minw) *minw = sd->min.w; if (minh) *minh = sd->min.h; @@ -282,6 +297,7 @@ E_Smart_Data *sd; sd = evas_object_smart_data_get(obj); + if (!sd) return; if (sd->changed) _e_box_smart_extents_calcuate(sd); if (maxw) *maxw = sd->max.w; if (maxh) *maxh = sd->max.h; @@ -293,6 +309,7 @@ E_Smart_Data *sd; sd = evas_object_smart_data_get(obj); + if (!sd) return; if (ax) *ax = sd->align.x; if (ay) *ay = sd->align.y; } @@ -303,6 +320,7 @@ E_Smart_Data *sd; sd = evas_object_smart_data_get(obj); + if (!sd) return; if ((sd->align.x == ax) && (sd->align.y == ay)) return; sd->align.x = ax; sd->align.y = ay; =================================================================== RCS file: /cvsroot/enlightenment/e17/apps/e/src/bin/e_container.c,v retrieving revision 1.37 retrieving revision 1.38 diff -u -3 -r1.37 -r1.38 --- e_container.c 13 Apr 2005 15:52:33 -0000 1.37 +++ e_container.c 25 Apr 2005 08:29:53 -0000 1.38 @@ -99,12 +99,19 @@ con->name = strdup(name); screens = (Evas_List *)e_xinerama_screens_get(); - for (l = screens; l; l = l->next) + if (screens) { - E_Screen *scr; - - scr = l->data; - zone = e_zone_new(con, scr->screen, scr->x, scr->y, scr->w, scr->h); + for (l = screens; l; l = l->next) + { + E_Screen *scr; + + scr = l->data; + zone = e_zone_new(con, scr->screen, scr->x, scr->y, scr->w, scr->h); + } + } + else + { + zone = e_zone_new(con, 0, 0, 0, con->w, con->h); } con->gadman = e_gadman_new(con); @@ -525,25 +532,36 @@ e_xinerama_update(); screens = (Evas_List *)e_xinerama_screens_get(); - for (l = screens; l; l = l->next) + if (screens) { - E_Screen *scr; - E_Zone *zone; - - scr = l->data; - zone = e_container_zone_number_get(con, scr->screen); - if (zone) - { - e_zone_move(zone, scr->x, scr->y); - e_zone_resize(zone, scr->w, scr->h); - } - else + for (l = screens; l; l = l->next) { - zone = e_zone_new(con, scr->screen, scr->x, scr->y, scr->w, scr->h); + E_Screen *scr; + E_Zone *zone; + + scr = l->data; + zone = e_container_zone_number_get(con, scr->screen); + if (zone) + { + e_zone_move(zone, scr->x, scr->y); + e_zone_resize(zone, scr->w, scr->h); + } + else + { + zone = e_zone_new(con, scr->screen, scr->x, scr->y, scr->w, scr->h); + } + /* FIXME: what if a zone exists for a screen that doesn't exist? + * not sure this will ever happen... + */ } - /* FIXME: what if a zone exists for a screen that doesn't exist? - * not sure this will ever happen... - */ + } + else + { + E_Zone *zone; + + zone = e_container_zone_number_get(con, 0); + e_zone_move(zone, 0, 0); + e_zone_resize(zone, con->w, con->h); } e_gadman_container_resize(con->gadman); =================================================================== RCS file: /cvsroot/enlightenment/e17/apps/e/src/bin/e_init.c,v retrieving revision 1.18 retrieving revision 1.19 diff -u -3 -r1.18 -r1.19 --- e_init.c 14 Apr 2005 10:03:59 -0000 1.18 +++ e_init.c 25 Apr 2005 08:29:53 -0000 1.19 @@ -51,29 +51,44 @@ ecore_evas_show(_e_init_ecore_evas); screens = (Evas_List *)e_xinerama_screens_get(); - for (l = screens; l; l = l->next) + if (screens) { - E_Screen *scr; - - scr = l->data; - o = edje_object_add(_e_init_evas); - /* first screen */ - if (l == screens) + for (l = screens; l; l = l->next) { - edje_object_file_set(o, - /* FIXME: "init.edj" needs to come from config */ - e_path_find(path_init, "init.edj"), - "init/splash"); - _e_init_object = o; + E_Screen *scr; + + scr = l->data; + o = edje_object_add(_e_init_evas); + /* first screen */ + if (l == screens) + { + edje_object_file_set(o, + /* FIXME: "init.edj" needs to come from config */ + e_path_find(path_init, "init.edj"), + "init/splash"); + _e_init_object = o; + } + /* other screens */ + else + edje_object_file_set(o, + /* FIXME: "init.edj" needs to come from config */ + e_path_find(path_init, "init.edj"), + "init/extra_screen"); + evas_object_move(o, scr->x, scr->y); + evas_object_resize(o, scr->w, scr->h); + evas_object_show(o); } - /* other screens */ - else - edje_object_file_set(o, - /* FIXME: "init.edj" needs to come from config */ - e_path_find(path_init, "init.edj"), - "init/extra_screen"); - evas_object_move(o, scr->x, scr->y); - evas_object_resize(o, scr->w, scr->h); + } + else + { + o = edje_object_add(_e_init_evas); + edje_object_file_set(o, + /* FIXME: "init.edj" needs to come from config */ + e_path_find(path_init, "init.edj"), + "init/splash"); + _e_init_object = o; + evas_object_move(o, 0, 0); + evas_object_resize(o, w, h); evas_object_show(o); } ------------------------------------------------------- SF email is sponsored by - The IT Product Guide Read honest & candid reviews on hundreds of IT Products from real users. Discover which products truly live up to the hype. Start reading now. http://ads.osdn.com/?ad_id=6595&alloc_id=14396&op=click _______________________________________________ enlightenment-cvs mailing list enlightenment-cvs@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/enlightenment-cvs