]> git.saurik.com Git - wxWidgets.git/blobdiff - src/mac/dc.cpp
??
[wxWidgets.git] / src / mac / dc.cpp
index fe34b61a97cd4adeb0fcaf30f15616bd93f630d5..0043d823fb3b8a3669e995e309da2d8c7006225a 100644 (file)
@@ -15,9 +15,7 @@
 
 #include "wx/dc.h"
 
-#if !USE_SHARED_LIBRARY
 IMPLEMENT_ABSTRACT_CLASS(wxDC, wxObject)
-#endif
 
 //-----------------------------------------------------------------------------
 // constants
@@ -277,7 +275,7 @@ void wxDC::DrawSpline( int n, wxPoint points[] )
   DrawSpline( &list );
 };
 
-void wxDC::SetClippingRegion( long x, long y, long width, long height )
+void wxDC::SetClippingRegion( wxCoord x, wxCoord y, wxCoord width, wxCoord height )
 {
   MacVerifySetup() ;
        if( m_clipping )
@@ -308,6 +306,11 @@ void wxDC::SetClippingRegion( long x, long y, long width, long height )
 
 };
 
+void wxDC::SetClippingRegion(const wxRect& rect)
+{ 
+       SetClippingRegion(rect.x, rect.y, rect.width, rect.height); 
+}
+
 void wxDC::DestroyClippingRegion(void)
 {
   MacVerifySetup() ;
@@ -316,6 +319,19 @@ void wxDC::DestroyClippingRegion(void)
        ::ClipRect(&m_macClipRect);
 };
 
+void wxDC::GetClippingBox( wxCoord *x, wxCoord *y, wxCoord *width, wxCoord *height ) const
+{
+  if (m_clipping)
+  {
+    if (x) *x = m_clipX1;
+    if (y) *y = m_clipY1;
+    if (width) *width = (m_clipX2 - m_clipX1);
+    if (height) *height = (m_clipY2 - m_clipY1);
+  }
+  else
+   *x = *y = *width = *height = 0;
+};
+
 void wxDC::GetClippingBox( long *x, long *y, long *width, long *height ) const
 {
   if (m_clipping)
@@ -329,6 +345,14 @@ void wxDC::GetClippingBox( long *x, long *y, long *width, long *height ) const
    *x = *y = *width = *height = 0;
 };
 
+void wxDC::GetClippingBox(wxRect& rect) const
+{
+  // Necessary to use intermediate variables for 16-bit compilation
+  wxCoord x, y, w, h;
+  GetClippingBox(&x, &y, &w, &h);
+  rect.x = x; rect.y = y; rect.width = w; rect.height = h;
+}
+    
 void wxDC::GetSize( int* width, int* height ) const
 {
   *width = m_maxX-m_minX;
@@ -1245,7 +1269,7 @@ void  wxDC::GetTextExtent( const wxString &string, long *width, long *height,
        }
 }
 
-long   wxDC::GetCharWidth(void)
+wxCoord   wxDC::GetCharWidth(void) const
 {
   if (!Ok()) 
        return 1;
@@ -1260,7 +1284,7 @@ long   wxDC::GetCharWidth(void)
        return (fi.descent + fi.ascent) / 2 ;
 }
 
-long   wxDC::GetCharHeight(void)
+wxCoord   wxDC::GetCharHeight(void) const
 {
   if (!Ok()) 
        return 1;