First import
[xorg_rtime.git] / xorg-server-1.4 / hw / xfree86 / common / xf86xvpriv.h
blobe716c9c6aa10c46142f52d292d94eb42cc83b065
2 /*
3 * Copyright (c) 2003 by The XFree86 Project, Inc.
5 * Permission is hereby granted, free of charge, to any person obtaining a
6 * copy of this software and associated documentation files (the "Software"),
7 * to deal in the Software without restriction, including without limitation
8 * the rights to use, copy, modify, merge, publish, distribute, sublicense,
9 * and/or sell copies of the Software, and to permit persons to whom the
10 * Software is furnished to do so, subject to the following conditions:
12 * The above copyright notice and this permission notice shall be included in
13 * all copies or substantial portions of the Software.
15 * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16 * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17 * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
18 * THE COPYRIGHT HOLDER(S) OR AUTHOR(S) BE LIABLE FOR ANY CLAIM, DAMAGES OR
19 * OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
20 * ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
21 * OTHER DEALINGS IN THE SOFTWARE.
23 * Except as contained in this notice, the name of the copyright holder(s)
24 * and author(s) shall not be used in advertising or otherwise to promote
25 * the sale, use or other dealings in this Software without prior written
26 * authorization from the copyright holder(s) and author(s).
29 #ifndef _XF86XVPRIV_H_
30 #define _XF86XVPRIV_H_
32 #include "xf86xv.h"
34 /*** These are DDX layer privates ***/
36 extern int XF86XvScreenIndex;
38 typedef struct {
39 DestroyWindowProcPtr DestroyWindow;
40 ClipNotifyProcPtr ClipNotify;
41 WindowExposuresProcPtr WindowExposures;
42 void (*AdjustFrame)(int, int, int, int);
43 Bool (*EnterVT)(int, int);
44 void (*LeaveVT)(int, int);
45 GCPtr videoGC;
46 } XF86XVScreenRec, *XF86XVScreenPtr;
48 typedef struct {
49 int flags;
50 PutVideoFuncPtr PutVideo;
51 PutStillFuncPtr PutStill;
52 GetVideoFuncPtr GetVideo;
53 GetStillFuncPtr GetStill;
54 StopVideoFuncPtr StopVideo;
55 SetPortAttributeFuncPtr SetPortAttribute;
56 GetPortAttributeFuncPtr GetPortAttribute;
57 QueryBestSizeFuncPtr QueryBestSize;
58 PutImageFuncPtr PutImage;
59 ReputImageFuncPtr ReputImage;
60 QueryImageAttributesFuncPtr QueryImageAttributes;
61 } XvAdaptorRecPrivate, *XvAdaptorRecPrivatePtr;
63 typedef struct {
64 ScrnInfoPtr pScrn;
65 DrawablePtr pDraw;
66 unsigned char type;
67 unsigned int subWindowMode;
68 DDXPointRec clipOrg;
69 RegionPtr clientClip;
70 RegionPtr pCompositeClip;
71 Bool FreeCompositeClip;
72 XvAdaptorRecPrivatePtr AdaptorRec;
73 XvStatus isOn;
74 Bool moved;
75 int vid_x, vid_y, vid_w, vid_h;
76 int drw_x, drw_y, drw_w, drw_h;
77 DevUnion DevPriv;
78 } XvPortRecPrivate, *XvPortRecPrivatePtr;
80 typedef struct _XF86XVWindowRec{
81 XvPortRecPrivatePtr PortRec;
82 struct _XF86XVWindowRec *next;
83 GCPtr pGC;
84 } XF86XVWindowRec, *XF86XVWindowPtr;
86 #endif /* _XF86XVPRIV_H_ */