]> git.saurik.com Git - wxWidgets.git/commitdiff
Add wxSize::DecToIfSpecified() helper.
authorVadim Zeitlin <vadim@wxwidgets.org>
Wed, 15 Aug 2012 23:34:15 +0000 (23:34 +0000)
committerVadim Zeitlin <vadim@wxwidgets.org>
Wed, 15 Aug 2012 23:34:15 +0000 (23:34 +0000)
This is similar to DecTo() but can be used even if the wxSize argument has
some components set to -1.

Notice that we don't need IncToIfSpecified() because IncTo() already works
correctly anyhow in this case.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@72342 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775

include/wx/gdicmn.h
interface/wx/gdicmn.h

index e6368d8ff29b72d38a717e34aa5b96b50219d318..24ff44ab5c249425cc3b8b86cd335b6ad4e2b1d8 100644 (file)
@@ -255,6 +255,13 @@ public:
         { if ( sz.x > x ) x = sz.x; if ( sz.y > y ) y = sz.y; }
     void DecTo(const wxSize& sz)
         { if ( sz.x < x ) x = sz.x; if ( sz.y < y ) y = sz.y; }
+    void DecToIfSpecified(const wxSize& sz)
+    {
+        if ( sz.x != wxDefaultCoord && sz.x < x )
+            x = sz.x;
+        if ( sz.y != wxDefaultCoord && sz.y < y )
+            y = sz.y;
+    }
 
     void IncBy(int dx, int dy) { x += dx; y += dy; }
     void IncBy(const wxPoint& pt);
index f043636096873fd3d79d3d638acd9dda67be251e..f69ace97be71a471bc93b5b31de5592f0b5b9165 100644 (file)
@@ -873,6 +873,18 @@ public:
     */
     void DecTo(const wxSize& size);
 
+    /**
+        Decrements this object to be not bigger than the given size ignoring
+        non-specified components.
+
+        This is similar to DecTo() but doesn't do anything for x or y
+        component if the same component of @a size is not specified, i.e. set
+        to ::wxDefaultCoord.
+
+        @since 2.9.5
+     */
+    void DecToIfSpecified(const wxSize& size);
+
     /**
         Gets the height member.
     */