83 lines
		
	
	
		
			2.9 KiB
		
	
	
	
		
			C
		
	
	
	
			
		
		
	
	
			83 lines
		
	
	
		
			2.9 KiB
		
	
	
	
		
			C
		
	
	
	
| /* SPDX-License-Identifier: MIT OR X11
 | |
|  *
 | |
|  * Copyright © 2024 Enrico Weigelt, metux IT consult <info@metux.net>
 | |
|  */
 | |
| #ifndef _XORG_XVDIX_PRIV_H
 | |
| 
 | |
| #include <X11/Xdefs.h>
 | |
| 
 | |
| #include "include/pixmap.h"
 | |
| #include "include/regionstr.h"
 | |
| #include "Xext/xvdix.h"
 | |
| 
 | |
| #define VALIDATE_XV_PORT(portID, pPort, mode)\
 | |
|     {\
 | |
|         int rc = dixLookupResourceByType((void **)&(pPort), portID,\
 | |
|                                          XvRTPort, client, mode);\
 | |
|         if (rc != Success)\
 | |
|             return rc;\
 | |
|     }
 | |
| 
 | |
| /* Errors */
 | |
| 
 | |
| #define _XvBadPort (XvBadPort+XvErrorBase)
 | |
| 
 | |
| typedef struct _XvPortNotifyRec {
 | |
|     struct _XvPortNotifyRec *next;
 | |
|     ClientPtr client;
 | |
|     unsigned long id;
 | |
| } XvPortNotifyRec, *XvPortNotifyPtr;
 | |
| 
 | |
| extern int XvReqCode;
 | |
| extern int XvErrorBase;
 | |
| 
 | |
| extern RESTYPE XvRTPort;
 | |
| 
 | |
| /* dispatch functions */
 | |
| int ProcXvDispatch(ClientPtr);
 | |
| int SProcXvDispatch(ClientPtr);
 | |
| 
 | |
| void XvFreeAdaptor(XvAdaptorPtr pAdaptor);
 | |
| 
 | |
| void XvFillColorKey(DrawablePtr pDraw, CARD32 key, RegionPtr region);
 | |
| 
 | |
| int XvdiSelectVideoNotify(ClientPtr client, DrawablePtr pDraw, BOOL onoff);
 | |
| int XvdiSelectPortNotify(ClientPtr client, XvPortPtr pPort, BOOL onoff);
 | |
| 
 | |
| int XvdiPutVideo(ClientPtr client, DrawablePtr pDraw, XvPortPtr pPort,
 | |
|                  GCPtr pGC, INT16 vid_x, INT16 vid_y, CARD16 vid_w,
 | |
|                  CARD16 wid_h, INT16 drw_x, INT16 drw_y, CARD16 drw_w,
 | |
|                  CARD16 drw_h);
 | |
| int XvdiPutStill(ClientPtr client, DrawablePtr pDraw, XvPortPtr pPort,
 | |
|                  GCPtr pGC, INT16 vid_x, INT16 vid_y, CARD16 vid_w,
 | |
|                  CARD16 vid_h, INT16 drw_x, INT16 drw_y, CARD16 drw_w,
 | |
|                  CARD16 drw_h);
 | |
| int XvdiPutImage(ClientPtr client, DrawablePtr pDraw, XvPortPtr pPort,
 | |
|                  GCPtr pGC, INT16 src_x, INT16 src_y, CARD16 src_w,
 | |
|                  CARD16 src_h, INT16 drw_x, INT16 drw_y, CARD16 drw_w,
 | |
|                  CARD16 drw_h, XvImagePtr image, unsigned char *data,
 | |
|                  Bool sync, CARD16 width, CARD16 height);
 | |
| 
 | |
| int XvdiGetVideo(ClientPtr client, DrawablePtr pDraw, XvPortPtr pPort,
 | |
|                  GCPtr pGC, INT16 vid_x, INT16 vid_y, CARD16 vid_w,
 | |
|                  CARD16 vid_h, INT16 drw_x, INT16 drw_y, CARD16 drw_w,
 | |
|                  CARD16 drw_h);
 | |
| int XvdiGetStill(ClientPtr client, DrawablePtr pDraw, XvPortPtr pPort,
 | |
|                  GCPtr pGC, INT16 vid_x, INT16 vid_y, CARD16 vid_w,
 | |
|                  CARD16 vid_h, INT16 drw_x, INT16 drw_y, CARD16 drw_w,
 | |
|                  CARD16 drw_h);
 | |
| 
 | |
| int XvdiSetPortAttribute(ClientPtr client, XvPortPtr pPort, Atom attribute,
 | |
|                          INT32 value);
 | |
| int XvdiGetPortAttribute(ClientPtr client, XvPortPtr pPort, Atom attribute,
 | |
|                          INT32 *p_value);
 | |
| 
 | |
| int XvdiStopVideo(ClientPtr client, XvPortPtr pPort, DrawablePtr pDraw);
 | |
| 
 | |
| int XvdiMatchPort(XvPortPtr pPort, DrawablePtr pDraw);
 | |
| 
 | |
| int XvdiGrabPort(ClientPtr client, XvPortPtr pPort, Time ctime, int *p_result);
 | |
| int XvdiUngrabPort(ClientPtr client, XvPortPtr pPort, Time ctime);
 | |
| 
 | |
| #endif /* _XORG_XVDIX_PRIV_H */
 |