New upstream version 3.5.99.27
This commit is contained in:
111
nxcompshad/include/Shadow.h
Normal file
111
nxcompshad/include/Shadow.h
Normal file
@@ -0,0 +1,111 @@
|
||||
/**************************************************************************/
|
||||
/* */
|
||||
/* Copyright (c) 2001, 2011 NoMachine (http://www.nomachine.com) */
|
||||
/* Copyright (c) 2008-2017 Oleksandr Shneyder <o.shneyder@phoca-gmbh.de> */
|
||||
/* Copyright (c) 2014-2022 Ulrich Sibiller <uli42@gmx.de> */
|
||||
/* Copyright (c) 2014-2019 Mihai Moldovan <ionic@ionic.de> */
|
||||
/* Copyright (c) 2011-2022 Mike Gabriel <mike.gabriel@das-netzwerkteam.de>*/
|
||||
/* Copyright (c) 2015-2016 Qindel Group (http://www.qindel.com) */
|
||||
/* */
|
||||
/* NXCOMPSHAD, 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 Shadow_H
|
||||
#define Shadow_H
|
||||
|
||||
#include <nx-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 void NXShadowResetOptions();
|
||||
|
||||
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 NXShadowWebKeyEvent(KeySym keysym, Bool isKeyPress);
|
||||
|
||||
extern void NXShadowSetDisplayUid(int uid);
|
||||
|
||||
extern void NXShadowDisableShm(void);
|
||||
extern void NXShadowDisableDamage(void);
|
||||
|
||||
extern void NXShadowGetScreenSize(int *width, int *height);
|
||||
extern void NXShadowSetScreenSize(int *width, int *height);
|
||||
|
||||
extern void NXShadowInitKeymap(void *keysyms);
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
||||
|
||||
#endif /* Shadow_H */
|
||||
|
||||
Reference in New Issue
Block a user