1 /* Copyright (c) 1993, 1994, Oracle and/or its affiliates. All rights reserved.
3 * Permission is hereby granted, free of charge, to any person obtaining a
4 * copy of this software and associated documentation files (the "Software"),
5 * to deal in the Software without restriction, including without limitation
6 * the rights to use, copy, modify, merge, publish, distribute, sublicense,
7 * and/or sell copies of the Software, and to permit persons to whom the
8 * Software is furnished to do so, subject to the following conditions:
10 * The above copyright notice and this permission notice (including the next
11 * paragraph) shall be included in all copies or substantial portions of the
14 * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
15 * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
16 * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
17 * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
18 * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
19 * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
20 * DEALINGS IN THE SOFTWARE.
24 #ifndef _DGA_MBUFSETSTR_H
25 #define _DGA_MBUFSETSTR_H
28 ** Client structure for multibuffer set.
32 ** A "multibuffer set" (mbufset) stores client-side info about the multibuffers
33 ** attached to a multibuffered window.
36 typedef struct dga_mbufset
{
39 _Dga_pixmap pNbPixmaps
[DGA_MAX_GRABBABLE_BUFS
];
41 /* shared info for nonviewable mbufs. Indices that
42 correspond to viewable mbufs are always NULL */
43 SHARED_PIXMAP_INFO
*pNbShinfo
[DGA_MAX_GRABBABLE_BUFS
];
45 u_int mbufseq
[DGA_MAX_GRABBABLE_BUFS
];
46 u_int clipseq
[DGA_MAX_GRABBABLE_BUFS
];
47 u_int curseq
[DGA_MAX_GRABBABLE_BUFS
];
49 /* last recorded cache count for nonviewable mbufs. Indices that
50 correspond to viewable mbufs are always 0 */
51 u_int cacheSeqs
[DGA_MAX_GRABBABLE_BUFS
];
53 /* last recorded cache count for nonviewable mbufs. Indices that
54 correspond to viewable mbufs are always 0 (viewable mbufs
55 don't have devce info) */
56 u_int devInfoSeqs
[DGA_MAX_GRABBABLE_BUFS
];
58 /* Has the buffer been locked previously? */
59 char prevLocked
[DGA_MAX_GRABBABLE_BUFS
];
64 #endif /* _DGA_MBUFSETSTR_H */