Commit cbc9f831 authored by Ulrich Sibiller's avatar Ulrich Sibiller Committed by Mike Gabriel

Drop unused placeholder code

parent 7b63809a
......@@ -26,40 +26,6 @@
#include <signal.h>
#include <stdio.h>
#ifdef _XSERVER64
#include "scrnintstr.h"
#include "Agent.h"
#define GC XlibGC
#define Pixmap XlibPixmap
#define PIXEL_ALREADY_TYPEDEFED
#endif /* _XSERVER64 */
#include "pixmapstr.h"
#include "regionstr.h"
#include "resource.h"
#include "../../include/gc.h"
#include "../../include/window.h"
#include "X11/include/xpm_nxagent.h"
#include "Agent.h"
#include "Pixmaps.h"
#include "Display.h"
#include "Holder.h"
#include "Icons.h"
#include NXAGENT_PLACEHOLDER_NAME
#define MAXDEPTH 32
#define PLACEHOLDER_WIDTH 14
#define PLACEHOLDER_HEIGHT 16
#define PLACEHOLDER_BORDER_COLOR_DARK 0x000000
#define PLACEHOLDER_BORDER_COLOR_LIGHT 0xB2B2B2
/*
* Set here the required log level.
*/
......@@ -70,123 +36,6 @@
#undef DEBUG
#undef DUMP
static Pixmap nxagentPlaceholderPixmaps[MAXDEPTH + 1];
void nxagentMarkPlaceholderNotLoaded(int depth)
{
nxagentPlaceholderPixmaps[depth] = 0;
}
void nxagentInitPlaceholder(int depth)
{
int status;
XpmAttributes attributes;
attributes.valuemask = XpmDepth | XpmSize;
attributes.depth = depth;
status = XpmCreatePixmapFromData(nxagentDisplay, DefaultRootWindow(nxagentDisplay),
placeholderXpm, nxagentPlaceholderPixmaps + depth, NULL, &attributes);
if (status != Success)
{
FatalError("Error: Failed to create the placeholder pixmap.\n");
}
#ifdef TEST
fprintf(stderr, "nxagentInitPlaceholder: Created pixmap [0x%lx] with geometry [%d,%d] for depth [%d].\n",
nxagentPlaceholderPixmaps[depth], attributes.width, attributes.height, depth);
#endif
}
void nxagentApplyPlaceholder(Drawable drawable, int x, int y,
int w, int h, int depth)
{
/*
* Instead of the image, a white rectangle that
* covers the pixmap area is drawn, alongside
* with a black and grey line that outlines the
* boundaries of the affected area.
*/
GC gc;
XGCValues value;
XPoint points[3];
value.foreground = 0xffffffff;
value.background = 0x00000000;
value.plane_mask = 0xffffffff;
value.fill_style = FillSolid;
/*
* FIXME: Should we use a gc cache to save
* some bandwidth?
*/
gc = XCreateGC(nxagentDisplay, drawable, GCBackground |
GCForeground | GCFillStyle | GCPlaneMask, &value);
XFillRectangle(nxagentDisplay, drawable, gc, x, y, w, h);
if (depth == 1)
{
return;
}
value.foreground = PLACEHOLDER_BORDER_COLOR_DARK;
value.line_style = LineSolid;
value.line_width = 1;
points[0].x = x;
points[0].y = y + h - 1;
points[1].x = x;
points[1].y = y;
points[2].x = x + w - 1;
points[2].y = y;
XChangeGC(nxagentDisplay, gc, GCForeground | GCLineWidth | GCLineStyle, &value);
XDrawLines(nxagentDisplay, drawable, gc, points, 3, CoordModeOrigin);
value.foreground = PLACEHOLDER_BORDER_COLOR_LIGHT;
value.line_style = LineSolid;
value.line_width = 1;
points[0].x = x;
points[0].y = y + h - 1;
points[1].x = x + w - 1;
points[1].y = y + h - 1;
points[2].x = x + w - 1;
points[2].y = y;
XChangeGC(nxagentDisplay, gc, GCForeground | GCLineWidth | GCLineStyle, &value);
XDrawLines(nxagentDisplay, drawable, gc, points, 3, CoordModeOrigin);
/*
* We are going to apply place holder only if on region
* we have enough space for the placeholder plus three
* pixel for spacing and one for region border.
*/
if ((w >= PLACEHOLDER_WIDTH + 8) && (h >= PLACEHOLDER_HEIGHT + 8))
{
#ifdef TEST
fprintf(stderr, "nxagentApplyPlaceholder: drawable %lx placeholder %lx from %d %d pixmap size is %d %d "
"depth %d\n", drawable, nxagentPlaceholderPixmaps[depth], x, y, w, h, depth);
#endif
if (nxagentPlaceholderPixmaps[depth] == 0)
{
nxagentInitPlaceholder(depth);
}
XCopyArea(nxagentDisplay, nxagentPlaceholderPixmaps[depth],
drawable, gc, 0, 0, PLACEHOLDER_WIDTH, PLACEHOLDER_HEIGHT, x + 4, y + 4);
}
XFreeGC(nxagentDisplay, gc);
}
#ifdef DUMP
static char hexdigit(char c)
......
......@@ -26,10 +26,6 @@
#ifndef __Holder_H__
#define __Holder_H__
void nxagentMarkPlaceholderNotLoaded(int depth);
void nxagentInitPlaceholder(int depth);
void nxagentApplyPlaceholder(Drawable drawable, int x, int y, int w, int h, int depth);
const char *nxagentChecksum(char *data, int size);
#endif /* __Holder_H__ */
......@@ -34,6 +34,4 @@
#define X2GOAGENT_ICON_NAME "x2goagent.xpm"
#define NXAGENT_PLACEHOLDER_NAME "nxmissing.xpm"
#endif /* __Icons_H__ */
......@@ -1453,17 +1453,6 @@ Bool nxagentOpenScreen(ScreenPtr pScreen,
nxagentInitSplitResources();
nxagentInitUnpackResources();
/*
* Initializing the pixmaps that will serve as
* "placeholders" in lazy encoding. We need one
* pixmap for each depth.
*/
for (int i = 0; i < numDepths; i++)
{
nxagentMarkPlaceholderNotLoaded(i);
}
#ifdef WATCH
fprintf(stderr, "nxagentOpenScreen: Watchpoint 7.\n");
......
/**************************************************************************/
/* */
/* Copyright (c) 2001, 2011 NoMachine (http://www.nomachine.com) */
/* Copyright (c) 2008-2014 Oleksandr Shneyder <o.shneyder@phoca-gmbh.de> */
/* Copyright (c) 2011-2016 Mike Gabriel <mike.gabriel@das-netzwerkteam.de>*/
/* Copyright (c) 2014-2016 Mihai Moldovan <ionic@ionic.de> */
/* Copyright (c) 2014-2016 Ulrich Sibiller <uli42@gmx.de> */
/* Copyright (c) 2015-2016 Qindel Group (http://www.qindel.com) */
/* */
/* NXAGENT, NX protocol compression and NX extensions to this software */
/* are copyright of the aforementioned persons and companies. */
/* */
/* Redistribution and use of the present software is allowed according */
/* to terms specified in the file LICENSE which comes in the source */
/* distribution. */
/* */
/* All rights reserved. */
/* */
/* NOTE: This software has received contributions from various other */
/* contributors, only the core maintainers and supporters are listed as */
/* copyright holders. Please contact us, if you feel you should be listed */
/* as copyright holder, as well. */
/* */
/**************************************************************************/
/* XPM */
static char *placeholderXpm[] = {
/* columns rows colors chars-per-pixel */
"14 16 10 1",
" c #000000",
". c #0000FF",
"X c #008400",
"o c #00FF00",
"O c #00FFFF",
"+ c #FF0000",
"@ c #FF00FF",
"# c #848484",
"$ c #BDBDBD",
"% c #FFFFFF",
/* pixels */
" #%%%",
" %%%%%%%%%##%%",
" %$$$$$$$$#%#%",
" %$$$XX$$$#%%#",
" %$$XoX $$ ",
" %$$XXX $$$$% ",
" %$$$ $$$$$% ",
" %$$$$$$... % ",
" %$+$$$$.O. % ",
" %$@+$$$... % ",
" %$@@+$$ $% ",
" %$@@@+$$$$$% ",
" %$ +$$$$% ",
" %$$$$$$$$$$% ",
" %%%%%%%%%%%% ",
" "
};
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