1 /* $XConsortium: lbxdeltastr.h /main/7 1996/12/15 21:24:04 rws $ */
3 * Copyright 1993 Network Computing Devices
5 * Permission to use, copy, modify, distribute, and sell this software and its
6 * documentation for any purpose is hereby granted without fee, provided that
7 * the above copyright notice appear in all copies and that both that
8 * copyright notice and this permission notice appear in supporting
9 * documentation, and that the name of NCD. not be used in advertising or
10 * publicity pertaining to distribution of the software without specific,
11 * written prior permission. NCD. makes no representations about the
12 * suitability of this software for any purpose. It is provided "as is"
13 * without express or implied warranty.
15 * NCD. DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING ALL
16 * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO EVENT SHALL NCD.
17 * BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
18 * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION
19 * OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN
20 * CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
24 #ifndef LBX_DELTA_STRUCT_H
25 #define LBX_DELTA_STRUCT_H
27 #define MIN_CACHEABLE_LEN 8
29 #define DELTA_CACHEABLE(pcache, len) \
30 ((len) > MIN_CACHEABLE_LEN && (len) <= (pcache)->maxDeltasize)
33 * An entry in the delta compactor cache
35 typedef struct _LBXDeltaElem {
38 } LBXDeltaElemRec, *LBXDeltaElemPtr;
42 * Delta compactor cache
44 typedef struct _LBXDeltas {
45 unsigned short nDeltas;
46 unsigned short maxDeltasize;
47 LBXDeltaElemPtr deltas;
48 unsigned short nextDelta;
49 unsigned short activeDeltas; /* only needed for outgoing */
50 } LBXDeltasRec, *LBXDeltasPtr;
60 CARD16 sequenceNumber B16;
62 Window root B32, event B32, child B32;
63 INT16 rootX B16, rootY B16, eventX B16, eventY B16;
74 BYTE type; /* always eventBase + LbxQuickMotionDeltaEvent */
78 } lbxQuickMotionDeltaEvent;
79 #define sz_lbxQuickMotionDeltaEvent 4
82 BYTE type; /* always eventBase + LbxEvent */
83 BYTE lbxType; /* LbxMotionDeltaEvent */
87 CARD16 deltaSequence B16;
88 } lbxMotionDeltaEvent;
89 #define sz_lbxMotionDeltaEvent 8
91 #endif /* LBX_DELTA_STRUCT_H */