X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/fe2e43661ec454a020e57deda94db36ca26f8a1e..6a44bffd1ac68163e4c1cfe8aa8fe4f7f98a02e7:/src/motif/dcclient.cpp?ds=sidebyside diff --git a/src/motif/dcclient.cpp b/src/motif/dcclient.cpp index 2af3787acc..f442f9ebca 100644 --- a/src/motif/dcclient.cpp +++ b/src/motif/dcclient.cpp @@ -871,7 +871,8 @@ void wxWindowDC::DoDrawIcon( const wxIcon &icon, wxCoord x, wxCoord y) // TODO: use scaled Blit e.g. as per John Price's implementation in Contrib/Utilities bool wxWindowDC::DoBlit( wxCoord xdest, wxCoord ydest, wxCoord width, wxCoord height, - wxDC *source, wxCoord xsrc, wxCoord ysrc, int rop, bool useMask ) + wxDC *source, wxCoord xsrc, wxCoord ysrc, int rop, bool useMask, + wxCoord xsrcMask, wxCoord ysrcMask ) { wxCHECK_MSG( Ok(), FALSE, "invalid dc" ); @@ -894,6 +895,12 @@ bool wxWindowDC::DoBlit( wxCoord xdest, wxCoord ydest, wxCoord width, wxCoord he double scaleX, scaleY; GetUserScale(& scaleX, & scaleY); + /* TODO: use the mask origin when drawing transparently */ + if (xsrcMask == -1 && ysrcMask == -1) + { + xsrcMask = xsrc; ysrcMask = ysrc; + } + // Sorry, can't scale masks just yet if (!useMask && (scaleX != 1.0 || scaleY != 1.0) && sourceDC->IsKindOf(CLASSINFO(wxMemoryDC))) {