tbx  0.7.6
point.h
1 /*
2  * tbx RISC OS toolbox library
3  *
4  * Copyright (C) 2010 Alan Buckley All Rights Reserved.
5  *
6  * Permission is hereby granted, free of charge, to any person obtaining a
7  * copy of this software and associated documentation files (the "Software"),
8  * to deal in the Software without restriction, including without limitation
9  * the rights to use, copy, modify, merge, publish, distribute, sublicense,
10  * and/or sell copies of the Software, and to permit persons to whom the
11  * Software is furnished to do so, subject to the following conditions:
12  *
13  * The above copyright notice and this permission notice shall be included
14  * in all copies or substantial portions of the Software.
15  *
16  * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
17  * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
18  * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
19  * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
20  * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
21  * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
22  * THE SOFTWARE.
23  */
24 
25 #ifndef TBX_POINT_H_
26 #define TBX_POINT_H_
27 
28 #include "size.h"
29 
30 namespace tbx
31 {
32 
36 class Point
37 {
38 public:
44  Point() {}
51  Point(int ix, int iy) : x(ix), y(iy) {}
57  Point(const Point &other) : x(other.x), y(other.y) {}
58 
59  int x;
60  int y;
68  Point &operator=(const Point &other) {x=other.x; y=other.y; return *this;}
75  bool operator==(const Point &other) const {return (x==other.x) && (y==other.y);}
82  bool operator!=(const Point &other) const {return (x!=other.x) || (y!=other.y);}
83 
90  Size operator-(const Point &other) const {return Size(x - other.x, y - other.y);}
91 
100  bool operator<(const Point &other) const {return x < other.x && y < other.y;}
109  bool operator<=(const Point &other) const {return x <= other.x && y <= other.y;}
118  bool operator>(const Point &other) const {return x > other.x && y > other.y;}
127  bool operator>=(const Point &other) const {return x >= other.x && y >= other.y;}
128 };
129 
130 }
131 
132 #endif /* POINT_H_ */
tbx::Point::Point
Point(const Point &other)
Construct a point as a copy of another point.
Definition: point.h:57
tbx::Point::x
int x
Definition: point.h:59
tbx
A library for creating RISC OS toolbox applications.
Definition: abouttobeshownlistener.cc:35
tbx::Point::operator==
bool operator==(const Point &other) const
Check if this point is the same as another.
Definition: point.h:75
tbx::Point::Point
Point()
Construct an uninitialised point.
Definition: point.h:44
tbx::Point::operator!=
bool operator!=(const Point &other) const
Check if this point is different from another.
Definition: point.h:82
tbx::Point::y
int y
Definition: point.h:60
tbx::Point::operator>
bool operator>(const Point &other) const
Check if this points is greater than another.
Definition: point.h:118
tbx::Size
Class to represent a two-dimensional size.
Definition: size.h:35
tbx::Point::operator=
Point & operator=(const Point &other)
Assign this point to the same value as another.
Definition: point.h:68
tbx::Point
Class to represent a position in two dimensional space.
Definition: point.h:37
tbx::Point::operator>=
bool operator>=(const Point &other) const
Check if this points is greater than or equal to another.
Definition: point.h:127
tbx::Point::operator<=
bool operator<=(const Point &other) const
Check if this points is less than or equal another.
Definition: point.h:109
tbx::Point::Point
Point(int ix, int iy)
Construct a point from the give coordinates.
Definition: point.h:51
tbx::Point::operator<
bool operator<(const Point &other) const
Check if this points is less than another.
Definition: point.h:100
tbx::Point::operator-
Size operator-(const Point &other) const
Subtract another point from this one.
Definition: point.h:90