]> git.saurik.com Git - wxWidgets.git/blobdiff - include/wx/geometry.h
Make use of new array functions.
[wxWidgets.git] / include / wx / geometry.h
index 0aafb0f855b7b3e2f8030a1f59375df05bca7a9b..c332ec0d5bc2bbfd81df0d1c8a211aa0df8a2f14 100644 (file)
@@ -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 ) ) ); }