From: Václav Slavík Date: Tue, 14 May 2013 16:58:20 +0000 (+0000) Subject: Move wxTransform2D methods' bodies to geometry.cpp. X-Git-Url: https://git.saurik.com/wxWidgets.git/commitdiff_plain/a68c185d22b47674c8259ad708450f084a6efb78 Move wxTransform2D methods' bodies to geometry.cpp. They are all virtual and so cannot be inlined anyway and having them in the header like this confuses the g++ linker into always pulling some of the methods in merely because geometry.h was included. git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@73984 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775 --- diff --git a/include/wx/geometry.h b/include/wx/geometry.h index 63d120b20e..aab6ad8166 100644 --- a/include/wx/geometry.h +++ b/include/wx/geometry.h @@ -778,7 +778,7 @@ inline bool wxRect2DInt::operator != (const wxRect2DInt& rect) const return !(*this == rect); } -class wxTransform2D +class WXDLLIMPEXP_CORE wxTransform2D { public : virtual ~wxTransform2D() { } @@ -793,24 +793,6 @@ public : virtual wxRect2DInt InverseTransform( const wxRect2DInt &r ) const ; }; -inline void wxTransform2D::Transform( wxRect2DInt* r ) const - { wxPoint2DInt a = r->GetLeftTop() , b = r->GetRightBottom(); Transform( &a ); Transform( &b ); *r = wxRect2DInt( a , b ); } - -inline wxPoint2DInt wxTransform2D::Transform( const wxPoint2DInt &pt ) const - { wxPoint2DInt res = pt; Transform( &res ); return res; } - -inline wxRect2DInt wxTransform2D::Transform( const wxRect2DInt &r ) const - { wxRect2DInt res = r; Transform( &res ); return res; } - -inline void wxTransform2D::InverseTransform( wxRect2DInt* r ) const - { wxPoint2DInt a = r->GetLeftTop() , b = r->GetRightBottom(); InverseTransform( &a ); InverseTransform( &b ); *r = wxRect2DInt( a , b ); } - -inline wxPoint2DInt wxTransform2D::InverseTransform( const wxPoint2DInt &pt ) const - { wxPoint2DInt res = pt; InverseTransform( &res ); return res; } - -inline wxRect2DInt wxTransform2D::InverseTransform( const wxRect2DInt &r ) const - { wxRect2DInt res = r; InverseTransform( &res ); return res; } - #endif // wxUSE_GEOMETRY diff --git a/src/common/geometry.cpp b/src/common/geometry.cpp index d979e79b3f..c2825b4359 100644 --- a/src/common/geometry.cpp +++ b/src/common/geometry.cpp @@ -361,4 +361,51 @@ void wxRect2DInt::ReadFrom( wxDataInputStream &stream ) } #endif // wxUSE_STREAMS + +// wxTransform2D + +void wxTransform2D::Transform( wxRect2DInt* r ) const +{ + wxPoint2DInt a = r->GetLeftTop(), b = r->GetRightBottom(); + Transform( &a ); + Transform( &b ); + *r = wxRect2DInt( a, b ); +} + +wxPoint2DInt wxTransform2D::Transform( const wxPoint2DInt &pt ) const +{ + wxPoint2DInt res = pt; + Transform( &res ); + return res; +} + +wxRect2DInt wxTransform2D::Transform( const wxRect2DInt &r ) const +{ + wxRect2DInt res = r; + Transform( &res ); + return res; +} + +void wxTransform2D::InverseTransform( wxRect2DInt* r ) const +{ + wxPoint2DInt a = r->GetLeftTop(), b = r->GetRightBottom(); + InverseTransform( &a ); + InverseTransform( &b ); + *r = wxRect2DInt( a , b ); +} + +wxPoint2DInt wxTransform2D::InverseTransform( const wxPoint2DInt &pt ) const +{ + wxPoint2DInt res = pt; + InverseTransform( &res ); + return res; +} + +wxRect2DInt wxTransform2D::InverseTransform( const wxRect2DInt &r ) const +{ + wxRect2DInt res = r; + InverseTransform( &res ); + return res; +} + #endif // wxUSE_GEOMETRY