diff options
Diffstat (limited to 'generic/Item.c')
-rw-r--r-- | generic/Item.c | 27 |
1 files changed, 17 insertions, 10 deletions
diff --git a/generic/Item.c b/generic/Item.c index 10be057..31852f8 100644 --- a/generic/Item.c +++ b/generic/Item.c @@ -31,7 +31,11 @@ #include "OverlapMan.h" #endif -#include <GL/glu.h> +#if defined(MAC_OSX_TK) + #include <AGL/glu.h> +#else + #include <GL/glu.h> +#endif #include <limits.h> /* For INT_MAX */ #include <stdarg.h> #include <stdio.h> @@ -2111,6 +2115,7 @@ ZnCurrentClip(ZnWInfo *wi, return False; } +#include "tkMacOSXInt.h" /* * If simple is True poly is a pointer to an * array of two points. In the other case it @@ -2126,7 +2131,7 @@ ZnPushClip(ZnWInfo *wi, unsigned int num_pts, max_num_pts; ZnPoint *p; ClipState *previous_clip=NULL; - TkRegion reg, reg_op, reg_to; + TkRegion reg, reg_op/*, reg_to*/; XRectangle rect; XPoint xpts[3]; @@ -2185,11 +2190,12 @@ ZnPushClip(ZnWInfo *wi, xpts[2].x = ZnNearestInt(p->x); xpts[2].y = ZnNearestInt(p->y); reg_op = (TkRegion) ZnPolygonRegion(xpts, 3, EvenOddRule); - reg_to = TkCreateRegion(); - ZnUnionRegion(reg, reg_op, reg_to); - TkDestroyRegion(reg); + //reg_to = TkCreateRegion(); + //ZnUnionRegion(reg, reg_op, reg_to); + ZnUnionRegion(reg, reg_op, reg); + //TkDestroyRegion(reg); TkDestroyRegion(reg_op); - reg = reg_to; + //reg = reg_to; xpts[1] = xpts[2]; } } @@ -2204,11 +2210,12 @@ ZnPushClip(ZnWInfo *wi, xpts[2].x = (short) p->x; xpts[2].y = (short) p->y; reg_op = (TkRegion) ZnPolygonRegion(xpts, 3, EvenOddRule); - reg_to = TkCreateRegion(); - ZnUnionRegion(reg, reg_op, reg_to); - TkDestroyRegion(reg); + //reg_to = TkCreateRegion(); + //ZnUnionRegion(reg, reg_op, reg_to); + ZnUnionRegion(reg, reg_op, reg); + //TkDestroyRegion(reg); TkDestroyRegion(reg_op); - reg = reg_to; + //reg = reg_to; xpts[0] = xpts[1]; xpts[1] = xpts[2]; } |