#include "CtrlCore.h" #ifdef GUI_X11 namespace Upp { Vector RectRgn(const Rect& r) { Vector q; q.Add(r); return q; } Vector Intersect(const Vector& r1, const Vector& r2) { Vector q; for(int i = 0; i < r1.GetCount(); i++) for(int j = 0; j < r2.GetCount(); j++) { Rect r = r1[i] & r2[j]; if(!r.IsEmpty()) q.Add(r); } return q; } Vector Subtract(const Vector& r1, const Vector& r2) { Vector q; bool dummy; q <<= r1; for(int i = 0; i < r2.GetCount(); i++) q = Subtract(q, r2[i], dummy); return q; } Vector Xor(const Vector& r1, const Vector& r2) { Vector is = Intersect(r1, r2); Vector q = Subtract(r1, is); q.Append(Subtract(r2, is)); return q; } } #endif