diff options
author | Reinhard Tartler <siretart@tauware.de> | 2011-11-13 09:53:12 +0100 |
---|---|---|
committer | Reinhard Tartler <siretart@tauware.de> | 2011-11-13 09:53:12 +0100 |
commit | 8fa612d1a931096ff57c9b90df0f13e6cd638da8 (patch) | |
tree | a6609f02876d5e340f34f8c4c31c6c82eb3c678d /nxcompshad/Shadow.h | |
parent | a840692edc9c6d19cd7c057f68e39c7d95eb767d (diff) | |
download | nx-libs-8fa612d1a931096ff57c9b90df0f13e6cd638da8.tar.gz nx-libs-8fa612d1a931096ff57c9b90df0f13e6cd638da8.tar.bz2 nx-libs-8fa612d1a931096ff57c9b90df0f13e6cd638da8.zip |
Imported nxcompshad-3.1.0-2.tar.gznxcompshad/3.1.0-2
Summary: Imported nxcompshad-3.1.0-2.tar.gz
Keywords:
Imported nxcompshad-3.1.0-2.tar.gz
into Git repository
Diffstat (limited to 'nxcompshad/Shadow.h')
-rw-r--r-- | nxcompshad/Shadow.h | 95 |
1 files changed, 95 insertions, 0 deletions
diff --git a/nxcompshad/Shadow.h b/nxcompshad/Shadow.h new file mode 100644 index 000000000..eb3c14112 --- /dev/null +++ b/nxcompshad/Shadow.h @@ -0,0 +1,95 @@ +/**************************************************************************/ +/* */ +/* Copyright (c) 2001, 2007 NoMachine, http://www.nomachine.com. */ +/* */ +/* NXCOMPSHAD, NX protocol compression and NX extensions to this software */ +/* are copyright of NoMachine. Redistribution and use of the present */ +/* software is allowed according to terms specified in the file LICENSE */ +/* which comes in the source distribution. */ +/* */ +/* Check http://www.nomachine.com/licensing.html for applicability. */ +/* */ +/* NX and NoMachine are trademarks of Medialogic S.p.A. */ +/* */ +/* All rights reserved. */ +/* */ +/**************************************************************************/ + +#ifndef Shadow_H +#define Shadow_H + +#include <X11/Xlib.h> + +#define NXShadowCorrectColor(length, buffer) \ +\ +{ \ + unsigned short a; \ + unsigned short b; \ + unsigned short *shorts; \ + int i; \ +\ + length >>= 1; \ + shorts = (unsigned short *)buffer; \ + for (i = 0; i < length ; i++) \ + { \ + a = shorts[i]; \ +\ + b = a & 63; \ + a <<= 1; \ + a = (a & ~127) | b; \ +\ + shorts[i] = a; \ + } \ +} + +#ifdef __cplusplus +extern "C" { +#endif + +typedef char* UpdaterHandle; + +typedef struct _ShadowOptions +{ + char optionShmExtension; + char optionDamageExtension; + int optionShadowDisplayUid; +} ShadowOptions; + +extern ShadowOptions NXShadowOptions; + +extern int NXShadowCreate(void *, char *, char *, void **); +extern void NXShadowDestroy(void); + +/* + * Use an already opened Display connection. + * We use <void *> instead of <Display *> to avoid + * useless dependences from Xlib headers. + */ + +extern int NXShadowAddUpdaterDisplay(void *display, int *width, int *height, + unsigned char *depth); +extern UpdaterHandle NXShadowAddUpdater(char *displayName); +extern int NXShadowRemoveUpdater(UpdaterHandle handle); +extern int NXShadowRemoveAllUpdaters(void); + +extern void NXShadowHandleInput(void); +extern int NXShadowHasChanged(int (*)(void *), void *, int *); +extern void NXShadowExportChanges(long *, char **); +extern int NXShadowHasUpdaters(void); +extern int NXShadowCaptureCursor(unsigned int wnd, void *vis); +extern void NXShadowColorCorrect(int, int, unsigned int, unsigned int, char *); +extern void NXShadowUpdateBuffer(void **); + +extern void NXShadowEvent(Display *, XEvent); + +extern void NXShadowSetDisplayUid(int uid); + +extern void NXShadowDisableShm(void); +extern void NXShadowDisableDamage(void); + +#ifdef __cplusplus +} +#endif + +#endif /* Shadow_H */ + |