From: <enl...@li...> - 2000-12-08 00:38:13
|
Enlightenment CVS committal Author : raster Project : e17 Module : libs/ecore Modified Files: Ecore.h e_x.c Log Message: more api additions to suport writign E17... :) =================================================================== RCS file: /cvsroot/enlightenment/e17/libs/ecore/src/Ecore.h,v retrieving revision 1.10 retrieving revision 1.11 diff -u -3 -r1.10 -r1.11 --- Ecore.h 2000/11/25 02:07:06 1.10 +++ Ecore.h 2000/12/08 00:37:52 1.11 @@ -223,6 +223,7 @@ int e_window_get_gravity(Window win); void e_window_gravity_reset(Window win); void e_window_gravity_set(Window win, int gravity); +void e_window_bit_gravity_set(Window win, int gravity); void e_pointer_warp_by(int dx, int dy); void e_pointer_warp_to(int x, int y); void e_gc_set_include_inferiors(GC gc); @@ -250,6 +251,9 @@ int e_window_is_visible(Window win); int e_window_is_normal(Window win); int e_window_is_manageable(Window win); +void e_windows_restack(Window *wins, int num); +void e_window_stack_above(Window win, Window above); +void e_window_stack_below(Window win, Window below); typedef struct _eev Eevent; typedef struct _ev_fd_handler Ev_Fd_Handler; =================================================================== RCS file: /cvsroot/enlightenment/e17/libs/ecore/src/e_x.c,v retrieving revision 1.13 retrieving revision 1.14 diff -u -3 -r1.13 -r1.14 --- e_x.c 2000/11/25 02:07:06 1.13 +++ e_x.c 2000/12/08 00:37:52 1.14 @@ -2314,17 +2314,17 @@ { E_XID *xid = NULL; - if (XFindContext(disp, win, xid_context, (XPointer *) & xid) == XCNOENT) - return; + xid = e_validate_xid(win); if (xid) { XSetWindowAttributes att; - if (xid->gravity != NorthWestGravity) +/* if (xid->gravity != NorthWestGravity)*/ { att.win_gravity = NorthWestGravity; XChangeWindowAttributes(disp, win, CWWinGravity, &att); xid->gravity = NorthWestGravity; + xid->coords_invalid = 1; } } } @@ -2334,22 +2334,37 @@ { E_XID *xid = NULL; - if (XFindContext(disp, win, xid_context, (XPointer *) & xid) == XCNOENT) - return; + xid = e_validate_xid(win); if (xid) { - if (xid->gravity != gravity) +/* if (xid->gravity != gravity)*/ { XSetWindowAttributes att; att.win_gravity = gravity; XChangeWindowAttributes(disp, win, CWWinGravity, &att); xid->gravity = gravity; + xid->coords_invalid = 1; } } } void +e_window_bit_gravity_set(Window win, int gravity) +{ + E_XID *xid = NULL; + + xid = e_validate_xid(win); + if (xid) + { + XSetWindowAttributes att; + + att.bit_gravity = gravity; + XChangeWindowAttributes(disp, win, CWBitGravity, &att); + } +} + +void e_pointer_warp_by(int dx, int dy) { XWarpPointer(disp, None, None, 0, 0, 0, 0, dx, dy); @@ -2684,4 +2699,30 @@ return 1; } return 0; +} + +void +e_windows_restack(Window *wins, int num) +{ + XRestackWindows(disp, wins, num); +} + +void +e_window_stack_above(Window win, Window above) +{ + XWindowChanges xwc; + + xwc.sibling = above; + xwc.stack_mode = Above; + XConfigureWindow(disp, win, CWSibling | CWStackMode, &xwc); +} + +void +e_window_stack_below(Window win, Window below) +{ + XWindowChanges xwc; + + xwc.sibling = below; + xwc.stack_mode = Below; + XConfigureWindow(disp, win, CWSibling | CWStackMode, &xwc); } |