From: Enlightenment C. <no...@cv...> - 2007-05-20 08:09:01
|
Enlightenment CVS committal Author : kwo Project : e16 Module : e Dir : e16/e/src Modified Files: ecompmgr.c eobj.c eobj.h ewins.c x.c xwin.h Log Message: Move argb bit from Eobj down to Win struct. =================================================================== RCS file: /cvs/e/e16/e/src/ecompmgr.c,v retrieving revision 1.152 retrieving revision 1.153 diff -u -3 -r1.152 -r1.153 --- ecompmgr.c 18 May 2007 08:25:02 -0000 1.152 +++ ecompmgr.c 20 May 2007 08:08:58 -0000 1.153 @@ -1235,7 +1235,7 @@ if (eo->noredir) mode = WINDOW_UNREDIR; - else if (eo->argb) + else if (eo->win->argb) mode = WINDOW_ARGB; else if (cw->opacity != OPAQUE) mode = WINDOW_TRANS; =================================================================== RCS file: /cvs/e/e16/e/src/eobj.c,v retrieving revision 1.92 retrieving revision 1.93 diff -u -3 -r1.92 -r1.93 --- eobj.c 7 Apr 2007 13:19:30 -0000 1.92 +++ eobj.c 20 May 2007 08:08:58 -0000 1.93 @@ -158,12 +158,16 @@ } #endif +#if USE_GLX +#define WINTYPE(t) ((t == EOBJ_TYPE_GLX) ? 2 : 1) +#else +#define WINTYPE(t) 1 +#endif + void EobjInit(EObj * eo, int type, Win win, int x, int y, int w, int h, int su, const char *name) { - char argb; - if (!eo->desk) eo->desk = DeskGet(0); @@ -176,9 +180,8 @@ } else { - win = ECreateObjectWindow(EoGetWin(eo->desk), x, y, w, h, su, 0, - NULL, &argb); - eo->argb = argb; + win = ECreateObjectWindow(EoGetWin(eo->desk), x, y, w, h, su, + WINTYPE(type), NULL); } } eo->type = type; =================================================================== RCS file: /cvs/e/e16/e/src/eobj.h,v retrieving revision 1.43 retrieving revision 1.44 diff -u -3 -r1.43 -r1.44 --- eobj.h 8 Apr 2007 20:24:06 -0000 1.43 +++ eobj.h 20 May 2007 08:08:58 -0000 1.44 @@ -40,7 +40,6 @@ char sticky; char floating; unsigned external:1; - unsigned argb:1; unsigned inputonly:1; unsigned shown:1; unsigned gone:1; @@ -72,6 +71,7 @@ #define EOBJ_TYPE_EXT 5 #define EOBJ_TYPE_MISC_NR 6 /* Unredirected */ #define EOBJ_TYPE_ROOT_BG 7 +#define EOBJ_TYPE_GLX 8 #define EobjGetWin(eo) ((eo)->win) #define EobjGetXwin(eo) WinGetXwin((eo)->win) =================================================================== RCS file: /cvs/e/e16/e/src/ewins.c,v retrieving revision 1.198 retrieving revision 1.199 diff -u -3 -r1.198 -r1.199 --- ewins.c 18 May 2007 22:46:44 -0000 1.198 +++ ewins.c 20 May 2007 08:08:58 -0000 1.199 @@ -196,7 +196,6 @@ { XSetWindowAttributes att; Win frame; - char argb; if (ewin->client.w <= 0) ewin->client.w = 100; @@ -211,9 +210,8 @@ { frame = ECreateObjectWindow(VRoot.win, ewin->client.x, ewin->client.y, - ewin->client.w, ewin->client.h, 0, 1, - EwinGetClientWin(ewin), &argb); - ewin->o.argb = argb; + ewin->client.w, ewin->client.h, 0, 0, + EwinGetClientWin(ewin)); ewin->win_container = ECreateWindow(frame, 0, 0, ewin->client.w, ewin->client.h, 0); =================================================================== RCS file: /cvs/e/e16/e/src/x.c,v retrieving revision 1.155 retrieving revision 1.156 diff -u -3 -r1.155 -r1.156 --- x.c 7 May 2007 23:47:48 -0000 1.155 +++ x.c 20 May 2007 08:08:59 -0000 1.156 @@ -33,6 +33,9 @@ #if USE_COMPOSITE #include <X11/extensions/Xrender.h> #endif +#if USE_GLX +#include "eglx.h" +#endif #define DEBUG_XWIN 0 @@ -413,7 +416,7 @@ Win ECreateObjectWindow(Win parent, int x, int y, int w, int h, int saveunder, - int type, Win cwin, char *argb_ret) + int type, Win cwin) { Win win; int argb = 0; @@ -421,29 +424,35 @@ #if USE_COMPOSITE switch (type) { - default: - case 0: /* Internal */ - if (Conf.testing.argb_internal_objects) + case 0: /* Client window */ + if (Conf.testing.argb_clients || EVisualIsARGB(cwin->visual)) argb = 1; break; - case 1: /* Client window */ - if (Conf.testing.argb_clients || EVisualIsARGB(cwin->visual)) + default: + case 1: /* Internal */ + if (Conf.testing.argb_internal_objects) argb = 1; break; +#if USE_GLX + case 2: /* Internal GL */ + argb = 1; + win = + ECreateWindowVD(parent, x, y, w, h, EGlGetVisual(), EGlGetDepth()); + win->argb = 1; + return win; +#endif } if (argb) win = ECreateArgbWindow(parent, x, y, w, h, cwin); else win = ECreateWindow(parent, x, y, w, h, saveunder); + win->argb = argb; #else win = ECreateWindow(parent, x, y, w, h, saveunder); type = 0; cwin = NULL; #endif - - if (argb_ret) - *argb_ret = argb; return win; } =================================================================== RCS file: /cvs/e/e16/e/src/xwin.h,v retrieving revision 1.28 retrieving revision 1.29 diff -u -3 -r1.28 -r1.29 --- xwin.h 19 Mar 2007 05:37:57 -0000 1.28 +++ xwin.h 20 May 2007 08:08:59 -0000 1.29 @@ -68,7 +68,9 @@ Window xwin; Win parent; int x, y, w, h; - int bw; + short depth; + unsigned short bw; + char argb; char mapped; char in_use; signed char do_del; @@ -77,7 +79,6 @@ int ord; XRectangle *rects; Visual *visual; - int depth; Colormap cmap; Pixmap bgpmap; unsigned int bgcol; @@ -130,7 +131,7 @@ Win ECreateClientWindow(Win parent, int x, int y, int w, int h); Win ECreateObjectWindow(Win parent, int x, int y, int w, int h, int saveunder, int type, - Win cwin, char *argb); + Win cwin); Win ECreateEventWindow(Win parent, int x, int y, int w, int h); Win ECreateFocusWindow(Win parent, int x, int y, int w, int h); void EWindowSync(Win win); |