aboutsummaryrefslogtreecommitdiff
path: root/nx-X11/programs/Xserver/hw/nxagent/Splash.c
diff options
context:
space:
mode:
authorOleksandr Shneyder <oleksandr.shneyder@obviously-nice.de>2015-02-13 13:57:39 +0100
committerMike Gabriel <mike.gabriel@das-netzwerkteam.de>2015-02-13 13:57:39 +0100
commit1fd8551f1632efbc2655c9293087bba08cf2f0c9 (patch)
treeb94599ab851a7cb9078d0a21e5170ff12d3b44ff /nx-X11/programs/Xserver/hw/nxagent/Splash.c
parent23fb617551f7d89dbc1fc9e216b7f12d2936e1a2 (diff)
downloadnx-libs-1fd8551f1632efbc2655c9293087bba08cf2f0c9.tar.gz
nx-libs-1fd8551f1632efbc2655c9293087bba08cf2f0c9.tar.bz2
nx-libs-1fd8551f1632efbc2655c9293087bba08cf2f0c9.zip
Unbrand NX Agent Startup Screen / Brand X2Go Agent Startup Screen (999_nxagent_unbrand-nxagent-brand-x2goagent.full.patch).
When launched with NX Agent flavour, the startup screen gets unbranded by this patch (the !M logo does not get shown). When launched with X2Go Agent flavour, the startup screen gets branded with the X2GO logo.
Diffstat (limited to 'nx-X11/programs/Xserver/hw/nxagent/Splash.c')
-rw-r--r--nx-X11/programs/Xserver/hw/nxagent/Splash.c162
1 files changed, 122 insertions, 40 deletions
diff --git a/nx-X11/programs/Xserver/hw/nxagent/Splash.c b/nx-X11/programs/Xserver/hw/nxagent/Splash.c
index 235c48c23..abb0872d1 100644
--- a/nx-X11/programs/Xserver/hw/nxagent/Splash.c
+++ b/nx-X11/programs/Xserver/hw/nxagent/Splash.c
@@ -35,6 +35,7 @@
#include "Windows.h"
#include "Atoms.h"
#include "Trap.h"
+#include "Init.h"
/*
* Set here the required log level.
@@ -53,6 +54,7 @@ int nxagentLogoDepth;
int nxagentLogoWhite;
int nxagentLogoRed;
int nxagentLogoBlack;
+int nxagentLogoGray;
void nxagentPaintLogo(Window win, GC gc, int scale, int width, int height);
@@ -166,6 +168,15 @@ void nxagentPaintLogo(Window win, GC gc, int scale, int width, int height)
XPoint m[12];
int w, h, c, w2, h2;
+ /*
+ * Show only X2GO Logo when running as X2Go Agent
+ */
+ if(! nxagentX2go)
+ {
+ nxagentPixmapLogo = 0L;
+ return;
+ }
+
#ifdef DEBUG
fprintf(stderr, "nxagenShowtLogo: Got called.\n");
#endif
@@ -218,75 +229,146 @@ void nxagentPaintLogo(Window win, GC gc, int scale, int width, int height)
XSetForeground(nxagentDisplay, gc, nxagentLogoRed);
XSetBackground(nxagentDisplay, gc, nxagentLogoWhite);
- rect[0].x = w2-10*c; rect[0].y = h2-8*c;
- rect[1].x = w2-10*c; rect[1].y = h2+8*c;
- rect[2].x = w2+10*c; rect[2].y = h2+8*c;
- rect[3].x = w2+10*c; rect[3].y = h2-8*c;
+ /*
+ * Draw X2GO Logo
+ */
+ /*
+ * Begin 'X'.
+ */
+
+ XSetForeground(nxagentDisplay, gc, nxagentLogoGray);
+ XSetBackground(nxagentDisplay, gc, nxagentLogoWhite);
+ 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[2].x = w2-4*c; rect[2].y = h2+3*c;
+ rect[3].x = w2-3*c; rect[3].y = h2+3*c;
XFillPolygon(nxagentDisplay, nxagentPixmapLogo, gc, rect, 4, Convex, CoordModeOrigin);
- #ifdef NXAGENT_LOGO_DEBUG
- fprintf(stderr, "filled red rect\n");
- #endif
+ rect[0].x = w2-4*c; rect[0].y = h2-5*c;
+ rect[1].x = w2-3*c; rect[1].y = h2-5*c;
+ rect[2].x = w2-7*c; rect[2].y = h2+3*c;
+ rect[3].x = w2-8*c; rect[3].y = h2+3*c;
+ XFillPolygon(nxagentDisplay, nxagentPixmapLogo, gc, rect, 4, Convex, CoordModeOrigin);
- rect[0].x = w2-9*c; rect[0].y = h2-7*c;
- rect[1].x = w2-9*c; rect[1].y = h2+7*c;
- rect[2].x = w2+9*c; rect[2].y = h2+7*c;
- rect[3].x = w2+9*c; rect[3].y = h2-7*c;
+ /*
+ * End 'X'.
+ */
- XSetForeground(nxagentDisplay, gc, nxagentLogoWhite);
- XSetBackground(nxagentDisplay, gc, nxagentLogoRed);
+ /*
+ * Start '2'.
+ */
+
+ rect[0].x = w2-2*c; rect[0].y = h2-5*c;
+ rect[1].x = w2-1*c; rect[1].y = h2-5*c;
+ rect[2].x = w2-1*c; rect[2].y = h2-3*c;
+ rect[3].x = w2-2*c; rect[3].y = h2-3*c;
+ XFillPolygon(nxagentDisplay, nxagentPixmapLogo, gc, rect, 4, Convex, CoordModeOrigin);
+
+ rect[0].x = w2-2*c; rect[0].y = h2-5*c;
+ rect[1].x = w2+2*c; rect[1].y = h2-5*c;
+ rect[2].x = w2+2*c; rect[2].y = h2-4*c;
+ rect[3].x = w2-2*c; rect[3].y = h2-4*c;
+ XFillPolygon(nxagentDisplay, nxagentPixmapLogo, gc, rect, 4, Convex, CoordModeOrigin);
+ rect[0].x = w2+1*c; rect[0].y = h2-5*c;
+ rect[1].x = w2+2*c; rect[1].y = h2-5*c;
+ rect[2].x = w2+2*c; rect[2].y = h2-2*c;
+ rect[3].x = w2+1*c; rect[3].y = h2-2*c;
XFillPolygon(nxagentDisplay, nxagentPixmapLogo, gc, rect, 4, Convex, CoordModeOrigin);
+ rect[0].x = w2+2*c; rect[0].y = h2-2*c;
+ rect[1].x = w2+1*c; rect[1].y = h2-2*c;
+ rect[2].x = w2-2*c; rect[2].y = h2+2*c;
+ rect[3].x = w2-1*c; rect[3].y = h2+2*c;
+ XFillPolygon(nxagentDisplay, nxagentPixmapLogo, gc, rect, 4, Convex, CoordModeOrigin);
+
+
+ rect[0].x = w2-2*c; rect[0].y = h2+2*c;
+ rect[1].x = w2+2*c; rect[1].y = h2+2*c;
+ rect[2].x = w2+2*c; rect[2].y = h2+3*c;
+ rect[3].x = w2-2*c; rect[3].y = h2+3*c;
+ XFillPolygon(nxagentDisplay, nxagentPixmapLogo, gc, rect, 4, Convex, CoordModeOrigin);
/*
- * Begin 'M'.
+ * End '2'.
*/
- m[0].x = w2-3*c; m[0].y = h2-5*c;
- m[1].x = w2+7*c; m[1].y = h2-5*c;
- m[2].x = w2+7*c; m[2].y = h2+5*c;
- m[3].x = w2+5*c; m[3].y = h2+5*c;
- m[4].x = w2+5*c; m[4].y = h2-3*c;
- m[5].x = w2+3*c; m[5].y = h2-3*c;
- m[6].x = w2+3*c; m[6].y = h2+5*c;
- m[7].x = w2+1*c; m[7].y = h2+5*c;
- m[8].x = w2+1*c; m[8].y = h2-3*c;
- m[9].x = w2-1*c; m[9].y = h2-3*c;
- m[10].x = w2-1*c; m[10].y = h2+5*c;
- m[11].x = w2-3*c; m[11].y = h2+5*c;
+ /*
+ * Start 'G'.
+ */
- XSetForeground(nxagentDisplay, gc, nxagentLogoRed);
- XSetBackground(nxagentDisplay, gc, nxagentLogoWhite);
+ rect[0].x = w2+3*c; rect[0].y = h2-5*c;
+ rect[1].x = w2+7*c; rect[1].y = h2-5*c;
+ rect[2].x = w2+7*c; rect[2].y = h2-4*c;
+ rect[3].x = w2+3*c; rect[3].y = h2-4*c;
+ XFillPolygon(nxagentDisplay, nxagentPixmapLogo, gc, rect, 4, Convex, CoordModeOrigin);
- XFillPolygon(nxagentDisplay, nxagentPixmapLogo, gc, m, 12, Nonconvex, CoordModeOrigin);
+ rect[0].x = w2+3*c; rect[0].y = h2-5*c;
+ rect[1].x = w2+4*c; rect[1].y = h2-5*c;
+ rect[2].x = w2+4*c; rect[2].y = h2+3*c;
+ rect[3].x = w2+3*c; rect[3].y = h2+3*c;
+ XFillPolygon(nxagentDisplay, nxagentPixmapLogo, gc, rect, 4, Convex, CoordModeOrigin);
+ rect[0].x = w2+3*c; rect[0].y = h2+2*c;
+ rect[1].x = w2+7*c; rect[1].y = h2+2*c;
+ rect[2].x = w2+7*c; rect[2].y = h2+3*c;
+ rect[3].x = w2+3*c; rect[3].y = h2+3*c;
+ XFillPolygon(nxagentDisplay, nxagentPixmapLogo, gc, rect, 4, Convex, CoordModeOrigin);
+
+ rect[0].x = w2+6*c; rect[0].y = h2-5*c;
+ rect[1].x = w2+7*c; rect[1].y = h2-5*c;
+ rect[2].x = w2+7*c; rect[2].y = h2-3*c;
+ rect[3].x = w2+6*c; rect[3].y = h2-3*c;
+ XFillPolygon(nxagentDisplay, nxagentPixmapLogo, gc, rect, 4, Convex, CoordModeOrigin);
+
+ rect[0].x = w2+6*c; rect[0].y = h2-0*c;
+ rect[1].x = w2+7*c; rect[1].y = h2-0*c;
+ rect[2].x = w2+7*c; rect[2].y = h2+3*c;
+ rect[3].x = w2+6*c; rect[3].y = h2+3*c;
+ XFillPolygon(nxagentDisplay, nxagentPixmapLogo, gc, rect, 4, Convex, CoordModeOrigin);
+
+ rect[0].x = w2+5*c; rect[0].y = h2-1*c;
+ rect[1].x = w2+7*c; rect[1].y = h2-1*c;
+ rect[2].x = w2+7*c; rect[2].y = h2+0*c;
+ rect[3].x = w2+5*c; rect[3].y = h2+0*c;
+ XFillPolygon(nxagentDisplay, nxagentPixmapLogo, gc, rect, 4, Convex, CoordModeOrigin);
/*
- * End 'M'.
+ * End 'G'.
*/
/*
- * Begin '!'.
+ * Start 'O'.
*/
- rect[0].x = w2-7*c; rect[0].y = h2-5*c;
- rect[1].x = w2-5*c; rect[1].y = h2-5*c;
- rect[2].x = w2-5*c; rect[2].y = h2+2*c;
- rect[3].x = w2-7*c; rect[3].y = h2+2*c;
+ rect[0].x = w2+8*c; rect[0].y = h2-5*c;
+ rect[1].x = w2+12*c; rect[1].y = h2-5*c;
+ rect[2].x = w2+12*c; rect[2].y = h2-4*c;
+ rect[3].x = w2+8*c; rect[3].y = h2-4*c;
+ XFillPolygon(nxagentDisplay, nxagentPixmapLogo, gc, rect, 4, Convex, CoordModeOrigin);
+ rect[0].x = w2+8*c; rect[0].y = h2+3*c;
+ rect[1].x = w2+12*c; rect[1].y = h2+3*c;
+ rect[2].x = w2+12*c; rect[2].y = h2+2*c;
+ rect[3].x = w2+8*c; rect[3].y = h2+2*c;
XFillPolygon(nxagentDisplay, nxagentPixmapLogo, gc, rect, 4, Convex, CoordModeOrigin);
- rect[0].x = w2-7*c; rect[0].y = h2+3*c;
- rect[1].x = w2-5*c; rect[1].y = h2+3*c;
- rect[2].x = w2-5*c; rect[2].y = h2+5*c;
- rect[3].x = w2-7*c; rect[3].y = h2+5*c;
+ rect[0].x = w2+8*c; rect[0].y = h2-5*c;
+ rect[1].x = w2+9*c; rect[1].y = h2-5*c;
+ rect[2].x = w2+9*c; rect[2].y = h2+3*c;
+ rect[3].x = w2+8*c; rect[3].y = h2+3*c;
+ XFillPolygon(nxagentDisplay, nxagentPixmapLogo, gc, rect, 4, Convex, CoordModeOrigin);
+ rect[0].x = w2+11*c; rect[0].y = h2-5*c;
+ rect[1].x = w2+12*c; rect[1].y = h2-5*c;
+ rect[2].x = w2+12*c; rect[2].y = h2+3*c;
+ rect[3].x = w2+11*c; rect[3].y = h2+3*c;
XFillPolygon(nxagentDisplay, nxagentPixmapLogo, gc, rect, 4, Convex, CoordModeOrigin);
/*
- * End 'M'.
+ * End 'O'.
*/
+
XSetWindowBackgroundPixmap(nxagentDisplay, win, nxagentPixmapLogo);
#ifdef NXAGENT_LOGO_DEBUG