Commit 074821a8 authored by Ulrich Sibiller's avatar Ulrich Sibiller Committed by Mike Gabriel

Splash.c: make Splash logo work with white background (-wr) mode, too

parent afebb821
...@@ -58,10 +58,10 @@ ...@@ -58,10 +58,10 @@
* Colors used to paint the splash screen. * Colors used to paint the splash screen.
*/ */
#define nxagentLogoWhite 0xffffff #define nxagentLogoWhite 0xffffff
#define nxagentLogoRed 0xff0000 #define nxagentLogoBlack 0x000000
#define nxagentLogoBlack 0x000000 #define nxagentLogoDarkGray 0x222222
#define nxagentLogoGray 0x222222 #define nxagentLogoLightGray 0xbbbbbb
static void nxagentPaintLogo(Window win, GC gc, int scale, int width, int height); static void nxagentPaintLogo(Window win, GC gc, int scale, int width, int height);
...@@ -183,9 +183,9 @@ void nxagentPaintLogo(Window win, GC gc, int scale, int width, int height) ...@@ -183,9 +183,9 @@ void nxagentPaintLogo(Window win, GC gc, int scale, int width, int height)
#ifdef NXAGENT_LOGO_DEBUG #ifdef NXAGENT_LOGO_DEBUG
fprintf(stderr, "%s: begin\n", __func__); fprintf(stderr, "%s: begin\n", __func__);
fprintf(stderr, "%s: gen params are: w=%d h=%d d=%d r=%x w=%x b=%x\n", __func__, fprintf(stderr, "%s: gen params are: w=%d h=%d d=%d w=%x b=%x g1=%x g2=%x \n", __func__,
width, height, depth, width, height, depth,
nxagentLogoRed, nxagentLogoWhite, nxagentLogoBlack); nxagentLogoWhite, nxagentLogoBlack, nxagentLogoDarkGray, nxagentLogoLightGray);
#endif #endif
int w = width/scale; int w = width/scale;
...@@ -204,43 +204,52 @@ void nxagentPaintLogo(Window win, GC gc, int scale, int width, int height) ...@@ -204,43 +204,52 @@ void nxagentPaintLogo(Window win, GC gc, int scale, int width, int height)
c = w/48; c = w/48;
} }
XPoint rect[4];
rect[0].x = 0; rect[0].y = 0;
rect[1].x = 0; rect[1].y = h;
rect[2].x = w; rect[2].y = h;
rect[3].x = w; rect[3].y = 0;
XSetFunction(nxagentDisplay, gc, GXcopy); XSetFunction(nxagentDisplay, gc, GXcopy);
XSetFillStyle(nxagentDisplay, gc, FillSolid); XSetFillStyle(nxagentDisplay, gc, FillSolid);
XSetForeground(nxagentDisplay, gc, nxagentLogoBlack); nxagentPixmapLogo = XCreatePixmap(nxagentDisplay, win, width, height, depth);
XSetBackground(nxagentDisplay, gc, nxagentLogoRed);
nxagentPixmapLogo = XCreatePixmap(nxagentDisplay, win, width, height, nxagentLogoDepth);
if (!nxagentPixmapLogo) if (!nxagentPixmapLogo)
{ {
return; return;
} }
if (blackRoot)
{
XSetForeground(nxagentDisplay, gc, nxagentLogoBlack);
XSetBackground(nxagentDisplay, gc, nxagentLogoWhite);
}
else
{
XSetForeground(nxagentDisplay, gc, nxagentLogoWhite);
XSetBackground(nxagentDisplay, gc, nxagentLogoBlack);
}
XPoint rect[4];
rect[0].x = 0; rect[0].y = 0;
rect[1].x = 0; rect[1].y = h;
rect[2].x = w; rect[2].y = h;
rect[3].x = w; rect[3].y = 0;
/* paint background */
XFillPolygon(nxagentDisplay, nxagentPixmapLogo, gc, rect, 4, Convex, CoordModeOrigin); XFillPolygon(nxagentDisplay, nxagentPixmapLogo, gc, rect, 4, Convex, CoordModeOrigin);
#ifdef NXAGENT_LOGO_DEBUG #ifdef NXAGENT_LOGO_DEBUG
fprintf(stderr, "%s: filled first poly\n", __func__); fprintf(stderr, "%s: filled first poly\n", __func__);
#endif #endif
XSetForeground(nxagentDisplay, gc, nxagentLogoRed);
XSetBackground(nxagentDisplay, gc, nxagentLogoWhite);
/* /*
* Draw X2GO Logo * Draw X2GO Logo
*/ */
if (blackRoot)
XSetForeground(nxagentDisplay, gc, nxagentLogoDarkGray);
else
XSetForeground(nxagentDisplay, gc, nxagentLogoLightGray);
/* /*
* Begin 'X'. * Start 'X'.
*/ */
XSetForeground(nxagentDisplay, gc, nxagentLogoGray);
XSetBackground(nxagentDisplay, gc, nxagentLogoWhite);
rect[0].x = w2-7*c; rect[0].y = h2-5*c; rect[0].x = w2-7*c; rect[0].y = h2-5*c;
rect[1].x = w2-8*c; rect[1].y = h2-5*c; rect[1].x = w2-8*c; rect[1].y = h2-5*c;
rect[2].x = w2-4*c; rect[2].y = h2+3*c; rect[2].x = w2-4*c; rect[2].y = h2+3*c;
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment