]> git.saurik.com Git - wxWidgets.git/blobdiff - src/mac/carbon/dc.cpp
modified configure to allow configuration of wxMotif under Darwin/Mac OS X
[wxWidgets.git] / src / mac / carbon / dc.cpp
index 669a5bf5261c805ee0b1b6b9908d7c59a63e279a..f66cf2735707d1f84c08d27210acdf99f6fd80dd 100644 (file)
@@ -944,12 +944,19 @@ bool  wxDC::CanDrawBitmap(void) const
 
 
 bool  wxDC::DoBlit(wxCoord xdest, wxCoord ydest, wxCoord width, wxCoord height,
-                        wxDC *source, wxCoord xsrc, wxCoord ysrc, int logical_func , bool useMask )
+                        wxDC *source, wxCoord xsrc, wxCoord ysrc, int logical_func , bool useMask,
+                        wxCoord xsrcMask,  wxCoord ysrcMask )
 {
     wxCHECK_MSG(Ok(), false, wxT("wxDC::DoBlit Illegal dc"));
     wxCHECK_MSG(source->Ok(), false, wxT("wxDC::DoBlit  Illegal source DC"));
     wxMacPortSetter helper(this) ;
 
+    /* TODO: use the mask origin when drawing transparently */
+    if (xsrcMask == -1 && ysrcMask == -1)
+    {
+        xsrcMask = xsrc; ysrcMask = ysrc;
+    }
+
        CGrafPtr                        sourcePort = (CGrafPtr) source->m_macPort ;
        PixMapHandle    bmappixels =  GetGWorldPixMap( sourcePort ) ; 
        RGBColor        white = { 0xFFFF, 0xFFFF,0xFFFF} ;
@@ -1276,10 +1283,9 @@ wxCoord   wxDC::GetCharWidth(void) const
 
        MacInstallFont() ;
 
-       FontInfo fi ;
-       ::GetFontInfo( &fi ) ;
+    int width = ::TextWidth( "n" , 0 , 1 ) ;
 
-       return YDEV2LOGREL((fi.descent + fi.ascent) / 2) ;
+       return YDEV2LOGREL(width) ;
 }
 
 wxCoord   wxDC::GetCharHeight(void) const