Enlightenment CVS committal Author : kwo Project : e16 Module : e
Dir : e16/e/src Modified Files: Tag: branch-exp E.h emodule.h events.c ewins.c setup.c Log Message: Hooks... =================================================================== RCS file: /cvsroot/enlightenment/e16/e/src/E.h,v retrieving revision 1.314.2.40 retrieving revision 1.314.2.41 diff -u -3 -r1.314.2.40 -r1.314.2.41 --- E.h 7 Sep 2004 20:06:52 -0000 1.314.2.40 +++ E.h 17 Sep 2004 14:28:33 -0000 1.314.2.41 @@ -46,12 +46,17 @@ #include <X11/Xlocale.h> #include <X11/extensions/shape.h> #include <X11/extensions/XShm.h> + #ifdef HAS_XRANDR #ifdef HAVE_X11_EXTENSIONS_XRANDR_H #define USE_XRANDR 1 #endif #endif +#ifdef HAS_COMPOSITE +#define USE_COMPOSITE 1 +#endif + #include <Imlib2.h> #define EAllocColor(pxc) \ @@ -877,6 +882,7 @@ void (*MoveResize) (EWin * ewin, int resize); void (*Refresh) (EWin * ewin); void (*Close) (EWin * ewin); + void *cmhook; }; typedef struct _groupconfig @@ -1667,6 +1673,7 @@ /* Re-mapped X-events */ #define EX_EVENT_SHAPE_NOTIFY 64 #define EX_EVENT_SCREEN_CHANGE_NOTIFY 65 +#define EX_EVENT_DAMAGE_NOTIFY 66 #define ENABLE_DEBUG_EVENTS 1 #if ENABLE_DEBUG_EVENTS =================================================================== RCS file: /cvsroot/enlightenment/e16/e/src/Attic/emodule.h,v retrieving revision 1.1.2.6 retrieving revision 1.1.2.7 diff -u -3 -r1.1.2.6 -r1.1.2.7 --- emodule.h 5 Sep 2004 11:46:44 -0000 1.1.2.6 +++ emodule.h 17 Sep 2004 14:28:34 -0000 1.1.2.7 @@ -51,6 +51,7 @@ ESIGNAL_CONFIGURE, ESIGNAL_START, ESIGNAL_EXIT, + ESIGNAL_IDLE, ESIGNAL_AREA_CONFIGURED, ESIGNAL_AREA_SWITCH_START, ESIGNAL_AREA_SWITCH_DONE, =================================================================== RCS file: /cvsroot/enlightenment/e16/e/src/events.c,v retrieving revision 1.69.2.10 retrieving revision 1.69.2.11 diff -u -3 -r1.69.2.10 -r1.69.2.11 --- events.c 7 Sep 2004 20:06:54 -0000 1.69.2.10 +++ events.c 17 Sep 2004 14:28:34 -0000 1.69.2.11 @@ -26,6 +26,12 @@ #ifdef USE_XRANDR #include <X11/extensions/Xrandr.h> #endif +#ifdef USE_COMPOSITE +#include <X11/extensions/Xcomposite.h> +#include <X11/extensions/Xdamage.h> +#include <X11/extensions/Xfixes.h> +#include <X11/extensions/Xrender.h> +#endif #if ENABLE_DEBUG_EVENTS static const char *EventName(unsigned int type); @@ -39,10 +45,31 @@ static int error_base_randr = 0; #endif +#ifdef USE_COMPOSITE +static int event_base_comp = 0; +static int error_base_comp = 0; +static int event_base_damage = 0; +static int error_base_damage = 0; +static int event_base_fixes = 0; +static int error_base_fixes = 0; +static int event_base_render = 0; +static int error_base_render = 0; +#endif + char throw_move_events_away = 0; #define DOUBLE_CLICK_TIME 250 /* Milliseconds */ +static void +EventsExtensionShowInfo(const char *name, int major, int minor, + int event_base, int error_base) +{ + if (Mode.debug) + Eprintf("Found extension %-8s version %d.%d -" + " Event/error base = %d/%d\n", name, + major, minor, event_base, error_base); +} + void EventsInit(void) { @@ -52,10 +79,8 @@ if (XShapeQueryExtension(disp, &event_base_shape, &error_base_shape)) { XShapeQueryVersion(disp, &major, &minor); - if (Mode.debug) - Eprintf("Found extension Shape version %d.%d -" - " Event/error base = %d/%d\n", - major, minor, event_base_shape, error_base_shape); + EventsExtensionShowInfo("Shape", major, minor, + event_base_shape, error_base_shape); } else { @@ -73,15 +98,43 @@ if (XRRQueryExtension(disp, &event_base_randr, &error_base_randr)) { XRRQueryVersion(disp, &major, &minor); - if (Mode.debug) - Eprintf("Found extension RandR version %d.%d -" - " Event/error base = %d/%d\n", - major, minor, event_base_randr, error_base_randr); + EventsExtensionShowInfo("RandR", major, minor, + event_base_randr, error_base_randr); /* Listen for RandR events */ XRRSelectInput(disp, VRoot.win, RRScreenChangeNotifyMask); } #endif + +#ifdef USE_COMPOSITE + if (XCompositeQueryExtension(disp, &event_base_comp, &error_base_comp)) + { + XCompositeQueryVersion(disp, &major, &minor); + EventsExtensionShowInfo("Composite", major, minor, + event_base_comp, error_base_comp); + } + + if (XDamageQueryExtension(disp, &event_base_damage, &error_base_damage)) + { + XDamageQueryVersion(disp, &major, &minor); + EventsExtensionShowInfo("Damage", major, minor, + event_base_damage, error_base_damage); + } + + if (XFixesQueryExtension(disp, &event_base_fixes, &error_base_fixes)) + { + XFixesQueryVersion(disp, &major, &minor); + EventsExtensionShowInfo("Fixes", major, minor, + event_base_fixes, error_base_fixes); + } + + if (XRenderQueryExtension(disp, &event_base_render, &error_base_render)) + { + XRenderQueryVersion(disp, &major, &minor); + EventsExtensionShowInfo("Render", major, minor, + event_base_render, error_base_render); + } +#endif } static void @@ -253,6 +306,10 @@ rrev->width, rrev->height, rrev->mwidth, rrev->mheight); } #endif +#ifdef USE_COMPOSITE + else if (ev->type == event_base_damage + XDamageNotify) + ev->type = EX_EVENT_DAMAGE_NOTIFY; +#endif break; } @@ -557,6 +614,8 @@ && (((smfd >= 0) && (!(FD_ISSET(smfd, &fdset)))) || (smfd < 0))) HandleTimerEvent(); + ModulesSignal(ESIGNAL_IDLE, NULL); + DBUG_STACKCHECK; EDBUG_RETURN_; =================================================================== RCS file: /cvsroot/enlightenment/e16/e/src/Attic/ewins.c,v retrieving revision 1.1.2.12 retrieving revision 1.1.2.13 diff -u -3 -r1.1.2.12 -r1.1.2.13 --- ewins.c 31 Aug 2004 23:25:27 -0000 1.1.2.12 +++ ewins.c 17 Sep 2004 14:28:34 -0000 1.1.2.13 @@ -136,6 +136,8 @@ ERegisterWindow(disp, ewin->client.win); EventCallbackRegister(ewin->client.win, 0, EwinHandleEventsClient, ewin); + ModulesSignal(ESIGNAL_EWIN_CREATE, ewin); + EDBUG_RETURN(ewin); } =================================================================== RCS file: /cvsroot/enlightenment/e16/e/src/setup.c,v retrieving revision 1.139.2.13 retrieving revision 1.139.2.14 diff -u -3 -r1.139.2.13 -r1.139.2.14 --- setup.c 9 Sep 2004 19:16:18 -0000 1.139.2.13 +++ setup.c 17 Sep 2004 14:28:34 -0000 1.139.2.14 @@ -243,7 +243,7 @@ CWOverrideRedirect | CWSaveUnder | CWBackingStore | CWColormap | CWBackPixel | CWBorderPixel, &attr); - ERegisterWindow(disp, VRoot.win); + ERegisterWindow(disp, VRoot.win); xtp.encoding = XA_STRING; xtp.format = 8; ------------------------------------------------------- This SF.Net email is sponsored by: YOU BE THE JUDGE. Be one of 170 Project Admins to receive an Apple iPod Mini FREE for your judgement on who ports your project to Linux PPC the best. Sponsored by IBM. Deadline: Sept. 24. Go here: http://sf.net/ppc_contest.php _______________________________________________ enlightenment-cvs mailing list [EMAIL PROTECTED] https://lists.sourceforge.net/lists/listinfo/enlightenment-cvs