]> git.saurik.com Git - wxWidgets.git/blobdiff - include/wx/matrix.h
Cast to void* before casting to Node** to make the compiler do no strict-aliasing...
[wxWidgets.git] / include / wx / matrix.h
index c2698b30582c767206388913713d3e3e7f3ac720..53e0beb3de9657afcb2a646fbb556243e1dd6489 100644 (file)
 #ifndef _WX_MATRIXH__
 #define _WX_MATRIXH__
 
-#if defined(__GNUG__) && !defined(NO_GCC_PRAGMA)
-#pragma interface "matrix.h"
-#endif
-
 //! headerfiles="matrix.h wx/object.h"
 #include "wx/object.h"
 
@@ -52,8 +48,8 @@ public:
     void SetValue(int col, int row, double value);
 
     void operator = (const wxTransformMatrix& mat);
-    bool operator == (const wxTransformMatrix& mat);
-    bool operator != (const wxTransformMatrix& mat);
+    bool operator == (const wxTransformMatrix& mat) const;
+    bool operator != (const wxTransformMatrix& mat) const;
 
     //multiply every element by t
     wxTransformMatrix&          operator*=(const double& t);
@@ -122,7 +118,7 @@ public:
     //!code:           | -1     0      0 |
     //!code: matrix' = |  0    -1      0 | x matrix
     //!code:           |  0     0      1 |
-    wxTransformMatrix&  Mirror(bool x=TRUE, bool y=FALSE);
+    wxTransformMatrix&  Mirror(bool x=true, bool y=false);
     // Translate by dx, dy:
     //!ex:
     //!code:           | 1  0 dx |
@@ -218,15 +214,15 @@ inline double wxTransformMatrix::TransformY(double y) const
 inline bool wxTransformMatrix::IsIdentity1(void) const
 {
     return
-     (m_matrix[0][0] == 1.0 &&
-      m_matrix[1][1] == 1.0 &&
-      m_matrix[2][2] == 1.0 &&
-      m_matrix[1][0] == 0.0 &&
-      m_matrix[2][0] == 0.0 &&
-      m_matrix[0][1] == 0.0 &&
-      m_matrix[2][1] == 0.0 &&
-      m_matrix[0][2] == 0.0 &&
-      m_matrix[1][2] == 0.0) ;
+    ( wxIsSameDouble(m_matrix[0][0], 1.0) &&
+      wxIsSameDouble(m_matrix[1][1], 1.0) &&
+      wxIsSameDouble(m_matrix[2][2], 1.0) &&
+      wxIsSameDouble(m_matrix[1][0], 0.0) &&
+      wxIsSameDouble(m_matrix[2][0], 0.0) &&
+      wxIsSameDouble(m_matrix[0][1], 0.0) &&
+      wxIsSameDouble(m_matrix[2][1], 0.0) &&
+      wxIsSameDouble(m_matrix[0][2], 0.0) &&
+      wxIsSameDouble(m_matrix[1][2], 0.0) );
 }
 
 // Calculates the determinant of a 2 x 2 matrix
@@ -235,5 +231,4 @@ inline double wxCalculateDet(double a11, double a21, double a12, double a22)
     return a11 * a22 - a12 * a21;
 }
 
-#endif
-    // _WX_MATRIXH__
+#endif // _WX_MATRIXH__