2 Copyright © 1995-2011, The AROS Development Team. All rights reserved.
9 #include "graphics_intern.h"
10 #include <graphics/regions.h>
11 #include "intregions.h"
13 /*****************************************************************************
16 #include <proto/graphics.h>
18 AROS_LH2(struct Region
*, XorRegionRegionND
,
21 AROS_LHA(struct Region
*, R1
, A0
),
22 AROS_LHA(struct Region
*, R2
, A1
),
25 struct GfxBase
*, GfxBase
, 191, Graphics
)
28 Exclusive-OR of one region with another region.
31 region1 - pointer to a region structure
32 region2 - pointer to a region structure
35 The resulting region or NULL in case there's no enough free memory
38 This function is not present in AmigaOS
45 AndRegionRegion(), OrRegionRegion()
50 27-11-96 digulla automatically created from
51 graphics_lib.fd and clib/graphics_protos.h
52 19-01-97 mreckt intital version
54 22-09-2001 falemagn changed implementation
56 *****************************************************************************/
64 !R1
->RegionRectangle
||
65 !R2
->RegionRectangle
||
66 !overlap(R1
->bounds
, R2
->bounds
)
69 return OrRegionRegionND(R1
, R2
);
76 struct RegionRectangle
*Diff1
= NULL
;
77 struct RegionRectangle
*Diff2
= NULL
;
115 &R3
->RegionRectangle
,
120 _DisposeRegionRectangleList(Diff1
, GfxBase
);
121 _DisposeRegionRectangleList(Diff2
, GfxBase
);
125 _TranslateRegionRectangles(R3
->RegionRectangle
, -MinX(R3
), -MinY(R3
));