f78b12e570284aa8291f4ca1add24937fd107403vboxsync
f78b12e570284aa8291f4ca1add24937fd107403vboxsync/*
f78b12e570284aa8291f4ca1add24937fd107403vboxsync * Copyright (c) 2003 by The XFree86 Project, Inc.
f78b12e570284aa8291f4ca1add24937fd107403vboxsync *
f78b12e570284aa8291f4ca1add24937fd107403vboxsync * Permission is hereby granted, free of charge, to any person obtaining a
f78b12e570284aa8291f4ca1add24937fd107403vboxsync * copy of this software and associated documentation files (the "Software"),
f78b12e570284aa8291f4ca1add24937fd107403vboxsync * to deal in the Software without restriction, including without limitation
f78b12e570284aa8291f4ca1add24937fd107403vboxsync * the rights to use, copy, modify, merge, publish, distribute, sublicense,
f78b12e570284aa8291f4ca1add24937fd107403vboxsync * and/or sell copies of the Software, and to permit persons to whom the
f78b12e570284aa8291f4ca1add24937fd107403vboxsync * Software is furnished to do so, subject to the following conditions:
f78b12e570284aa8291f4ca1add24937fd107403vboxsync *
f78b12e570284aa8291f4ca1add24937fd107403vboxsync * The above copyright notice and this permission notice shall be included in
f78b12e570284aa8291f4ca1add24937fd107403vboxsync * all copies or substantial portions of the Software.
f78b12e570284aa8291f4ca1add24937fd107403vboxsync *
f78b12e570284aa8291f4ca1add24937fd107403vboxsync * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
f78b12e570284aa8291f4ca1add24937fd107403vboxsync * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
f78b12e570284aa8291f4ca1add24937fd107403vboxsync * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
f78b12e570284aa8291f4ca1add24937fd107403vboxsync * THE COPYRIGHT HOLDER(S) OR AUTHOR(S) BE LIABLE FOR ANY CLAIM, DAMAGES OR
f78b12e570284aa8291f4ca1add24937fd107403vboxsync * OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
f78b12e570284aa8291f4ca1add24937fd107403vboxsync * ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
f78b12e570284aa8291f4ca1add24937fd107403vboxsync * OTHER DEALINGS IN THE SOFTWARE.
f78b12e570284aa8291f4ca1add24937fd107403vboxsync *
f78b12e570284aa8291f4ca1add24937fd107403vboxsync * Except as contained in this notice, the name of the copyright holder(s)
f78b12e570284aa8291f4ca1add24937fd107403vboxsync * and author(s) shall not be used in advertising or otherwise to promote
f78b12e570284aa8291f4ca1add24937fd107403vboxsync * the sale, use or other dealings in this Software without prior written
f78b12e570284aa8291f4ca1add24937fd107403vboxsync * authorization from the copyright holder(s) and author(s).
f78b12e570284aa8291f4ca1add24937fd107403vboxsync */
f78b12e570284aa8291f4ca1add24937fd107403vboxsync
f78b12e570284aa8291f4ca1add24937fd107403vboxsync#ifndef _XF86XVPRIV_H_
f78b12e570284aa8291f4ca1add24937fd107403vboxsync#define _XF86XVPRIV_H_
f78b12e570284aa8291f4ca1add24937fd107403vboxsync
f78b12e570284aa8291f4ca1add24937fd107403vboxsync#include "xf86xv.h"
f78b12e570284aa8291f4ca1add24937fd107403vboxsync#include "privates.h"
f78b12e570284aa8291f4ca1add24937fd107403vboxsync
f78b12e570284aa8291f4ca1add24937fd107403vboxsync/*** These are DDX layer privates ***/
f78b12e570284aa8291f4ca1add24937fd107403vboxsync
f78b12e570284aa8291f4ca1add24937fd107403vboxsyncextern _X_EXPORT DevPrivateKey XF86XvScreenKey;
f78b12e570284aa8291f4ca1add24937fd107403vboxsync
f78b12e570284aa8291f4ca1add24937fd107403vboxsynctypedef struct {
f78b12e570284aa8291f4ca1add24937fd107403vboxsync DestroyWindowProcPtr DestroyWindow;
f78b12e570284aa8291f4ca1add24937fd107403vboxsync ClipNotifyProcPtr ClipNotify;
f78b12e570284aa8291f4ca1add24937fd107403vboxsync WindowExposuresProcPtr WindowExposures;
f78b12e570284aa8291f4ca1add24937fd107403vboxsync PostValidateTreeProcPtr PostValidateTree;
f78b12e570284aa8291f4ca1add24937fd107403vboxsync void (*AdjustFrame)(int, int, int, int);
f78b12e570284aa8291f4ca1add24937fd107403vboxsync Bool (*EnterVT)(int, int);
f78b12e570284aa8291f4ca1add24937fd107403vboxsync void (*LeaveVT)(int, int);
f78b12e570284aa8291f4ca1add24937fd107403vboxsync xf86ModeSetProc *ModeSet;
f78b12e570284aa8291f4ca1add24937fd107403vboxsync} XF86XVScreenRec, *XF86XVScreenPtr;
f78b12e570284aa8291f4ca1add24937fd107403vboxsync
f78b12e570284aa8291f4ca1add24937fd107403vboxsynctypedef struct {
f78b12e570284aa8291f4ca1add24937fd107403vboxsync int flags;
f78b12e570284aa8291f4ca1add24937fd107403vboxsync PutVideoFuncPtr PutVideo;
f78b12e570284aa8291f4ca1add24937fd107403vboxsync PutStillFuncPtr PutStill;
f78b12e570284aa8291f4ca1add24937fd107403vboxsync GetVideoFuncPtr GetVideo;
f78b12e570284aa8291f4ca1add24937fd107403vboxsync GetStillFuncPtr GetStill;
f78b12e570284aa8291f4ca1add24937fd107403vboxsync StopVideoFuncPtr StopVideo;
f78b12e570284aa8291f4ca1add24937fd107403vboxsync SetPortAttributeFuncPtr SetPortAttribute;
f78b12e570284aa8291f4ca1add24937fd107403vboxsync GetPortAttributeFuncPtr GetPortAttribute;
f78b12e570284aa8291f4ca1add24937fd107403vboxsync QueryBestSizeFuncPtr QueryBestSize;
f78b12e570284aa8291f4ca1add24937fd107403vboxsync PutImageFuncPtr PutImage;
f78b12e570284aa8291f4ca1add24937fd107403vboxsync ReputImageFuncPtr ReputImage;
f78b12e570284aa8291f4ca1add24937fd107403vboxsync QueryImageAttributesFuncPtr QueryImageAttributes;
f78b12e570284aa8291f4ca1add24937fd107403vboxsync ClipNotifyFuncPtr ClipNotify;
f78b12e570284aa8291f4ca1add24937fd107403vboxsync} XvAdaptorRecPrivate, *XvAdaptorRecPrivatePtr;
f78b12e570284aa8291f4ca1add24937fd107403vboxsync
f78b12e570284aa8291f4ca1add24937fd107403vboxsynctypedef struct {
f78b12e570284aa8291f4ca1add24937fd107403vboxsync ScrnInfoPtr pScrn;
f78b12e570284aa8291f4ca1add24937fd107403vboxsync DrawablePtr pDraw;
f78b12e570284aa8291f4ca1add24937fd107403vboxsync unsigned char type;
f78b12e570284aa8291f4ca1add24937fd107403vboxsync unsigned int subWindowMode;
f78b12e570284aa8291f4ca1add24937fd107403vboxsync RegionPtr clientClip;
f78b12e570284aa8291f4ca1add24937fd107403vboxsync RegionPtr ckeyFilled;
f78b12e570284aa8291f4ca1add24937fd107403vboxsync RegionPtr pCompositeClip;
f78b12e570284aa8291f4ca1add24937fd107403vboxsync Bool FreeCompositeClip;
f78b12e570284aa8291f4ca1add24937fd107403vboxsync XvAdaptorRecPrivatePtr AdaptorRec;
f78b12e570284aa8291f4ca1add24937fd107403vboxsync XvStatus isOn;
f78b12e570284aa8291f4ca1add24937fd107403vboxsync Bool clipChanged;
f78b12e570284aa8291f4ca1add24937fd107403vboxsync int vid_x, vid_y, vid_w, vid_h;
f78b12e570284aa8291f4ca1add24937fd107403vboxsync int drw_x, drw_y, drw_w, drw_h;
f78b12e570284aa8291f4ca1add24937fd107403vboxsync DevUnion DevPriv;
f78b12e570284aa8291f4ca1add24937fd107403vboxsync} XvPortRecPrivate, *XvPortRecPrivatePtr;
f78b12e570284aa8291f4ca1add24937fd107403vboxsync
f78b12e570284aa8291f4ca1add24937fd107403vboxsynctypedef struct _XF86XVWindowRec{
f78b12e570284aa8291f4ca1add24937fd107403vboxsync XvPortRecPrivatePtr PortRec;
f78b12e570284aa8291f4ca1add24937fd107403vboxsync struct _XF86XVWindowRec *next;
f78b12e570284aa8291f4ca1add24937fd107403vboxsync} XF86XVWindowRec, *XF86XVWindowPtr;
f78b12e570284aa8291f4ca1add24937fd107403vboxsync
f78b12e570284aa8291f4ca1add24937fd107403vboxsync#endif /* _XF86XVPRIV_H_ */