Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
N
nx-libs
Project
Project
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
1
Issues
1
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
dimbor
nx-libs
Commits
7afe9553
Unverified
Commit
7afe9553
authored
Nov 02, 2019
by
Mike Gabriel
Browse files
Options
Browse Files
Download
Plain Diff
Merge branch 'uli42-pr/drop_holders' into 3.6.x
Attributes GH PR #856:
https://github.com/ArcticaProject/nx-libs/pull/856
parents
7b63809a
dbf36ece
Show whitespace changes
Inline
Side-by-side
Showing
10 changed files
with
11 additions
and
344 deletions
+11
-344
GCOps.c
nx-X11/programs/Xserver/hw/nxagent/GCOps.c
+0
-1
Holder.c
nx-X11/programs/Xserver/hw/nxagent/Holder.c
+0
-233
Holder.h
nx-X11/programs/Xserver/hw/nxagent/Holder.h
+0
-35
Icons.h
nx-X11/programs/Xserver/hw/nxagent/Icons.h
+0
-2
Imakefile
nx-X11/programs/Xserver/hw/nxagent/Imakefile
+0
-2
Pixmap.c
nx-X11/programs/Xserver/hw/nxagent/Pixmap.c
+0
-1
Screen.c
nx-X11/programs/Xserver/hw/nxagent/Screen.c
+0
-12
Utils.h
nx-X11/programs/Xserver/hw/nxagent/Utils.h
+11
-0
Window.c
nx-X11/programs/Xserver/hw/nxagent/Window.c
+0
-1
nxmissing.xpm
nx-X11/programs/Xserver/hw/nxagent/nxmissing.xpm
+0
-57
No files found.
nx-X11/programs/Xserver/hw/nxagent/GCOps.c
View file @
7afe9553
...
...
@@ -54,7 +54,6 @@ is" without express or implied warranty.
#include "Events.h"
#include "Client.h"
#include "Trap.h"
#include "Holder.h"
#include "Args.h"
#include "Screen.h"
#include "Utils.h"
...
...
nx-X11/programs/Xserver/hw/nxagent/Holder.c
deleted
100644 → 0
View file @
7b63809a
/**************************************************************************/
/* */
/* 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. */
/* */
/**************************************************************************/
#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.
*/
#define PANIC
#define WARNING
#undef TEST
#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
)
{
char
map
[]
=
{
'0'
,
'1'
,
'2'
,
'3'
,
'4'
,
'5'
,
'6'
,
'7'
,
'8'
,
'9'
,
'A'
,
'B'
,
'C'
,
'D'
,
'E'
,
'F'
,
'?'
};
return
map
[
c
];
}
/*
FIXME: Please, check the implementation of the same
function in nxcomp.
*/
char
*
nxagentChecksum
(
char
*
string
,
int
length
)
{
static
char
md5_output
[
MD5_DIGEST_LENGTH
*
2
+
1
];
static
char
md5
[
MD5_DIGEST_LENGTH
];
char
*
ret
;
int
i
;
memset
(
md5
,
0
,
sizeof
(
md5
));
memset
(
md5_output
,
0
,
sizeof
(
md5_output
));
ret
=
MD5
(
string
,
length
,
md5
);
for
(
i
=
0
;
i
<
MD5_DIGEST_LENGTH
;
i
++
)
{
char
c
=
md5
[
i
];
md5_output
[
i
*
2
+
0
]
=
hexdigit
((
c
>>
0
)
&
0xF
);
md5_output
[
i
*
2
+
1
]
=
hexdigit
((
c
>>
4
)
&
0xF
);
}
return
md5_output
;
}
#else
const
char
*
nxagentChecksum
(
char
*
data
,
int
size
)
{
return
""
;
}
#endif
nx-X11/programs/Xserver/hw/nxagent/Holder.h
deleted
100644 → 0
View file @
7b63809a
/**************************************************************************/
/* */
/* 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. */
/* */
/**************************************************************************/
#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__ */
nx-X11/programs/Xserver/hw/nxagent/Icons.h
View file @
7afe9553
...
...
@@ -34,6 +34,4 @@
#define X2GOAGENT_ICON_NAME "x2goagent.xpm"
#define NXAGENT_PLACEHOLDER_NAME "nxmissing.xpm"
#endif
/* __Icons_H__ */
nx-X11/programs/Xserver/hw/nxagent/Imakefile
View file @
7afe9553
...
...
@@ -52,7 +52,6 @@ SRCS = \
Clipboard.c \
Splash.c \
Split.c \
Holder.c \
Reconnect.c \
Error.c \
Atoms.c \
...
...
@@ -111,7 +110,6 @@ OBJS = \
Clipboard.o \
Splash.o \
Split.o \
Holder.o \
Reconnect.o \
Error.o \
Atoms.o \
...
...
nx-X11/programs/Xserver/hw/nxagent/Pixmap.c
View file @
7afe9553
...
...
@@ -47,7 +47,6 @@
#include "Visual.h"
#include "Client.h"
#include "Events.h"
#include "Holder.h"
#include "Args.h"
#include "Utils.h"
...
...
nx-X11/programs/Xserver/hw/nxagent/Screen.c
View file @
7afe9553
...
...
@@ -76,7 +76,6 @@ is" without express or implied warranty.
#include "Client.h"
#include "Options.h"
#include "Splash.h"
#include "Holder.h"
#include "Render.h"
#include "Trap.h"
#include "Keyboard.h"
...
...
@@ -1453,17 +1452,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
"
);
...
...
nx-X11/programs/Xserver/hw/nxagent/Utils.h
View file @
7afe9553
...
...
@@ -44,6 +44,17 @@ static inline const char * validateString(const char *str) {
return
str
?
str
:
"(null)"
;
}
/*
* nxagentChecksum used to be in Holder.c but was broken beyond
* repair. As Holder.c was removed we put it here as a stub until we
* need it for debugging.
*/
static
inline
const
char
*
nxagentChecksum
(
char
*
data
,
int
size
)
{
return
"not_implemented"
;
}
#define SAFE_XFree(what) do {if (what) {XFree(what); what = NULL;}} while (0)
#define SAFE_free(what) do {free(what); what = NULL;} while (0)
...
...
nx-X11/programs/Xserver/hw/nxagent/Window.c
View file @
7afe9553
...
...
@@ -59,7 +59,6 @@
#include "Reconnect.h"
#include "Dialog.h"
#include "Splash.h"
#include "Holder.h"
#include "Init.h"
#include "Composite.h"
#include "Events.h"
...
...
nx-X11/programs/Xserver/hw/nxagent/nxmissing.xpm
deleted
100644 → 0
View file @
7b63809a
/**************************************************************************/
/* */
/* 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. % ",
" %$@+$$$... % ",
" %$@@+$$ $% ",
" %$@@@+$$$$$% ",
" %$ +$$$$% ",
" %$$$$$$$$$$% ",
" %%%%%%%%%%%% ",
" "
};
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment