// Purpose: interface of wxRealPoint
// Author: wxWidgets team
// RCS-ID: $Id$
-// Licence: wxWindows license
+// Licence: wxWindows licence
/////////////////////////////////////////////////////////////////////////////
A wxRealPoint is a useful data structure for graphics operations.
- It contains floating point @e x and @e y members.
+ It contains floating point @e x and @e y members.
See wxPoint for an integer version.
- Note that the coordinates stored inside a wxRealPoint object may be negative
+ Note that the coordinates stored inside a wxRealPoint object may be negative
and that wxRealPoint functions do not perform any check against negative values.
@library{wxcore}
*/
wxRealPoint(double x, double y);
+ /**
+ Converts the given wxPoint (with integer coordinates) to a wxRealPoint.
+ */
+ wxRealPoint(const wxPoint& pt);
+
+ /**
+ @name Miscellaneous operators
+
+ Note that these operators are documented as class members
+ (to make them easier to find) but, as their prototype shows,
+ they are implemented as global operators; note that this is
+ transparent to the user but it helps to understand why the
+ following functions are documented to take the wxPoint they
+ operate on as an explicit argument.
+ */
+ //@{
+ wxRealPoint& operator=(const wxRealPoint& pt);
+
+ bool operator ==(const wxRealPoint& p1, const wxRealPoint& p2);
+ bool operator !=(const wxRealPoint& p1, const wxRealPoint& p2);
+
+ wxRealPoint operator +(const wxRealPoint& p1, const wxRealPoint& p2);
+ wxRealPoint operator -(const wxRealPoint& p1, const wxRealPoint& p2);
+
+ wxRealPoint& operator +=(const wxRealPoint& pt);
+ wxRealPoint& operator -=(const wxRealPoint& pt);
+
+ wxRealPoint operator +(const wxRealPoint& pt, const wxSize& sz);
+ wxRealPoint operator -(const wxRealPoint& pt, const wxSize& sz);
+ wxRealPoint operator +(const wxSize& sz, const wxRealPoint& pt);
+ wxRealPoint operator -(const wxSize& sz, const wxRealPoint& pt);
+
+ wxRealPoint& operator +=(const wxSize& sz);
+ wxRealPoint& operator -=(const wxSize& sz);
+
+ wxSize operator /(const wxRealPoint& sz, int factor);
+ wxSize operator *(const wxRealPoint& sz, int factor);
+ wxSize operator *(int factor, const wxSize& sz);
+ wxSize& operator /=(int factor);
+ wxSize& operator *=(int factor);
+ //@}
+
/**
X coordinate of this point.
*/
A class for manipulating rectangles.
- Note that the x, y coordinates and the width and height stored inside a wxRect
- object may be negative and that wxRect functions do not perform any check against
+ Note that the x, y coordinates and the width and height stored inside a wxRect
+ object may be negative and that wxRect functions do not perform any check against
negative values.
@library{wxcore}
This method is the opposite from Inflate(): Deflate(a, b) is equivalent
to Inflate(-a, -b). Please refer to Inflate() for full description.
*/
- void Deflate(wxCoord dx, wxCoord dy);
- void Deflate(const wxSize& diff);
- void Deflate(wxCoord diff);
- wxRect Deflate(wxCoord dx, wxCoord dy) const;
+ wxRect& Deflate(wxCoord dx, wxCoord dy);
+ wxRect& Deflate(const wxSize& diff);
+ wxRect& Deflate(wxCoord diff);
+ wxRect Deflate(wxCoord dx, wxCoord dy) const;
//@}
/**
The left border is moved farther left and the right border is moved
farther right by @a dx. The upper border is moved farther up and the
- bottom border is moved farther down by @a dy. (Note the the width and
+ bottom border is moved farther down by @a dy. (Note that the width and
height of the rectangle thus change by 2*dx and 2*dy, respectively.) If
one or both of @a dx and @a dy are negative, the opposite happens: the
rectangle size decreases in the respective direction.
@see Deflate()
*/
- void Inflate(wxCoord dx, wxCoord dy);
- void Inflate(const wxSize& diff);
- void Inflate(wxCoord diff);
+ wxRect& Inflate(wxCoord dx, wxCoord dy);
+ wxRect& Inflate(const wxSize& diff);
+ wxRect& Inflate(wxCoord diff);
wxRect Inflate(wxCoord dx, wxCoord dy) const;
//@}
A wxPoint is a useful data structure for graphics operations.
- It contains integer @e x and @e y members.
+ It contains integer @e x and @e y members.
See wxRealPoint for a floating point version.
Note that the width and height stored inside a wxPoint object may be negative
Initializes the internal x and y coordinates to zero.
*/
wxPoint();
-
+
/**
Initializes the point object with the given @a x and @a y coordinates.
*/
wxPoint(int x, int y);
+ /**
+ Converts the given wxRealPoint (with floating point coordinates) to a
+ wxPoint instance.
+ */
+ wxPoint(const wxRealPoint& pt);
+
/**
@name Miscellaneous operators
+
+ Note that these operators are documented as class members
+ (to make them easier to find) but, as their prototype shows,
+ they are implemented as global operators; note that this is
+ transparent to the user but it helps to understand why the
+ following functions are documented to take the wxPoint they
+ operate on as an explicit argument.
*/
//@{
wxPoint& operator=(const wxPoint& pt);
wxPoint& operator +=(const wxSize& sz);
wxPoint& operator -=(const wxSize& sz);
+
+ wxSize operator /(const wxPoint& sz, int factor);
+ wxSize operator *(const wxPoint& sz, int factor);
+ wxSize operator *(int factor, const wxSize& sz);
+ wxSize& operator /=(int factor);
+ wxSize& operator *=(int factor);
//@}
-
+
+
+ /**
+ @name Defaults handling.
+
+ Test for and set non-specified wxPoint components.
+
+ Although a wxPoint is always initialized to (0, 0), wxWidgets commonly
+ uses wxDefaultCoord (defined as @c -1) to indicate that a point hasn't
+ been initialized or specified. In particular, ::wxDefaultPosition is
+ used in many places with this meaning.
+ */
+ //@{
+
+ /**
+ Returns @true if neither of the point components is equal to
+ wxDefaultCoord.
+
+ This method is typically used before calling SetDefaults().
+
+ @since 2.9.2
+ */
+ bool IsFullySpecified() const;
+
+ /**
+ Combine this object with another one replacing the uninitialized
+ values.
+
+ It is typically used like this:
+
+ @code
+ if ( !pos.IsFullySpecified() )
+ {
+ pos.SetDefaults(GetDefaultPosition());
+ }
+ @endcode
+
+ @see IsFullySpecified()
+
+ @since 2.9.2
+ */
+ void SetDefaults(const wxPoint& pt);
+ //@}
+
/**
x member.
*/
};
/**
- Global istance of a wxPoint initialized with values (-1,-1).
+ Global instance of a wxPoint initialized with values (-1,-1).
*/
-wxPoint wxDefaultPosition;
+const wxPoint wxDefaultPosition;
/**
};
+/**
+ Global instance of a wxColourDatabase.
+*/
+wxColourDatabase* wxTheColourDatabase;
+
+
/**
@class wxSize
- A wxSize is a useful data structure for graphics operations.
+ A wxSize is a useful data structure for graphics operations.
It simply contains integer @e width and @e height members.
-
+
Note that the width and height stored inside a wxSize object may be negative
and that wxSize functions do not perform any check against negative values
(this is used to e.g. store the special -1 value in ::wxDefaultSize instance).
Initializes this size object with zero width and height.
*/
wxSize();
-
+
/**
Initializes this size object with the given @a width and @a height.
*/
@see IncBy()
*/
+ void DecBy(const wxPoint& pt);
void DecBy(const wxSize& size);
void DecBy(int dx, int dy);
void DecBy(int d);
@see DecBy()
*/
+ void IncBy(const wxPoint& pt);
void IncBy(const wxSize& size);
void IncBy(int dx, int dy);
void IncBy(int d);
*/
void SetWidth(int width);
-
+
/**
@name Miscellaneous operators
+
+ Note that these operators are documented as class members
+ (to make them easier to find) but, as their prototype shows,
+ they are implemented as global operators; note that this is
+ transparent to the user but it helps to understand why the
+ following functions are documented to take the wxSize they
+ operate on as an explicit argument.
*/
//@{
wxSize& operator=(const wxSize& sz);
/**
Global instance of a wxSize object initialized to (-1,-1).
*/
-wxSize wxDefaultSize;
+const wxSize wxDefaultSize;