]> git.saurik.com Git - wxWidgets.git/blobdiff - include/wx/mac/classic/dc.h
use AllocExclusive
[wxWidgets.git] / include / wx / mac / classic / dc.h
index 57ade632db448a17fcadcdbf336e81b37112c866..5faf2add09fa098645074e79e37e560342f4cba0 100644 (file)
 #ifndef _WX_DC_H_
 #define _WX_DC_H_
 
-#if defined(__GNUG__) && !defined(NO_GCC_PRAGMA)
-#pragma interface "dc.h"
-#endif
-
 #include "wx/pen.h"
 #include "wx/brush.h"
 #include "wx/icon.h"
@@ -41,8 +37,6 @@
 // global variables
 //-----------------------------------------------------------------------------
 
-extern int wxPageNumber;
-
 class wxMacPortStateHelper ;
 //-----------------------------------------------------------------------------
 // wxDC
@@ -56,7 +50,7 @@ class WXDLLEXPORT wxDC: public wxDCBase
   public:
 
     wxDC();
-    ~wxDC();
+    virtual ~wxDC();
 
 
     // implement base class pure virtuals
@@ -111,79 +105,45 @@ class WXDLLEXPORT wxDC: public wxDCBase
 
     wxCoord XDEV2LOG(wxCoord x) const
     {
-      long new_x = x - m_deviceOriginX ;
-      if (new_x > 0)
-        return (wxCoord)((double)(new_x) / m_scaleX + 0.5) * m_signX + m_logicalOriginX;
-      else
-        return (wxCoord)((double)(new_x) / m_scaleX - 0.5) * m_signX + m_logicalOriginX;
+        return wxRound((double)(x - m_deviceOriginX) / m_scaleX) * m_signX + m_logicalOriginX;
     }
     wxCoord XDEV2LOGREL(wxCoord x) const
     {
-      if (x > 0)
-        return (wxCoord)((double)(x) / m_scaleX + 0.5);
-      else
-        return (wxCoord)((double)(x) / m_scaleX - 0.5);
+        return wxRound((double)(x) / m_scaleX);
     }
     wxCoord YDEV2LOG(wxCoord y) const
     {
-      long new_y = y - m_deviceOriginY ;
-      if (new_y > 0)
-        return (wxCoord)((double)(new_y) / m_scaleY + 0.5) * m_signY + m_logicalOriginY;
-      else
-        return (wxCoord)((double)(new_y) / m_scaleY - 0.5) * m_signY + m_logicalOriginY;
+        return wxRound((double)(y - m_deviceOriginY) / m_scaleY) * m_signY + m_logicalOriginY;
     }
     wxCoord YDEV2LOGREL(wxCoord y) const
     {
-      if (y > 0)
-        return (wxCoord)((double)(y) / m_scaleY + 0.5);
-      else
-        return (wxCoord)((double)(y) / m_scaleY - 0.5);
+        return wxRound((double)(y) / m_scaleY);
     }
     wxCoord XLOG2DEV(wxCoord x) const
     {
-      long new_x = x - m_logicalOriginX;
-      if (new_x > 0)
-        return (wxCoord)((double)(new_x) * m_scaleX + 0.5) * m_signX + m_deviceOriginX  ;
-      else
-        return (wxCoord)((double)(new_x) * m_scaleX - 0.5) * m_signX + m_deviceOriginX ;
+        return wxRound((double)(x - m_logicalOriginX) * m_scaleX) * m_signX + m_deviceOriginX;
     }
     wxCoord XLOG2DEVREL(wxCoord x) const
     {
-      if (x > 0)
-        return (wxCoord)((double)(x) * m_scaleX + 0.5);
-      else
-        return (wxCoord)((double)(x) * m_scaleX - 0.5);
+        return wxRound((double)(x) * m_scaleX);
     }
     wxCoord YLOG2DEV(wxCoord y) const
     {
-      long new_y = y - m_logicalOriginY ;
-      if (new_y > 0)
-        return (wxCoord)((double)(new_y) * m_scaleY + 0.5) * m_signY + m_deviceOriginY ;
-      else
-        return (wxCoord)((double)(new_y) * m_scaleY - 0.5) * m_signY + m_deviceOriginY ;
+        return wxRound((double)(y - m_logicalOriginY) * m_scaleY) * m_signY + m_deviceOriginY;
     }
     wxCoord YLOG2DEVREL(wxCoord y) const
     {
-      if (y > 0)
-        return (wxCoord)((double)(y) * m_scaleY + 0.5);
-      else
-        return (wxCoord)((double)(y) * m_scaleY - 0.5);
+        return wxRound((double)(y) * m_scaleY);
     }
+
     wxCoord XLOG2DEVMAC(wxCoord x) const
     {
-      long new_x = x - m_logicalOriginX;
-      if (new_x > 0)
-        return (wxCoord)((double)(new_x) * m_scaleX + 0.5) * m_signX + m_deviceOriginX + m_macLocalOrigin.x ;
-      else
-        return (wxCoord)((double)(new_x) * m_scaleX - 0.5) * m_signX + m_deviceOriginX + m_macLocalOrigin.x ;
+        return wxRound((double)(x - m_logicalOriginX) * m_scaleX) * m_signX + m_deviceOriginX + m_macLocalOrigin.x;
     }
+
     wxCoord YLOG2DEVMAC(wxCoord y) const
     {
-      long new_y = y - m_logicalOriginY ;
-      if (new_y > 0)
-        return (wxCoord)((double)(new_y) * m_scaleY + 0.5) * m_signY + m_deviceOriginY + m_macLocalOrigin.y ;
-      else
-        return (wxCoord)((double)(new_y) * m_scaleY - 0.5) * m_signY + m_deviceOriginY + m_macLocalOrigin.y ;
+        return wxRound((double)(y - m_logicalOriginY) * m_scaleY) * m_signY + m_deviceOriginY + m_macLocalOrigin.y;
     }
 
     WXHRGN MacGetCurrentClipRgn() { return m_macCurrentClipRgn ; }