mirror of
https://github.com/X11Libre/xserver.git
synced 2026-09-18 19:52:21 +00:00
fixes: Add panoramix support
Taken from: 583f4dde81d8d5e9101b0289946e1914ea1ee124 With minor style fixes and ported to dixLookupResourceByType. Reviewed-by: Dave Airlie <airlied@gmail.com> Signed-off-by: Adam Jackson <ajax@redhat.com>
This commit is contained in:
parent
1b3c57f075
commit
6dea617e0f
5 changed files with 131 additions and 0 deletions
|
|
@ -842,3 +842,81 @@ SProcXFixesExpandRegion (ClientPtr client)
|
|||
return (*ProcXFixesVector[stuff->xfixesReqType]) (client);
|
||||
}
|
||||
|
||||
#ifdef PANORAMIX
|
||||
#include "panoramiX.h"
|
||||
#include "panoramiXsrv.h"
|
||||
|
||||
int
|
||||
PanoramiXFixesSetGCClipRegion (ClientPtr client)
|
||||
{
|
||||
REQUEST(xXFixesSetGCClipRegionReq);
|
||||
int result = Success, j;
|
||||
PanoramiXRes *gc;
|
||||
REQUEST_SIZE_MATCH(xXFixesSetGCClipRegionReq);
|
||||
|
||||
if ((result = dixLookupResourceByType((void **)&gc, stuff->gc, XRT_GC,
|
||||
client, DixWriteAccess))) {
|
||||
client->errorValue = stuff->gc;
|
||||
return result;
|
||||
}
|
||||
|
||||
FOR_NSCREENS_BACKWARD(j) {
|
||||
stuff->gc = gc->info[j].id;
|
||||
result = (*PanoramiXSaveXFixesVector[X_XFixesSetGCClipRegion]) (client);
|
||||
if(result != Success) break;
|
||||
}
|
||||
|
||||
return result;
|
||||
}
|
||||
|
||||
int
|
||||
PanoramiXFixesSetWindowShapeRegion (ClientPtr client)
|
||||
{
|
||||
int result = Success, j;
|
||||
PanoramiXRes *win;
|
||||
REQUEST(xXFixesSetWindowShapeRegionReq);
|
||||
|
||||
REQUEST_SIZE_MATCH(xXFixesSetWindowShapeRegionReq);
|
||||
|
||||
if ((result = dixLookupResourceByType((void **)&win, stuff->dest,
|
||||
XRT_WINDOW, client,
|
||||
DixWriteAccess))) {
|
||||
client->errorValue = stuff->dest;
|
||||
return result;
|
||||
}
|
||||
|
||||
FOR_NSCREENS_FORWARD(j) {
|
||||
stuff->dest = win->info[j].id;
|
||||
result = (*PanoramiXSaveXFixesVector[X_XFixesSetWindowShapeRegion]) (client);
|
||||
if(result != Success) break;
|
||||
}
|
||||
|
||||
return result;
|
||||
}
|
||||
|
||||
int
|
||||
PanoramiXFixesSetPictureClipRegion (ClientPtr client)
|
||||
{
|
||||
REQUEST(xXFixesSetPictureClipRegionReq);
|
||||
int result = Success, j;
|
||||
PanoramiXRes *pict;
|
||||
|
||||
REQUEST_SIZE_MATCH (xXFixesSetPictureClipRegionReq);
|
||||
|
||||
if ((result = dixLookupResourceByType((void **)&pict, stuff->picture,
|
||||
XRT_PICTURE, client,
|
||||
DixWriteAccess))) {
|
||||
client->errorValue = stuff->picture;
|
||||
return result;
|
||||
}
|
||||
|
||||
FOR_NSCREENS_BACKWARD(j) {
|
||||
stuff->picture = pict->info[j].id;
|
||||
result = (*PanoramiXSaveXFixesVector[X_XFixesSetPictureClipRegion]) (client);
|
||||
if(result != Success) break;
|
||||
}
|
||||
|
||||
return result;
|
||||
}
|
||||
|
||||
#endif
|
||||
|
|
|
|||
Loading…
Reference in a new issue