xref: /haiku/docs/user/interface/Point.dox (revision 47852bff02be873c48ec9399e7cc119502bb8c67)
130275c3fSJohn Scipione/*
230275c3fSJohn Scipione * Copyright 2014 Haiku, Inc. All rights reserved.
330275c3fSJohn Scipione * Distributed under the terms of the MIT License.
430275c3fSJohn Scipione *
530275c3fSJohn Scipione * Authors:
630275c3fSJohn Scipione *		John Scipione, jscipione@gmail.com
730275c3fSJohn Scipione *
830275c3fSJohn Scipione * Corresponds to:
930275c3fSJohn Scipione *		headers/os/interface/Point.h	 hrev47234
1030275c3fSJohn Scipione *		src/kits/interface/Point.cpp	 hrev47234
1130275c3fSJohn Scipione */
1230275c3fSJohn Scipione
1330275c3fSJohn Scipione
1430275c3fSJohn Scipione/*!
1530275c3fSJohn Scipione	\file Point.h
1630275c3fSJohn Scipione	\ingroup interface
1730275c3fSJohn Scipione	\ingroup libbe
1830275c3fSJohn Scipione	\brief BPoint class definition.
1930275c3fSJohn Scipione*/
2030275c3fSJohn Scipione
2130275c3fSJohn Scipione
2230275c3fSJohn Scipione/*!
2330275c3fSJohn Scipione	\var B_ORIGIN
2430275c3fSJohn Scipione	\brief The origin point, equivalent to BPoint(0, 0).
25*47852bffSJohn Scipione
26*47852bffSJohn Scipione	\since BeOS R5
2730275c3fSJohn Scipione*/
2830275c3fSJohn Scipione
2930275c3fSJohn Scipione
3030275c3fSJohn Scipione/*!
3130275c3fSJohn Scipione	\class BPoint
3230275c3fSJohn Scipione	\ingroup interface
3330275c3fSJohn Scipione	\ingroup libbe
3430275c3fSJohn Scipione	\brief A point on a two-dimensional Cartesian coordinate system.
35*47852bffSJohn Scipione
36*47852bffSJohn Scipione	\since BeOS R3
3730275c3fSJohn Scipione*/
3830275c3fSJohn Scipione
3930275c3fSJohn Scipione
4030275c3fSJohn Scipione/*!
4130275c3fSJohn Scipione	\var BPoint::x
4230275c3fSJohn Scipione	\brief The horizontal coordinate.
43*47852bffSJohn Scipione
44*47852bffSJohn Scipione	\since BeOS R3
4530275c3fSJohn Scipione*/
4630275c3fSJohn Scipione
4730275c3fSJohn Scipione
4830275c3fSJohn Scipione/*!
4930275c3fSJohn Scipione	\var BPoint::y
5030275c3fSJohn Scipione	\brief The vertical coordinate.
51*47852bffSJohn Scipione
52*47852bffSJohn Scipione	\since BeOS R3
5330275c3fSJohn Scipione*/
5430275c3fSJohn Scipione
5530275c3fSJohn Scipione
5630275c3fSJohn Scipione/*!
5730275c3fSJohn Scipione	\fn inline BPoint::BPoint()
5830275c3fSJohn Scipione	\brief Initializes a BPoint object at the origin, (0, 0).
5930275c3fSJohn Scipione
6030275c3fSJohn Scipione	\see BPoint::Set()
61*47852bffSJohn Scipione
62*47852bffSJohn Scipione	\since BeOS R3
6330275c3fSJohn Scipione*/
6430275c3fSJohn Scipione
6530275c3fSJohn Scipione
6630275c3fSJohn Scipione/*!
6730275c3fSJohn Scipione	\fn inline BPoint::BPoint(float x, float y)
6830275c3fSJohn Scipione	\brief Initializes a BPoint object at the specified \a x and
6930275c3fSJohn Scipione	       \a y coordinates.
7030275c3fSJohn Scipione
7130275c3fSJohn Scipione	\param x The \a x coordinate.
7230275c3fSJohn Scipione	\param y The \a y coordinate.
73*47852bffSJohn Scipione
74*47852bffSJohn Scipione	\since BeOS R3
7530275c3fSJohn Scipione*/
7630275c3fSJohn Scipione
7730275c3fSJohn Scipione
7830275c3fSJohn Scipione/*!
7930275c3fSJohn Scipione	\fn inline BPoint::BPoint(const BPoint& other)
8030275c3fSJohn Scipione	\brief Initializes a BPoint object from another BPoint.
8130275c3fSJohn Scipione
8230275c3fSJohn Scipione	\param other The BPoint object to copy from.
8330275c3fSJohn Scipione
84*47852bffSJohn Scipione	\since BeOS R3
8530275c3fSJohn Scipione*/
8630275c3fSJohn Scipione
8730275c3fSJohn Scipione
8830275c3fSJohn Scipione/*!
8930275c3fSJohn Scipione	\fn inline void BPoint::Set(float x, float y)
9030275c3fSJohn Scipione	\brief Sets the \a x and \a y coordinates of a BPoint object.
9130275c3fSJohn Scipione
9230275c3fSJohn Scipione	\param x The \a x coordinate to set.
9330275c3fSJohn Scipione	\param y The \a y coordinate to set.
94*47852bffSJohn Scipione
95*47852bffSJohn Scipione	\since BeOS R3
9630275c3fSJohn Scipione*/
9730275c3fSJohn Scipione
9830275c3fSJohn Scipione
9930275c3fSJohn Scipione/*!
10030275c3fSJohn Scipione	\fn void BPoint::ConstrainTo(BRect rect)
10130275c3fSJohn Scipione	\brief Moves the BPoint so that it is contained within \a rect.
10230275c3fSJohn Scipione
10330275c3fSJohn Scipione	If the BPoint is already contained within \a rect this method has no
10430275c3fSJohn Scipione	effect.
10530275c3fSJohn Scipione
10630275c3fSJohn Scipione	\param rect The BRect to constrain the BPoint within.
107*47852bffSJohn Scipione
108*47852bffSJohn Scipione	\since BeOS R3
10930275c3fSJohn Scipione*/
11030275c3fSJohn Scipione
11130275c3fSJohn Scipione
11230275c3fSJohn Scipione/*!
11330275c3fSJohn Scipione	\fn void BPoint::PrintToStream() const
11430275c3fSJohn Scipione	\brief Print the x and y coordinates to standard output.
11530275c3fSJohn Scipione
11630275c3fSJohn Scipione	Prints in the following format:
11730275c3fSJohn Scipione
11830275c3fSJohn Scipione\verbatim
11930275c3fSJohn ScipioneBPoint(x:%.0f, y:%.0f)
12030275c3fSJohn Scipione\endverbatim
121*47852bffSJohn Scipione
122*47852bffSJohn Scipione	\since BeOS R3
123*47852bffSJohn Scipione*/
124*47852bffSJohn Scipione
125*47852bffSJohn Scipione
126*47852bffSJohn Scipione/*!
127*47852bffSJohn Scipione	\name Operators
128*47852bffSJohn Scipione*/
129*47852bffSJohn Scipione
130*47852bffSJohn Scipione
131*47852bffSJohn Scipione//! @{
132*47852bffSJohn Scipione
133*47852bffSJohn Scipione
134*47852bffSJohn Scipione/*!
135*47852bffSJohn Scipione	\fn inline BPoint& BPoint::operator=(const BPoint& other)
136*47852bffSJohn Scipione	\brief Initializes a BPoint object from another BPoint by overloading
137*47852bffSJohn Scipione	       the = operator.
138*47852bffSJohn Scipione
139*47852bffSJohn Scipione	\param other The BPoint object to copy from.
140*47852bffSJohn Scipione
141*47852bffSJohn Scipione	\since BeOS R3
14230275c3fSJohn Scipione*/
14330275c3fSJohn Scipione
14430275c3fSJohn Scipione
14530275c3fSJohn Scipione/*!
14630275c3fSJohn Scipione	\fn BPoint BPoint::operator-() const
14730275c3fSJohn Scipione	\brief Returns a BPoint object with the x and y coordinates negated.
14830275c3fSJohn Scipione
14930275c3fSJohn Scipione	\return A new BPoint object.
150*47852bffSJohn Scipione
151*47852bffSJohn Scipione	\since BeOS R3
15230275c3fSJohn Scipione*/
15330275c3fSJohn Scipione
15430275c3fSJohn Scipione
15530275c3fSJohn Scipione/*!
15630275c3fSJohn Scipione	\fn BPoint BPoint::operator+(const BPoint& other) const
15730275c3fSJohn Scipione	\brief Returns a BPoint where the x-coordinate is the sum of the x values
15830275c3fSJohn Scipione	       and the y-coordinate is the sum of the y values.
15930275c3fSJohn Scipione
16030275c3fSJohn Scipione	\param other The BPoint object to use in the addition.
16130275c3fSJohn Scipione
16230275c3fSJohn Scipione	\return A new BPoint object.
163*47852bffSJohn Scipione
164*47852bffSJohn Scipione	\since BeOS R3
16530275c3fSJohn Scipione*/
16630275c3fSJohn Scipione
16730275c3fSJohn Scipione
16830275c3fSJohn Scipione/*!
16930275c3fSJohn Scipione	\fn BPoint BPoint::operator-(const BPoint& other) const
17030275c3fSJohn Scipione	\brief Returns a BPoint where the x-coordinate is the difference of the
17130275c3fSJohn Scipione	       x values and the y-coordinate is the difference of the y values.
17230275c3fSJohn Scipione
17330275c3fSJohn Scipione	\param other The BPoint object to use in the subtraction.
17430275c3fSJohn Scipione
17530275c3fSJohn Scipione	\return A new BPoint object.
176*47852bffSJohn Scipione
177*47852bffSJohn Scipione	\since BeOS R3
17830275c3fSJohn Scipione*/
17930275c3fSJohn Scipione
18030275c3fSJohn Scipione
18130275c3fSJohn Scipione/*!
18230275c3fSJohn Scipione	\fn BPoint& BPoint::operator+=(const BPoint& other)
18330275c3fSJohn Scipione	\brief Uses the BPoint as an accumulator storing the sum of the x values
18430275c3fSJohn Scipione	       and the sum of the y values.
18530275c3fSJohn Scipione
18630275c3fSJohn Scipione	\param other The BPoint object to use in the addition.
18730275c3fSJohn Scipione
18830275c3fSJohn Scipione	\return The address of the BPoint object.
189*47852bffSJohn Scipione
190*47852bffSJohn Scipione	\since BeOS R3
19130275c3fSJohn Scipione*/
19230275c3fSJohn Scipione
19330275c3fSJohn Scipione
19430275c3fSJohn Scipione/*!
19530275c3fSJohn Scipione	\fn BPoint& BPoint::operator-=(const BPoint& other)
19630275c3fSJohn Scipione	\brief Uses the BPoint as an accumulator storing the difference of the x
19730275c3fSJohn Scipione	       values and the difference of the y values.
19830275c3fSJohn Scipione
19930275c3fSJohn Scipione	\param other The BPoint object to use in the subtraction.
20030275c3fSJohn Scipione
20130275c3fSJohn Scipione	\return The address of the BPoint object.
202*47852bffSJohn Scipione
203*47852bffSJohn Scipione	\since BeOS R3
20430275c3fSJohn Scipione*/
20530275c3fSJohn Scipione
20630275c3fSJohn Scipione
20730275c3fSJohn Scipione/*!
20830275c3fSJohn Scipione	\fn bool BPoint::operator!=(const BPoint& other) const
20930275c3fSJohn Scipione	\brief Returns whether or not the x and y coordinates of the BPoint
21030275c3fSJohn Scipione	       objects differ.
21130275c3fSJohn Scipione
21230275c3fSJohn Scipione	\return \c true if the x or y coordinates differ, \c false otherwise.
213*47852bffSJohn Scipione
214*47852bffSJohn Scipione	\since BeOS R3
21530275c3fSJohn Scipione*/
21630275c3fSJohn Scipione
21730275c3fSJohn Scipione
21830275c3fSJohn Scipione/*!
21930275c3fSJohn Scipione	\fn bool BPoint::operator==(const BPoint& other) const
22030275c3fSJohn Scipione	\brief Returns whether or not the x and y coordinates of the BPoint
22130275c3fSJohn Scipione	       objects are equal.
22230275c3fSJohn Scipione
22330275c3fSJohn Scipione	\return \c true if the x and y coordinates are equal, \c false otherwise.
224*47852bffSJohn Scipione
225*47852bffSJohn Scipione	\since BeOS R3
22630275c3fSJohn Scipione*/
227*47852bffSJohn Scipione
228*47852bffSJohn Scipione
229*47852bffSJohn Scipione//! @}
230