16 VRegion(int x, int y, int w, int h);
17 VRegion(const VRect &r);
18 VRegion(const VRegion ®ion);
19 VRegion(VRegion &&other);
21 VRegion & operator=(const VRegion &);
22 VRegion & operator=(VRegion &&);
24 bool contains(const VRect &r) const;
25 VRegion united(const VRect &r) const;
26 VRegion united(const VRegion &r) const;
27 VRegion intersected(const VRect &r) const;
28 VRegion intersected(const VRegion &r) const;
29 VRegion subtracted(const VRegion &r) const;
30 void translate(const VPoint &p);
31 inline void translate(int dx, int dy);
32 VRegion translated(const VPoint &p) const;
33 inline VRegion translated(int dx, int dy) const;
34 int rectCount() const;
35 VRect rectAt(int index) const;
37 VRegion operator+(const VRect &r) const;
38 VRegion operator+(const VRegion &r) const;
39 VRegion operator-(const VRegion &r) const;
40 VRegion &operator+=(const VRect &r);
41 VRegion &operator+=(const VRegion &r);
42 VRegion &operator-=(const VRegion &r);
44 VRect boundingRect() const noexcept;
45 bool intersects(const VRegion ®ion) const;
47 bool operator==(const VRegion &r) const;
48 inline bool operator!=(const VRegion &r) const { return !(operator==(r)); }
49 friend VDebug &operator<<(VDebug &os, const VRegion &o);
52 bool within(const VRect &r) const;
55 void cleanUp(VRegionData *x);
57 struct VRegionData *d;
59 inline void VRegion::translate(int dx, int dy)
61 translate(VPoint(dx, dy));
64 inline VRegion VRegion::translated(int dx, int dy) const
66 return translated(VPoint(dx, dy));