| /* | |
| * DC clipping functions | |
| * | |
| * Copyright 1993 Alexandre Julliard | |
| */ | |
| #include <stdio.h> | |
| #include "dc.h" | |
| #include "x11drv.h" | |
| #include "region.h" | |
| #include "stddebug.h" | |
| #include "debug.h" | |
| /*********************************************************************** | |
| * X11DRV_SetDeviceClipping | |
| */ | |
| void X11DRV_SetDeviceClipping( DC * dc ) | |
| { | |
| RGNOBJ *obj = (RGNOBJ *) GDI_GetObjPtr(dc->w.hGCClipRgn, REGION_MAGIC); | |
| if (!obj) | |
| { | |
| fprintf( stderr, "X11DRV_SetDeviceClipping: Rgn is 0. Please report this.\n"); | |
| exit(1); | |
| } | |
| if (obj->xrgn) | |
| { | |
| XSetRegion( display, dc->u.x.gc, obj->xrgn ); | |
| XSetClipOrigin( display, dc->u.x.gc, dc->w.DCOrgX, dc->w.DCOrgY ); | |
| } | |
| else /* Clip everything */ | |
| { | |
| XSetClipRectangles( display, dc->u.x.gc, 0, 0, NULL, 0, 0 ); | |
| } | |
| GDI_HEAP_UNLOCK( dc->w.hGCClipRgn ); | |
| } |