From: <enl...@li...> - 2001-12-06 02:50:18
|
Enlightenment CVS committal Author : sleuth Project : e17 Module : apps/e Dir : e17/apps/e/src Modified Files: icons.c util.c util.h view.c view.h Log Message: Preliminary dnd support. Dragging from and to views works, with a default mode of move. Hold 'shift' for copy. No visible feedback of actions occurs yet, but you'll see the view update as soon as efsd reports the file changes. Tested, but be careful around files you care about. Moves and copys use efsd_move and efsd_copy, without the force option. So source files will not overwrite the destination if it exists. Kevin Brosius <co...@co...> =================================================================== RCS file: /cvsroot/enlightenment/e17/apps/e/src/icons.c,v retrieving revision 1.23 retrieving revision 1.24 diff -u -3 -r1.23 -r1.24 --- icons.c 2001/11/18 21:28:35 1.23 +++ icons.c 2001/12/06 02:50:17 1.24 @@ -85,6 +85,16 @@ e_icon_update_state(ic); ecore_window_destroy(ic->view->drag.win); ic->view->drag.started = 0; + if(e->mods & ECORE_EVENT_KEY_MODIFIER_SHIFT) + ic->view->drag.drop_mode = E_DND_COPY; + else + ic->view->drag.drop_mode = E_DND_MOVE; + + /* Handle dnd motion(drop) - dragging==0 */ + ecore_window_dnd_handle_motion( ic->view->win.base, + _x - ic->view->drag.offset.x, + _y - ic->view->drag.offset.y, + 0); D_RETURN; } if (_b == 1) @@ -349,6 +359,10 @@ ecore_window_show(ic->view->drag.win); ecore_pixmap_free(pmap); ecore_pixmap_free(mask); + + /* Initiate dnd */ + ecore_dnd_own_selection(ic->view->win.base); + ic->view->drag.started = 1; } } @@ -363,6 +377,13 @@ ic->view->drag.y = y; ic->view->drag.update = 1; ic->view->changed = 1; + if(e->mods & ECORE_EVENT_KEY_MODIFIER_SHIFT) + ic->view->drag.drop_mode = E_DND_COPY; + else + ic->view->drag.drop_mode = E_DND_MOVE; + + /* Handle dnd motion - dragging==1 */ + ecore_window_dnd_handle_motion( ic->view->win.base, x, y, 1); } D_RETURN; =================================================================== RCS file: /cvsroot/enlightenment/e17/apps/e/src/util.c,v retrieving revision 1.20 retrieving revision 1.21 diff -u -3 -r1.20 -r1.21 --- util.c 2001/11/03 09:07:40 1.20 +++ util.c 2001/12/06 02:50:17 1.21 @@ -53,3 +53,50 @@ D_RETURN_(0); } + +/* + * Function to take a URL of the form + * file://hostname/dir1/dir2/file + * + * Test that 'file://' exists. + * Test that hostname matches passed value + * Return a pointer to /dir1/... + * + * todo: + * - dir or filename which matches hostname will + * fool the hostname match + * - file://dir1/dir2/file is also legal but rejected by + * this presently + */ +char * +e_util_de_url_and_verify( const char *fi, const char *hostn ) +{ + char *wk; + + D_ENTER; + + wk = strstr( fi, "file://" ); + + /* Valid URL contains "file://" */ + if( !wk ) + D_RETURN_ (NULL); + + /* Need some form of hostname to continue */ + if( !hostn ) + D_RETURN_ (NULL); + + /* Do we contain hostname? */ + wk = strstr( fi, hostn ); + + /* Hostname mismatch, reject file */ + if( !wk ) + D_RETURN_ (NULL); + + /* Local file name starts after "hostname" */ + wk = strchr( wk, '/' ); + + if( !wk ) + D_RETURN_ (NULL); + + D_RETURN( wk ); +} =================================================================== RCS file: /cvsroot/enlightenment/e17/apps/e/src/util.h,v retrieving revision 1.4 retrieving revision 1.5 diff -u -3 -r1.4 -r1.5 --- util.h 2001/11/03 14:55:21 1.4 +++ util.h 2001/12/06 02:50:17 1.5 @@ -7,6 +7,7 @@ char *e_util_get_user_home(void); void *e_util_memdup(void *data, int size); int e_util_glob_matches(char *str, char *glob); +char *e_util_de_url_and_verify( const char *fi, const char *hostn ); #define e_strdup(__dest, __var) \ { \ =================================================================== RCS file: /cvsroot/enlightenment/e17/apps/e/src/view.c,v retrieving revision 1.97 retrieving revision 1.98 diff -u -3 -r1.97 -r1.98 --- view.c 2001/11/26 13:08:33 1.97 +++ view.c 2001/12/06 02:50:17 1.98 @@ -14,6 +14,10 @@ static Ecore_Event *current_ev = NULL; +static char **dnd_files = NULL; +static int dnd_num_files = 0; +static E_dnd_enum dnd_pending_mode; + static void e_bg_down_cb(void *_data, Evas _e, Evas_Object _o, int _b, int _x, int _y); static void e_bg_up_cb(void *_data, Evas _e, Evas_Object _o, int _b, int _x, int _y); static void e_bg_move_cb(void *_data, Evas _e, Evas_Object _o, int _b, int _x, int _y); @@ -34,6 +38,14 @@ static void e_focus_in(Ecore_Event * ev); static void e_focus_out(Ecore_Event * ev); static void e_delete(Ecore_Event * ev); +static void e_dnd_status(Ecore_Event * ev); +static void e_dnd_data_request(Ecore_Event * ev); +static void e_dnd_drop_end(Ecore_Event * ev); +static void e_dnd_drop_position(Ecore_Event * ev); +static void e_dnd_drop(Ecore_Event * ev); +static void e_dnd_drop_request(Ecore_Event * ev); +static void e_dnd_drop_request_free(void); +static void e_dnd_handle_drop( E_View *v, E_dnd_enum dnd_pending_mode ); static void e_view_handle_fs(EfsdEvent *ev); static void e_view_handle_fs_restart(void *data); static void e_view_resort_timeout(int val, void *data); @@ -1031,6 +1043,43 @@ D_RETURN; } + +/* + * dnd status handler + * + */ +static void +e_dnd_status(Ecore_Event * ev) +{ + Ecore_Event_Dnd_Drop_Status *e; + /* + typedef struct _ecore_event_dnd_drop_status + { + Window win, root, source_win; + int x, y, w, h; + int ok; + } Ecore_Event_Dnd_Drop_Status; + */ + Evas_List l; + + D_ENTER; + + e = ev->event; + for (l = views; l; l = l->next) + { + E_View *v; + + v = l->data; + if (e->win == v->win.base) + { + ecore_window_dnd_ok(e->ok); + } + } + + D_RETURN; +} + + static void e_wheel(Ecore_Event * ev) { @@ -1886,7 +1935,9 @@ e_scrollbar_resize(v->scrollbar.v, 12, v->size.h - 12); e_scrollbar_move(v->scrollbar.h, 0, v->size.h - 12); e_scrollbar_resize(v->scrollbar.h, v->size.w - 12, 12); - + + /* I support dnd */ + ecore_window_dnd_advertise(v->win.base); ecore_window_show(v->win.main); @@ -2465,8 +2516,355 @@ ecore_event_filter_handler_add(ECORE_EVENT_WINDOW_FOCUS_IN, e_focus_in); ecore_event_filter_handler_add(ECORE_EVENT_WINDOW_FOCUS_OUT, e_focus_out); ecore_event_filter_handler_add(ECORE_EVENT_WINDOW_DELETE, e_delete); + /* dnd source handlers */ + ecore_event_filter_handler_add(ECORE_EVENT_DND_DROP_STATUS, e_dnd_status); + ecore_event_filter_handler_add(ECORE_EVENT_DND_DATA_REQUEST, e_dnd_data_request); + ecore_event_filter_handler_add(ECORE_EVENT_DND_DROP_END, e_dnd_drop_end); + /* dnd target handlers */ + ecore_event_filter_handler_add(ECORE_EVENT_DND_DROP_POSITION, e_dnd_drop_position); + ecore_event_filter_handler_add(ECORE_EVENT_DND_DROP, e_dnd_drop); + ecore_event_filter_handler_add(ECORE_EVENT_DND_DROP_REQUEST, e_dnd_drop_request); + ecore_event_filter_idle_handler_add(e_idle, NULL); e_fs_add_event_handler(e_view_handle_fs); D_RETURN; } + + + + +/* + * send the dnd data to the target app + * + * URL formatting per RFC 1738 + */ +static void +e_dnd_data_request(Ecore_Event * ev) +{ + Ecore_Event_Dnd_Data_Request *e; + /* + * typedef struct _ecore_event_dnd_data_request + * { + * Window win, root, source_win; + * int plain_text; + * Atom destination_atom; + * } Ecore_Event_Dnd_Data_Request; + */ + Evas_List l; + char hostname[PATH_MAX]; + + D_ENTER; + + /* Need hostname for URL (file://hostname/...) */ + if(gethostname( hostname, PATH_MAX)) + { + /* failed... Default to 'localhost' */ + strcpy( hostname, "localhost"); + } + + e = ev->event; + for (l = views; l; l = l->next) + { + E_View *v; + Evas_List ll; + char *data = NULL; + int size = 3; + int idx = 0; + + /* Me, my null, and an extra for the end '/r/n'... */ + data = NEW(char, size); + *data = 0; + + v = l->data; + if (e->win == v->win.base) + { + for (ll = v->icons; ll; ll = ll->next) + { + E_Icon *ic; + + ic = ll->data; + if (ic->state.selected) + { + int ic_size; + + /* Size = 'file://' + 3 strings + host delimiter '/' and '\r\n' end. */ + ic_size = 7 + strlen(hostname) + strlen(v->dir) + strlen(ic->file)+3; + size += ic_size; + + + REALLOC(data, char, size); + + sprintf( data+idx, "file://%s%s/%s\r\n", hostname, v->dir, ic->file); + idx += ic_size; + } + } + + if(v->drag.drop_mode == E_DND_COPY) + ecore_dnd_set_mode_copy(); + else + ecore_dnd_set_mode_move(); + ecore_dnd_set_data(e->win); + + + ecore_dnd_send_data( + e->source_win, e->win, + data, size, + e->destination_atom, + /* uri-list, not plain-text */ + 0 + ); + } + FREE(data); + } + + D_RETURN; +} + + + +static void +e_dnd_drop_end(Ecore_Event * ev) +{ + Ecore_Event_Dnd_Drop_End *e; + /* + * typedef struct _ecore_event_dnd_drop_end + * { + * Window win, root, source_win; + * } Ecore_Event_Dnd_Drop_End; + */ + Evas_List l; + + D_ENTER; + + e = ev->event; + for (l = views; l; l = l->next) + { + E_View *v; + + v = l->data; + if (e->win == v->win.base) + { + ecore_window_dnd_finished(); + e_dnd_drop_request_free(); + } + } + + D_RETURN; +} + + + +static void +e_dnd_drop_position(Ecore_Event * ev) +{ + Ecore_Event_Dnd_Drop_Position *e; + /* + * typedef struct _ecore_event_dnd_drop_position + * { + * Window win, root, source_win; + * int x, y; + * } Ecore_Event_Dnd_Drop_Position; + */ + Evas_List l; + + D_ENTER; + + e = ev->event; + for (l = views; l; l = l->next) + { + E_View *v; + + v = l->data; + if (e->win == v->win.base) + { + + if( e->win != e->source_win ) + { + /* send XdndStatus */ + ecore_window_dnd_send_status_ok(v->win.base, e->source_win, + v->location.x, v->location.y, + v->size.w, v->size.h + ); + } + /* todo - cache window extents, don't send again within these extents. */ + } + } + + D_RETURN; +} + + + +static void +e_dnd_drop(Ecore_Event * ev) +{ + Ecore_Event_Dnd_Drop *e; + /* + * typedef struct _ecore_event_dnd_drop + * { + * Window win, root, source_win; + * } Ecore_Event_Dnd_Drop; + */ + Evas_List l; + + D_ENTER; + + e = ev->event; + for (l = views; l; l = l->next) + { + E_View *v; + + v = l->data; + if (e->win == v->win.base) + { + /* Dropped! Handle data */ + e_dnd_handle_drop( v, dnd_pending_mode ); + + ecore_window_dnd_finished(); + + e_dnd_drop_request_free(); + } + } + + D_RETURN; +} + + + +static void +e_dnd_drop_request(Ecore_Event * ev) +{ + Ecore_Event_Dnd_Drop_Request *e; + /* + * typedef struct _ecore_event_dnd_drop_request + * { + * Window win, root, source_win; + * int num_files; + * char **files; + * int copy, link, move; + * } Ecore_Event_Dnd_Drop_Request; + */ + Evas_List l; + + D_ENTER; + + e = ev->event; + for (l = views; l; l = l->next) + { + E_View *v; + + v = l->data; + if (e->win == v->win.base) + { + /* if it exists, we already have the data... */ + if( !dnd_files ) + { + int i; + + dnd_files = NEW_PTR(e->num_files); + + /* copy the file list locally, for use in a dnd_drop */ + for( i=0; i < e->num_files; i++ ) + dnd_files[i] = strdup( e->files[i] ); + + dnd_num_files = e->num_files; + + if( e->copy ) + dnd_pending_mode = E_DND_COPY; + else if( e->move ) + dnd_pending_mode = E_DND_MOVE; + else if( e->link ) + dnd_pending_mode = E_DND_LINK; + else + dnd_pending_mode = E_DND_ASK; + } + /* + printf( "drop-req %d-[c%dm%dl%d]--%s--\n", e->num_files, + e->copy, e->move, e->link, + e->num_files ? e->files[0] : "None" + ); + */ + } + } + + D_RETURN; +} + + + +static void +e_dnd_drop_request_free(void) +{ + + if (dnd_files) + { + int i; + + for (i = 0; i < dnd_num_files; i++) + FREE(dnd_files[i]); + + FREE(dnd_files); + + dnd_num_files = 0; + } +} + + + +static void +e_dnd_handle_drop( E_View *v, E_dnd_enum dnd_pending_mode ) +{ + char hostname[PATH_MAX]; + int in, out; + char *filename; + + D_ENTER; + + /* Need hostname for URL (file://hostname/...) */ + if(gethostname( hostname, PATH_MAX)) + { + /* failed... Default to 'localhost' */ + strcpy( hostname, "localhost"); + } + + /* Make space for destination in file list */ + dnd_num_files++; + REALLOC_PTR(dnd_files, dnd_num_files); + dnd_files[dnd_num_files-1] = NULL; + + /* Verify files are local, convert to non-URL */ + for( in=0, out=0; in<dnd_num_files-1; in++ ) + { + filename = e_util_de_url_and_verify( dnd_files[in], hostname ); + /* Need a overlap safe copy here, like memmove() */ + if( filename ) + memmove( dnd_files[out++], filename, strlen(filename)+1 ); + } + + /* Append destination for efsd */ + if( dnd_files[out] ) + FREE( dnd_files[out] ); + + dnd_files[out++] = strdup( v->dir ); + + switch( dnd_pending_mode ) + { + case E_DND_COPY: + /* Copy files */ + efsd_copy( e_fs_get_connection(), out, dnd_files, + efsd_ops(0) ); + break; + case E_DND_MOVE: + efsd_move( e_fs_get_connection(), out, dnd_files, + efsd_ops(0) ); + break; + default: + /* nothing yet */ + break; + } + + D_RETURN; +} + + =================================================================== RCS file: /cvsroot/enlightenment/e17/apps/e/src/view.h,v retrieving revision 1.25 retrieving revision 1.26 diff -u -3 -r1.25 -r1.26 --- view.h 2001/11/26 13:08:34 1.25 +++ view.h 2001/12/06 02:50:17 1.26 @@ -24,6 +24,16 @@ typedef struct _E_Iconbar E_Iconbar; #endif +#ifndef E_DND_TYPEDEF +#define E_DND_TYPEDEF +typedef enum { + E_DND_NONE, + E_DND_COPY, + E_DND_MOVE, + E_DND_LINK, + E_DND_ASK +} E_dnd_enum; +#endif struct _E_View { @@ -117,6 +127,7 @@ int x, y; } offset; int update; + int drop_mode; } drag; struct { int valid; |
From: <enl...@li...> - 2001-12-08 04:11:48
|
Enlightenment CVS committal Author : sleuth Project : e17 Module : apps/e Dir : e17/apps/e/src Modified Files: icons.c view.c Log Message: Don't de-select icons unless they are removed from the view. (Also fixes case if you remove a file behind E's back.) Free items on icon deletion. Kevin Brosius <co...@co...> =================================================================== RCS file: /cvsroot/enlightenment/e17/apps/e/src/icons.c,v retrieving revision 1.24 retrieving revision 1.25 diff -u -3 -r1.24 -r1.25 --- icons.c 2001/12/06 02:50:17 1.24 +++ icons.c 2001/12/08 04:11:47 1.25 @@ -399,7 +399,19 @@ D_ENTER; /* FIXME: free stuff here! this leaks ... */ + /* (think I got them all) */ + if (ic->obj.event1) + { + evas_del_object(ic->view->evas, ic->obj.event1); + evas_del_object(ic->view->evas, ic->obj.event2); + } + + if (ic->obj.sel.under.icon) ebits_free(ic->obj.sel.under.icon); + if (ic->obj.sel.under.text) ebits_free(ic->obj.sel.under.text); + if (ic->obj.sel.over.icon) ebits_free(ic->obj.sel.over.icon); + if (ic->obj.sel.over.text) ebits_free(ic->obj.sel.over.text); + e_object_cleanup(E_OBJECT(ic)); D_RETURN; @@ -489,6 +501,12 @@ e_text_hide(ic->obj.text); evas_hide(ic->view->evas, ic->obj.event1); evas_hide(ic->view->evas, ic->obj.event2); + + /* Hide any selection in the view */ + if(ic->obj.sel.under.icon) ebits_hide(ic->obj.sel.under.icon); + if(ic->obj.sel.under.text) ebits_hide(ic->obj.sel.under.text); + if(ic->obj.sel.over.icon) ebits_hide(ic->obj.sel.over.icon); + if(ic->obj.sel.over.text) ebits_hide(ic->obj.sel.over.text); D_RETURN; } =================================================================== RCS file: /cvsroot/enlightenment/e17/apps/e/src/view.c,v retrieving revision 1.100 retrieving revision 1.101 diff -u -3 -r1.100 -r1.101 --- view.c 2001/12/06 22:33:35 1.100 +++ view.c 2001/12/08 04:11:48 1.101 @@ -2796,6 +2796,7 @@ static void e_dnd_drop_request_free(void) { + D_ENTER; if (dnd_files) { @@ -2808,6 +2809,7 @@ dnd_num_files = 0; } + D_RETURN; } @@ -2820,8 +2822,7 @@ char *filename; D_ENTER; - - e_view_deselect_all(); + /* Need hostname for URL (file://hostname/...) */ if(gethostname( hostname, PATH_MAX)) { |
From: <enl...@li...> - 2001-12-08 21:07:45
|
Enlightenment CVS committal Author : sleuth Project : e17 Module : apps/e Dir : e17/apps/e/src Modified Files: view.c Log Message: Broken multi-file drops... Kevin Brosius <co...@co...> =================================================================== RCS file: /cvsroot/enlightenment/e17/apps/e/src/view.c,v retrieving revision 1.102 retrieving revision 1.103 diff -u -3 -r1.102 -r1.103 --- view.c 2001/12/08 06:34:06 1.102 +++ view.c 2001/12/08 21:07:44 1.103 @@ -2555,7 +2555,9 @@ /* * send the dnd data to the target app * + * uri-list (http://www.faqs.org/rfcs/rfc2483.html) * URL formatting per RFC 1738 + * (or not. Looks like a lot of apps ignore this. So do we! ) */ static void e_dnd_data_request(Ecore_Event * ev) @@ -2610,7 +2612,7 @@ { if (e->uri_list) { - int first = 1; + /* int first = 1;*/ for (ll = v->icons; ll; ll = ll->next) { @@ -2625,13 +2627,22 @@ size += ic_size; REALLOC(data, char, size); + /* + * What's this for? It ends up double terminating + * the second and further files, plus the length + * needs to be adjusted for both cases... + * (And the wrong length breaks multi-file drops.) + if (first) { - sprintf(data + idx, "file:%s/%s", v->dir, ic->file); + */ + sprintf(data + idx, "file:%s/%s\r\n", v->dir, ic->file); +#if 0 first = 0; } else sprintf(data + idx, "\r\nfile:%s/%s\r\n", v->dir, ic->file); +#endif idx += ic_size; } } @@ -2855,8 +2866,6 @@ /* if the dnd source is e itself then dont use the event mode */ if (e_view_find_by_window(e->source_win)) { - E_View *vv; - v = e_view_find_by_window(e->source_win); dnd_pending_mode = v->drag.drop_mode; } |
From: <enl...@li...> - 2001-12-12 23:58:47
|
Enlightenment CVS committal Author : sleuth Project : e17 Module : apps/e Dir : e17/apps/e/src Modified Files: icons.c icons.h view.c view.h Log Message: dnd source icon changes based on drop action requested+target allowed action. We can also change cursor/drag window based on the state info available. I haven't tackled that yet. Kevin Brosius <co...@co...> =================================================================== RCS file: /cvsroot/enlightenment/e17/apps/e/src/icons.c,v retrieving revision 1.27 retrieving revision 1.28 diff -u -3 -r1.27 -r1.28 --- icons.c 2001/12/09 01:24:44 1.27 +++ icons.c 2001/12/12 23:58:44 1.28 @@ -89,9 +89,11 @@ ecore_window_destroy(ic->view->drag.win); ic->view->drag.started = 0; if(e->mods & ECORE_EVENT_KEY_MODIFIER_SHIFT) - ic->view->drag.drop_mode = E_DND_COPY; + ecore_dnd_set_mode_copy(); else - ic->view->drag.drop_mode = E_DND_MOVE; + ecore_dnd_set_mode_move(); + ecore_dnd_set_data(ic->view->win.base); + /* FIXME: if button use is right mouse then do an ask */ /* Handle dnd motion(drop) - dragging==0 */ @@ -384,6 +386,18 @@ ic->view->drag.update = 1; ic->view->changed = 1; + if(e->mods & ECORE_EVENT_KEY_MODIFIER_SHIFT) + { + ecore_dnd_set_mode_copy(); + ic->view->drag.drop_mode = E_DND_COPY; + } + else + { + ecore_dnd_set_mode_move(); + ic->view->drag.drop_mode = E_DND_MOVE; + } + ecore_dnd_set_data(ic->view->win.base); + /* Handle dnd motion - dragging==1 */ ecore_pointer_xy_get(&x, &y); ecore_window_dnd_handle_motion( ic->view->win.base, x, y, 1); @@ -510,6 +524,49 @@ if(ic->obj.sel.under.text) ebits_hide(ic->obj.sel.under.text); if(ic->obj.sel.over.icon) ebits_hide(ic->obj.sel.over.icon); if(ic->obj.sel.over.text) ebits_hide(ic->obj.sel.over.text); + + D_RETURN; +} + +void +e_icon_hide_delete_pending(E_Icon *ic) +{ + D_ENTER; + + if (!ic->state.visible) D_RETURN; + if(ic->state.selected) + { + if( ic->view->drag.drop_mode == E_DND_MOVE) + { + evas_hide(ic->view->evas, ic->obj.icon); + ic->state.drag_delete = 1; + } + else + /* copy... */ + { + evas_show(ic->view->evas, ic->obj.icon); + ic->state.drag_delete = 0; + } + } + + D_RETURN; +} + +void +e_icon_show_delete_end(E_Icon *ic, E_dnd_enum dnd_pending_mode) +{ + D_ENTER; + + if (!ic->state.visible) D_RETURN; + if(ic->state.drag_delete) + { + if(dnd_pending_mode==E_DND_DELETED || dnd_pending_mode==E_DND_COPIED) + { + ic->state.drag_delete = 0; + if(dnd_pending_mode==E_DND_COPIED) + evas_show(ic->view->evas, ic->obj.icon); + } + } D_RETURN; } =================================================================== RCS file: /cvsroot/enlightenment/e17/apps/e/src/icons.h,v retrieving revision 1.1 retrieving revision 1.2 diff -u -3 -r1.1 -r1.2 --- icons.h 2001/11/03 14:55:21 1.1 +++ icons.h 2001/12/12 23:58:45 1.2 @@ -14,6 +14,11 @@ typedef struct _E_View E_View; #endif +#ifndef E_DND_TYPEDEF +#define E_DND_TYPEDEF +typedef enum _E_dnd_enum E_dnd_enum; +#endif + struct _E_Icon { E_Object o; @@ -55,6 +60,7 @@ int visible; int just_selected; int just_executed; + int drag_delete; } state; struct { @@ -96,6 +102,8 @@ E_Icon *e_icon_find_by_file(E_View *view, char *file); void e_icon_show(E_Icon *ic); void e_icon_hide(E_Icon *ic); +void e_icon_hide_delete_pending(E_Icon *ic); +void e_icon_show_delete_end(E_Icon *ic, E_dnd_enum dnd_pending_mode); void e_icon_apply_xy(E_Icon *ic); void e_icon_check_permissions(E_Icon *ic); =================================================================== RCS file: /cvsroot/enlightenment/e17/apps/e/src/view.c,v retrieving revision 1.104 retrieving revision 1.105 diff -u -3 -r1.104 -r1.105 --- view.c 2001/12/09 01:24:44 1.104 +++ view.c 2001/12/12 23:58:45 1.105 @@ -17,6 +17,7 @@ static char **dnd_files = NULL; static int dnd_num_files = 0; static E_dnd_enum dnd_pending_mode; +static E_View *v_dnd_source; static void e_bg_down_cb(void *_data, Evas _e, Evas_Object _o, int _b, int _x, int _y); static void e_bg_up_cb(void *_data, Evas _e, Evas_Object _o, int _b, int _x, int _y); @@ -45,7 +46,7 @@ static void e_dnd_drop(Ecore_Event * ev); static void e_dnd_drop_request(Ecore_Event * ev); static void e_dnd_drop_request_free(void); -static void e_dnd_handle_drop( E_View *v, E_dnd_enum dnd_pending_mode ); +static void e_dnd_handle_drop( E_View *v ); static void e_view_handle_fs(EfsdEvent *ev); static void e_view_handle_fs_restart(void *data); static void e_view_resort_timeout(int val, void *data); @@ -1053,13 +1054,15 @@ { Ecore_Event_Dnd_Drop_Status *e; /* - typedef struct _ecore_event_dnd_drop_status - { - Window win, root, source_win; - int x, y, w, h; - int ok; - } Ecore_Event_Dnd_Drop_Status; - */ + * typedef struct _ecore_event_dnd_drop_status + * { + * Window win, root, source_win; + * int x, y, w, h; + * int copy, link, move, private; + * int all_position_msgs; + * int ok; + * } Ecore_Event_Dnd_Drop_Status; + */ Evas_List l; D_ENTER; @@ -1072,7 +1075,24 @@ v = l->data; if (e->win == v->win.base) { + + if( dnd_pending_mode != E_DND_DELETED && + dnd_pending_mode != E_DND_COPIED ) + { + if( e->copy ) + dnd_pending_mode = E_DND_COPY; + else if( e->move ) + dnd_pending_mode = E_DND_MOVE; + else if( e->link ) + dnd_pending_mode = E_DND_LINK; + else + dnd_pending_mode = E_DND_ASK; + } + ecore_window_dnd_ok(e->ok); + + v->changed = 1; + v->drag.icon_hide = 1; } } @@ -1990,12 +2010,30 @@ if (v->changed) { - for (l = v->icons; l; l = l->next) - { - E_Icon *icon; + if(v->drag.icon_hide) + { + for (l = v->icons; l; l = l->next) + { + E_Icon *ic; - icon = l->data; - } + ic = l->data; + e_icon_hide_delete_pending(ic); + } + v->drag.icon_hide = 0; + v_dnd_source = v; + } + if(v->drag.icon_show) + { + for (l = v->icons; l; l = l->next) + { + E_Icon *ic; + + ic = l->data; + e_icon_show_delete_end(ic, dnd_pending_mode); + } + dnd_pending_mode = E_DND_NONE; + v->drag.icon_show = 0; + } if (v->drag.update) { ecore_window_move(v->drag.win, v->drag.x, v->drag.y); @@ -2724,6 +2762,22 @@ v = l->data; if (e->win == v->win.base) { + if(v_dnd_source) + { + if(dnd_pending_mode != E_DND_DELETED && + dnd_pending_mode != E_DND_COPIED ) + { + dnd_pending_mode = E_DND_COPIED; + } + if( v_dnd_source->drag.matching_drop_attempt ) + { + v_dnd_source->drag.matching_drop_attempt = 0; + dnd_pending_mode = E_DND_COPIED; + } + v_dnd_source->changed = 1; + v_dnd_source->drag.icon_show = 1; + } + e_dnd_drop_request_free(); D_RETURN; } @@ -2756,15 +2810,14 @@ v = l->data; if (e->win == v->win.base) { - - if( e->win != e->source_win ) - { - /* send XdndStatus */ - ecore_window_dnd_send_status_ok(v->win.base, e->source_win, - v->location.x, v->location.y, - v->size.w, v->size.h - ); - } + /* send XdndStatus (even to same view, we'll */ + /* ignore actions within the same view later */ + /* during the drop action.) */ + ecore_window_dnd_send_status_ok(v->win.base, e->source_win, + v->location.x, v->location.y, + v->size.w, v->size.h + ); + /* todo - cache window extents, don't send again within these extents. */ D_RETURN; } @@ -2795,8 +2848,14 @@ v = l->data; if (e->win == v->win.base) { - /* Dropped! Handle data */ - e_dnd_handle_drop (v, dnd_pending_mode); + /* Dropped! Handle data */ + /* Same view? Mark to skip action */ + if( e->win == e->source_win ) + v->drag.matching_drop_attempt = 1; + /* Different view? Perform the action... */ + else + e_dnd_handle_drop (v); + ecore_window_dnd_send_finished(v->win.base, e->source_win); e_dnd_drop_request_free(); @@ -2852,7 +2911,7 @@ dnd_pending_mode = v->drag.drop_mode; } else - { + { if( e->copy ) dnd_pending_mode = E_DND_COPY; else if( e->move ) @@ -2890,7 +2949,7 @@ } static void -e_dnd_handle_drop( E_View *v, E_dnd_enum dnd_pending_mode ) +e_dnd_handle_drop( E_View *v ) { int in, out; char *filename; @@ -2923,16 +2982,18 @@ /* Copy files */ efsd_copy( e_fs_get_connection(), out, dnd_files, efsd_ops(0) ); + dnd_pending_mode = E_DND_COPIED; break; case E_DND_MOVE: efsd_move( e_fs_get_connection(), out, dnd_files, efsd_ops(0) ); + dnd_pending_mode = E_DND_DELETED; break; default: /* nothing yet */ break; } - + D_RETURN; } =================================================================== RCS file: /cvsroot/enlightenment/e17/apps/e/src/view.h,v retrieving revision 1.27 retrieving revision 1.28 diff -u -3 -r1.27 -r1.28 --- view.h 2001/12/08 06:34:06 1.27 +++ view.h 2001/12/12 23:58:45 1.28 @@ -26,14 +26,18 @@ #ifndef E_DND_TYPEDEF #define E_DND_TYPEDEF -typedef enum { +typedef enum _E_dnd_enum E_dnd_enum; +#endif + +enum _E_dnd_enum { E_DND_NONE, E_DND_COPY, E_DND_MOVE, E_DND_LINK, - E_DND_ASK -} E_dnd_enum; -#endif + E_DND_ASK, + E_DND_DELETED, + E_DND_COPIED +} ; struct _E_View { @@ -128,6 +132,9 @@ } offset; int update; int drop_mode; + int icon_hide; + int icon_show; + int matching_drop_attempt; } drag; struct { int valid; |
From: <enl...@li...> - 2001-12-19 03:30:48
|
Enlightenment CVS committal Author : sleuth Project : e17 Module : apps/e Dir : e17/apps/e/src Modified Files: icons.c icons.h view.c view.h Log Message: Cleanup a couple warnings. Thanks cK! Kevin Brosius <co...@co...> =================================================================== RCS file: /cvsroot/enlightenment/e17/apps/e/src/icons.c,v retrieving revision 1.28 retrieving revision 1.29 diff -u -3 -r1.28 -r1.29 --- icons.c 2001/12/12 23:58:44 1.28 +++ icons.c 2001/12/19 03:30:47 1.29 @@ -1,3 +1,4 @@ +#include "view.h" #include "icons.h" #include "debug.h" #include "globals.h" =================================================================== RCS file: /cvsroot/enlightenment/e17/apps/e/src/icons.h,v retrieving revision 1.2 retrieving revision 1.3 diff -u -3 -r1.2 -r1.3 --- icons.h 2001/12/12 23:58:45 1.2 +++ icons.h 2001/12/19 03:30:47 1.3 @@ -14,11 +14,6 @@ typedef struct _E_View E_View; #endif -#ifndef E_DND_TYPEDEF -#define E_DND_TYPEDEF -typedef enum _E_dnd_enum E_dnd_enum; -#endif - struct _E_Icon { E_Object o; =================================================================== RCS file: /cvsroot/enlightenment/e17/apps/e/src/view.c,v retrieving revision 1.105 retrieving revision 1.106 diff -u -3 -r1.105 -r1.106 --- view.c 2001/12/12 23:58:45 1.105 +++ view.c 2001/12/19 03:30:47 1.106 @@ -11,6 +11,7 @@ #include "file.h" #include "util.h" #include "globals.h" +#include "icons.h" static Ecore_Event *current_ev = NULL; @@ -2685,7 +2686,6 @@ ic = ll->data; if (ic->state.selected) { - int ic_size; char buf[PATH_MAX]; if (first) =================================================================== RCS file: /cvsroot/enlightenment/e17/apps/e/src/view.h,v retrieving revision 1.28 retrieving revision 1.29 diff -u -3 -r1.28 -r1.29 --- view.h 2001/12/12 23:58:45 1.28 +++ view.h 2001/12/19 03:30:47 1.29 @@ -7,7 +7,6 @@ #include "fs.h" #include "iconbar.h" #include "object.h" -#include "icons.h" #ifndef E_VIEW_TYPEDEF #define E_VIEW_TYPEDEF @@ -24,12 +23,7 @@ typedef struct _E_Iconbar E_Iconbar; #endif -#ifndef E_DND_TYPEDEF -#define E_DND_TYPEDEF -typedef enum _E_dnd_enum E_dnd_enum; -#endif - -enum _E_dnd_enum { +typedef enum { E_DND_NONE, E_DND_COPY, E_DND_MOVE, @@ -37,7 +31,7 @@ E_DND_ASK, E_DND_DELETED, E_DND_COPIED -} ; +} E_dnd_enum ; struct _E_View { |
From: <enl...@li...> - 2002-01-19 22:22:39
|
Enlightenment CVS committal Author : sleuth Project : e17 Module : apps/e Dir : e17/apps/e/src Modified Files: Makefile.am Log Message: Add a rule to rebuild ferite generated code if e_ferite.fec script is updated. Kevin Brosius <co...@co...> =================================================================== RCS file: /cvsroot/enlightenment/e17/apps/e/src/Makefile.am,v retrieving revision 1.40 retrieving revision 1.41 diff -u -3 -r1.40 -r1.41 --- Makefile.am 2002/01/11 23:53:20 1.40 +++ Makefile.am 2002/01/19 22:22:38 1.41 @@ -11,7 +11,7 @@ -I$(top_srcdir)/intl \ @evas_cflags@ @edb_cflags@ @ebits_cflags@ @ecore_cflags@ @efsd_cflags@ @ferite_cflags@ $(DEBUGFLAGS) -bin_PROGRAMS = enlightenment +bin_PROGRAMS = enlightenment e_ferite_gen_e.c EXTRA_DIST = e_ferite.fec @@ -24,7 +24,23 @@ e_ferite_gen_Ebits.c \ e_ferite_gen_EvasObject.c \ e_ferite.h e_ferite.c - + +BUILT_SOURCES = e_ferite_gen_core.c \ + e_ferite_gen_header.h \ + e_ferite_gen_e.c \ + e_ferite_gen_window.c \ + e_ferite_gen_Epplet.c \ + e_ferite_gen_Ebits.c \ + e_ferite_gen_EvasObject.c + +# Yes, blank because we don't want it to supply +# it's own build rule. +e_ferite_gen_e_c_SOURCES = + +e_ferite_gen_e.c: e_ferite.fec + rm -f e_ferite_gen_* + $(FEBUILDER) -m e_ferite_gen -i e_ferite_register -d -c e_ferite.fec + endif enlightenment_SOURCES = \ |
From: <enl...@li...> - 2002-02-03 08:32:32
|
Enlightenment CVS committal Author : sleuth Project : e17 Module : apps/e Dir : e17/apps/e/src Modified Files: util.c Log Message: Minor printf cleanup. Kevin Brosius <co...@co...> =================================================================== RCS file: /cvsroot/enlightenment/e17/apps/e/src/util.c,v retrieving revision 1.23 retrieving revision 1.24 diff -u -3 -r1.23 -r1.24 --- util.c 2002/01/24 06:15:40 1.23 +++ util.c 2002/02/03 08:32:31 1.24 @@ -96,6 +96,5 @@ if ( !wk ) D_RETURN_(NULL); - printf("returning %s\n", wk); D_RETURN_(wk); } |
From: <enl...@li...> - 2002-02-03 16:42:38
|
Enlightenment CVS committal Author : sleuth Project : e17 Module : apps/e Dir : e17/apps/e/data/iconbar Modified Files: iconbar_bottom.bits.db Log Message: Restore Raster's version of the iconbar_bottom.bits.db and add the 'Resist' field. I've left out scrollbar buttons (the bottom version never had any.) Kevin Brosius <co...@co...> =================================================================== RCS file: /cvsroot/enlightenment/e17/apps/e/data/iconbar/iconbar_bottom.bits.db,v retrieving revision 1.3 retrieving revision 1.4 diff -u -3 -r1.3 -r1.4 Binary files /tmp/cvsZT1U1e and /tmp/cvsIMp7el differ |
From: <enl...@li...> - 2002-02-06 02:05:51
|
Enlightenment CVS committal Author : sleuth Project : e17 Module : apps/e Dir : e17/apps/e/src Modified Files: menubuild.c Log Message: Fix gnome menu generation. Kevin Brosius <co...@co...> =================================================================== RCS file: /cvsroot/enlightenment/e17/apps/e/src/menubuild.c,v retrieving revision 1.14 retrieving revision 1.15 diff -u -3 -r1.14 -r1.15 --- menubuild.c 2002/01/28 05:41:29 1.14 +++ menubuild.c 2002/02/06 02:05:49 1.15 @@ -399,7 +399,7 @@ { char buf2[PATH_MAX]; - snprintf(buf, PATH_MAX, "/usr/share/pixmaps/%s", eq +1); + snprintf(buf2, PATH_MAX, "/usr/share/pixmaps/%s", eq +1); icon = strdup(buf2); } } |
From: <enl...@li...> - 2002-02-21 04:42:51
|
Enlightenment CVS committal Author : sleuth Project : e17 Module : apps/e Dir : e17/apps/e/src Modified Files: menu.c Log Message: Enlarge the menu intersection test area so clicking always starts the app. Kevin Brosius <co...@co...> =================================================================== RCS file: /cvsroot/enlightenment/e17/apps/e/src/menu.c,v retrieving revision 1.29 retrieving revision 1.30 diff -u -3 -r1.29 -r1.30 --- menu.c 30 Jan 2002 03:16:33 -0000 1.29 +++ menu.c 21 Feb 2002 04:42:50 -0000 1.30 @@ -390,7 +390,8 @@ { if (INTERSECTS(m->selected->x + m->current.x, m->selected->y + m->current.y, - m->selected->size.w, m->selected->size.h, + m->selected->size.w, + m->selected->size.h + m->sel_border.b, mouse_x, mouse_y, 0, 0)) { e_menu_callback_item(m, m->selected); |
From: <enl...@li...> - 2002-03-02 08:57:47
|
Enlightenment CVS committal Author : sleuth Project : e17 Module : apps/e Dir : e17/apps/e/src Modified Files: view.c Log Message: Fix icon display state after dragging to a second instance of the same dir. Kevin Brosius <co...@co...> =================================================================== RCS file: /cvsroot/enlightenment/e17/apps/e/src/view.c,v retrieving revision 1.131 retrieving revision 1.132 diff -u -3 -r1.131 -r1.132 --- view.c 1 Mar 2002 20:50:46 -0000 1.131 +++ view.c 2 Mar 2002 08:57:46 -0000 1.132 @@ -2220,7 +2220,7 @@ /* Dropped! Handle data */ /* Same view or same underlying dir? Mark to skip action */ if( e->win == e->source_win || v->model == v_dnd_source->model) - v->drag.matching_drop_attempt = 1; + v_dnd_source->drag.matching_drop_attempt = 1; /* Perform the action... */ e_dnd_handle_drop (v); |
From: <enl...@li...> - 2002-07-29 01:17:03
|
Enlightenment CVS committal Author : sleuth Project : e17 Module : apps/e Dir : e17/apps/e Modified Files: Tag: SPLIT README Log Message: Port to evas2 - Replace evas API calls with evas2 API calls I've labelled areas I wasn't sure about with either "checkme" or "todo" depending on if it's possibly wrong, or unfinished. status: Well, it runs. I've been using Xnest, if you run this, and an Eterm or two things aren't bad. There is a little border corruption, usually on the lower right corner in my case. There is also a segf sometimes when I close an app. There are some warnings left. They should be harmless. I've ported raster's enstrom also. I'll be making a patch to his version available shortly. It'll be at http://kevb.net/files with a name like enstrom_evas2_20020530.diff Kevin Brosius <co...@co...> =================================================================== RCS file: /cvsroot/enlightenment/e17/apps/e/README,v retrieving revision 1.6 retrieving revision 1.6.2.1 diff -u -3 -r1.6 -r1.6.2.1 --- README 24 Sep 2001 21:21:24 -0000 1.6 +++ README 29 Jul 2002 01:17:01 -0000 1.6.2.1 @@ -1,3 +1,15 @@ +Additional notes + +todo + entry.c - check 'todo' entries (although nobody uses entries except for + me in med, do they?) + guides.c - imlib parts that aren't converted yet. + text.c + menu.c + menubuild.c - e_observer_init() call. + border.c - use e_evas_new_all in place of the inlined code. cleanup. + + +-----------------------------------------------------------------------------+ | Enlightenment 0.17.pre CVS Code.... | +-----------------------------------------------------------------------------+ |
From: <enl...@li...> - 2002-07-29 01:17:58
|
Enlightenment CVS committal Author : sleuth Project : e17 Module : apps/e Dir : e17/apps/e/src Modified Files: Tag: SPLIT actions.c block.c border.c border.h config.c config.h cursors.c desktops.c desktops.h e.h embed.c embed.h entry.c entry.h exec.c file.c file.h focus.c fs.c guides.c main.c menu.c menu.h menubuild.c menubuild.h observer.c observer.h place.c resist.c text.c text.h util.c util.h Log Message: Port to evas2 - Replace evas API calls with evas2 API calls I've labelled areas I wasn't sure about with either "checkme" or "todo" depending on if it's possibly wrong, or unfinished. status: Well, it runs. I've been using Xnest, if you run this, and an Eterm or two things aren't bad. There is a little border corruption, usually on the lower right corner in my case. There is also a segf sometimes when I close an app. There are some warnings left. They should be harmless. I've ported raster's enstrom also. I'll be making a patch to his version available shortly. It'll be at http://kevb.net/files with a name like enstrom_evas2_20020530.diff Kevin Brosius <co...@co...> =================================================================== RCS file: /cvsroot/enlightenment/e17/apps/e/src/actions.c,v retrieving revision 1.49.2.1 retrieving revision 1.49.2.2 diff -u -3 -r1.49.2.1 -r1.49.2.2 --- actions.c 26 Mar 2002 22:05:08 -0000 1.49.2.1 +++ actions.c 29 Jul 2002 01:17:57 -0000 1.49.2.2 @@ -11,9 +11,9 @@ #include "bordermenu.h" #include "block.h" -static Evas_List action_impls = NULL; -static Evas_List current_actions = NULL; -static Evas_List current_timers = NULL; +static Evas_List * action_impls = NULL; +static Evas_List * current_actions = NULL; +static Evas_List * current_timers = NULL; static void e_action_find(char *action, E_Action_Type act, int button, char *key, Ecore_Event_Key_Modifiers mods, @@ -141,9 +141,9 @@ int a_button = 0; char *a_key = NULL; int a_modifiers = 0; - Evas_List l; + Evas_List * l; E_Action *a; - static Evas_List actions = NULL; + static Evas_List * actions = NULL; E_CFG_FILE(cfg_actions, "actions"); @@ -228,7 +228,7 @@ /* and action for it */ for (l = actions; l; l = l->next) { - Evas_List ll; + Evas_List * ll; a = l->data; if (act != a->event) @@ -333,7 +333,7 @@ char *key, Ecore_Event_Key_Modifiers mods, E_Object * object, void *data, int x, int y, int rx, int ry) { - Evas_List l; + Evas_List * l; int started_long_action = 0; D_ENTER; @@ -373,7 +373,7 @@ char *key, Ecore_Event_Key_Modifiers mods, E_Object * object, void *data, int x, int y, int rx, int ry) { - Evas_List l; + Evas_List * l; D_ENTER; @@ -433,7 +433,7 @@ Ecore_Event_Key_Modifiers mods, E_Object * object, void *data, int x, int y, int rx, int ry, int dx, int dy) { - Evas_List l; + Evas_List * l; D_ENTER; @@ -459,7 +459,7 @@ e_action_stop_by_object(E_Object * object, void *data, int x, int y, int rx, int ry) { - Evas_List l; + Evas_List * l; D_ENTER; @@ -491,7 +491,7 @@ void e_action_stop_by_type(char *action) { - Evas_List l; + Evas_List * l; D_ENTER; @@ -546,7 +546,7 @@ void e_action_del_timer(E_Object * object, char *name) { - Evas_List l; + Evas_List * l; D_ENTER; @@ -590,7 +590,7 @@ void e_action_del_timer_object(E_Object * object) { - Evas_List l; + Evas_List * l; D_ENTER; =================================================================== RCS file: /cvsroot/enlightenment/e17/apps/e/src/block.c,v retrieving revision 1.2 retrieving revision 1.2.2.1 diff -u -3 -r1.2 -r1.2.2.1 --- block.c 3 Mar 2002 10:40:05 -0000 1.2 +++ block.c 29 Jul 2002 01:17:57 -0000 1.2.2.1 @@ -10,14 +10,14 @@ int refs; }; -static Evas_List blocks = NULL; +static Evas_List * blocks = NULL; static E_Block *e_block_find(char *name); static E_Block * e_block_find(char *name) { - Evas_List l; + Evas_List * l; D_ENTER; for (l = blocks; l; l = l->next) =================================================================== RCS file: /cvsroot/enlightenment/e17/apps/e/src/border.c,v retrieving revision 1.72.2.1 retrieving revision 1.72.2.2 diff -u -3 -r1.72.2.1 -r1.72.2.2 --- border.c 26 Mar 2002 22:05:08 -0000 1.72.2.1 +++ border.c 29 Jul 2002 01:17:57 -0000 1.72.2.2 @@ -18,8 +18,8 @@ /* Window border rendering, querying, setting & modification code */ /* globals local to window borders */ -static Evas_List evases = NULL; -static Evas_List borders = NULL; +static Evas_List * evases = NULL; +static Evas_List * borders = NULL; static int mouse_x, mouse_y, mouse_win_x, mouse_win_y; static int mouse_buttons = 0; @@ -106,7 +106,7 @@ void e_border_update_borders(void) { - Evas_List l; + Evas_List * l; D_ENTER; @@ -600,33 +600,73 @@ e_cb_border_mouse_down(b, ev); else { - Evas evas; + Evas * evas; int x, y; + Window win; evas = b->evas.l; - ecore_window_get_root_relative_location(evas_get_window(evas), + { + Evas_Engine_Info_Software_X11 *einfo; + + einfo = (Evas_Engine_Info_Software_X11 *) evas_engine_info_get(evas); + + /* the following is specific to the engine */ + win = einfo->info.drawable; + } + ecore_window_get_root_relative_location(win, &x, &y); x = e->rx - x; y = e->ry - y; + /* checkme evas_event_button_down(evas, x, y, e->button); + */ + /*evas_event_feed_mouse_move(evas, x, y);*/ + evas_event_feed_mouse_down(evas,e->button); evas = b->evas.r; - ecore_window_get_root_relative_location(evas_get_window(evas), + { + Evas_Engine_Info_Software_X11 *einfo; + + einfo = (Evas_Engine_Info_Software_X11 *) evas_engine_info_get(evas); + + /* the following is specific to the engine */ + win = einfo->info.drawable; + } + ecore_window_get_root_relative_location(win, &x, &y); x = e->rx - x; y = e->ry - y; - evas_event_button_down(evas, x, y, e->button); + /*evas_event_feed_mouse_move(evas, x, y);*/ + evas_event_feed_mouse_down(evas,e->button); evas = b->evas.t; - ecore_window_get_root_relative_location(evas_get_window(evas), + { + Evas_Engine_Info_Software_X11 *einfo; + + einfo = (Evas_Engine_Info_Software_X11 *) evas_engine_info_get(evas); + + /* the following is specific to the engine */ + win = einfo->info.drawable; + } + ecore_window_get_root_relative_location(win, &x, &y); x = e->rx - x; y = e->ry - y; - evas_event_button_down(evas, x, y, e->button); + /*evas_event_feed_mouse_move(evas, x, y);*/ + evas_event_feed_mouse_down(evas,e->button); evas = b->evas.b; - ecore_window_get_root_relative_location(evas_get_window(evas), + { + Evas_Engine_Info_Software_X11 *einfo; + + einfo = (Evas_Engine_Info_Software_X11 *) evas_engine_info_get(evas); + + /* the following is specific to the engine */ + win = einfo->info.drawable; + } + ecore_window_get_root_relative_location(win, &x, &y); x = e->rx - x; y = e->ry - y; - evas_event_button_down(evas, x, y, e->button); + /*evas_event_feed_mouse_move(evas, x, y);*/ + evas_event_feed_mouse_down(evas,e->button); } } } @@ -660,33 +700,82 @@ e_cb_border_mouse_up(b, ev); else { - Evas evas; + Evas * evas; int x, y; + Window win; evas = b->evas.l; - ecore_window_get_root_relative_location(evas_get_window(evas), + { + Evas_Engine_Info_Software_X11 *einfo; + + einfo = (Evas_Engine_Info_Software_X11 *) evas_engine_info_get(evas); + + /* the following is specific to the engine */ + win = einfo->info.drawable; + } + ecore_window_get_root_relative_location(win, &x, &y); x = e->rx - x; y = e->ry - y; + /*evas_event_feed_mouse_move(evas, x, y);*/ + evas_event_feed_mouse_up(evas, e->button); + /* checkme evas_event_button_up(evas, x, y, e->button); + */ evas = b->evas.r; - ecore_window_get_root_relative_location(evas_get_window(evas), + { + Evas_Engine_Info_Software_X11 *einfo; + + einfo = (Evas_Engine_Info_Software_X11 *) evas_engine_info_get(evas); + + /* the following is specific to the engine */ + win = einfo->info.drawable; + } + ecore_window_get_root_relative_location(win, &x, &y); x = e->rx - x; y = e->ry - y; + /*evas_event_feed_mouse_move(evas, x, y);*/ + evas_event_feed_mouse_up(evas, e->button); + /* checkme evas_event_button_up(evas, x, y, e->button); + */ evas = b->evas.t; - ecore_window_get_root_relative_location(evas_get_window(evas), + { + Evas_Engine_Info_Software_X11 *einfo; + + einfo = (Evas_Engine_Info_Software_X11 *) evas_engine_info_get(evas); + + /* the following is specific to the engine */ + win = einfo->info.drawable; + } + ecore_window_get_root_relative_location(win, &x, &y); x = e->rx - x; y = e->ry - y; + /*evas_event_feed_mouse_move(evas, x, y);*/ + evas_event_feed_mouse_up(evas, e->button); + /* checkme evas_event_button_up(evas, x, y, e->button); + */ evas = b->evas.b; - ecore_window_get_root_relative_location(evas_get_window(evas), + { + Evas_Engine_Info_Software_X11 *einfo; + + einfo = (Evas_Engine_Info_Software_X11 *) evas_engine_info_get(evas); + + /* the following is specific to the engine */ + win = einfo->info.drawable; + } + ecore_window_get_root_relative_location(win, &x, &y); x = e->rx - x; y = e->ry - y; + /*evas_event_feed_mouse_move(evas, x, y);*/ + evas_event_feed_mouse_up(evas, e->button); + /* checkme evas_event_button_up(evas, x, y, e->button); + */ } } } @@ -720,33 +809,66 @@ e_cb_border_mouse_move(b, ev); else { - Evas evas; + Evas * evas; int x, y; + Window win; evas = b->evas.l; - ecore_window_get_root_relative_location(evas_get_window(evas), + { + Evas_Engine_Info_Software_X11 *einfo; + + einfo = (Evas_Engine_Info_Software_X11 *) evas_engine_info_get(evas); + + /* the following is specific to the engine */ + win = einfo->info.drawable; + } + ecore_window_get_root_relative_location(win, &x, &y); x = e->rx - x; y = e->ry - y; - evas_event_move(evas, x, y); + evas_event_feed_mouse_move(evas, x, y); evas = b->evas.r; - ecore_window_get_root_relative_location(evas_get_window(evas), + { + Evas_Engine_Info_Software_X11 *einfo; + + einfo = (Evas_Engine_Info_Software_X11 *) evas_engine_info_get(evas); + + /* the following is specific to the engine */ + win = einfo->info.drawable; + } + ecore_window_get_root_relative_location(win, &x, &y); x = e->rx - x; y = e->ry - y; - evas_event_move(evas, x, y); + evas_event_feed_mouse_move(evas, x, y); evas = b->evas.t; - ecore_window_get_root_relative_location(evas_get_window(evas), + { + Evas_Engine_Info_Software_X11 *einfo; + + einfo = (Evas_Engine_Info_Software_X11 *) evas_engine_info_get(evas); + + /* the following is specific to the engine */ + win = einfo->info.drawable; + } + ecore_window_get_root_relative_location(win, &x, &y); x = e->rx - x; y = e->ry - y; - evas_event_move(evas, x, y); + evas_event_feed_mouse_move(evas, x, y); evas = b->evas.b; - ecore_window_get_root_relative_location(evas_get_window(evas), + { + Evas_Engine_Info_Software_X11 *einfo; + + einfo = (Evas_Engine_Info_Software_X11 *) evas_engine_info_get(evas); + + /* the following is specific to the engine */ + win = einfo->info.drawable; + } + ecore_window_get_root_relative_location(win, &x, &y); x = e->rx - x; y = e->ry - y; - evas_event_move(evas, x, y); + evas_event_feed_mouse_move(evas, x, y); } } } @@ -772,39 +894,72 @@ else if (e->win == b->win.input) { int x, y; - Evas evas; + Evas * evas; + Window win; evas = b->evas.l; - ecore_window_get_root_relative_location(evas_get_window(evas), &x, + { + Evas_Engine_Info_Software_X11 *einfo; + + einfo = (Evas_Engine_Info_Software_X11 *) evas_engine_info_get(evas); + + /* the following is specific to the engine */ + win = einfo->info.drawable; + } + ecore_window_get_root_relative_location(win, &x, &y); x = e->rx - x; y = e->ry - y; - evas_event_move(evas, x, y); - evas_event_enter(evas); + /*evas_event_feed_mouse_move(evas, x, y);*/ + evas_event_feed_mouse_in(evas); evas = b->evas.r; - ecore_window_get_root_relative_location(evas_get_window(evas), &x, + { + Evas_Engine_Info_Software_X11 *einfo; + + einfo = (Evas_Engine_Info_Software_X11 *) evas_engine_info_get(evas); + + /* the following is specific to the engine */ + win = einfo->info.drawable; + } + ecore_window_get_root_relative_location(win, &x, &y); x = e->rx - x; y = e->ry - y; - evas_event_move(evas, x, y); - evas_event_enter(evas); + /*evas_event_feed_mouse_move(evas, x, y);*/ + evas_event_feed_mouse_in(evas); evas = b->evas.t; - ecore_window_get_root_relative_location(evas_get_window(evas), &x, + { + Evas_Engine_Info_Software_X11 *einfo; + + einfo = (Evas_Engine_Info_Software_X11 *) evas_engine_info_get(evas); + + /* the following is specific to the engine */ + win = einfo->info.drawable; + } + ecore_window_get_root_relative_location(win, &x, &y); x = e->rx - x; y = e->ry - y; - evas_event_move(evas, x, y); - evas_event_enter(evas); + /*evas_event_feed_mouse_move(evas, x, y);*/ + evas_event_feed_mouse_in(evas); evas = b->evas.b; - ecore_window_get_root_relative_location(evas_get_window(evas), &x, + { + Evas_Engine_Info_Software_X11 *einfo; + + einfo = (Evas_Engine_Info_Software_X11 *) evas_engine_info_get(evas); + + /* the following is specific to the engine */ + win = einfo->info.drawable; + } + ecore_window_get_root_relative_location(win, &x, &y); x = e->rx - x; y = e->ry - y; - evas_event_move(evas, x, y); - evas_event_enter(evas); + /*evas_event_feed_mouse_move(evas, x, y);*/ + evas_event_feed_mouse_in(evas); } } current_ev = NULL; @@ -831,10 +986,10 @@ e_cb_border_mouse_out(b, ev); if (e->win == b->win.input) { - evas_event_leave(b->evas.l); - evas_event_leave(b->evas.r); - evas_event_leave(b->evas.t); - evas_event_leave(b->evas.b); + evas_event_feed_mouse_out(b->evas.l); + evas_event_feed_mouse_out(b->evas.r); + evas_event_feed_mouse_out(b->evas.t); + evas_event_feed_mouse_out(b->evas.b); } } } @@ -854,16 +1009,25 @@ current_ev = ev; e = ev->event; { - Evas_List l; + Evas_List * l; E_Border *b; for (l = evases; l; l = l->next) { - Evas evas; + Evas * evas; + Window win; evas = l->data; - if (evas_get_window(evas) == e->win) - evas_update_rect(evas, e->x, e->y, e->w, e->h); + { + Evas_Engine_Info_Software_X11 *einfo; + + einfo = (Evas_Engine_Info_Software_X11 *) evas_engine_info_get(evas); + + /* the following is specific to the engine */ + win = einfo->info.drawable; + } + if (win == e->win) + evas_damage_rectangle_add(evas, e->x, e->y, e->w, e->h); } b = e_border_find_by_window(e->win); if (b) @@ -1120,7 +1284,7 @@ y = ((Ecore_Event_Mouse_Down *) (e->event))->y; bt = ((Ecore_Event_Mouse_Down *) (e->event))->button; { - Evas_List l; + Evas_List * l; again: for (l = b->grabs; l; l = l->next) @@ -1266,7 +1430,7 @@ static void e_border_cleanup(E_Border * b) { - Evas_List l; + Evas_List * l; D_ENTER; @@ -1754,30 +1918,30 @@ ecore_window_show(b->win.input); ecore_window_show(b->win.container); - b->evas.l = evas_new_all(ecore_display_get(), + b->evas.l = e_evas_new_all(ecore_display_get(), b->win.main, 0, 0, 1, 1, RENDER_METHOD_ALPHA_SOFTWARE, max_colors, font_cache, image_cache, font_dir); - b->win.l = evas_get_window(b->evas.l); - b->evas.r = evas_new_all(ecore_display_get(), + b->win.l = e_evas_get_window(b->evas.l); + b->evas.r = e_evas_new_all(ecore_display_get(), b->win.main, 0, 0, 1, 1, RENDER_METHOD_ALPHA_SOFTWARE, max_colors, font_cache, image_cache, font_dir); - b->win.r = evas_get_window(b->evas.r); - b->evas.t = evas_new_all(ecore_display_get(), + b->win.r = e_evas_get_window(b->evas.r); + b->evas.t = e_evas_new_all(ecore_display_get(), b->win.main, 0, 0, 1, 1, RENDER_METHOD_ALPHA_SOFTWARE, max_colors, font_cache, image_cache, font_dir); - b->win.t = evas_get_window(b->evas.t); - b->evas.b = evas_new_all(ecore_display_get(), + b->win.t = e_evas_get_window(b->evas.t); + b->evas.b = e_evas_new_all(ecore_display_get(), b->win.main, 0, 0, 1, 1, RENDER_METHOD_ALPHA_SOFTWARE, max_colors, font_cache, image_cache, font_dir); - b->win.b = evas_get_window(b->evas.b); + b->win.b = e_evas_get_window(b->evas.b); e_cursors_display_in_window(b->win.l, "Default"); e_cursors_display_in_window(b->win.r, "Default"); e_cursors_display_in_window(b->win.t, "Default"); @@ -1788,25 +1952,25 @@ b->obj.title.t = e_text_new(b->evas.t, "", "title"); b->obj.title.b = e_text_new(b->evas.b, "", "title"); - b->obj.title_clip.l = evas_add_rectangle(b->evas.l); - b->obj.title_clip.r = evas_add_rectangle(b->evas.r); - b->obj.title_clip.t = evas_add_rectangle(b->evas.t); - b->obj.title_clip.b = evas_add_rectangle(b->evas.b); - - evas_set_color(b->evas.l, b->obj.title_clip.l, 255, 255, 255, 255); - evas_set_color(b->evas.r, b->obj.title_clip.r, 255, 255, 255, 255); - evas_set_color(b->evas.t, b->obj.title_clip.t, 255, 255, 255, 255); - evas_set_color(b->evas.b, b->obj.title_clip.b, 255, 255, 255, 255); + b->obj.title_clip.l = evas_object_rectangle_add(b->evas.l); + b->obj.title_clip.r = evas_object_rectangle_add(b->evas.r); + b->obj.title_clip.t = evas_object_rectangle_add(b->evas.t); + b->obj.title_clip.b = evas_object_rectangle_add(b->evas.b); + + evas_object_color_set(b->obj.title_clip.l, 255, 255, 255, 255); + evas_object_color_set(b->obj.title_clip.r, 255, 255, 255, 255); + evas_object_color_set(b->obj.title_clip.t, 255, 255, 255, 255); + evas_object_color_set(b->obj.title_clip.b, 255, 255, 255, 255); e_text_show(b->obj.title.l); e_text_show(b->obj.title.r); e_text_show(b->obj.title.t); e_text_show(b->obj.title.b); - evas_show(b->evas.l, b->obj.title_clip.l); - evas_show(b->evas.r, b->obj.title_clip.r); - evas_show(b->evas.t, b->obj.title_clip.t); - evas_show(b->evas.b, b->obj.title_clip.b); + evas_object_show(b->obj.title_clip.l); + evas_object_show(b->obj.title_clip.r); + evas_object_show(b->obj.title_clip.t); + evas_object_show(b->obj.title_clip.b); e_text_set_clip(b->obj.title.l, b->obj.title_clip.l); e_text_set_clip(b->obj.title.r, b->obj.title_clip.r); @@ -1871,7 +2035,7 @@ void e_border_remove_mouse_grabs(E_Border * b) { - Evas_List l; + Evas_List * l; D_ENTER; @@ -1999,7 +2163,7 @@ void e_border_remove_all_mouse_grabs(void) { - Evas_List l; + Evas_List * l; D_ENTER; @@ -2012,7 +2176,7 @@ void e_border_attach_all_mouse_grabs(void) { - Evas_List l; + Evas_List * l; D_ENTER; @@ -2031,7 +2195,7 @@ static time_t mod_date_settings = 0; time_t mod; int changed = 0; - Evas_List l; + Evas_List * l; D_ENTER; @@ -2065,7 +2229,7 @@ E_Border * e_border_find_by_window(Window win) { - Evas_List l; + Evas_List * l; D_ENTER; @@ -2144,11 +2308,11 @@ e_border_set_color_class(b, "Title BG", 100, 200, 255, 255); #define HOOK_CB(_class) \ -ebits_set_classed_bit_callback(b->bits.t, _class, CALLBACK_MOUSE_IN, e_cb_mouse_in, b); \ -ebits_set_classed_bit_callback(b->bits.t, _class, CALLBACK_MOUSE_OUT, e_cb_mouse_out, b); \ -ebits_set_classed_bit_callback(b->bits.t, _class, CALLBACK_MOUSE_DOWN, e_cb_mouse_down, b); \ -ebits_set_classed_bit_callback(b->bits.t, _class, CALLBACK_MOUSE_UP, e_cb_mouse_up, b); \ -ebits_set_classed_bit_callback(b->bits.t, _class, CALLBACK_MOUSE_MOVE, e_cb_mouse_move, b); +ebits_set_classed_bit_callback(b->bits.t, _class, EVAS_CALLBACK_MOUSE_IN, e_cb_mouse_in, b); \ +ebits_set_classed_bit_callback(b->bits.t, _class, EVAS_CALLBACK_MOUSE_OUT, e_cb_mouse_out, b); \ +ebits_set_classed_bit_callback(b->bits.t, _class, EVAS_CALLBACK_MOUSE_DOWN, e_cb_mouse_down, b); \ +ebits_set_classed_bit_callback(b->bits.t, _class, EVAS_CALLBACK_MOUSE_UP, e_cb_mouse_up, b); \ +ebits_set_classed_bit_callback(b->bits.t, _class, EVAS_CALLBACK_MOUSE_MOVE, e_cb_mouse_move, b); HOOK_CB("Title_Bar"); HOOK_CB("Resize"); HOOK_CB("Resize_Horizontal"); @@ -2418,8 +2582,8 @@ { ecore_window_show(b->win.l); ecore_window_move_resize(b->win.l, x, y, w, h); - evas_set_output_size(b->evas.l, w, h); - evas_set_output_viewport(b->evas.l, x, y, w, h); + evas_output_size_set(b->evas.l, w, h); + evas_output_viewport_set(b->evas.l, x, y, w, h); } x = 0, y = 0, w = b->current.w, h = pt; @@ -2429,8 +2593,8 @@ { ecore_window_show(b->win.t); ecore_window_move_resize(b->win.t, x, y, w, h); - evas_set_output_size(b->evas.t, w, h); - evas_set_output_viewport(b->evas.t, x, y, w, h); + evas_output_size_set(b->evas.t, w, h); + evas_output_viewport_set(b->evas.t, x, y, w, h); } x = b->current.w - pr, y = pt, w = pr, h = @@ -2441,8 +2605,8 @@ { ecore_window_show(b->win.r); ecore_window_move_resize(b->win.r, x, y, w, h); - evas_set_output_size(b->evas.r, w, h); - evas_set_output_viewport(b->evas.r, x, y, w, h); + evas_output_size_set(b->evas.r, w, h); + evas_output_viewport_set(b->evas.r, x, y, w, h); } x = 0, y = b->current.h - pb, w = b->current.w, h = pb; @@ -2452,8 +2616,8 @@ { ecore_window_show(b->win.b); ecore_window_move_resize(b->win.b, x, y, w, h); - evas_set_output_size(b->evas.b, w, h); - evas_set_output_viewport(b->evas.b, x, y, w, h); + evas_output_size_set(b->evas.b, w, h); + evas_output_viewport_set(b->evas.b, x, y, w, h); } } else @@ -2468,8 +2632,8 @@ { ecore_window_show(b->win.l); ecore_window_move_resize(b->win.l, x, y, w, h); - evas_set_output_size(b->evas.l, w, h); - evas_set_output_viewport(b->evas.l, x, y, w, h); + evas_output_size_set(b->evas.l, w, h); + evas_output_viewport_set(b->evas.l, x, y, w, h); } x = 0, y = 0, w = b->current.w, h = pt; @@ -2479,8 +2643,8 @@ { ecore_window_show(b->win.t); ecore_window_move_resize(b->win.t, x, y, w, h); - evas_set_output_size(b->evas.t, w, h); - evas_set_output_viewport(b->evas.t, x, y, w, h); + evas_output_size_set(b->evas.t, w, h); + evas_output_viewport_set(b->evas.t, x, y, w, h); } x = b->current.w - pr, y = pt, w = pr, h = @@ -2491,8 +2655,8 @@ { ecore_window_show(b->win.r); ecore_window_move_resize(b->win.r, x, y, w, h); - evas_set_output_size(b->evas.r, w, h); - evas_set_output_viewport(b->evas.r, x, y, w, h); + evas_output_size_set(b->evas.r, w, h); + evas_output_viewport_set(b->evas.r, x, y, w, h); } x = 0, y = b->current.h - pb, w = b->current.w, h = pb; @@ -2502,8 +2666,8 @@ { ecore_window_show(b->win.b); ecore_window_move_resize(b->win.b, x, y, w, h); - evas_set_output_size(b->evas.b, w, h); - evas_set_output_viewport(b->evas.b, x, y, w, h); + evas_output_size_set(b->evas.b, w, h); + evas_output_viewport_set(b->evas.b, x, y, w, h); } if (b->current.shaded == b->client.h) { @@ -2557,8 +2721,8 @@ else e_text_set_state(b->obj.title.l, "normal"); } - evas_move(b->evas.l, b->obj.title_clip.l, tx, ty); - evas_resize(b->evas.l, b->obj.title_clip.l, tw, th); + evas_object_move(b->obj.title_clip.l, tx, ty); + evas_object_resize(b->obj.title_clip.l, tw, th); ebits_get_named_bit_geometry(b->bits.r, "Title_Area", &tx, &ty, &tw, &th); @@ -2571,8 +2735,8 @@ else e_text_set_state(b->obj.title.r, "normal"); } - evas_move(b->evas.r, b->obj.title_clip.r, tx, ty); - evas_resize(b->evas.r, b->obj.title_clip.r, tw, th); + evas_object_move(b->obj.title_clip.r, tx, ty); + evas_object_resize(b->obj.title_clip.r, tw, th); ebits_get_named_bit_geometry(b->bits.t, "Title_Area", &tx, &ty, &tw, &th); @@ -2585,8 +2749,8 @@ else e_text_set_state(b->obj.title.t, "normal"); } - evas_move(b->evas.t, b->obj.title_clip.t, tx, ty); - evas_resize(b->evas.t, b->obj.title_clip.t, tw, th); + evas_object_move(b->obj.title_clip.t, tx, ty); + evas_object_resize(b->obj.title_clip.t, tw, th); ebits_get_named_bit_geometry(b->bits.b, "Title_Area", &tx, &ty, &tw, &th); @@ -2599,8 +2763,8 @@ else e_text_set_state(b->obj.title.b, "normal"); } - evas_move(b->evas.b, b->obj.title_clip.b, tx, ty); - evas_resize(b->evas.b, b->obj.title_clip.b, tw, th); + evas_object_move(b->obj.title_clip.b, tx, ty); + evas_object_resize(b->obj.title_clip.b, tw, th); if (b->obj.title.l) e_text_set_layer(b->obj.title.l, 1); @@ -2669,7 +2833,7 @@ void e_border_raise(E_Border * b) { - Evas_List l; + Evas_List * l; E_Border *rel; D_ENTER; @@ -2709,7 +2873,7 @@ void e_border_lower(E_Border * b) { - Evas_List l; + Evas_List * l; E_Border *rel; D_ENTER; @@ -2871,7 +3035,7 @@ E_Border * e_border_current_focused(void) { - Evas_List l; + Evas_List * l; D_ENTER; for (l = borders; l; l = l->next) @@ -2897,7 +3061,7 @@ void e_border_focus_grab_ended(void) { - Evas_List l; + Evas_List * l; D_ENTER; @@ -2954,7 +3118,7 @@ void e_border_raise_next(void) { - Evas_List next; + Evas_List * next; E_Border *current; D_ENTER; @@ -3037,7 +3201,7 @@ D_RETURN; } -Evas_List +Evas_List * e_border_get_borders_list() { D_ENTER; =================================================================== RCS file: /cvsroot/enlightenment/e17/apps/e/src/border.h,v retrieving revision 1.19 retrieving revision 1.19.2.1 diff -u -3 -r1.19 -r1.19.2.1 --- border.h 3 Mar 2002 10:40:05 -0000 1.19 +++ border.h 29 Jul 2002 01:17:57 -0000 1.19.2.1 @@ -38,7 +38,7 @@ win; struct { - Evas l, r, t, b; + Evas *l, *r, *t, *b; } evas; struct @@ -50,7 +50,7 @@ title; struct { - Evas_Object l, r, t, b; + Evas_Object *l, *r, *t, *b; } title_clip; } @@ -213,7 +213,7 @@ int shape_changed; int placed; - Evas_List grabs; + Evas_List *grabs; E_Grab *click_grab; E_Desktop *desk; @@ -224,7 +224,7 @@ int hold_changes; - Evas_List menus; + Evas_List *menus; int changed; }; @@ -272,5 +272,5 @@ void e_border_print_pos(char *buf, E_Border * b); void e_border_print_size(char *buf, E_Border * b); void e_border_set_gravity(E_Border * b, int gravity); -Evas_List e_border_get_borders_list(); +Evas_List *e_border_get_borders_list(); #endif =================================================================== RCS file: /cvsroot/enlightenment/e17/apps/e/src/config.c,v retrieving revision 1.32 retrieving revision 1.32.2.1 diff -u -3 -r1.32 -r1.32.2.1 --- config.c 4 Mar 2002 22:00:15 -0000 1.32 +++ config.c 29 Jul 2002 01:17:57 -0000 1.32.2.1 @@ -187,7 +187,7 @@ time_t last_mod; } user , system; - Evas_List hash[256]; + Evas_List * hash[256]; }; void @@ -265,7 +265,7 @@ { E_DB_File *db; char buf[PATH_MAX]; - Evas_List l; + Evas_List * l; char *data; D_ENTER; @@ -326,7 +326,7 @@ break; case E_CFG_TYPE_LIST: { - Evas_List l2; + Evas_List * l2; int i, count; l2 = NULL; @@ -342,7 +342,7 @@ data2 = e_config_load(file, buf, node->sub_type); l2 = evas_list_append(l2, data2); } - (*((Evas_List *) (&(data[node->offset])))) = l2; + (*((Evas_List *) (&(data[node->offset])))) = *l2; } break; case E_CFG_TYPE_KEY: @@ -366,7 +366,7 @@ struct _list_base { - Evas_List elements; + Evas_List * elements; }; struct _list_element @@ -412,7 +412,7 @@ /* got data */ else { - Evas_List l; + Evas_List * l; for (l = cfg_data->elements; l; l = l->next) { =================================================================== RCS file: /cvsroot/enlightenment/e17/apps/e/src/config.h,v retrieving revision 1.8 retrieving revision 1.8.2.1 diff -u -3 -r1.8 -r1.8.2.1 --- config.h 3 Mar 2002 10:40:05 -0000 1.8 +++ config.h 29 Jul 2002 01:17:57 -0000 1.8.2.1 @@ -168,7 +168,7 @@ struct _e_config_base_type { int size; - Evas_List nodes; + Evas_List * nodes; }; struct _e_config_node =================================================================== RCS file: /cvsroot/enlightenment/e17/apps/e/src/cursors.c,v retrieving revision 1.9 retrieving revision 1.9.2.1 diff -u -3 -r1.9 -r1.9.2.1 --- cursors.c 3 Mar 2002 10:40:05 -0000 1.9 +++ cursors.c 29 Jul 2002 01:17:57 -0000 1.9.2.1 @@ -16,7 +16,7 @@ static int cursor_change = 0; static char *cur_cursor = NULL; static char *prev_cursor = NULL; -static Evas_List cursors = NULL; +static Evas_List * cursors = NULL; static void e_cursors_idle(void *data); static void e_cursors_set(char *type); @@ -62,7 +62,7 @@ static E_Cursor * e_cursors_find(char *type) { - Evas_List l; + Evas_List * l; D_ENTER; =================================================================== RCS file: /cvsroot/enlightenment/e17/apps/e/src/desktops.c,v retrieving revision 1.46.2.1 retrieving revision 1.46.2.2 diff -u -3 -r1.46.2.1 -r1.46.2.2 --- desktops.c 26 Mar 2002 22:05:08 -0000 1.46.2.1 +++ desktops.c 29 Jul 2002 01:17:57 -0000 1.46.2.2 @@ -7,7 +7,7 @@ #include "util.h" #include "object.h" -static Evas_List desktops = NULL; +static Evas_List * desktops = NULL; static Window e_base_win = 0; static int screen_w, screen_h; @@ -54,7 +54,7 @@ void e_desktops_scroll(E_Desktop * desk, int dx, int dy) { - Evas_List l; + Evas_List * l; int xd, yd, wd, hd; int grav, grav_stick; @@ -283,7 +283,7 @@ E_Desktop * e_desktops_get(int d) { - Evas_List l; + Evas_List * l; int i; D_ENTER; @@ -332,7 +332,7 @@ if (desk) { int dx, dy; - Evas_List l; + Evas_List * l; if ((d == desk->desk.desk) && (ax == desk->desk.area.x) && (ay == desk->desk.area.y)) @@ -384,7 +384,7 @@ D_RETURN; } -Evas_List +Evas_List * e_desktops_get_desktops_list() { D_ENTER; =================================================================== RCS file: /cvsroot/enlightenment/e17/apps/e/src/desktops.h,v retrieving revision 1.9.2.1 retrieving revision 1.9.2.2 diff -u -3 -r1.9.2.1 -r1.9.2.2 --- desktops.h 26 Mar 2002 22:05:08 -0000 1.9.2.1 +++ desktops.h 29 Jul 2002 01:17:57 -0000 1.9.2.2 @@ -28,7 +28,7 @@ int w, h; } real , virt; - Evas_List windows; + Evas_List * windows; struct { int desk; @@ -89,6 +89,6 @@ int e_desktops_get_current(void); void e_desktops_goto_desk(int d); void e_desktops_goto(int d, int ax, int ay); -Evas_List e_desktops_get_desktops_list(); +Evas_List *e_desktops_get_desktops_list(); #endif =================================================================== RCS file: /cvsroot/enlightenment/e17/apps/e/src/e.h,v retrieving revision 1.67 retrieving revision 1.67.2.1 diff -u -3 -r1.67 -r1.67.2.1 --- e.h 3 Mar 2002 10:40:05 -0000 1.67 +++ e.h 29 Jul 2002 01:17:57 -0000 1.67.2.1 @@ -22,6 +22,7 @@ #endif #include <Imlib2.h> #include <Evas.h> +#include <Evas_Engine_Software_X11.h> #include <Ebits.h> #include <Ecore.h> #include <Edb.h> @@ -44,7 +45,7 @@ /* macros for allowing sections of code to be runtime profiled */ #define E_PROF 1 #ifdef E_PROF -extern Evas_List __e_profiles; +extern Evas_List * __e_profiles; typedef struct _e_prof { @@ -57,7 +58,7 @@ #define E_PROF_START(_prof_func) \ { \ E_Prof __p, *__pp; \ -Evas_List __pl; \ +Evas_List * __pl; \ __p.func = _prof_func; \ __p.total = 0.0; \ __p.t1 = ecore_get_time(); \ @@ -86,7 +87,7 @@ } #define E_PROF_DUMP \ { \ -Evas_List __pl; \ +Evas_List * __pl; \ for (__pl = __e_profiles; __pl; __pl = __pl->next) \ { \ E_Prof *__p; \ =================================================================== RCS file: /cvsroot/enlightenment/e17/apps/e/src/embed.c,v retrieving revision 1.5 retrieving revision 1.5.2.1 diff -u -3 -r1.5 -r1.5.2.1 --- embed.c 3 Mar 2002 10:40:06 -0000 1.5 +++ embed.c 29 Jul 2002 01:17:57 -0000 1.5.2.1 @@ -7,9 +7,9 @@ struct _Embed { Ebits_Object o; - Evas evas; - Evas_Object image_obj; - Evas_Object clip_obj; + Evas * evas; + Evas_Object * image_obj; + Evas_Object * clip_obj; int clip_x, clip_y; E_Text *text_obj; }; @@ -23,7 +23,7 @@ em = _data; if (em->clip_obj) - evas_show(em->evas, em->clip_obj); + evas_object_show(em->clip_obj); e_text_show(em->text_obj); D_RETURN; @@ -38,7 +38,7 @@ em = _data; if (em->clip_obj) - evas_hide(em->evas, em->clip_obj); + evas_object_hide(em->clip_obj); e_text_hide(em->text_obj); D_RETURN; @@ -53,7 +53,7 @@ em = _data; if (em->clip_obj) - evas_move(em->evas, em->clip_obj, x, y); + evas_object_move(em->clip_obj, x, y); e_text_move(em->text_obj, x, y); D_RETURN; @@ -68,7 +68,7 @@ em = _data; if (em->clip_obj) - evas_resize(em->evas, em->clip_obj, w, h); + evas_object_resize(em->clip_obj, w, h); e_text_resize(em->text_obj, w, h); D_RETURN; @@ -83,7 +83,7 @@ em = _data; if (em->clip_obj) - evas_raise(em->evas, em->clip_obj); + evas_object_raise(em->clip_obj); e_text_raise(em->text_obj); D_RETURN; @@ -98,7 +98,7 @@ em = _data; if (em->clip_obj) - evas_lower(em->evas, em->clip_obj); + evas_object_lower(em->clip_obj); e_text_lower(em->text_obj); D_RETURN; @@ -113,14 +113,14 @@ em = _data; if (em->clip_obj) - evas_set_layer(em->evas, em->clip_obj, l); + evas_object_layer_set(em->clip_obj, l); e_text_set_layer(em->text_obj, l); D_RETURN; } static void -e_embed_text_func_set_clip(void *_data, Evas_Object clip) +e_embed_text_func_set_clip(void *_data, Evas_Object * clip) { Embed_Private *em; @@ -198,7 +198,7 @@ /***/ Embed -e_embed_text(Ebits_Object o, char *bit_name, Evas evas, E_Text * text_obj, +e_embed_text(Ebits_Object o, char *bit_name, Evas * evas, E_Text * text_obj, int clip_x, int clip_y) { Embed_Private *em; @@ -214,10 +214,10 @@ em->clip_y = clip_y; if ((clip_x) || (clip_y)) { - em->clip_obj = evas_add_rectangle(em->evas); - evas_set_color(em->evas, em->clip_obj, 255, 255, 255, 255); + em->clip_obj = evas_object_rectangle_add(em->evas); + evas_object_color_set(em->clip_obj, 255, 255, 255, 255); e_text_set_clip(em->text_obj, em->clip_obj); - evas_show(em->evas, em->clip_obj); + evas_object_show(em->clip_obj); } ebits_set_named_bit_replace(o, bit_name, e_embed_text_func_show, @@ -244,7 +244,7 @@ D_ENTER; em = _data; - evas_show(em->evas, em->image_obj); + evas_object_show(em->image_obj); D_RETURN; } @@ -257,7 +257,7 @@ D_ENTER; em = _data; - evas_hide(em->evas, em->image_obj); + evas_object_hide(em->image_obj); D_RETURN; } @@ -270,7 +270,7 @@ D_ENTER; em = _data; - evas_move(em->evas, em->image_obj, x, y); + evas_object_move(em->image_obj, x, y); D_RETURN; } @@ -283,8 +283,8 @@ D_ENTER; em = _data; - evas_resize(em->evas, em->image_obj, w, h); - evas_set_image_fill(em->evas, em->image_obj, 0, 0, w, h); + evas_object_resize(em->image_obj, w, h); + evas_object_image_fill_set(em->image_obj, 0, 0, w, h); D_RETURN; } @@ -297,7 +297,7 @@ D_ENTER; em = _data; - evas_raise(em->evas, em->image_obj); + evas_object_raise(em->image_obj); D_RETURN; } @@ -310,7 +310,7 @@ D_ENTER; em = _data; - evas_lower(em->evas, em->image_obj); + evas_object_lower(em->image_obj); D_RETURN; } @@ -323,13 +323,13 @@ D_ENTER; em = _data; - evas_set_layer(em->evas, em->image_obj, l); + evas_object_layer_set(em->image_obj, l); D_RETURN; } static void -e_embed_image_func_set_clip(void *_data, Evas_Object clip) +e_embed_image_func_set_clip(void *_data, Evas_Object * clip) { Embed_Private *em; @@ -337,9 +337,9 @@ em = _data; if (clip) - evas_set_clip(em->evas, em->image_obj, clip); + evas_object_clip_set(em->image_obj, clip); else - evas_unset_clip(em->evas, em->image_obj); + evas_object_clip_unset(em->image_obj); D_RETURN; } @@ -354,7 +354,7 @@ em = _data; if ((cc) && (!strcmp(cc, "icon"))) - evas_set_color(em->evas, em->image_obj, r, g, b, a); + evas_object_color_set(em->image_obj, r, g, b, a); D_RETURN; } @@ -370,7 +370,7 @@ em = _data; iw = 0; ih = 0; - evas_get_image_size(em->evas, em->image_obj, &iw, &ih); + evas_object_image_size_get(em->image_obj, &iw, &ih); if (w) *w = iw; if (h) @@ -388,7 +388,7 @@ D_ENTER; em = _data; - evas_get_image_size(em->evas, em->image_obj, &iw, &ih); + evas_object_image_size_get(em->image_obj, &iw, &ih); if (w) *w = iw; if (h) @@ -400,8 +400,8 @@ /***/ Embed -e_embed_image_object(Ebits_Object o, char *bit_name, Evas evas, - Evas_Object image_obj) +e_embed_image_object(Ebits_Object o, char *bit_name, Evas * evas, + Evas_Object * image_obj) { Embed_Private *em; @@ -438,7 +438,7 @@ em = emb; if (em->clip_obj) - evas_del_object(em->evas, em->clip_obj); + evas_object_del(em->clip_obj); FREE(em); D_RETURN; =================================================================== RCS file: /cvsroot/enlightenment/e17/apps/e/src/embed.h,v retrieving revision 1.2 retrieving revision 1.2.2.1 diff -u -3 -r1.2 -r1.2.2.1 --- embed.h 3 Mar 2002 10:40:06 -0000 1.2 +++ embed.h 29 Jul 2002 01:17:57 -0000 1.2.2.1 @@ -6,10 +6,10 @@ typedef void *Embed; -Embed e_embed_text(Ebits_Object o, char *bit_name, Evas evas, +Embed e_embed_text(Ebits_Object o, char *bit_name, Evas * evas, E_Text * text_obj, int clip_x, int clip_y); Embed e_embed_image_object(Ebits_Object o, char *bit_name, - Evas evas, Evas_Object image_obj); + Evas * evas, Evas_Object * image_obj); void e_embed_free(Embed em); #endif =================================================================== RCS file: /cvsroot/enlightenment/e17/apps/e/src/entry.c,v retrieving revision 1.29 retrieving revision 1.29.2.1 diff -u -3 -r1.29 -r1.29.2.1 --- entry.c 11 Mar 2002 20:03:13 -0000 1.29 +++ entry.c 29 Jul 2002 01:17:57 -0000 1.29.2.1 @@ -3,16 +3,16 @@ #include "config.h" #include "util.h" -static Evas_List entries; +static Evas_List * entries; static void e_clear_selection(Ecore_Event * ev); static void e_paste_request(Ecore_Event * ev); -static void e_entry_down_cb(void *_data, Evas _e, Evas_Object _o, +static void e_entry_down_cb(void *_data, Evas * _e, Evas_Object * _o, int _b, int _x, int _y); -static void e_entry_up_cb(void *_data, Evas _e, Evas_Object _o, int _b, +static void e_entry_up_cb(void *_data, Evas * _e, Evas_Object * _o, int _b, int _x, int _y); -static void e_entry_move_cb(void *_data, Evas _e, Evas_Object _o, +static void e_entry_move_cb(void *_data, Evas * _e, Evas_Object * _o, int _b, int _x, int _y); static void e_entry_realize(E_Entry * entry); static void e_entry_unrealize(E_Entry * entry); @@ -22,7 +22,7 @@ e_clear_selection(Ecore_Event * ev) { Ecore_Event_Clear_Selection *e; - Evas_List l; + Evas_List * l; D_ENTER; @@ -49,7 +49,7 @@ e_paste_request(Ecore_Event * ev) { Ecore_Event_Paste_Request *e; - Evas_List l; + Evas_List * l; D_ENTER; @@ -73,7 +73,7 @@ } static void -e_entry_down_cb(void *_data, Evas _e, Evas_Object _o, int _b, int _x, int _y) +e_entry_down_cb(void *_data, Evas *_e, Evas_Object * _o, int _b, int _x, int _y) { E_Entry *entry; int pos; @@ -90,13 +90,19 @@ else if (!entry->mouse_down) { entry->focused = 1; + /* checkme pos = evas_text_at_position(_e, entry->text, _x, _y, NULL, NULL, NULL, NULL); + */ + pos = evas_object_text_char_coords_get(entry->text, _x, _y, + NULL, NULL, NULL, NULL); if (pos < 0) { int tw; + /* checkme todo tw = evas_get_text_width(_e, entry->text); + */ if (_x > entry->x + tw) { entry->cursor_pos = strlen(entry->buffer); @@ -120,7 +126,7 @@ } static void -e_entry_up_cb(void *_data, Evas _e, Evas_Object _o, int _b, int _x, int _y) +e_entry_up_cb(void *_data, Evas * _e, Evas_Object * _o, int _b, int _x, int _y) { E_Entry *entry; @@ -141,7 +147,7 @@ } static void -e_entry_move_cb(void *_data, Evas _e, Evas_Object _o, int _b, int _x, int _y) +e_entry_move_cb(void *_data, Evas * _e, Evas_Object * _o, int _b, int _x, int _y) { E_Entry *entry; @@ -154,14 +160,20 @@ double ty; ppos = entry->cursor_pos; - evas_get_geometry(entry->evas, entry->text, NULL, &ty, NULL, NULL); + evas_object_geometry_get(entry->text, NULL, &ty, NULL, NULL); + /* checkme pos = evas_text_at_position(_e, entry->text, _x, ty, NULL, NULL, NULL, NULL); + */ + pos = evas_object_text_char_coords_get(entry->text, _x, ty, + NULL, NULL, NULL, NULL); if (pos < 0) { int tw; + /* checkme todo tw = evas_get_text_width(_e, entry->text); + */ if (_x > entry->x + tw) { entry->cursor_pos = strlen(entry->buffer); @@ -258,24 +270,27 @@ /* ebits_set_color_class(entry->obj_base, "Base FG", 100, 200, 255, 255);*/ } - entry->clip_box = evas_add_rectangle(entry->evas); - entry->text = evas_add_text(entry->evas, "borzoib", 8, ""); + entry->clip_box = evas_object_rectangle_add(entry->evas); + entry->text = evas_object_text_add(entry->evas); + evas_object_text_font_set(entry->text, "borzoib", 8); if (entry->obj_cursor) ebits_set_clip(entry->obj_cursor, entry->clip_box); if (entry->obj_selection) ebits_set_clip(entry->obj_selection, entry->clip_box); - entry->event_box = evas_add_rectangle(entry->evas); - evas_set_color(entry->evas, entry->clip_box, 255, 255, 255, 255); - evas_set_color(entry->evas, entry->event_box, 0, 0, 0, 0); - evas_set_color(entry->evas, entry->text, 0, 0, 0, 255); - evas_set_clip(entry->evas, entry->text, entry->clip_box); - evas_set_clip(entry->evas, entry->event_box, entry->clip_box); - evas_callback_add(entry->evas, entry->event_box, CALLBACK_MOUSE_DOWN, + entry->event_box = evas_object_rectangle_add(entry->evas); + evas_object_color_set(entry->clip_box, 255, 255, 255, 255); + evas_object_color_set(entry->event_box, 0, 0, 0, 0); + evas_object_color_set(entry->text, 0, 0, 0, 255); + evas_object_clip_set(entry->text, entry->clip_box); + evas_object_clip_set(entry->event_box, entry->clip_box); + /* checkme todo + evas_object_event_callback_add(entry->event_box, EVAS_CALLBACK_MOUSE_DOWN, e_entry_down_cb, entry); - evas_callback_add(entry->evas, entry->event_box, CALLBACK_MOUSE_UP, + evas_object_event_callback_add(entry->event_box, EVAS_CALLBACK_MOUSE_UP, e_entry_up_cb, entry); - evas_callback_add(entry->evas, entry->event_box, CALLBACK_MOUSE_MOVE, + evas_object_event_callback_add(entry->event_box, EVAS_CALLBACK_MOUSE_MOVE, e_entry_move_cb, entry); + */ D_RETURN; } @@ -286,11 +301,11 @@ D_ENTER; if (entry->event_box) - evas_del_object(entry->evas, entry->event_box); + evas_object_del(entry->event_box); if (entry->text) - evas_del_object(entry->evas, entry->text); + evas_object_del(entry->text); if (entry->clip_box) - evas_del_object(entry->evas, entry->clip_box); + evas_object_del(entry->clip_box); if (entry->obj_base) ebits_free(entry->obj_base); if (entry->obj_cursor) @@ -330,12 +345,12 @@ ebits_move(entry->obj_base, entry->x, entry->y); ebits_resize(entry->obj_base, entry->w, entry->h); } - evas_move(entry->evas, entry->clip_box, entry->x + p1l, entry->y + p1t); - evas_resize(entry->evas, entry->clip_box, entry->w - p1l - p1r, + evas_object_move(entry->clip_box, entry->x + p1l, entry->y + p1t); + evas_object_resize(entry->clip_box, entry->w - p1l - p1r, entry->h - p1t - p1b); - evas_move(entry->evas, entry->event_box, entry->x + p1l + p2l, + evas_object_move(entry->event_box, entry->x + p1l + p2l, entry->y + p1t + p2t); - evas_resize(entry->evas, entry->event_box, entry->w - p1l - p1r - p2l - p2r, + evas_object_resize(entry->event_box, entry->w - p1l - p1r - p2l - p2r, entry->h - p1t - p1b - p2t - p2b); if ((entry->buffer) && (entry->buffer[0] != 0) && (entry->focused)) { @@ -343,18 +358,30 @@ if (entry->cursor_pos < (int)strlen(entry->buffer)) { + /* checkme evas_text_at(entry->evas, entry->text, entry->cursor_pos, &tx, &ty, &tw, &th); + */ + evas_object_text_char_pos_get(entry->text, entry->cursor_pos, &tx, &ty, + &tw, &th); } else { entry->cursor_pos = strlen(entry->buffer); + /* checkme evas_text_at(entry->evas, entry->text, entry->cursor_pos - 1, &tx, &ty, &tw, &th); + */ + evas_object_text_char_pos_get(entry->text, entry->cursor_pos - 1, &tx, + &ty, &tw, &th); tx += tw; tw = entry->end_width; } + /* check me th = evas_get_text_height(entry->evas, entry->text); + */ + th = evas_object_text_ascent_get(entry->text)+ + evas_object_text_descent_get(entry->text); if (tx + tw + entry->scroll_pos > entry->w - p1l - p1r) entry->scroll_pos = entry->w - tx - tw - p1l - p1r - p1l - p2l; else if (tx + entry->scroll_pos < p1l) @@ -375,7 +402,11 @@ entry->scroll_pos = 0; tw = 4; tx = 0; + /* checkme th = evas_get_text_height(entry->evas, entry->text); + */ + th = evas_object_text_ascent_get(entry->text)+ + evas_object_text_descent_get(entry->text); if (entry->obj_cursor) { ebits_move(entry->obj_cursor, @@ -391,27 +422,45 @@ if (entry->obj_cursor) ebits_hide(entry->obj_cursor); } - evas_move(entry->evas, entry->text, entry->x + entry->scroll_pos + p1l + p2l, + evas_object_move(entry->text, entry->x + entry->scroll_pos + p1l + p2l, entry->y + p1t + p2t); if (entry->select.start >= 0) { double x1, y1, x2, tw, th; + /* checkme evas_text_at(entry->evas, entry->text, entry->select.start, &x1, &y1, NULL, NULL); + */ + evas_object_text_char_pos_get(entry->text, entry->select.start, &x1, &y1, + NULL, NULL); if (entry->select.start + entry->select.length <= (int)strlen(entry->buffer)) + { + /* checkme evas_text_at(entry->evas, entry->text, entry->select.start + entry->select.length - 1, &x2, NULL, &tw, &th); + */ + evas_object_text_char_pos_get(entry->text, + entry->select.start + entry->select.length - 1, &x2, + NULL, &tw, &th); + } else { + /* checkme evas_text_at(entry->evas, entry->text, entry->select.start + entry->select.length - 2, &x2, NULL, &tw, &th); + */ + evas_object_text_char_pos_get(entry->text, + entry->select.start + entry->select.length - 2, &x2, + NULL, &tw, &th); tw += entry->end_width; } + /* checkme todo th = evas_get_text_height(entry->evas, entry->text); + */ if (entry->obj_selection) { ebits_move(entry->obj_selection, @@ -598,7 +647,7 @@ } void -e_entry_set_evas(E_Entry * entry, Evas evas) +e_entry_set_evas(E_Entry * entry, Evas * evas) { D_ENTER; @@ -632,9 +681,9 @@ ebits_show(entry->obj_cursor); if (entry->obj_selection) ebits_show(entry->obj_selection); - evas_show(entry->evas, entry->event_box); - evas_show(entry->evas, entry->clip_box); - evas_show(entry->evas, entry->text); + evas_object_show(entry->event_box); + evas_object_show(entry->clip_box); + evas_object_show(entry->text); D_RETURN; } @@ -655,9 +704,9 @@ ebits_hide(entry->obj_cursor); if (entry->obj_selection) ebits_hide(entry->obj_selection); - evas_hide(entry->evas, entry->event_box); - evas_hide(entry->evas, entry->clip_box); - evas_hide(entry->evas, entry->text); + evas_object_hide(entry->event_box); + evas_object_hide(entry->clip_box); + evas_object_hide(entry->text); D_RETURN; } @@ -669,13 +718,13 @@ if (entry->obj_base) ebits_raise(entry->obj_base); - evas_raise(entry->evas, entry->clip_box); - evas_raise(entry->evas, entry->text); + evas_object_raise(entry->clip_box); + evas_object_raise(entry->text); if (entry->obj_selection) ebits_raise(entry->obj_selection); if (entry->obj_cursor) ebits_raise(entry->obj_cursor); - evas_raise(entry->evas, entry->event_box); + evas_object_raise(entry->event_box); D_RETURN; } @@ -685,13 +734,13 @@ { D_ENTER; - evas_lower(entry->evas, entry->event_box); + evas_object_lower(entry->event_box); if (entry->obj_cursor) ebits_lower(entry->obj_cursor); if (entry->obj_selection) ebits_lower(entry->obj_selection); - evas_lower(entry->evas, entry->text); - evas_lower(entry->evas, entry->clip_box); + evas_object_lower(entry->text); + evas_object_lower(entry->clip_box); if (entry->obj_base) ebits_lower(entry->obj_base); @@ -705,23 +754,23 @@ if (entry->obj_base) ebits_set_layer(entry->obj_base, l); - evas_set_layer(entry->evas, entry->clip_box, l); - evas_set_layer(entry->evas, entry->text, l); + evas_object_layer_set(entry->clip_box, l); + evas_object_layer_set(entry->text, l); if (entry->obj_selection) ebits_set_layer(entry->obj_selection, l); if (entry->obj_cursor) ebits_set_layer(entry->obj_cursor, l); - evas_set_layer(entry->evas, entry->event_box, l); + evas_object_layer_set(entry->event_box, l); D_RETURN; } void -e_entry_set_clip(E_Entry * entry, Evas_Object clip) +e_entry_set_clip(E_Entry * entry, Evas_Object * clip) { D_ENTER; - evas_set_clip(entry->evas, entry->clip_box, clip); + evas_object_clip_set(entry->clip_box, clip); if (entry->obj_base) ebits_set_clip(entry->obj_base, clip); @@ -733,7 +782,7 @@ { D_ENTER; - evas_unset_clip(entry->evas, entry->clip_box); + evas_object_clip_unset(entry->clip_box); if (entry->obj_base) ebits_unset_clip(entry->obj_base); @@ -779,12 +828,14 @@ if (entry->obj_cursor) ebits_get_insets(entry->obj_cursor, &p2l, &p2r, &p2t, &p2b); + /* checkme todo if (w) *w = evas_get_text_width(entry->evas, entry->text) + p1l + p1r + p2l + p2r; if (h) *h = evas_get_text_height(entry->evas, entry->text) + p1t + p1b + p2t + p2b; + */ D_RETURN; } @@ -805,9 +856,11 @@ ebits_get_insets(entry->obj_cursor, &p2l, &p2r, &p2t, &p2b); if (w) *w = 8000; + /* checkme todo if (h) *h = evas_get_text_height(entry->evas, entry->text) + p1t + p1b + p2t + p2b; + */ D_RETURN; } @@ -828,9 +881,11 @@ ebits_get_insets(entry->obj_cursor, &p2l, &p2r, &p2t, &p2b); if (w) *w = p1l + p1r + p2l + p2r + entry->min_size; + /* checkme todo if (h) *h = evas_get_text_height(entry->evas, entry->text) + p1t + p1b + p2t + p2b; + */ D_RETURN; } @@ -889,7 +944,7 @@ IF_FREE(entry->buffer); e_strdup(entry->buffer, text); - evas_set_text(entry->evas, entry->text, entry->buffer); + evas_object_text_text_set(entry->text, entry->buffer); if (entry->cursor_pos > (int)strlen(entry->buffer)) entry->cursor_pos = strlen(entry->buffer); e_entry_configure(entry); =================================================================== RCS file: /cvsroot/enlightenment/e17/apps/e/src/entry.h,v retrieving revision 1.6 retrieving revision 1.6.2.1 diff -u -3 -r1.6 -r1.6.2.1 --- entry.h 3 Mar 2002 10:40:06 -0000 1.6 +++ entry.h 29 Jul 2002 01:17:57 -0000 1.6.2.1 @@ -7,7 +7,7 @@ struct _E_Entry { - Evas evas; + Evas * evas; char *buffer; int cursor_pos; struct @@ -24,9 +24,9 @@ Ebits_Object obj_base; Ebits_Object obj_cursor; Ebits_Object obj_selection; - Evas_Object event_box; - Evas_Object clip_box; - Evas_Object text; + Evas_Object * event_box; + Evas_Object * clip_box; + Evas_Object * text; Window paste_win; Window selection_win; int end_width; @@ -52,13 +52,13 @@ E_Entry *e_entry_new(void); void e_entry_handle_keypress(E_Entry * entry, Ecore_Event_Key_Down * e); -void e_entry_set_evas(E_Entry * entry, Evas evas); +void e_entry_set_evas(E_Entry * entry, Evas * evas); void e_entry_show(E_Entry * entry); void e_entry_hide(E_Entry * entry); void e_entry_raise(E_Entry * entry); void e_entry_lower(E_Entry * entry); void e_entry_set_layer(E_Entry * entry, int l); -void e_entry_set_clip(E_Entry * entry, Evas_Object clip); +void e_entry_set_clip(E_Entry * entry, Evas_Object * clip); void e_entry_unset_clip(E_Entry * entry); void e_entry_move(E_Entry * entry, int x, int y); void e_entry_resize(E_Entry * entry, int w, int h); =================================================================== RCS file: /cvsroot/enlightenment/e17/apps/e/src/exec.c,v retrieving revision 1.10 retrieving revision 1.10.2.1 diff -u -3 -r1.10 -r1.10.2.1 --- exec.c 3 Mar 2002 10:40:06 -0000 1.10 +++ exec.c 29 Jul 2002 01:17:57 -0000 1.10.2.1 @@ -15,7 +15,7 @@ void *func_data; }; -static Evas_List hack_found_cb = NULL; +static Evas_List * hack_found_cb = NULL; void * e_exec_broadcast_cb_add(void (*func) (Window win, void *_data), void *data) @@ -42,7 +42,7 @@ void e_exec_broadcast_e_hack_found(Window win) { - Evas_List l; + Evas_List * l; for (l = hack_found_cb; l; l = l->next) { =================================================================== RCS file: /cvsroot/enlightenment/e17/apps/e/src/file.c,v retrieving revision 1.4 retrieving revision 1.4.2.1 diff -u -3 -r1.4 -r1.4.2.1 --- file.c 3 Mar 2002 10:40:06 -0000 1.4 +++ file.c 29 Jul 2002 01:17:57 -0000 1.4.2.1 @@ -193,12 +193,12 @@ D_RETURN_(f); } -Evas_List +Evas_List * e_file_ls(char *dir) { DIR *dirp; struct dirent *dp; - Evas_List list; + Evas_List * list; D_ENTER; @@ -210,7 +210,7 @@ { if ((strcmp(dp->d_name, ".")) && (strcmp(dp->d_name, ".."))) { - Evas_List l; + Evas_List * l; char *f; /* insertion sort */ =================================================================== RCS file: /cvsroot/enlightenment/e17/apps/e/src/file.h,v retrieving revision 1.4 retrieving revision 1.4.2.1 diff -u -3 -r1.4 -r1.4.2.1 --- file.h 3 Mar 2002 10:40:06 -0000 1.4 +++ file.h 29 Jul 2002 01:17:57 -0000 1.4.2.1 @@ -35,6 +35,6 @@ int e_file_can_exec(struct stat *st); char *e_file_readlink(char *link); -Evas_List e_file_ls(char *dir); +Evas_List * e_file_ls(char *dir); #endif =================================================================== RCS file: /cvsroot/enlightenment/e17/apps/e/src/focus.c,v retrieving revision 1.5 retrieving revision 1.5.2.1 diff -u -3 -r1.5 -r1.5.2.1 --- focus.c 3 Mar 2002 10:40:06 -0000 1.5 +++ focus.c 29 Jul 2002 01:17:57 -0000 1.5.2.1 @@ -4,7 +4,7 @@ #include "e.h" #include "util.h" -static Evas_List focus_list = NULL; +static Evas_List * focus_list = NULL; void e_focus_set_focus(E_Border * b) =================================================================== RCS file: /cvsroot/enlightenment/e17/apps/e/src/fs.c,v retrieving revision 1.28 retrieving revision 1.28.2.1 diff -u -3 -r1.28 -r1.28.2.1 --- fs.c 3 Mar 2002 10:40:06 -0000 1.28 +++ fs.c 29 Jul 2002 01:17:57 -0000 1.28.2.1 @@ -4,8 +4,8 @@ #include "util.h" static EfsdConnection *ec = NULL; -static Evas_List fs_handlers = NULL; -static Evas_List fs_restart_handlers = NULL; +static Evas_List * fs_handlers = NULL; +static Evas_List * fs_restart_handlers = NULL; static pid_t efsd_pid = 0; static void e_fs_child_handle(Ecore_Event * ev); @@ -80,7 +80,7 @@ if (efsd_next_event(ec, &ev) >= 0) { - Evas_List l; + Evas_List * l; for (l = fs_handlers; l; l = l->next) { @@ -136,7 +136,7 @@ } if (ec) { - Evas_List l; + Evas_List * l; ecore_add_event_fd(efsd_get_connection_fd(ec), e_fs_fd_handle); for (l = fs_restart_handlers; l; l = l->next) =================================================================== RCS file: /cvsroot/enlightenment/e17/apps/e/src/guides.c,v retrieving revision 1.12 retrieving revision 1.12.2.1 diff -u -3 -r1.12 -r1.12.2.1 --- guides.c 3 Mar 2002 10:40:06 -0000 1.12 +++ guides.c 29 Jul 2002 01:17:57 -0000 1.12.2.1 @@ -37,10 +37,10 @@ win; struct { - Evas evas; + Evas * evas; Ebits_Object bg; E_Text *text; - Evas_Object icon; + Evas_Object * icon; Imlib_Image image; } disp; @@ -81,6 +81,8 @@ D_RETURN; redraw = 0; + /* checkme todo */ +#if 0 if (guides.prev.visible != guides.current.visible) { if (guides.current.visible) @@ -540,6 +542,7 @@ } } guides.prev = guides.current; +#endif D_RETURN; } =================================================... [truncated message content] |
From: <enl...@li...> - 2002-07-29 01:18:59
|
Enlightenment CVS committal Author : sleuth Project : e17 Module : apps/e Dir : e17/apps/e/tools Modified Files: Tag: SPLIT e_setup.c Log Message: Port to evas2 - Replace evas API calls with evas2 API calls I've labelled areas I wasn't sure about with either "checkme" or "todo" depending on if it's possibly wrong, or unfinished. status: Well, it runs. I've been using Xnest, if you run this, and an Eterm or two things aren't bad. There is a little border corruption, usually on the lower right corner in my case. There is also a segf sometimes when I close an app. There are some warnings left. They should be harmless. I've ported raster's enstrom also. I'll be making a patch to his version available shortly. It'll be at http://kevb.net/files with a name like enstrom_evas2_20020530.diff Kevin Brosius <co...@co...> =================================================================== RCS file: /cvsroot/enlightenment/e17/apps/e/tools/e_setup.c,v retrieving revision 1.11 retrieving revision 1.11.2.1 diff -u -3 -r1.11 -r1.11.2.1 --- e_setup.c 26 Jan 2002 02:01:42 -0000 1.11 +++ e_setup.c 29 Jul 2002 01:18:59 -0000 1.11.2.1 @@ -1,4 +1,6 @@ +#include <X11/Xlib.h> #include <Evas.h> +#include <Evas_Engine_Software_X11.h> #include <Ebits.h> #include <Ecore.h> #include <Edb.h> @@ -48,6 +50,17 @@ if (__dest) strcpy(__dest, __var); \ } } +#define RENDER_METHOD_ALPHA_SOFTWARE 0 + +Evas * +e_evas_new_all(Display *disp, Window parent_window, + int x, int y, int win_w, int win_h, + int render, + int max_colors, int fc, int ic, + char *font_dir); +Window +e_evas_get_window(Evas *evas); + /* */ /* */ /* */ @@ -241,12 +254,12 @@ return f; } -Evas_List +Evas_List * e_file_list_dir(char *dir) { DIR *dirp; struct dirent *dp; - Evas_List list; + Evas_List * list; dirp = opendir(dir); if (!dirp) return NULL; @@ -256,7 +269,7 @@ if ((strcmp(dp->d_name, ".")) && (strcmp(dp->d_name, ".."))) { - Evas_List l; + Evas_List * l; char *f; /* insertion sort */ @@ -279,7 +292,7 @@ } void -e_file_list_dir_free(Evas_List list) +e_file_list_dir_free(Evas_List * list) { while (list) { @@ -299,7 +312,7 @@ { double x, y; - Evas_Object clip; + Evas_Object * clip; Ebits_Object *bg; struct { @@ -313,13 +326,13 @@ double dx, dy; int go; } move; - Evas_List lines; - Evas_List buttons; + Evas_List * lines; + Evas_List * buttons; }; struct _text_zone_button { - Evas_Object label; + Evas_Object * label; Ebits_Object *bg; double x, y, w, h; @@ -329,9 +342,9 @@ Window win_main; Window win_evas; -Evas evas; +Evas *evas; double scr_w, scr_h; -Evas_Object pointer; +Evas_Object * pointer; /* our stuff */ void idle(void *data); @@ -364,7 +377,7 @@ Ecore_Event_Window_Expose *e; e = (Ecore_Event_Window_Expose *)ev->event; - evas_update_rect(evas, e->x, e->y, e->w, e->h); + evas_damage_rectangle_add(evas, e->x, e->y, e->w, e->h); } void @@ -373,10 +386,10 @@ Ecore_Event_Mouse_Move *e; e = (Ecore_Event_Mouse_Move *)ev->event; - evas_move(evas, pointer, - evas_screen_x_to_world(evas, e->x), - evas_screen_y_to_world(evas, e->y)); - evas_event_move(evas, e->x, e->y); + evas_object_move(pointer, + evas_coord_screen_x_to_world(evas, e->x), + evas_coord_screen_y_to_world(evas, e->y)); + evas_event_feed_mouse_move(evas, e->x, e->y); } void @@ -385,7 +398,7 @@ Ecore_Event_Mouse_Down *e; e = (Ecore_Event_Mouse_Down *)ev->event; - evas_event_button_down(evas, e->x, e->y, e->button); + evas_event_feed_mouse_down(evas, e->button); } void @@ -394,7 +407,7 @@ Ecore_Event_Mouse_Up *e; e = (Ecore_Event_Mouse_Up *)ev->event; - evas_event_button_up(evas, e->x, e->y, e->button); + evas_event_feed_mouse_up(evas, e->button); } void @@ -438,7 +451,7 @@ ecore_window_get_geometry(0, NULL, NULL, &root_w, &root_h); win_main = ecore_window_override_new(0, 0, 0, root_w, root_h); - evas = evas_new_all(ecore_display_get(), + evas = e_evas_new_all(ecore_display_get(), win_main, 0, 0, root_w, root_w, RENDER_METHOD_ALPHA_SOFTWARE, @@ -456,12 +469,15 @@ e_bg_resize(bg, root_w, root_h); e_bg_show(bg); - pointer = evas_add_image_from_file(evas, PACKAGE_DATA_DIR"/data/setup/pointer.png"); - evas_set_pass_events(evas, pointer, 1); - evas_set_layer(evas, pointer, 1000000); - evas_show(evas, pointer); + pointer = evas_object_image_add(evas); + evas_object_image_file_set(pointer, + PACKAGE_DATA_DIR"/data/setup/pointer.png", + NULL); + evas_object_pass_events_set(pointer, 1); + evas_object_layer_set(pointer, 1000000); + evas_object_show(pointer); - win_evas = evas_get_window(evas); + win_evas = e_evas_get_window(evas); ecore_window_set_events(win_evas, XEV_EXPOSE | XEV_BUTTON | XEV_MOUSE_MOVE | XEV_KEY); ecore_set_blank_pointer(win_evas); @@ -470,15 +486,18 @@ ecore_keyboard_grab(win_evas); { - Evas_Object o; + Evas_Object * o; int w, h; - o = evas_add_image_from_file(evas, PACKAGE_DATA_DIR"/data/setup/logo.png"); - evas_get_image_size(evas, o, &w, &h); - evas_move(evas, o, (root_w - w) / 2, -32); - evas_set_layer(evas, o, 20); - evas_show(evas, o); - evas_set_pass_events(evas, o, 1); + o = evas_object_image_add(evas); + evas_object_image_file_set(o, + PACKAGE_DATA_DIR"/data/setup/logo.png", + NULL); + evas_object_image_size_get(o, &w, &h); + evas_object_move(o, (root_w - w) / 2, -32); + evas_object_layer_set(o, 20); + evas_object_show(o); + evas_object_pass_events_set(o, 1); } { Text_Zone *txz; @@ -503,14 +522,18 @@ } { - Evas_Object o; + Evas_Object * o; - o = evas_add_image_from_file(evas, PACKAGE_DATA_DIR"/data/setup/anim/e001.png"); - evas_move(evas, o, root_w - 120, -15); - evas_set_layer(evas, o, 30); - evas_show(evas, o); + o = evas_object_image_add(evas); + evas_object_image_file_set(o, + PACKAGE_DATA_DIR"/data/setup/anim/e001.png", + NULL); + + evas_object_move(o, root_w - 120, -15); + evas_object_layer_set(o, 30); + evas_object_show(o); animate_logo(0, o); - evas_set_pass_events(evas, o, 1); + evas_object_pass_events_set(o, 1); } scr_w = root_w; scr_h = root_h; @@ -523,13 +546,13 @@ txz = (Text_Zone *)data; { - Evas_List l; + Evas_List * l; for (l = txz->lines; l; l = l->next) { - evas_show(evas, l->data); + evas_object_show(l->data); } - evas_show(evas, txz->clip); + evas_object_show(txz->clip); } } @@ -540,13 +563,13 @@ txz = (Text_Zone *)data; { - Evas_List l; + Evas_List * l; for (l = txz->lines; l; l = l->next) { - evas_hide(evas, l->data); + evas_object_hide(l->data); } - evas_hide(evas, txz->clip); + evas_object_hide(txz->clip); } } @@ -577,11 +600,11 @@ txz = (Text_Zone *)data; { - Evas_List l; + Evas_List * l; for (l = txz->lines; l; l = l->next) { - evas_raise(evas, l->data); + evas_object_raise(l->data); } } } @@ -593,11 +616,11 @@ txz = (Text_Zone *)data; { - Evas_List l; + Evas_List * l; for (l = txz->lines; l; l = l->next) { - evas_lower(evas, l->data); + evas_object_lower(l->data); } } } @@ -609,11 +632,11 @@ txz = (Text_Zone *)data; { - Evas_List l; + Evas_List * l; for (l = txz->lines; l; l = l->next) { - evas_set_layer(evas, l->data, lay); + evas_object_layer_set(l->data, lay); } } } @@ -627,13 +650,13 @@ *minw = 0; *minh = 0; { - Evas_List l; + Evas_List * l; for (l = txz->lines; l; l = l->next) { double w, h; - evas_get_geometry(evas, l->data, NULL, NULL, &w, &h); + evas_object_geometry_get(l->data, NULL, NULL, &w, &h); if (w > *minw) *minw = w; *minh += h; } @@ -651,13 +674,13 @@ *maxw = 0; *maxh = 0; { - Evas_List l; + Evas_List * l; for (l = txz->lines; l; l = l->next) { double w, h; - evas_get_geometry(evas, l->data, NULL, NULL, &w, &h); + evas_object_geometry_get(l->data, NULL, NULL, &w, &h); if (w > *maxw) *maxw = w; *maxh += h; } @@ -735,8 +758,8 @@ txz->x = 0; txz->y = 0; - txz->clip = evas_add_rectangle(evas); - evas_set_color(evas, txz->clip, 255, 255, 255, 255); + txz->clip = evas_object_rectangle_add(evas); + evas_object_color_set(txz->clip, 255, 255, 255, 255); txz->bg = ebits_load(PACKAGE_DATA_DIR"/data/setup/textzone.bits.db"); if (txz->bg) { @@ -769,15 +792,15 @@ NULL, txz); ebits_set_classed_bit_callback(txz->bg, "Title_Bar", - CALLBACK_MOUSE_DOWN, + EVAS_CALLBACK_MOUSE_DOWN, _txz_cb_title_down, txz); ebits_set_classed_bit_callback(txz->bg, "Title_Bar", - CALLBACK_MOUSE_UP, + EVAS_CALLBACK_MOUSE_UP, _txz_cb_title_up, txz); ebits_set_classed_bit_callback(txz->bg, "Title_Bar", - CALLBACK_MOUSE_MOVE, + EVAS_CALLBACK_MOUSE_MOVE, _txz_cb_title_move, txz); } @@ -791,13 +814,13 @@ void txz_free(Text_Zone *txz) { - Evas_List l; + Evas_List * l; if (txz->bg) ebits_free(txz->bg); - evas_del_object(evas, txz->clip); + evas_object_del(txz->clip); for (l = txz->lines; l; l = l->next) - evas_del_object(evas, (Evas_Object)l->data); + evas_object_del((Evas_Object *)l->data); if (txz->lines) evas_list_free(txz->lines); FREE(txz); } @@ -805,19 +828,19 @@ void txz_show(Text_Zone *txz) { - Evas_List l; + Evas_List * l; if (txz->bg) ebits_show(txz->bg); for (l = txz->lines; l; l = l->next) - evas_show(evas, (Evas_Object)l->data); + evas_object_show((Evas_Object *)l->data); for (l = txz->buttons; l; l = l->next) { Text_Zone_Button *tb; tb = l->data; if (tb->bg) ebits_show(tb->bg); - evas_show(evas, tb->label); + evas_object_show(tb->label); } txz_adjust_txt(txz); } @@ -825,19 +848,19 @@ void txz_hide(Text_Zone *txz) { - Evas_List l; + Evas_List * l; if (txz->bg) ebits_hide(txz->bg); for (l = txz->lines; l; l = l->next) - evas_hide(evas, (Evas_Object)l->data); + evas_object_hide((Evas_Object *)l->data); for (l = txz->buttons; l; l = l->next) { Text_Zone_Button *tb; tb = l->data; if (tb->bg) ebits_hide(tb->bg); - evas_hide(evas, tb->label); + evas_object_hide(tb->label); } txz_adjust_txt(txz); } @@ -845,7 +868,7 @@ void txz_move(Text_Zone *txz, double x, double y) { - Evas_List l; + Evas_List * l; txz->x = x; txz->y = y; @@ -861,10 +884,10 @@ { char *p, *tok; double ypos; - Evas_List l; + Evas_List * l; for (l = txz->lines; l; l = l->next) - evas_del_object(evas, (Evas_Object)l->data); + evas_object_del((Evas_Object *)l->data); if (txz->lines) evas_list_free(txz->lines); txz->lines = NULL; @@ -875,7 +898,7 @@ char line[4096], size[2], align[2], *str; int sz; double tw, th, hadv, vadv; - Evas_Object o; + Evas_Object * o; strncpy(line, p, (tok - p)); line[tok - p] = 0; @@ -887,21 +910,23 @@ sz = atoi(size); sz = 4 + (sz * 2); - o = evas_add_text(evas, "nationff", sz, str); - evas_set_layer(evas, o, 9); - evas_set_color(evas, o, 0, 0, 0, 255); + o = evas_object_text_add(evas); + evas_object_text_font_set(o, "nationff", sz); + evas_object_text_text_set(o, str); + evas_object_layer_set(o, 9); + evas_object_color_set(o, 0, 0, 0, 255); txz->lines = evas_list_append(txz->lines, o); - tw = evas_get_text_width(evas, o); - th = evas_get_text_height(evas, o); - evas_text_get_advance(evas, o, &hadv, &vadv); + evas_object_geometry_get(o, NULL, NULL, &tw, &th); + hadv = evas_object_text_horiz_advance_get(o); + vadv = evas_object_text_vert_advance_get(o); if (align[0] == 'l') - evas_move(evas, o, txz->x, ypos); + evas_object_move(o, txz->x, ypos); else if (align[0] == 'r') - evas_move(evas, o, txz->x + 512 - tw, ypos); + evas_object_move(o, txz->x + 512 - tw, ypos); else - evas_move(evas, o, txz->x + ((512 - tw) / 2), ypos); - evas_set_clip(evas, o, txz->clip); - evas_put_data(evas, o, "align", (void *)((int)align[0])); + evas_object_move(o, txz->x + ((512 - tw) / 2), ypos); + evas_object_clip_set(o, txz->clip); + evas_object_data_set(o, "align", (void *)((int)align[0])); ypos += th; p = tok + 1; @@ -927,10 +952,12 @@ ZERO(tb, Text_Zone_Button, 1); txz->buttons = evas_list_append(txz->buttons, tb); - tb->label = evas_add_text(evas, "nationff", 12, text); - evas_set_pass_events(evas, tb->label, 1); - evas_set_color(evas, tb->label, 0, 0, 0, 255); - evas_set_layer(evas, tb->label, 12); + tb->label = evas_object_text_add(evas); + evas_object_text_font_set(tb->label,"nationff", 12); + evas_object_text_text_set(tb->label, text); + evas_object_pass_events_set(tb->label, 1); + evas_object_color_set(tb->label, 0, 0, 0, 255); + evas_object_layer_set(tb->label, 12); tb->bg = ebits_load(PACKAGE_DATA_DIR"/data/setup/textzone_button.bits.db"); if (tb->bg) ebits_add_to_evas(tb->bg, evas); @@ -940,28 +967,27 @@ void txz_adjust_txt(Text_Zone *txz) { - Evas_List l; + Evas_List * l; double ypos; double xpos; ypos = txz->l.y + 4; - evas_move(evas, txz->clip, txz->l.x, txz->l.y); - evas_resize(evas, txz->clip, txz->l.w, txz->l.h); + evas_object_move(txz->clip, txz->l.x, txz->l.y); + evas_object_resize(txz->clip, txz->l.w, txz->l.h); for (l = txz->lines; l; l = l->next) { - Evas_Object o; + Evas_Object * o; double tw, th; double x; char align; o = l->data; - align = (char)((int)evas_get_data(evas, o, "align")); + align = (char)((int)evas_object_data_get(o, "align")); x = txz->l.x + 4; - tw = evas_get_text_width(evas, o); - th = evas_get_text_height(evas, o); + evas_object_geometry_get(o, NULL, NULL, &tw, &th); if (align == 'c') x = txz->l.x + 4 + ((txz->l.w - 8 - tw) / 2); else if (align == 'r') x = txz->l.x + 4 + (txz->l.w - 8 - tw); - evas_move(evas, o, x, ypos); + evas_object_move(o, x, ypos); ypos += th; } xpos = 0; @@ -971,8 +997,7 @@ double tw, th; tb = l->data; - tw = evas_get_text_width(evas, tb->label); - th = evas_get_text_height(evas, tb->label); + evas_object_geometry_get(tb->label, NULL, NULL, &tw, &th); if (tb->bg) { int pl, pr, pt, pb; @@ -983,8 +1008,8 @@ ebits_show(tb->bg); ebits_resize(tb->bg, tw + pl + pr, txz->b.h); ebits_move(tb->bg, txz->b.x + xpos, txz->b.y); - evas_move(evas, tb->label, txz->b.x + pl + xpos, txz->b.y + pt + ((txz->b.h - pt - pb - th) / 2)); - evas_show(evas, tb->label); + evas_object_move(tb->label, txz->b.x + pl + xpos, txz->b.y + pt + ((txz->b.h - pt - pb - th) / 2)); + evas_object_show(tb->label); xpos += tw + pl + pr; } } @@ -993,13 +1018,13 @@ void animate_logo(int v, void *data) { - Evas_Object o; + Evas_Object * o; double t; static double start_t; char buf[4096]; int frame; - o = (Evas_Object)data; + o = (Evas_Object *)data; if (v == 0) start_t = ecore_get_time(); t = ecore_get_time() - start_t; frame = (int)(t * 25); @@ -1008,8 +1033,76 @@ if (frame < 10) sprintf(buf, PACKAGE_DATA_DIR"/data/setup/anim/e00%i.png", frame); else if (frame < 100) sprintf(buf, PACKAGE_DATA_DIR"/data/setup/anim/e0%i.png", frame); else if (frame < 1000) sprintf(buf, PACKAGE_DATA_DIR"/data/setup/anim/e%i.png", frame); - evas_set_image_file(evas, o, buf); + evas_object_image_file_set(evas, o, buf); ecore_add_event_timer("animate_logo", 0.01, animate_logo, 1, data); +} + + +Evas * +e_evas_new_all(Display *disp, Window parent_window, + int x, int y, int win_w, int win_h, + int render, + int max_colors, int fc, int ic, + char *font_dir) +{ + Evas *e; + + e = evas_new(); + evas_output_method_set(e, evas_render_method_lookup("software_x11")); + evas_output_size_set(e, win_w, win_h); + evas_output_viewport_set(e, 0, 0, win_w, win_h); + { + Evas_Engine_Info_Software_X11 *einfo; + XSetWindowAttributes att; + Window window; + + einfo = (Evas_Engine_Info_Software_X11 *) evas_engine_info_get(e); + + /* the following is specific to the engine */ + einfo->info.display = disp; + einfo->info.visual = DefaultVisual(disp, DefaultScreen(disp)); + einfo->info.colormap = DefaultColormap(disp, DefaultScreen(disp)); + + att.background_pixmap = None; + att.colormap = /*colormap*/ DefaultColormap(disp, DefaultScreen(disp)); + att.border_pixel = 0; + att.event_mask = 0; + window = XCreateWindow(disp, + parent_window, + x, y, win_w, win_h, 0, + DefaultDepth(disp, DefaultScreen(disp)), + /*imlib_get_visual_depth(display, visual),*/ + InputOutput, + einfo->info.visual, + CWColormap | CWBorderPixel | CWEventMask | CWBackPixmap, + &att); + + einfo->info.drawable = window /*win*/; + einfo->info.depth = DefaultDepth(disp, DefaultScreen(disp)); + einfo->info.rotation = 0; + einfo->info.debug = 0; + evas_engine_info_set(e, (Evas_Engine_Info *) einfo); + } + + evas_object_image_cache_set(e, 0); + evas_object_font_cache_set(e, 0); + evas_object_font_path_append(e, font_dir); + + return e; +} + +Window +e_evas_get_window(Evas *evas) +{ + Window win; + Evas_Engine_Info_Software_X11 *einfo; + + einfo = (Evas_Engine_Info_Software_X11 *) evas_engine_info_get(evas); + + /* the following is specific to the engine */ + win = einfo->info.drawable; + + return win; } int |
From: <enl...@li...> - 2002-07-30 02:07:03
|
Enlightenment CVS committal Author : sleuth Project : e17 Module : apps/e Dir : e17/apps/e/src Modified Files: Tag: SPLIT border.c text.c Log Message: Cleanup in border.c, text.c Kevin Brosius <co...@co...> =================================================================== RCS file: /cvsroot/enlightenment/e17/apps/e/src/border.c,v retrieving revision 1.72.2.2 retrieving revision 1.72.2.3 diff -u -3 -r1.72.2.2 -r1.72.2.3 --- border.c 29 Jul 2002 01:17:57 -0000 1.72.2.2 +++ border.c 30 Jul 2002 02:07:02 -0000 1.72.2.3 @@ -605,67 +605,32 @@ Window win; evas = b->evas.l; - { - Evas_Engine_Info_Software_X11 *einfo; - - einfo = (Evas_Engine_Info_Software_X11 *) evas_engine_info_get(evas); - - /* the following is specific to the engine */ - win = einfo->info.drawable; - } + win = e_evas_get_window(evas); ecore_window_get_root_relative_location(win, &x, &y); x = e->rx - x; y = e->ry - y; - /* checkme - evas_event_button_down(evas, x, y, e->button); - */ - /*evas_event_feed_mouse_move(evas, x, y);*/ evas_event_feed_mouse_down(evas,e->button); evas = b->evas.r; - { - Evas_Engine_Info_Software_X11 *einfo; - - einfo = (Evas_Engine_Info_Software_X11 *) evas_engine_info_get(evas); - - /* the following is specific to the engine */ - win = einfo->info.drawable; - } + win = e_evas_get_window(evas); ecore_window_get_root_relative_location(win, &x, &y); x = e->rx - x; y = e->ry - y; - /*evas_event_feed_mouse_move(evas, x, y);*/ evas_event_feed_mouse_down(evas,e->button); evas = b->evas.t; - { - Evas_Engine_Info_Software_X11 *einfo; - - einfo = (Evas_Engine_Info_Software_X11 *) evas_engine_info_get(evas); - - /* the following is specific to the engine */ - win = einfo->info.drawable; - } + win = e_evas_get_window(evas); ecore_window_get_root_relative_location(win, &x, &y); x = e->rx - x; y = e->ry - y; - /*evas_event_feed_mouse_move(evas, x, y);*/ evas_event_feed_mouse_down(evas,e->button); evas = b->evas.b; - { - Evas_Engine_Info_Software_X11 *einfo; - - einfo = (Evas_Engine_Info_Software_X11 *) evas_engine_info_get(evas); - - /* the following is specific to the engine */ - win = einfo->info.drawable; - } + win = e_evas_get_window(evas); ecore_window_get_root_relative_location(win, &x, &y); x = e->rx - x; y = e->ry - y; - /*evas_event_feed_mouse_move(evas, x, y);*/ evas_event_feed_mouse_down(evas,e->button); } } @@ -705,77 +670,33 @@ Window win; evas = b->evas.l; - { - Evas_Engine_Info_Software_X11 *einfo; - - einfo = (Evas_Engine_Info_Software_X11 *) evas_engine_info_get(evas); - - /* the following is specific to the engine */ - win = einfo->info.drawable; - } + win = e_evas_get_window(evas); ecore_window_get_root_relative_location(win, &x, &y); x = e->rx - x; y = e->ry - y; - /*evas_event_feed_mouse_move(evas, x, y);*/ evas_event_feed_mouse_up(evas, e->button); - /* checkme - evas_event_button_up(evas, x, y, e->button); - */ evas = b->evas.r; - { - Evas_Engine_Info_Software_X11 *einfo; - - einfo = (Evas_Engine_Info_Software_X11 *) evas_engine_info_get(evas); - - /* the following is specific to the engine */ - win = einfo->info.drawable; - } + win = e_evas_get_window(evas); ecore_window_get_root_relative_location(win, &x, &y); x = e->rx - x; y = e->ry - y; - /*evas_event_feed_mouse_move(evas, x, y);*/ evas_event_feed_mouse_up(evas, e->button); - /* checkme - evas_event_button_up(evas, x, y, e->button); - */ evas = b->evas.t; - { - Evas_Engine_Info_Software_X11 *einfo; - - einfo = (Evas_Engine_Info_Software_X11 *) evas_engine_info_get(evas); - - /* the following is specific to the engine */ - win = einfo->info.drawable; - } + win = e_evas_get_window(evas); ecore_window_get_root_relative_location(win, &x, &y); x = e->rx - x; y = e->ry - y; - /*evas_event_feed_mouse_move(evas, x, y);*/ evas_event_feed_mouse_up(evas, e->button); - /* checkme - evas_event_button_up(evas, x, y, e->button); - */ evas = b->evas.b; - { - Evas_Engine_Info_Software_X11 *einfo; - - einfo = (Evas_Engine_Info_Software_X11 *) evas_engine_info_get(evas); - - /* the following is specific to the engine */ - win = einfo->info.drawable; - } + win = e_evas_get_window(evas); ecore_window_get_root_relative_location(win, &x, &y); x = e->rx - x; y = e->ry - y; - /*evas_event_feed_mouse_move(evas, x, y);*/ evas_event_feed_mouse_up(evas, e->button); - /* checkme - evas_event_button_up(evas, x, y, e->button); - */ } } } @@ -814,56 +735,28 @@ Window win; evas = b->evas.l; - { - Evas_Engine_Info_Software_X11 *einfo; - - einfo = (Evas_Engine_Info_Software_X11 *) evas_engine_info_get(evas); - - /* the following is specific to the engine */ - win = einfo->info.drawable; - } + win = e_evas_get_window(evas); ecore_window_get_root_relative_location(win, &x, &y); x = e->rx - x; y = e->ry - y; evas_event_feed_mouse_move(evas, x, y); evas = b->evas.r; - { - Evas_Engine_Info_Software_X11 *einfo; - - einfo = (Evas_Engine_Info_Software_X11 *) evas_engine_info_get(evas); - - /* the following is specific to the engine */ - win = einfo->info.drawable; - } + win = e_evas_get_window(evas); ecore_window_get_root_relative_location(win, &x, &y); x = e->rx - x; y = e->ry - y; evas_event_feed_mouse_move(evas, x, y); evas = b->evas.t; - { - Evas_Engine_Info_Software_X11 *einfo; - - einfo = (Evas_Engine_Info_Software_X11 *) evas_engine_info_get(evas); - - /* the following is specific to the engine */ - win = einfo->info.drawable; - } + win = e_evas_get_window(evas); ecore_window_get_root_relative_location(win, &x, &y); x = e->rx - x; y = e->ry - y; evas_event_feed_mouse_move(evas, x, y); evas = b->evas.b; - { - Evas_Engine_Info_Software_X11 *einfo; - - einfo = (Evas_Engine_Info_Software_X11 *) evas_engine_info_get(evas); - - /* the following is specific to the engine */ - win = einfo->info.drawable; - } + win = e_evas_get_window(evas); ecore_window_get_root_relative_location(win, &x, &y); x = e->rx - x; @@ -898,67 +791,35 @@ Window win; evas = b->evas.l; - { - Evas_Engine_Info_Software_X11 *einfo; - - einfo = (Evas_Engine_Info_Software_X11 *) evas_engine_info_get(evas); - - /* the following is specific to the engine */ - win = einfo->info.drawable; - } + win = e_evas_get_window(evas); ecore_window_get_root_relative_location(win, &x, &y); x = e->rx - x; y = e->ry - y; - /*evas_event_feed_mouse_move(evas, x, y);*/ evas_event_feed_mouse_in(evas); evas = b->evas.r; - { - Evas_Engine_Info_Software_X11 *einfo; - - einfo = (Evas_Engine_Info_Software_X11 *) evas_engine_info_get(evas); - - /* the following is specific to the engine */ - win = einfo->info.drawable; - } + win = e_evas_get_window(evas); ecore_window_get_root_relative_location(win, &x, &y); x = e->rx - x; y = e->ry - y; - /*evas_event_feed_mouse_move(evas, x, y);*/ evas_event_feed_mouse_in(evas); evas = b->evas.t; - { - Evas_Engine_Info_Software_X11 *einfo; - - einfo = (Evas_Engine_Info_Software_X11 *) evas_engine_info_get(evas); - - /* the following is specific to the engine */ - win = einfo->info.drawable; - } + win = e_evas_get_window(evas); ecore_window_get_root_relative_location(win, &x, &y); x = e->rx - x; y = e->ry - y; - /*evas_event_feed_mouse_move(evas, x, y);*/ evas_event_feed_mouse_in(evas); evas = b->evas.b; - { - Evas_Engine_Info_Software_X11 *einfo; - - einfo = (Evas_Engine_Info_Software_X11 *) evas_engine_info_get(evas); - - /* the following is specific to the engine */ - win = einfo->info.drawable; - } + win = e_evas_get_window(evas); ecore_window_get_root_relative_location(win, &x, &y); x = e->rx - x; y = e->ry - y; - /*evas_event_feed_mouse_move(evas, x, y);*/ evas_event_feed_mouse_in(evas); } } @@ -1018,14 +879,7 @@ Window win; evas = l->data; - { - Evas_Engine_Info_Software_X11 *einfo; - - einfo = (Evas_Engine_Info_Software_X11 *) evas_engine_info_get(evas); - - /* the following is specific to the engine */ - win = einfo->info.drawable; - } + win = e_evas_get_window(evas); if (win == e->win) evas_damage_rectangle_add(evas, e->x, e->y, e->w, e->h); } =================================================================== RCS file: /cvsroot/enlightenment/e17/apps/e/src/text.c,v retrieving revision 1.9.2.1 retrieving revision 1.9.2.2 diff -u -3 -r1.9.2.1 -r1.9.2.2 --- text.c 29 Jul 2002 01:17:57 -0000 1.9.2.1 +++ text.c 30 Jul 2002 02:07:02 -0000 1.9.2.2 @@ -60,10 +60,6 @@ t->color.g = 255; t->color.b = 255; t->color.a = 255; - /* checkme - t->w = evas_get_text_width(t->evas, t->obj.text) + 2; - t->h = evas_get_text_height(t->evas, t->obj.text) + 2; - */ evas_object_geometry_get(t->obj.text, NULL, NULL, &t->w, &t->h); t->w += 2; t->h += 2; @@ -114,10 +110,6 @@ evas_object_text_text_set(t->obj.o3, t->text); evas_object_text_text_set(t->obj.o4, t->text); evas_object_text_text_set(t->obj.text, t->text); - /* checkme - t->w = evas_get_text_width(t->evas, t->obj.text) + 2; - t->h = evas_get_text_height(t->evas, t->obj.text) + 2; - */ evas_object_geometry_get(t->obj.text, NULL, NULL, &t->w, &t->h); t->w += 2; t->h += 2; |
From: <enl...@li...> - 2002-08-04 17:36:51
|
Enlightenment CVS committal Author : sleuth Project : e17 Module : apps/e Dir : e17/apps/e/tools Modified Files: Tag: SPLIT e_setup.c Log Message: Whoops... This helps a bit. Still no animation though. Kevin Brosius <co...@co...> =================================================================== RCS file: /cvsroot/enlightenment/e17/apps/e/tools/e_setup.c,v retrieving revision 1.11.2.1 retrieving revision 1.11.2.2 diff -u -3 -r1.11.2.1 -r1.11.2.2 --- e_setup.c 29 Jul 2002 01:18:59 -0000 1.11.2.1 +++ e_setup.c 4 Aug 2002 17:36:49 -0000 1.11.2.2 @@ -1033,7 +1033,7 @@ if (frame < 10) sprintf(buf, PACKAGE_DATA_DIR"/data/setup/anim/e00%i.png", frame); else if (frame < 100) sprintf(buf, PACKAGE_DATA_DIR"/data/setup/anim/e0%i.png", frame); else if (frame < 1000) sprintf(buf, PACKAGE_DATA_DIR"/data/setup/anim/e%i.png", frame); - evas_object_image_file_set(evas, o, buf); + evas_object_image_file_set(o, buf, NULL); ecore_add_event_timer("animate_logo", 0.01, animate_logo, 1, data); } |
From: <enl...@li...> - 2002-08-11 00:45:06
|
Enlightenment CVS committal Author : sleuth Project : e17 Module : apps/e Dir : e17/apps/e/src Modified Files: Tag: SPLIT config.c Log Message: That was kind of silly... Kevin Brosius <co...@co...> =================================================================== RCS file: /cvsroot/enlightenment/e17/apps/e/src/config.c,v retrieving revision 1.32.2.1 retrieving revision 1.32.2.2 diff -u -3 -r1.32.2.1 -r1.32.2.2 --- config.c 29 Jul 2002 01:17:57 -0000 1.32.2.1 +++ config.c 11 Aug 2002 00:45:04 -0000 1.32.2.2 @@ -342,7 +342,7 @@ data2 = e_config_load(file, buf, node->sub_type); l2 = evas_list_append(l2, data2); } - (*((Evas_List *) (&(data[node->offset])))) = *l2; + (*((Evas_List **) (&(data[node->offset])))) = l2; } break; case E_CFG_TYPE_KEY: |
From: <enl...@li...> - 2002-08-24 01:54:30
|
Enlightenment CVS committal Author : sleuth Project : e17 Module : apps/e Dir : e17/apps/e/src Modified Files: Tag: SPLIT Makefile.am actions.c desktops.c desktops.h globals.c guides.c main.c menu.c resist.c util.c Added Files: Tag: SPLIT background.c background.h e_dir.c e_dir.h e_file.c e_file.h e_view_look.c e_view_look.h e_view_machine.c e_view_machine.h iconbar.c iconbar.h icons.c icons.h scrollbar.c scrollbar.h shelf.c view.c view.h view_layout.c view_layout.h Log Message: Make it work... Backgrounds, menus, desktop icons, and the iconbar are back. It's fairly stable. No dnd. Don't shade the windows either. You've been warned. If you get it to segfault please let me know. Even better if you can get a backtrace. I've killed it a couple times when shading an xconsole window, but otherwise they just shade and ignore the unshade double click. Have fun! Kevin Brosius <co...@co...> =================================================================== RCS file: /cvsroot/enlightenment/e17/apps/e/src/Makefile.am,v retrieving revision 1.50.2.2 retrieving revision 1.50.2.3 diff -u -3 -r1.50.2.2 -r1.50.2.3 --- Makefile.am 27 Mar 2002 18:39:03 -0000 1.50.2.2 +++ Makefile.am 24 Aug 2002 01:54:27 -0000 1.50.2.3 @@ -32,6 +32,8 @@ guides.h guides.c \ globals.h globals.c \ icccm.h icccm.c \ + iconbar.h iconbar.c \ + icons.h icons.c \ ipc.h ipc.c \ keys.h keys.c \ main.c \ @@ -41,8 +43,16 @@ pack.c \ place.c place.h \ resist.h resist.c \ + scrollbar.h scrollbar.c \ + shelf.c \ text.h text.c \ util.h util.c \ + view.h view.c \ + e_file.h e_file.c \ + e_dir.h e_dir.c \ + e_view_machine.h e_view_machine.c \ + view_layout.h view_layout.c \ + e_view_look.h e_view_look.c \ e.h enlightenment_LDADD = @evas_libs@ @edb_libs@ @ebits_libs@ @ecore_libs@ @efsd_libs@ @ebg_libs@ -lm -lc $(INTLLIBS) =================================================================== RCS file: /cvsroot/enlightenment/e17/apps/e/src/actions.c,v retrieving revision 1.49.2.2 retrieving revision 1.49.2.3 diff -u -3 -r1.49.2.2 -r1.49.2.3 --- actions.c 29 Jul 2002 01:17:57 -0000 1.49.2.2 +++ actions.c 24 Aug 2002 01:54:27 -0000 1.49.2.3 @@ -6,6 +6,8 @@ #include "exec.h" #include "icccm.h" #include "keys.h" +#include "view.h" +#include "e_view_machine.h" #include "util.h" #include "guides.h" #include "bordermenu.h" @@ -1680,6 +1682,8 @@ { D_ENTER; + e_view_machine_close_all_views(); + ecore_focus_mode_reset(); ecore_sync(); @@ -1702,6 +1706,8 @@ int rx, int ry) { D_ENTER; + + e_view_machine_close_all_views(); ecore_focus_mode_reset(); ecore_sync(); =================================================================== RCS file: /cvsroot/enlightenment/e17/apps/e/src/desktops.c,v retrieving revision 1.46.2.2 retrieving revision 1.46.2.3 diff -u -3 -r1.46.2.2 -r1.46.2.3 --- desktops.c 29 Jul 2002 01:17:57 -0000 1.46.2.2 +++ desktops.c 24 Aug 2002 01:54:27 -0000 1.46.2.3 @@ -3,9 +3,11 @@ #include "config.h" #include "actions.h" #include "border.h" +#include "view.h" #include "icccm.h" #include "util.h" #include "object.h" +#include "e_view_machine.h" static Evas_List * desktops = NULL; static Window e_base_win = 0; @@ -39,10 +41,12 @@ ecore_event_filter_idle_handler_add(ecore_idle, NULL); e_icccm_advertise_e_compat(); + /* todo e_icccm_advertise_mwm_compat(); e_icccm_advertise_gnome_compat(); e_icccm_advertise_kde_compat(); e_icccm_advertise_net_compat(); + */ e_icccm_set_desk_area_size(0, 1, 1); e_icccm_set_desk_area(0, 0, 0); @@ -178,6 +182,53 @@ IF_FREE(desk->dir); e_object_cleanup(E_OBJECT(desk)); + + D_RETURN; +} + +void +e_desktops_init_file_display(E_Desktop * desk) +{ + E_View *v; + E_Border *b; + char buf[PATH_MAX]; + + D_ENTER; + + v = e_view_new(); + v->size.w = desk->real.w; + v->size.h = desk->real.h; + v->options.back_pixmap = 1; + + desk->view = v; + /* fixme: later */ + /* uncomment this and comment out the next line for some tress testing */ + /* e_strdup(v->dir, "/dev"); */ + /* e_strdup(v->dir, e_file_home()); */ + snprintf(buf, PATH_MAX, "%s/desktop/default", e_config_user_dir()); + + e_view_set_dir(v, buf); + v->is_desktop = 1; + e_view_realize(v); + e_view_populate(v); + e_view_set_look(v, NULL); + + ecore_window_hint_set_borderless(v->win.base); + ecore_window_hint_set_sticky(v->win.base, 1); + ecore_window_hint_set_layer(v->win.base, 1); + ecore_window_set_title(v->win.base, "Desktop"); + ecore_window_set_name_class(v->win.base, "FileView", "Desktop"); + ecore_window_set_min_size(v->win.base, desk->real.w, desk->real.h); + ecore_window_set_max_size(v->win.base, desk->real.w, desk->real.h); + b = e_border_adopt(v->win.base, 1); + b->client.internal = 1; + e_border_remove_click_grab(b); + b->client.sticky = 1; + b->client.fixed = 1; + b->client.is_desktop = 1; + + if (v->options.back_pixmap) + e_view_update(v); D_RETURN; } =================================================================== RCS file: /cvsroot/enlightenment/e17/apps/e/src/desktops.h,v retrieving revision 1.9.2.2 retrieving revision 1.9.2.3 diff -u -3 -r1.9.2.2 -r1.9.2.3 --- desktops.h 29 Jul 2002 01:17:57 -0000 1.9.2.2 +++ desktops.h 24 Aug 2002 01:54:27 -0000 1.9.2.3 @@ -2,6 +2,7 @@ #define E_DESKTOPS_H #include "e.h" +#include "view.h" #include "border.h" #include "object.h" @@ -39,6 +40,7 @@ area; } desk; + E_View *view; int changed; }; =================================================================== RCS file: /cvsroot/enlightenment/e17/apps/e/src/globals.c,v retrieving revision 1.4.2.1 retrieving revision 1.4.2.2 diff -u -3 -r1.4.2.1 -r1.4.2.2 --- globals.c 26 Mar 2002 22:05:08 -0000 1.4.2.1 +++ globals.c 24 Aug 2002 01:54:27 -0000 1.4.2.2 @@ -1,5 +1,8 @@ #include <Evas.h> #include <Ecore.h> +#include "view.h" +#include "e_view_machine.h" Ecore_Event_Key_Modifiers multi_select_mod = ECORE_EVENT_KEY_MODIFIER_SHIFT; Ecore_Event_Key_Modifiers range_select_mod = ECORE_EVENT_KEY_MODIFIER_CTRL; +E_View_Machine *VM = NULL; =================================================================== RCS file: /cvsroot/enlightenment/e17/apps/e/src/guides.c,v retrieving revision 1.12.2.1 retrieving revision 1.12.2.2 diff -u -3 -r1.12.2.1 -r1.12.2.2 --- guides.c 29 Jul 2002 01:17:57 -0000 1.12.2.1 +++ guides.c 24 Aug 2002 01:54:27 -0000 1.12.2.2 @@ -105,19 +105,22 @@ { font_dir = e_config_get("fonts"); guides.disp.evas = evas_new(); - evas_set_output_method(guides.disp.evas, RENDER_METHOD_IMAGE); + evas_output_method_set(guides.disp.evas, + evas_render_method_lookup("software_x11")); + /* kjb cep - add window? */ + /*evas_set_output_method(guides.disp.evas, RENDER_METHOD_IMAGE);*/ guides.disp.image = imlib_create_image(1, 1); imlib_context_set_image(guides.disp.image); imlib_image_set_has_alpha(1); imlib_image_clear(); - evas_set_output_image(guides.disp.evas, guides.disp.image); - evas_font_add_path(guides.disp.evas, font_dir); - evas_set_output_size(guides.disp.evas, 1, 1); - evas_set_output_viewport(guides.disp.evas, 0, 0, 1, 1); - evas_set_font_cache(guides.disp.evas, font_cache); - evas_set_image_cache(guides.disp.evas, image_cache); + /* evas_set_output_image(guides.disp.evas, guides.disp.image);*/ + evas_object_font_path_append(guides.disp.evas, font_dir); + evas_output_size_set(guides.disp.evas, 1, 1); + evas_output_viewport_set(guides.disp.evas, 0, 0, 1, 1); + evas_object_font_cache_set(guides.disp.evas, font_cache); + evas_object_image_cache_set(guides.disp.evas, image_cache); } } else @@ -197,19 +200,20 @@ } if ((!guides.current.display.icon) && (guides.disp.icon)) { - evas_del_object(guides.disp.evas, guides.disp.icon); + evas_object_del(guides.disp.icon); guides.disp.icon = NULL; } if ((guides.current.display.icon) && (!guides.disp.icon)) { guides.disp.icon = - evas_add_image_from_file(guides.disp.evas, - guides.current.display.icon); - evas_show(guides.disp.evas, guides.disp.icon); + evas_object_image_add(guides.disp.evas); + evas_object_image_file_set(guides.disp.icon, + guides.current.display.icon, NULL); + evas_object_show(guides.disp.icon); } if (guides.disp.icon) - evas_set_image_file(guides.disp.evas, guides.disp.icon, - guides.current.display.icon); + evas_object_image_file_set(guides.disp.icon, + guides.current.display.icon, NULL); e_text_set_text(guides.disp.text, guides.current.display.text); if (!guides.disp.bg) { @@ -286,16 +290,31 @@ guides.disp.image = NULL; } +#if 0 guides.disp.image = imlib_create_image(dw, dh); imlib_context_set_image(guides.disp.image); imlib_image_set_has_alpha(1); imlib_image_clear(); +#endif - evas_set_output_image(guides.disp.evas, guides.disp.image); - evas_set_output_size(guides.disp.evas, dw, dh); - evas_set_output_viewport(guides.disp.evas, 0, 0, dw, dh); - evas_update_rect(guides.disp.evas, 0, 0, dw, dh); + /*evas_set_output_image(guides.disp.evas, guides.disp.image);*/ + /* kjb cep */ + evas_output_size_set(guides.disp.evas, dw, dh); + evas_output_viewport_set(guides.disp.evas, 0, 0, dw, dh); + evas_damage_rectangle_add(guides.disp.evas, 0, 0, dw, dh); evas_render(guides.disp.evas); + { + int *im_data, iw, ih; + + im_data = evas_object_image_data_get(guides.disp.evas, 0 ); + guides.disp.image = imlib_create_image_using_copied_data(iw, ih, im_data); +#if 0 + guides.disp.image = imlib_create_image(dw, dh); +#endif + imlib_context_set_image(guides.disp.image); + imlib_image_set_has_alpha(1); + imlib_image_clear(); + } { Pixmap pmap, mask; =================================================================== RCS file: /cvsroot/enlightenment/e17/apps/e/src/main.c,v retrieving revision 1.33.2.2 retrieving revision 1.33.2.3 diff -u -3 -r1.33.2.2 -r1.33.2.3 --- main.c 29 Jul 2002 01:17:57 -0000 1.33.2.2 +++ main.c 24 Aug 2002 01:54:27 -0000 1.33.2.3 @@ -11,9 +11,11 @@ #include "keys.h" #include "ipc.h" #include "menu.h" +#include "view.h" #include "place.h" +#include "iconbar.h" #include "util.h" - +#include "e_view_machine.h" #include <time.h> #include <X11/Xproto.h> @@ -138,12 +140,16 @@ e_desktops_init(); e_border_init(); e_action_init(); - //e_menu_init(); + e_menu_init(); + e_view_machine_init(); e_entry_init(); e_keys_init(); e_guides_init(); e_place_init(); e_cursors_init(); + e_iconbar_init(); + + e_desktops_init_file_display(e_desktops_get(0)); setup(); =================================================================== RCS file: /cvsroot/enlightenment/e17/apps/e/src/menu.c,v retrieving revision 1.33.2.1 retrieving revision 1.33.2.2 diff -u -3 -r1.33.2.1 -r1.33.2.2 --- menu.c 29 Jul 2002 01:17:57 -0000 1.33.2.1 +++ menu.c 24 Aug 2002 01:54:27 -0000 1.33.2.2 @@ -657,6 +657,7 @@ D_RETURN; UN(_e); UN(_o); + UN(event_info); } /** @@ -684,6 +685,7 @@ D_RETURN; UN(_e); UN(_o); + UN(event_info); } void @@ -1517,6 +1519,7 @@ mi->sep_file = NULL; D_RETURN; + UN(m); } void =================================================================== RCS file: /cvsroot/enlightenment/e17/apps/e/src/resist.c,v retrieving revision 1.13.2.2 retrieving revision 1.13.2.3 diff -u -3 -r1.13.2.2 -r1.13.2.3 --- resist.c 29 Jul 2002 01:17:57 -0000 1.13.2.2 +++ resist.c 24 Aug 2002 01:54:27 -0000 1.13.2.3 @@ -54,6 +54,11 @@ /* can add code here to add more fake obstacles with custom resist values */ /* here if need be - ie xinerama middle between screens and panels etc. */ + { + if (b->desk->view->iconbar) + evas_list_append(rects, + e_iconbar_get_resist_rect(b->desk->view->iconbar)); + } for (l = b->desk->windows; l; l = l->next) { =================================================================== RCS file: /cvsroot/enlightenment/e17/apps/e/src/util.c,v retrieving revision 1.25.2.1 retrieving revision 1.25.2.2 diff -u -3 -r1.25.2.1 -r1.25.2.2 --- util.c 29 Jul 2002 01:17:57 -0000 1.25.2.1 +++ util.c 24 Aug 2002 01:54:27 -0000 1.25.2.2 @@ -157,6 +157,10 @@ evas_object_font_path_append(e, font_dir); return e; + UN(render); + UN(max_colors); + UN(fc); + UN(ic); } |
From: <enl...@li...> - 2002-08-24 21:10:23
|
Enlightenment CVS committal Author : sleuth Project : e17 Module : apps/e Dir : e17/apps/e/data/borders/default Modified Files: Tag: SPLIT selected-0.sticky-0.shaded-0.bits.db Log Message: Fix shading in the default border. Okay, there're issues here. evas2 is a little stricter about event handling and without a bunch of changes ebits doesn't behave exactly like it did with evas. So... for the time being, ebits regions need to be distinct if they handle events. And they need to have images attached. No dummy regions with event handlers. The default border had overlapping regions for Title_Bar and Resize_Vertical in the title area of the bits. This broke shading and dragging of the window when it was unselected. One of benr's themes (gabby) works fine, though. Kevin Brosius <co...@co...> =================================================================== RCS file: /cvsroot/enlightenment/e17/apps/e/data/borders/default/selected-0.sticky-0.shaded-0.bits.db,v retrieving revision 1.1 retrieving revision 1.1.2.1 diff -u -3 -r1.1 -r1.1.2.1 Binary files /tmp/cvsrAsi0g and /tmp/cvssO096m differ |
From: <enl...@li...> - 2002-08-30 20:38:48
|
Enlightenment CVS committal Author : sleuth Project : e17 Module : apps/e Dir : e17/apps/e/src Modified Files: Tag: SPLIT guides.c Log Message: Temp guides commit so others can play... Kevin Brosius <co...@co...> =================================================================== RCS file: /cvsroot/enlightenment/e17/apps/e/src/guides.c,v retrieving revision 1.12.2.2 retrieving revision 1.12.2.3 diff -u -3 -r1.12.2.2 -r1.12.2.3 --- guides.c 24 Aug 2002 01:54:27 -0000 1.12.2.2 +++ guides.c 30 Aug 2002 20:38:16 -0000 1.12.2.3 @@ -110,17 +110,68 @@ /* kjb cep - add window? */ /*evas_set_output_method(guides.disp.evas, RENDER_METHOD_IMAGE);*/ +#if 0 guides.disp.image = imlib_create_image(1, 1); imlib_context_set_image(guides.disp.image); imlib_image_set_has_alpha(1); imlib_image_clear(); - +#endif /* evas_set_output_image(guides.disp.evas, guides.disp.image);*/ evas_object_font_path_append(guides.disp.evas, font_dir); evas_output_size_set(guides.disp.evas, 1, 1); evas_output_viewport_set(guides.disp.evas, 0, 0, 1, 1); evas_object_font_cache_set(guides.disp.evas, font_cache); evas_object_image_cache_set(guides.disp.evas, image_cache); + + { + Evas_Engine_Info_Software_X11 *einfo; + XSetWindowAttributes att; + /*Window window;*/ + + Pixmap pmap, mask; + +#if 0 + pmap = ecore_pixmap_new(guides.win.display, dw, dh, 0); + mask = ecore_pixmap_new(guides.win.display, dw, dh, 1); +#else + pmap = ecore_pixmap_new(guides.win.display, 100, 100, 0); + mask = ecore_pixmap_new(guides.win.display, 100, 100, 1); +#endif + + einfo = (Evas_Engine_Info_Software_X11 *) evas_engine_info_get(guides.disp.evas); + + /* the following is specific to the engine */ + einfo->info.display = ecore_display_get(); + einfo->info.visual = DefaultVisual(einfo->info.display, DefaultScreen(einfo->info.display)); + einfo->info.colormap = DefaultColormap(einfo->info.display, DefaultScreen(einfo->info.display)); + + att.background_pixmap = None; + att.colormap = /*colormap*/ DefaultColormap(einfo->info.display, DefaultScreen(einfo->info.display)); + att.border_pixel = 0; + att.event_mask = 0; +#if 0 + window = XCreateWindow(einfo->info.display, + parent_window, + x, y, win_w, win_h, 0, + DefaultDepth(disp, DefaultScreen(disp)), + /*imlib_get_visual_depth(display, visual),*/ + InputOutput, + einfo->info.visual, + CWColormap | CWBorderPixel | CWEventMask | CWBackPixmap, + &att); + + einfo->info.drawable = window /*win*/; +#endif + einfo->info.drawable = pmap; + einfo->info.mask = mask; + + einfo->info.depth = DefaultDepth(einfo->info.display, DefaultScreen(einfo->info.display)); + einfo->info.rotation = 0; + einfo->info.debug = 0; + evas_engine_info_set(guides.disp.evas, (Evas_Engine_Info *) einfo); + } + + } } else @@ -303,6 +354,7 @@ evas_output_viewport_set(guides.disp.evas, 0, 0, dw, dh); evas_damage_rectangle_add(guides.disp.evas, 0, 0, dw, dh); evas_render(guides.disp.evas); +#if 0 { int *im_data, iw, ih; @@ -315,7 +367,9 @@ imlib_image_set_has_alpha(1); imlib_image_clear(); } +#endif { +#if 0 Pixmap pmap, mask; pmap = ecore_pixmap_new(guides.win.display, dw, dh, 0); @@ -331,11 +385,18 @@ imlib_context_set_color_modifier(NULL); imlib_render_image_on_drawable(0, 0); - ecore_window_set_background_pixmap(guides.win.display, pmap); - ecore_window_set_shape_mask(guides.win.display, mask); +#endif + Evas_Engine_Info_Software_X11 *einfo; + einfo = (Evas_Engine_Info_Software_X11 *) evas_engine_info_get(guides.disp.evas); + + + ecore_window_set_background_pixmap(guides.win.display, einfo->info.drawable); + ecore_window_set_shape_mask(guides.win.display, einfo->info.mask); ecore_window_clear(guides.win.display); +#if 0 ecore_pixmap_free(pmap); ecore_pixmap_free(mask); +#endif } ecore_window_move(guides.win.display, dx, dy); ecore_window_resize(guides.win.display, dw, dh); |
From: <enl...@li...> - 2002-09-02 12:47:42
|
Enlightenment CVS committal Author : sleuth Project : e17 Module : apps/e Dir : e17/apps/e/src Modified Files: Tag: SPLIT guides.c Log Message: Restore guides. Resizing will show outline boxes again and placement coords will display while dragging windows. Kevin Brosius <co...@co...> =================================================================== RCS file: /cvsroot/enlightenment/e17/apps/e/src/guides.c,v retrieving revision 1.12.2.3 retrieving revision 1.12.2.4 diff -u -3 -r1.12.2.3 -r1.12.2.4 --- guides.c 30 Aug 2002 20:38:16 -0000 1.12.2.3 +++ guides.c 2 Sep 2002 12:47:40 -0000 1.12.2.4 @@ -4,6 +4,7 @@ #include "config.h" #include "embed.h" #include "util.h" +#include <Imlib2.h> static struct { @@ -81,8 +82,6 @@ D_RETURN; redraw = 0; - /* checkme todo */ -#if 0 if (guides.prev.visible != guides.current.visible) { if (guides.current.visible) @@ -107,16 +106,6 @@ guides.disp.evas = evas_new(); evas_output_method_set(guides.disp.evas, evas_render_method_lookup("software_x11")); - /* kjb cep - add window? */ - /*evas_set_output_method(guides.disp.evas, RENDER_METHOD_IMAGE);*/ - -#if 0 - guides.disp.image = imlib_create_image(1, 1); - imlib_context_set_image(guides.disp.image); - imlib_image_set_has_alpha(1); - imlib_image_clear(); -#endif - /* evas_set_output_image(guides.disp.evas, guides.disp.image);*/ evas_object_font_path_append(guides.disp.evas, font_dir); evas_output_size_set(guides.disp.evas, 1, 1); evas_output_viewport_set(guides.disp.evas, 0, 0, 1, 1); @@ -130,13 +119,8 @@ Pixmap pmap, mask; -#if 0 - pmap = ecore_pixmap_new(guides.win.display, dw, dh, 0); - mask = ecore_pixmap_new(guides.win.display, dw, dh, 1); -#else pmap = ecore_pixmap_new(guides.win.display, 100, 100, 0); mask = ecore_pixmap_new(guides.win.display, 100, 100, 1); -#endif einfo = (Evas_Engine_Info_Software_X11 *) evas_engine_info_get(guides.disp.evas); @@ -149,19 +133,6 @@ att.colormap = /*colormap*/ DefaultColormap(einfo->info.display, DefaultScreen(einfo->info.display)); att.border_pixel = 0; att.event_mask = 0; -#if 0 - window = XCreateWindow(einfo->info.display, - parent_window, - x, y, win_w, win_h, 0, - DefaultDepth(disp, DefaultScreen(disp)), - /*imlib_get_visual_depth(display, visual),*/ - InputOutput, - einfo->info.visual, - CWColormap | CWBorderPixel | CWEventMask | CWBackPixmap, - &att); - - einfo->info.drawable = window /*win*/; -#endif einfo->info.drawable = pmap; einfo->info.mask = mask; @@ -169,6 +140,10 @@ einfo->info.rotation = 0; einfo->info.debug = 0; evas_engine_info_set(guides.disp.evas, (Evas_Engine_Info *) einfo); + + /* And setup for Imlib2 */ + imlib_context_set_display(einfo->info.display); + imlib_context_set_visual(DefaultVisual(einfo->info.display, DefaultScreen(einfo->info.display))); } @@ -341,51 +316,11 @@ guides.disp.image = NULL; } -#if 0 - guides.disp.image = imlib_create_image(dw, dh); - imlib_context_set_image(guides.disp.image); - imlib_image_set_has_alpha(1); - imlib_image_clear(); -#endif - - /*evas_set_output_image(guides.disp.evas, guides.disp.image);*/ - /* kjb cep */ evas_output_size_set(guides.disp.evas, dw, dh); evas_output_viewport_set(guides.disp.evas, 0, 0, dw, dh); evas_damage_rectangle_add(guides.disp.evas, 0, 0, dw, dh); evas_render(guides.disp.evas); -#if 0 { - int *im_data, iw, ih; - - im_data = evas_object_image_data_get(guides.disp.evas, 0 ); - guides.disp.image = imlib_create_image_using_copied_data(iw, ih, im_data); -#if 0 - guides.disp.image = imlib_create_image(dw, dh); -#endif - imlib_context_set_image(guides.disp.image); - imlib_image_set_has_alpha(1); - imlib_image_clear(); - } -#endif - { -#if 0 - Pixmap pmap, mask; - - pmap = ecore_pixmap_new(guides.win.display, dw, dh, 0); - mask = ecore_pixmap_new(guides.win.display, dw, dh, 1); - - imlib_context_set_image(guides.disp.image); - - imlib_context_set_dither_mask(1); - imlib_context_set_dither(1); - imlib_context_set_drawable(pmap); - imlib_context_set_mask(mask); - imlib_context_set_blend(0); - imlib_context_set_color_modifier(NULL); - - imlib_render_image_on_drawable(0, 0); -#endif Evas_Engine_Info_Software_X11 *einfo; einfo = (Evas_Engine_Info_Software_X11 *) evas_engine_info_get(guides.disp.evas); @@ -393,10 +328,6 @@ ecore_window_set_background_pixmap(guides.win.display, einfo->info.drawable); ecore_window_set_shape_mask(guides.win.display, einfo->info.mask); ecore_window_clear(guides.win.display); -#if 0 - ecore_pixmap_free(pmap); - ecore_pixmap_free(mask); -#endif } ecore_window_move(guides.win.display, dx, dy); ecore_window_resize(guides.win.display, dw, dh); @@ -622,7 +553,6 @@ } } guides.prev = guides.current; -#endif D_RETURN; } |
From: <enl...@li...> - 2002-09-02 23:56:55
|
Enlightenment CVS committal Author : sleuth Project : e17 Module : apps/e Dir : e17/apps/e/src Modified Files: Tag: SPLIT actions.h actions.c menubuild.c Log Message: Make e.shutdown and e.restart work again for menus. Kevin Brosius <co...@co...> =================================================================== RCS file: /cvsroot/enlightenment/e17/apps/e/src/actions.h,v retrieving revision 1.13 retrieving revision 1.13.2.1 diff -u -3 -r1.13 -r1.13.2.1 --- actions.h 3 Mar 2002 10:40:05 -0000 1.13 +++ actions.h 2 Sep 2002 23:56:52 -0000 1.13.2.1 @@ -97,4 +97,10 @@ void e_action_add_timer(E_Object * object, char *name); void e_action_del_timer_object(E_Object * object); + +void e_act_exit_start(E_Object * object, E_Action * a, void *data, int x, int y, + int rx, int ry); +void e_act_restart_start(E_Object * object, E_Action * a, void *data, int x, int y, + int rx, int ry); + #endif =================================================================== RCS file: /cvsroot/enlightenment/e17/apps/e/src/actions.c,v retrieving revision 1.49.2.4 retrieving revision 1.49.2.5 diff -u -3 -r1.49.2.4 -r1.49.2.5 --- actions.c 31 Aug 2002 17:46:28 -0000 1.49.2.4 +++ actions.c 2 Sep 2002 23:56:53 -0000 1.49.2.5 @@ -91,14 +91,14 @@ static void e_act_menu_start(E_Object * object, E_Action * a, void *data, int x, int y, int rx, int ry); - +#if 0 static void e_act_exit_start(E_Object * object, E_Action * a, void *data, int x, int y, int rx, int ry); static void e_act_restart_start(E_Object * object, E_Action * a, void *data, int x, int y, int rx, int ry); - +#endif static void e_act_stick_start(E_Object * object, E_Action * a, void *data, int x, int y, int rx, int ry); @@ -1667,7 +1667,7 @@ UN(ry); } -static void +void e_act_exit_start(E_Object * object, E_Action * a, void *data, int x, int y, int rx, int ry) { @@ -1692,7 +1692,7 @@ UN(ry); } -static void +void e_act_restart_start(E_Object * object, E_Action * a, void *data, int x, int y, int rx, int ry) { =================================================================== RCS file: /cvsroot/enlightenment/e17/apps/e/src/menubuild.c,v retrieving revision 1.18.2.3 retrieving revision 1.18.2.4 diff -u -3 -r1.18.2.3 -r1.18.2.4 --- menubuild.c 29 Jul 2002 01:17:57 -0000 1.18.2.3 +++ menubuild.c 2 Sep 2002 23:56:53 -0000 1.18.2.4 @@ -6,6 +6,7 @@ #include "file.h" #include "border.h" #include "observer.h" +#include "actions.h" Evas_List * build_menus = NULL; @@ -68,6 +69,14 @@ char *script; D_ENTER; + + script = data; + + if(strstr(script, "e.shutdown")) + e_act_exit_start(NULL,NULL,NULL,0,0,0,0); + + if(strstr(script, "e.restart")) + e_act_restart_start(NULL,NULL,NULL,0,0,0,0); D_RETURN; UN(m); |
From: <enl...@li...> - 2002-09-12 01:35:53
|
Enlightenment CVS committal Author : sleuth Project : e17 Module : apps/e Dir : e17/apps/e/src Modified Files: Tag: SPLIT view.c Log Message: That's just wrong... Breaking bg and iconbars without a fallback to the default bg. e doesn't even let you use menus without a bg. :( You'll need to manually copy default.bg.db from your share/enlightenment/data/backgrounds to the file tillsan mentioned to get a bg again. This commit brings back the iconbar. Bad till. Kevin Brosius <co...@co...> =================================================================== RCS file: /cvsroot/enlightenment/e17/apps/e/src/view.c,v retrieving revision 1.146.2.5 retrieving revision 1.146.2.6 diff -u -3 -r1.146.2.5 -r1.146.2.6 --- view.c 11 Sep 2002 21:51:26 -0000 1.146.2.5 +++ view.c 12 Sep 2002 01:35:51 -0000 1.146.2.6 @@ -1754,9 +1754,10 @@ /* * e_view_bg_reload(v); - * e_view_layout_reload(v); - * e_view_ib_reload(v); */ + e_view_layout_reload(v); + e_view_ib_reload(v); + } D_RETURN; } |
From: <enl...@li...> - 2003-02-05 23:07:32
|
Enlightenment CVS committal Author : sleuth Project : e17 Module : apps/e Dir : e17/apps/e/src Modified Files: border.c Log Message: Squash nasty focus bug. Let me know if this makes click-to-focus any worse, I haven't tested that. Kevin Brosius <co...@co...> =================================================================== RCS file: /cvsroot/enlightenment/e17/apps/e/src/border.c,v retrieving revision 1.74 retrieving revision 1.75 diff -u -3 -r1.74 -r1.75 --- border.c 15 Jan 2003 18:29:55 -0000 1.74 +++ border.c 5 Feb 2003 23:07:30 -0000 1.75 @@ -365,9 +365,6 @@ { E_Border *b; - if (!(e_border_current_focused())) - e_icccm_send_focus_to(e_desktop_window(), 1); - b = e_border_find_by_window(e->win); if (b) { @@ -1369,7 +1366,6 @@ ecore_window_reparent(b->win.client, 0, b->current.x + pl, b->current.y + pt); e_icccm_release(b->win.client); - e_desktop_raise_next_border(); D_RETURN; } |
From: <enl...@li...> - 2003-02-06 04:50:57
|
Enlightenment CVS committal Author : sleuth Project : e17 Module : apps/e Dir : e17/apps/e/src Modified Files: border.c desktops.c Log Message: And fixup desktop switching when windows are closed/loose focus. Kevin Brosius <co...@co...> =================================================================== RCS file: /cvsroot/enlightenment/e17/apps/e/src/border.c,v retrieving revision 1.75 retrieving revision 1.76 diff -u -3 -r1.75 -r1.76 --- border.c 5 Feb 2003 23:07:30 -0000 1.75 +++ border.c 6 Feb 2003 04:50:56 -0000 1.76 @@ -128,6 +128,13 @@ e_border_reshape(b); } } + + /* Check for a focused border, else focus the desktop */ + if( !e_border_current_focused()) + { + if( !e_desktop_raise_next_border()) + e_icccm_send_focus_to( e_desktop_window(), 1); + } e_db_runtime_flush(); D_RETURN; @@ -2635,6 +2642,10 @@ e_border_current_focused(void) { Evas_List * l; + E_Desktop * desk; + + /* Only check for borders on the current desktop */ + desk = e_desktops_get(e_desktops_get_current()); D_ENTER; for (l = borders; l; l = l->next) @@ -2642,7 +2653,9 @@ E_Border *b; b = l->data; - if (b->current.selected) + if (b->current.selected && + b->desk == desk + ) D_RETURN_(b); } for (l = borders; l; l = l->next) @@ -2650,7 +2663,9 @@ E_Border *b; b = l->data; - if (b->current.select_lost_from_grab) + if (b->current.select_lost_from_grab && + b->desk == desk + ) D_RETURN_(b); } =================================================================== RCS file: /cvsroot/enlightenment/e17/apps/e/src/desktops.c,v retrieving revision 1.49 retrieving revision 1.50 diff -u -3 -r1.49 -r1.50 --- desktops.c 24 Jan 2003 18:26:12 -0000 1.49 +++ desktops.c 6 Feb 2003 04:50:56 -0000 1.50 @@ -802,7 +802,6 @@ e_icccm_set_desk_area(0, desk->desk.area.x, desk->desk.area.y); e_icccm_set_desk(0, desk->desk.desk); - e_icccm_send_focus_to(e_base_win, 1); e_observee_notify_observers(E_OBSERVEE(desk), E_EVENT_DESKTOP_SWITCH, NULL); } |