2 /**************************************************************************
3 ** (c) Copyright 1998, Andromeda Technology & Automation
4 ***************************************************************************
5 ** MODULE INFORMATION *
6 ***********************
7 ** FILE NAME : geometry.cpp
8 ** SYSTEM NAME : AXE - Andromeda X-windows Encapsulation
9 ** VERSION NUMBER : $Revision: 1.1 $
11 ** DESCRIPTION : Implementation of geometry classes
16 ***************************************************************************
17 ** ADMINISTRATIVE INFORMATION *
18 ********************************
19 ** ORIGINAL AUTHOR : Arjen Baart - arjen@andromeda.nl
20 ** CREATION DATE : Apr 04, 1998
21 ** LAST UPDATE : Apr 04, 1998
23 **************************************************************************/
25 /*****************************
26 $Log: geometry.cpp,v $
27 Revision 1.1 2002-07-25 08:01:27 arjen
28 First checkin, AXE release 0.2
30 *****************************/
32 static const char *RCSID = "$Id: geometry.cpp,v 1.1 2002-07-25 08:01:27 arjen Exp $";
36 rectangle::rectangle(point p1, point p2)
61 bool rectangle::encloses(point p)
63 return p.x > x && p.x < x + w && p.y > y && p.y < y + h;
66 bool rectangle::encloses(rectangle r)
68 return encloses(r.Origin()) && encloses(r.Origin() + r.Size());
71 point operator + (point p1, point p2)
79 point operator + (point p, size s)