-Duple
-Duple::translate (Duple t) const
-{
- Duple d;
-
- d.x = safe_add (x, t.x);
- d.y = safe_add (y, t.y);
-
- return d;
-}
-
-boost::optional<Rect>
-Rect::intersection (Rect const & o) const
-{
- Rect i;
-
- i.x0 = max (x0, o.x0);
- i.y0 = max (y0, o.y0);
- i.x1 = min (x1, o.x1);
- i.y1 = min (y1, o.y1);
-
- if (i.x0 > i.x1 || i.y0 > i.y1) {
- return boost::optional<Rect> ();
- }
-
- return boost::optional<Rect> (i);
-}
-
-Rect
-Rect::translate (Duple t) const
-{
- Rect r;
-
- r.x0 = safe_add (x0, t.x);
- r.y0 = safe_add (y0, t.y);
- r.x1 = safe_add (x1, t.x);
- r.y1 = safe_add (y1, t.y);
- return r;
-}
-
-Rect
-Rect::extend (Rect const & o) const
-{
- Rect r;
- r.x0 = min (x0, o.x0);
- r.y0 = min (y0, o.y0);
- r.x1 = max (x1, o.x1);
- r.y1 = max (y1, o.y1);
- return r;
-}
+ You should have received a copy of the GNU General Public License
+ along with this program; if not, write to the Free Software
+ Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+*/