From: Vadim Zeitlin Date: Wed, 15 Aug 2012 23:34:15 +0000 (+0000) Subject: Add wxSize::DecToIfSpecified() helper. X-Git-Url: https://git.saurik.com/wxWidgets.git/commitdiff_plain/7d17499993b5c3a26890af4ec80aa56ef96ff226 Add wxSize::DecToIfSpecified() helper. 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 --- diff --git a/include/wx/gdicmn.h b/include/wx/gdicmn.h index e6368d8ff2..24ff44ab5c 100644 --- a/include/wx/gdicmn.h +++ b/include/wx/gdicmn.h @@ -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); diff --git a/interface/wx/gdicmn.h b/interface/wx/gdicmn.h index f043636096..f69ace97be 100644 --- a/interface/wx/gdicmn.h +++ b/interface/wx/gdicmn.h @@ -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. */