diff options
author | Reinhard Tartler <siretart@tauware.de> | 2011-10-10 17:58:30 +0200 |
---|---|---|
committer | Reinhard Tartler <siretart@tauware.de> | 2011-10-10 17:58:30 +0200 |
commit | 9e3371021541dbb7d8428b419c2e77156b166f1a (patch) | |
tree | 752906c36559aa58c53945824724222f2646d850 /nx-X11/programs/Xserver/hw/nxagent/Split.h | |
parent | edddbe8765d46b5040fdde7b04eeee8e21282114 (diff) | |
download | nx-libs-9e3371021541dbb7d8428b419c2e77156b166f1a.tar.gz nx-libs-9e3371021541dbb7d8428b419c2e77156b166f1a.tar.bz2 nx-libs-9e3371021541dbb7d8428b419c2e77156b166f1a.zip |
Imported nxagent-3.1.0-2.tar.gznxagent/3.1.0-2
Summary: Imported nxagent-3.1.0-2.tar.gz
Keywords:
Imported nxagent-3.1.0-2.tar.gz
into Git repository
Diffstat (limited to 'nx-X11/programs/Xserver/hw/nxagent/Split.h')
-rw-r--r-- | nx-X11/programs/Xserver/hw/nxagent/Split.h | 84 |
1 files changed, 84 insertions, 0 deletions
diff --git a/nx-X11/programs/Xserver/hw/nxagent/Split.h b/nx-X11/programs/Xserver/hw/nxagent/Split.h new file mode 100644 index 000000000..397feef16 --- /dev/null +++ b/nx-X11/programs/Xserver/hw/nxagent/Split.h @@ -0,0 +1,84 @@ +/**************************************************************************/ +/* */ +/* Copyright (c) 2001, 2007 NoMachine, http://www.nomachine.com/. */ +/* */ +/* NXAGENT, 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 NoMachine S.r.l. */ +/* */ +/* All rights reserved. */ +/* */ +/**************************************************************************/ + +#ifndef __Split_H__ +#define __Split_H__ + +typedef struct _SplitResourceRec +{ + int pending; + int split; + int unpack; + DrawablePtr drawable; + RegionPtr region; + GCPtr gc; + int commit; + +} SplitResourceRec; + +typedef SplitResourceRec *SplitResourcePtr; + +extern SplitResourceRec nxagentSplitResources[]; + +typedef struct _UnpackResourceRec +{ + int pending; + int unpack; + DrawablePtr drawable; + +} UnpackResourceRec; + +typedef UnpackResourceRec *UnpackResourcePtr; + +extern UnpackResourceRec nxagentUnpackResources[]; + +void nxagentInitSplitResources(); +void nxagentInitUnpackResources(); + +SplitResourcePtr nxagentAllocSplitResource(); +void nxagentFreeSplitResource(SplitResourcePtr pResource); + +UnpackResourcePtr nxagentAllocUnpackResource(); +void nxagentFreeUnpackResource(UnpackResourcePtr pResource); + +#define nxagentSplitResource(pDrawable) \ + ((pDrawable) -> type == DRAWABLE_PIXMAP ? \ + (nxagentPixmapPriv(nxagentRealPixmap((PixmapPtr) pDrawable)) -> splitResource) : \ + (nxagentWindowPriv((WindowPtr) pDrawable) -> splitResource)) + +/* +FIXME: Make it a real function to log a warning + in the logs. + +#define nxagentSplitDrawable(pDrawable) \ + (((pDrawable) -> type == DRAWABLE_PIXMAP && \ + nxagentPixmapIsVirtual((PixmapPtr) pDrawable)) ? \ + (DrawablePtr) nxagentRealPixmap((PixmapPtr) pDrawable) : pDrawable) +*/ +DrawablePtr nxagentSplitDrawable(DrawablePtr pDrawable); + +int nxagentCreateSplit(DrawablePtr pDrawable, GCPtr *pGC); +void nxagentRegionSplit(DrawablePtr pDrawable, RegionPtr pRegion); +void nxagentValidateSplit(DrawablePtr pDrawable, RegionPtr pRegion); +void nxagentReleaseSplit(DrawablePtr pDrawable); + +void nxagentReleaseAllSplits(void); + +void nxagentSetCorruptedTimestamp(DrawablePtr pDrawable); +void nxagentResetCorruptedTimestamp(DrawablePtr pDrawable); + +#endif /* __Split_H__ */ |