]> git.saurik.com Git - wxWidgets.git/blobdiff - interface/wx/gdicmn.h
Correct names of parameters in wxAffineMatrix2D documentation.
[wxWidgets.git] / interface / wx / gdicmn.h
index 192a6b6bd2d6cb3b8f99d47be9d9bb4c955da3b7..b66042137412a56958e7291eb5d47d5313dd611c 100644 (file)
@@ -3,7 +3,7 @@
 // Purpose:     interface of wxRealPoint
 // Author:      wxWidgets team
 // RCS-ID:      $Id$
 // Purpose:     interface of wxRealPoint
 // Author:      wxWidgets team
 // RCS-ID:      $Id$
-// Licence:     wxWindows license
+// Licence:     wxWindows licence
 /////////////////////////////////////////////////////////////////////////////
 
 
 /////////////////////////////////////////////////////////////////////////////
 
 
@@ -113,10 +113,10 @@ enum wxStockCursor
 
     A wxRealPoint is a useful data structure for graphics operations.
 
 
     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.
 
     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}
     and that wxRealPoint functions do not perform any check against negative values.
 
     @library{wxcore}
@@ -137,6 +137,48 @@ public:
     */
     wxRealPoint(double x, double y);
 
     */
     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.
     */
     /**
         X coordinate of this point.
     */
@@ -155,8 +197,8 @@ public:
 
     A class for manipulating rectangles.
 
 
     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}
     negative values.
 
     @library{wxcore}
@@ -224,10 +266,10 @@ public:
         This method is the opposite from Inflate(): Deflate(a, b) is equivalent
         to Inflate(-a, -b). Please refer to Inflate() for full description.
     */
         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;
     //@}
 
     /**
     //@}
 
     /**
@@ -309,7 +351,7 @@ public:
 
         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
 
         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.
         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.
@@ -332,9 +374,9 @@ public:
 
         @see Deflate()
     */
 
         @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;
     //@}
 
     wxRect Inflate(wxCoord dx, wxCoord dy) const;
     //@}
 
@@ -469,7 +511,7 @@ public:
 
     A wxPoint is a useful data structure for graphics operations.
 
 
     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
     See wxRealPoint for a floating point version.
 
     Note that the width and height stored inside a wxPoint object may be negative
@@ -492,15 +534,21 @@ public:
         Initializes the internal x and y coordinates to zero.
     */
     wxPoint();
         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);
 
     /**
         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
     /**
         @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
         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
@@ -527,14 +575,57 @@ public:
 
     wxPoint& operator +=(const wxSize& sz);
     wxPoint& operator -=(const wxSize& sz);
 
     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);
     //@}
     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.
     */
     /**
         x member.
     */
@@ -547,9 +638,9 @@ public:
 };
 
 /**
 };
 
 /**
-    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;
 
 
 /**
 
 
 /**
@@ -676,12 +767,18 @@ public:
 };
 
 
 };
 
 
+/**
+    Global instance of a wxColourDatabase.
+*/
+wxColourDatabase* wxTheColourDatabase;
+
+
 /**
     @class wxSize
 
 /**
     @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.
     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).
     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).
@@ -712,7 +809,7 @@ public:
         Initializes this size object with zero width and height.
     */
     wxSize();
         Initializes this size object with zero width and height.
     */
     wxSize();
-    
+
     /**
         Initializes this size object with the given @a width and @a height.
     */
     /**
         Initializes this size object with the given @a width and @a height.
     */
@@ -724,6 +821,7 @@ public:
 
         @see IncBy()
     */
 
         @see IncBy()
     */
+    void DecBy(const wxPoint& pt);
     void DecBy(const wxSize& size);
     void DecBy(int dx, int dy);
     void DecBy(int d);
     void DecBy(const wxSize& size);
     void DecBy(int dx, int dy);
     void DecBy(int d);
@@ -753,6 +851,7 @@ public:
 
         @see DecBy()
     */
 
         @see DecBy()
     */
+    void IncBy(const wxPoint& pt);
     void IncBy(const wxSize& size);
     void IncBy(int dx, int dy);
     void IncBy(int d);
     void IncBy(const wxSize& size);
     void IncBy(int dx, int dy);
     void IncBy(int d);
@@ -816,10 +915,10 @@ public:
     */
     void SetWidth(int width);
 
     */
     void SetWidth(int width);
 
-    
+
     /**
         @name Miscellaneous operators
     /**
         @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
         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
@@ -849,7 +948,7 @@ public:
 /**
     Global instance of a wxSize object initialized to (-1,-1).
 */
 /**
     Global instance of a wxSize object initialized to (-1,-1).
 */
-wxSize wxDefaultSize;
+const wxSize wxDefaultSize;