4fedcd2da6f840dbadee84e579f146ad0f1fde22vboxsync/*
4fedcd2da6f840dbadee84e579f146ad0f1fde22vboxsyncCopyright 1989, 1998 The Open Group
4fedcd2da6f840dbadee84e579f146ad0f1fde22vboxsync
4fedcd2da6f840dbadee84e579f146ad0f1fde22vboxsyncPermission to use, copy, modify, distribute, and sell this software and its
4fedcd2da6f840dbadee84e579f146ad0f1fde22vboxsyncdocumentation for any purpose is hereby granted without fee, provided that
4fedcd2da6f840dbadee84e579f146ad0f1fde22vboxsyncthe above copyright notice appear in all copies and that both that
4fedcd2da6f840dbadee84e579f146ad0f1fde22vboxsynccopyright notice and this permission notice appear in supporting
4fedcd2da6f840dbadee84e579f146ad0f1fde22vboxsyncdocumentation.
4fedcd2da6f840dbadee84e579f146ad0f1fde22vboxsync
4fedcd2da6f840dbadee84e579f146ad0f1fde22vboxsyncThe above copyright notice and this permission notice shall be included in
4fedcd2da6f840dbadee84e579f146ad0f1fde22vboxsyncall copies or substantial portions of the Software.
4fedcd2da6f840dbadee84e579f146ad0f1fde22vboxsync
4fedcd2da6f840dbadee84e579f146ad0f1fde22vboxsyncTHE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
4fedcd2da6f840dbadee84e579f146ad0f1fde22vboxsyncIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
4fedcd2da6f840dbadee84e579f146ad0f1fde22vboxsyncFITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
4fedcd2da6f840dbadee84e579f146ad0f1fde22vboxsyncOPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN
4fedcd2da6f840dbadee84e579f146ad0f1fde22vboxsyncAN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
4fedcd2da6f840dbadee84e579f146ad0f1fde22vboxsyncCONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
4fedcd2da6f840dbadee84e579f146ad0f1fde22vboxsync
4fedcd2da6f840dbadee84e579f146ad0f1fde22vboxsyncExcept as contained in this notice, the name of The Open Group shall not be
4fedcd2da6f840dbadee84e579f146ad0f1fde22vboxsyncused in advertising or otherwise to promote the sale, use or other dealings
4fedcd2da6f840dbadee84e579f146ad0f1fde22vboxsyncin this Software without prior written authorization from The Open Group.
4fedcd2da6f840dbadee84e579f146ad0f1fde22vboxsync */
4fedcd2da6f840dbadee84e579f146ad0f1fde22vboxsync
4fedcd2da6f840dbadee84e579f146ad0f1fde22vboxsync#ifndef _MULTIBUFCONST_H_
4fedcd2da6f840dbadee84e579f146ad0f1fde22vboxsync#define _MULTIBUFCONST_H_
4fedcd2da6f840dbadee84e579f146ad0f1fde22vboxsync
4fedcd2da6f840dbadee84e579f146ad0f1fde22vboxsync#define MULTIBUFFER_PROTOCOL_NAME "Multi-Buffering"
4fedcd2da6f840dbadee84e579f146ad0f1fde22vboxsync
4fedcd2da6f840dbadee84e579f146ad0f1fde22vboxsync#define MULTIBUFFER_MAJOR_VERSION 1 /* current version numbers */
4fedcd2da6f840dbadee84e579f146ad0f1fde22vboxsync#define MULTIBUFFER_MINOR_VERSION 1 /* has ClearImageBufferArea */
4fedcd2da6f840dbadee84e579f146ad0f1fde22vboxsync
4fedcd2da6f840dbadee84e579f146ad0f1fde22vboxsync/*
4fedcd2da6f840dbadee84e579f146ad0f1fde22vboxsync * update_action field
4fedcd2da6f840dbadee84e579f146ad0f1fde22vboxsync */
4fedcd2da6f840dbadee84e579f146ad0f1fde22vboxsync#define MultibufferUpdateActionUndefined 0
4fedcd2da6f840dbadee84e579f146ad0f1fde22vboxsync#define MultibufferUpdateActionBackground 1
4fedcd2da6f840dbadee84e579f146ad0f1fde22vboxsync#define MultibufferUpdateActionUntouched 2
4fedcd2da6f840dbadee84e579f146ad0f1fde22vboxsync#define MultibufferUpdateActionCopied 3
4fedcd2da6f840dbadee84e579f146ad0f1fde22vboxsync
4fedcd2da6f840dbadee84e579f146ad0f1fde22vboxsync/*
4fedcd2da6f840dbadee84e579f146ad0f1fde22vboxsync * update_hint field
4fedcd2da6f840dbadee84e579f146ad0f1fde22vboxsync */
4fedcd2da6f840dbadee84e579f146ad0f1fde22vboxsync#define MultibufferUpdateHintFrequent 0
4fedcd2da6f840dbadee84e579f146ad0f1fde22vboxsync#define MultibufferUpdateHintIntermittent 1
4fedcd2da6f840dbadee84e579f146ad0f1fde22vboxsync#define MultibufferUpdateHintStatic 2
4fedcd2da6f840dbadee84e579f146ad0f1fde22vboxsync
4fedcd2da6f840dbadee84e579f146ad0f1fde22vboxsync/*
4fedcd2da6f840dbadee84e579f146ad0f1fde22vboxsync * valuemask fields
4fedcd2da6f840dbadee84e579f146ad0f1fde22vboxsync */
4fedcd2da6f840dbadee84e579f146ad0f1fde22vboxsync#define MultibufferWindowUpdateHint (1L << 0)
4fedcd2da6f840dbadee84e579f146ad0f1fde22vboxsync#define MultibufferBufferEventMask (1L << 0)
4fedcd2da6f840dbadee84e579f146ad0f1fde22vboxsync
4fedcd2da6f840dbadee84e579f146ad0f1fde22vboxsync/*
4fedcd2da6f840dbadee84e579f146ad0f1fde22vboxsync * mono vs. stereo and left vs. right
4fedcd2da6f840dbadee84e579f146ad0f1fde22vboxsync */
4fedcd2da6f840dbadee84e579f146ad0f1fde22vboxsync#define MultibufferModeMono 0
4fedcd2da6f840dbadee84e579f146ad0f1fde22vboxsync#define MultibufferModeStereo 1
4fedcd2da6f840dbadee84e579f146ad0f1fde22vboxsync#define MultibufferSideMono 0
4fedcd2da6f840dbadee84e579f146ad0f1fde22vboxsync#define MultibufferSideLeft 1
4fedcd2da6f840dbadee84e579f146ad0f1fde22vboxsync#define MultibufferSideRight 2
4fedcd2da6f840dbadee84e579f146ad0f1fde22vboxsync
4fedcd2da6f840dbadee84e579f146ad0f1fde22vboxsync/*
4fedcd2da6f840dbadee84e579f146ad0f1fde22vboxsync * clobber state
4fedcd2da6f840dbadee84e579f146ad0f1fde22vboxsync */
4fedcd2da6f840dbadee84e579f146ad0f1fde22vboxsync#define MultibufferUnclobbered 0
4fedcd2da6f840dbadee84e579f146ad0f1fde22vboxsync#define MultibufferPartiallyClobbered 1
4fedcd2da6f840dbadee84e579f146ad0f1fde22vboxsync#define MultibufferFullyClobbered 2
4fedcd2da6f840dbadee84e579f146ad0f1fde22vboxsync
4fedcd2da6f840dbadee84e579f146ad0f1fde22vboxsync/*
4fedcd2da6f840dbadee84e579f146ad0f1fde22vboxsync * event stuff
4fedcd2da6f840dbadee84e579f146ad0f1fde22vboxsync */
4fedcd2da6f840dbadee84e579f146ad0f1fde22vboxsync#define MultibufferClobberNotifyMask 0x02000000
4fedcd2da6f840dbadee84e579f146ad0f1fde22vboxsync#define MultibufferUpdateNotifyMask 0x04000000
4fedcd2da6f840dbadee84e579f146ad0f1fde22vboxsync
4fedcd2da6f840dbadee84e579f146ad0f1fde22vboxsync#define MultibufferClobberNotify 0
4fedcd2da6f840dbadee84e579f146ad0f1fde22vboxsync#define MultibufferUpdateNotify 1
4fedcd2da6f840dbadee84e579f146ad0f1fde22vboxsync#define MultibufferNumberEvents (MultibufferUpdateNotify + 1)
4fedcd2da6f840dbadee84e579f146ad0f1fde22vboxsync
4fedcd2da6f840dbadee84e579f146ad0f1fde22vboxsync#define MultibufferBadBuffer 0
4fedcd2da6f840dbadee84e579f146ad0f1fde22vboxsync#define MultibufferNumberErrors (MultibufferBadBuffer + 1)
4fedcd2da6f840dbadee84e579f146ad0f1fde22vboxsync
4fedcd2da6f840dbadee84e579f146ad0f1fde22vboxsync#endif /* _MULTIBUFCONST_H_ */