]> git.saurik.com Git - wxWidgets.git/blobdiff - include/wx/longlong.h
Replace wxTINY_CAPTION_{HORIZ,VERT} with a single wxTINY_CAPTION.
[wxWidgets.git] / include / wx / longlong.h
index 9b6553ea9a22eaaf282fb0b8b1921bc33400dd2d..71cb62bd4af73cb0f73b3804b7edf46f14990b04 100644 (file)
@@ -67,8 +67,8 @@
         #define wxUSE_LONGLONG_NATIVE 0
     #endif
 
-    class WXDLLIMPEXP_BASE wxLongLongWx;
-    class WXDLLIMPEXP_BASE wxULongLongWx;
+    class WXDLLIMPEXP_FWD_BASE wxLongLongWx;
+    class WXDLLIMPEXP_FWD_BASE wxULongLongWx;
 #if defined(__VISUALC__) && !defined(__WIN32__)
     #define wxLongLong wxLongLongWx
     #define wxULongLong wxULongLongWx
@@ -86,8 +86,8 @@
 
 #ifndef wxUSE_LONGLONG_WX
     #define wxUSE_LONGLONG_WX 0
-    class WXDLLIMPEXP_BASE wxLongLongNative;
-    class WXDLLIMPEXP_BASE wxULongLongNative;
+    class WXDLLIMPEXP_FWD_BASE wxLongLongNative;
+    class WXDLLIMPEXP_FWD_BASE wxULongLongNative;
     typedef wxLongLongNative wxLongLong;
     typedef wxULongLongNative wxULongLong;
 #endif
@@ -113,9 +113,9 @@ public:
         // from long long
     wxLongLongNative(wxLongLong_t ll) : m_ll(ll) { }
         // from 2 longs
-    wxLongLongNative(long hi, unsigned long lo) : m_ll(0)
+    wxLongLongNative(wxInt32 hi, wxUint32 lo)
     {
-        // assign first to avoid precision loss!
+        // cast to wxLongLong_t first to avoid precision loss!
         m_ll = ((wxLongLong_t) hi) << 32;
         m_ll |= (wxLongLong_t) lo;
     }
@@ -160,11 +160,11 @@ public:
 
     // accessors
         // get high part
-    long GetHi() const
-        { return wx_truncate_cast(long, m_ll >> 32); }
+    wxInt32 GetHi() const
+        { return wx_truncate_cast(wxInt32, m_ll >> 32); }
         // get low part
-    unsigned long GetLo() const
-        { return wx_truncate_cast(unsigned long, m_ll); }
+    wxUint32 GetLo() const
+        { return wx_truncate_cast(wxUint32, m_ll); }
 
         // get absolute value
     wxLongLongNative Abs() const { return wxLongLongNative(*this).Abs(); }
@@ -177,7 +177,7 @@ public:
     long ToLong() const
     {
         wxASSERT_MSG( (m_ll >= LONG_MIN) && (m_ll <= LONG_MAX),
-                      _T("wxLongLong to long conversion loss of precision") );
+                      wxT("wxLongLong to long conversion loss of precision") );
 
         return wx_truncate_cast(long, m_ll);
     }
@@ -350,9 +350,9 @@ public:
         // from long long
     wxULongLongNative(wxULongLong_t ll) : m_ll(ll) { }
         // from 2 longs
-    wxULongLongNative(unsigned long hi, unsigned long lo) : m_ll(0)
+    wxULongLongNative(wxUint32 hi, wxUint32 lo) : m_ll(0)
     {
-        // assign first to avoid precision loss!
+        // cast to wxLongLong_t first to avoid precision loss!
         m_ll = ((wxULongLong_t) hi) << 32;
         m_ll |= (wxULongLong_t) lo;
     }
@@ -392,11 +392,11 @@ public:
 
     // accessors
         // get high part
-    unsigned long GetHi() const
-        { return wx_truncate_cast(unsigned long, m_ll >> 32); }
+    wxUint32 GetHi() const
+        { return wx_truncate_cast(wxUint32, m_ll >> 32); }
         // get low part
-    unsigned long GetLo() const
-        { return wx_truncate_cast(unsigned long, m_ll); }
+    wxUint32 GetLo() const
+        { return wx_truncate_cast(wxUint32, m_ll); }
 
         // convert to native ulong long
     wxULongLong_t GetValue() const { return m_ll; }
@@ -405,13 +405,17 @@ public:
     unsigned long ToULong() const
     {
         wxASSERT_MSG( m_ll <= LONG_MAX,
-                      _T("wxULongLong to long conversion loss of precision") );
+                      wxT("wxULongLong to long conversion loss of precision") );
 
         return wx_truncate_cast(unsigned long, m_ll);
     }
 
         // convert to double
+#ifdef _MSC_VER
+    double ToDouble() const { return wx_truncate_cast(double, (__int64) m_ll); }
+#else
     double ToDouble() const { return wx_truncate_cast(double, m_ll); }
+#endif
 
     // operations
         // addition
@@ -679,7 +683,7 @@ public:
     long ToLong() const
     {
         wxASSERT_MSG( (m_hi == 0l) || (m_hi == -1l),
-                      _T("wxLongLong to long conversion loss of precision") );
+                      wxT("wxLongLong to long conversion loss of precision") );
 
         return (long)m_lo;
     }
@@ -904,7 +908,7 @@ public:
     unsigned long ToULong() const
     {
         wxASSERT_MSG( m_hi == 0ul,
-                      _T("wxULongLong to long conversion loss of precision") );
+                      wxT("wxULongLong to long conversion loss of precision") );
 
         return (unsigned long)m_lo;
     }