Enlightenment CVS committal
Author : kwo
Project : e16
Module : e
Dir : e16/e/src
Modified Files:
ecompmgr.c ecompmgr.h ewins.c x.c xwin.h
Log Message:
Shuffle some stuff around. Add function to find ARGB visual.
===================================================================
RCS file: /cvs/e/e16/e/src/ecompmgr.c,v
retrieving revision 1.118
retrieving revision 1.119
diff -u -3 -r1.118 -r1.119
--- ecompmgr.c 1 Jun 2006 19:21:30 -0000 1.118
+++ ecompmgr.c 1 Jun 2006 20:18:40 -0000 1.119
@@ -209,31 +209,6 @@
Desk * dsk, XserverRegion clip);
/*
- * Visuals
- */
-
-int
-EVisualIsARGB(Visual * vis)
-{
- XRenderPictFormat *pictfmt;
-
-#if 0 /* FIXME - Remove? */
- if (!Mode_compmgr.active)
- return 0;
-#endif
-
- pictfmt = XRenderFindVisualFormat(disp, vis);
- if (!pictfmt)
- return 0;
-
-#if 0
- Eprintf("Visual ID=%#lx Type=%d, alphamask=%d\n", vis->visualid,
- pictfmt->type, pictfmt->direct.alphaMask);
-#endif
- return pictfmt->type == PictTypeDirect && pictfmt->direct.alphaMask;
-}
-
-/*
* Regions
*/
===================================================================
RCS file: /cvs/e/e16/e/src/ecompmgr.h,v
retrieving revision 1.29
retrieving revision 1.30
diff -u -3 -r1.29 -r1.30
--- ecompmgr.h 22 Apr 2006 13:57:54 -0000 1.29
+++ ecompmgr.h 1 Jun 2006 20:18:40 -0000 1.30
@@ -36,8 +36,6 @@
int fade_speed;
} cfg_composite;
-int EVisualIsARGB(Visual * vis);
-
int ECompMgrIsActive(void);
int ECompMgrDeskConfigure(Desk * dsk);
@@ -66,8 +64,6 @@
void ECompMgrRepaint(void);
#else
-
-#define EVisualIsARGB(vis) 0
#define ECompMgrIsActive() 0
===================================================================
RCS file: /cvs/e/e16/e/src/ewins.c,v
retrieving revision 1.165
retrieving revision 1.166
diff -u -3 -r1.165 -r1.166
--- ewins.c 21 May 2006 12:17:57 -0000 1.165
+++ ewins.c 1 Jun 2006 20:18:40 -0000 1.166
@@ -181,7 +181,6 @@
{
XSetWindowAttributes att;
Win frame;
- XWindowAttributes win_attr;
if (ewin->client.w <= 0)
ewin->client.w = 100;
@@ -191,8 +190,11 @@
if (ewin->state.docked)
ewin->inh_wm.b.border = 1;
+#if USE_COMPOSITE
if (EVisualIsARGB(WinGetVisual(_EwinGetClientWin(ewin))))
{
+ XWindowAttributes win_attr;
+
ewin->o.argb = 1;
EGetWindowAttributes(_EwinGetClientWin(ewin), &win_attr);
@@ -204,6 +206,7 @@
0, &win_attr);
}
else
+#endif
{
frame =
ECreateWindow(VRoot.win, ewin->client.x, ewin->client.y,
===================================================================
RCS file: /cvs/e/e16/e/src/x.c,v
retrieving revision 1.143
retrieving revision 1.144
diff -u -3 -r1.143 -r1.144
--- x.c 24 May 2006 16:36:47 -0000 1.143
+++ x.c 1 Jun 2006 20:18:40 -0000 1.144
@@ -29,6 +29,9 @@
#include <X11/Xatom.h>
#include <X11/Xutil.h>
#include <X11/Xresource.h>
+#if USE_COMPOSITE
+#include <X11/extensions/Xrender.h>
+#endif
#define DEBUG_XWIN 0
@@ -1508,50 +1511,9 @@
return mask;
}
-void
-EGrabServer(void)
-{
- if (Mode.grabs.server_grabbed <= 0)
- {
- if (EventDebug(EDBUG_TYPE_GRABS))
- Eprintf("EGrabServer\n");
- XGrabServer(disp);
- }
- Mode.grabs.server_grabbed++;
-}
-
-void
-EUngrabServer(void)
-{
- if (Mode.grabs.server_grabbed == 1)
- {
- XUngrabServer(disp);
- XFlush(disp);
- if (EventDebug(EDBUG_TYPE_GRABS))
- Eprintf("EUngrabServer\n");
- }
- Mode.grabs.server_grabbed--;
- if (Mode.grabs.server_grabbed < 0)
- Mode.grabs.server_grabbed = 0;
-}
-
-int
-EServerIsGrabbed(void)
-{
- return Mode.grabs.server_grabbed;
-}
-
-void
-EFlush(void)
-{
- XFlush(disp);
-}
-
-void
-ESync(void)
-{
- XSync(disp, False);
-}
+/*
+ * Display
+ */
Display *
EDisplayOpen(const char *dstr, int scr)
@@ -1614,6 +1576,113 @@
disp = NULL;
}
+
+/*
+ * Server
+ */
+
+void
+EGrabServer(void)
+{
+ if (Mode.grabs.server_grabbed <= 0)
+ {
+ if (EventDebug(EDBUG_TYPE_GRABS))
+ Eprintf("EGrabServer\n");
+ XGrabServer(disp);
+ }
+ Mode.grabs.server_grabbed++;
+}
+
+void
+EUngrabServer(void)
+{
+ if (Mode.grabs.server_grabbed == 1)
+ {
+ XUngrabServer(disp);
+ XFlush(disp);
+ if (EventDebug(EDBUG_TYPE_GRABS))
+ Eprintf("EUngrabServer\n");
+ }
+ Mode.grabs.server_grabbed--;
+ if (Mode.grabs.server_grabbed < 0)
+ Mode.grabs.server_grabbed = 0;
+}
+
+int
+EServerIsGrabbed(void)
+{
+ return Mode.grabs.server_grabbed;
+}
+
+void
+EFlush(void)
+{
+ XFlush(disp);
+}
+
+void
+ESync(void)
+{
+ XSync(disp, False);
+}
+
+/*
+ * Visuals
+ */
+
+#if USE_COMPOSITE
+
+Visual *
+EVisualFindARGB(void)
+{
+ XVisualInfo *xvi, xvit;
+ int i, num;
+ Visual *vis;
+
+ xvit.screen = VRoot.scr;
+ xvit.depth = 32;
+ xvit.class = TrueColor;
+
+ xvi = XGetVisualInfo(disp,
+ VisualScreenMask | VisualDepthMask | VisualClassMask,
+ &xvit, &num);
+ if (!xvi)
+ return NULL;
+
+ for (i = 0; i < num; i++)
+ {
+ if (EVisualIsARGB(xvi[i].visual))
+ break;
+ }
+
+ vis = (i < num) ? xvi[i].visual : NULL;
+
+ XFree(xvi);
+
+ return vis;
+}
+
+int
+EVisualIsARGB(Visual * vis)
+{
+ XRenderPictFormat *pictfmt;
+
+ pictfmt = XRenderFindVisualFormat(disp, vis);
+ if (!pictfmt)
+ return 0;
+
+#if 0
+ Eprintf("Visual ID=%#lx Type=%d, alphamask=%d\n", vis->visualid,
+ pictfmt->type, pictfmt->direct.alphaMask);
+#endif
+ return pictfmt->type == PictTypeDirect && pictfmt->direct.alphaMask;
+}
+
+#endif
+
+/*
+ * Misc
+ */
Time
EGetTimestamp(void)
===================================================================
RCS file: /cvs/e/e16/e/src/xwin.h,v
retrieving revision 1.21
retrieving revision 1.22
diff -u -3 -r1.21 -r1.22
--- xwin.h 21 May 2006 18:44:18 -0000 1.21
+++ xwin.h 1 Jun 2006 20:18:40 -0000 1.22
@@ -28,6 +28,23 @@
#define NoWin ((Win)0)
+Display *EDisplayOpen(const char *dstr, int scr);
+void EDisplayClose(void);
+void EDisplayDisconnect(void);
+
+void EGrabServer(void);
+void EUngrabServer(void);
+int EServerIsGrabbed(void);
+void EFlush(void);
+void ESync(void);
+
+#if USE_COMPOSITE
+int EVisualIsARGB(Visual * vis);
+Visual *EVisualFindARGB(void);
+#endif
+
+Time EGetTimestamp(void);
+
Win ELookupXwin(Window xwin);
#define Xwin(win) WinGetXwin(win)
@@ -39,16 +56,6 @@
Win ECreateWinFromXwin(Window xwin);
void EDestroyWin(Win win);
-
-Display *EDisplayOpen(const char *dstr, int scr);
-void EDisplayClose(void);
-void EDisplayDisconnect(void);
-void EGrabServer(void);
-void EUngrabServer(void);
-int EServerIsGrabbed(void);
-void EFlush(void);
-void ESync(void);
-Time EGetTimestamp(void);
Win ERegisterWindow(Window xwin, XWindowAttributes * pxwa);
void EUnregisterWindow(Win win);
_______________________________________________
enlightenment-cvs mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/enlightenment-cvs