X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/295272bdcd784fbe2b33883d00cff0f5c0ca5341..27f35b6674b796e61986681261ec7a96bef93502:/include/wx/geometry.h diff --git a/include/wx/geometry.h b/include/wx/geometry.h index 0aafb0f855..c332ec0d5b 100644 --- a/include/wx/geometry.h +++ b/include/wx/geometry.h @@ -12,7 +12,7 @@ #ifndef _WX_GEOMETRY_H_ #define _WX_GEOMETRY_H_ -#ifdef __GNUG__ +#if defined(__GNUG__) && !defined(__APPLE__) #pragma interface "geometry.cpp" #endif @@ -31,8 +31,7 @@ #ifdef __WXMSW__ #define wxMulDivInt32( a , b , c ) ::MulDiv( a , b , c ) #elif defined( __WXMAC__ ) - #include "Math64.h" - #define wxMulDivInt32( a , b , c ) S32Set( S64Div( S64Multiply( S64Set(a) , S64Set(b) ) , S64Set(c) ) ) + #define wxMulDivInt32( a , b , c ) ( (wxInt32) ( ( (wxInt64)(a) * (wxInt64)(b) ) / (wxInt64)(c) ) ) #else #define wxMulDivInt32( a , b , c ) ((wxInt32)((a)*(((wxDouble)b)/((wxDouble)c)))) #endif @@ -584,13 +583,15 @@ public: { MoveCentreTo( pt ); } // since this is impossible without moving... inline void MoveCentreTo( const wxPoint2DDouble &pt ) { m_x += pt.m_x - (m_x+m_width/2) , m_y += pt.m_y -(m_y+m_height/2); } - inline wxOutCode GetOutcode( const wxPoint2DDouble &pt ) const + inline wxOutCode GetOutCode( const wxPoint2DDouble &pt ) const { return (wxOutCode) (( ( pt.m_x < m_x ) ? wxOutLeft : 0 ) + ( ( pt.m_x >= m_x + m_width ) ? wxOutRight : 0 ) + ( ( pt.m_y < m_y ) ? wxOutTop : 0 ) + ( ( pt.m_y >= m_y + m_height ) ? wxOutBottom : 0 )); } + inline wxOutCode GetOutcode(const wxPoint2DDouble &pt) const + { return GetOutCode(pt) ; } inline bool Contains( const wxPoint2DDouble &pt ) const - { return GetOutcode( pt ) == wxInside; } + { return GetOutCode( pt ) == wxInside; } inline bool Contains( const wxRect2DDouble &rect ) const { return ( ( ( m_x <= rect.m_x ) && ( rect.m_x + rect.m_width <= m_x + m_width ) ) && ( ( m_y <= rect.m_y ) && ( rect.m_y + rect.m_height <= m_y + m_height ) ) ); } @@ -694,13 +695,15 @@ public: inline wxPoint2DInt GetCentre() const { return wxPoint2DInt( m_x+m_width/2 , m_y+m_height/2 ); } inline void SetCentre( const wxPoint2DInt &pt ) { MoveCentreTo( pt ); } // since this is impossible without moving... inline void MoveCentreTo( const wxPoint2DInt &pt ) { m_x += pt.m_x - (m_x+m_width/2) , m_y += pt.m_y -(m_y+m_height/2); } - inline wxOutCode GetOutcode( const wxPoint2DInt &pt ) const + inline wxOutCode GetOutCode( const wxPoint2DInt &pt ) const { return (wxOutCode) (( ( pt.m_x < m_x ) ? wxOutLeft : 0 ) + ( ( pt.m_x >= m_x + m_width ) ? wxOutRight : 0 ) + ( ( pt.m_y < m_y ) ? wxOutTop : 0 ) + ( ( pt.m_y >= m_y + m_height ) ? wxOutBottom : 0 )); } + inline wxOutCode GetOutcode( const wxPoint2DInt &pt ) const + { return GetOutCode( pt ) ; } inline bool Contains( const wxPoint2DInt &pt ) const - { return GetOutcode( pt ) == wxInside; } + { return GetOutCode( pt ) == wxInside; } inline bool Contains( const wxRect2DInt &rect ) const { return ( ( ( m_x <= rect.m_x ) && ( rect.m_x + rect.m_width <= m_x + m_width ) ) && ( ( m_y <= rect.m_y ) && ( rect.m_y + rect.m_height <= m_y + m_height ) ) ); }