]> git.saurik.com Git - wxWidgets.git/blobdiff - include/wx/geometry.h
add DECLARE_NO_COPY_TEMPLATE_CLASS
[wxWidgets.git] / include / wx / geometry.h
index 4c1e5ad871c70a879c7292e3de9485c47a33f97b..80ab7d9bd20b7affdb6df255136e0e12c2cea098 100644 (file)
 #include "wx/gdicmn.h"
 #include "wx/math.h"
 
-#if defined(__WXMSW__) && !defined(__WXWINCE__)
-    #define wxMulDivInt32( a , b , c ) ::MulDiv( a , b , c )
-#elif defined( __WXMAC__ )
-    #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
-
-class WXDLLIMPEXP_BASE wxDataInputStream;
-class WXDLLIMPEXP_BASE wxDataOutputStream;
+class WXDLLIMPEXP_FWD_BASE wxDataInputStream;
+class WXDLLIMPEXP_FWD_BASE wxDataOutputStream;
 
 // clipping from Cohen-Sutherland
 
@@ -42,7 +34,7 @@ enum wxOutCode
     wxOutBottom = 0x04
 };
 
-class WXDLLEXPORT wxPoint2DInt
+class WXDLLIMPEXP_CORE wxPoint2DInt
 {
 public :
     inline wxPoint2DInt();
@@ -286,7 +278,7 @@ inline wxPoint2DInt operator/(const wxPoint2DInt& pt , wxDouble n)
 
 // wxPoint2Ds represent a point or a vector in a 2d coordinate system
 
-class WXDLLEXPORT wxPoint2DDouble
+class WXDLLIMPEXP_CORE wxPoint2DDouble
 {
 public :
     inline wxPoint2DDouble();
@@ -387,6 +379,11 @@ inline void wxPoint2DDouble::SetVectorLength( wxDouble length )
     m_y = (m_y * length / before) ;
 }
 
+inline void wxPoint2DDouble::Normalize()
+{
+    SetVectorLength( 1 );
+}
+
 inline wxDouble wxPoint2DDouble::GetDistance( const wxPoint2DDouble &pt ) const
 {
     return sqrt( GetDistanceSquare( pt ) );
@@ -512,7 +509,7 @@ inline wxPoint2DDouble operator/(const wxPoint2DDouble& pt , wxInt32 n)
 // top left and bottom right corner, or by the top left corner and size. A point is contained within the rectangle if
 // left <= x < right  and top <= m_y < bottom , thus it is a half open interval.
 
-class WXDLLEXPORT wxRect2DDouble
+class WXDLLIMPEXP_CORE wxRect2DDouble
 {
 public:
     wxRect2DDouble()
@@ -643,7 +640,7 @@ public:
 // top left and bottom right corner, or by the top left corner and size. A point is contained within the rectangle if
 // left <= x < right  and top <= m_y < bottom , thus it is a half open interval.
 
-class WXDLLEXPORT wxRect2DInt
+class WXDLLIMPEXP_CORE wxRect2DInt
 {
 public:
        wxRect2DInt() { m_x = m_y = m_width = m_height = 0; }