X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/bf02a7f9761ce9c0a1279ae958a0e5d53f603e15..890defb4f3a0012a296c69949bf5f93075743e8f:/src/common/dcgraph.cpp diff --git a/src/common/dcgraph.cpp b/src/common/dcgraph.cpp index 9e5e2b81fd..8de2da6817 100644 --- a/src/common/dcgraph.cpp +++ b/src/common/dcgraph.cpp @@ -72,7 +72,7 @@ static bool TranslateRasterOp(wxRasterOperationMode function, wxCompositionMode case wxXOR: // src XOR dst *op = wxCOMPOSITION_XOR; break; - + case wxAND: // src AND dst case wxAND_INVERT: // (NOT src) AND dst case wxAND_REVERSE:// src AND (NOT dst) @@ -450,6 +450,12 @@ void wxGCDCImpl::SetFont( const wxFont &font ) if ( f.IsOk() ) f.SetPointSize( /*LogicalToDeviceYRel*/(font.GetPointSize())); m_graphicContext->SetFont( f, m_textForegroundColour ); +#if defined(__WXGTK__) || defined(__WXOSX__) + if ( m_font.IsOk() && m_font.GetNoAntiAliasing() ) + { + m_graphicContext->SetAntialiasMode(wxANTIALIAS_NONE); + } +#endif } } @@ -493,12 +499,12 @@ void wxGCDCImpl::SetLogicalFunction( wxRasterOperationMode function ) return; m_logicalFunction = function; - + wxCompositionMode mode; m_logicalFunctionSupported = TranslateRasterOp( function, &mode); if (m_logicalFunctionSupported) m_logicalFunctionSupported = m_graphicContext->SetCompositionMode(mode); - + if (mode == wxCOMPOSITION_XOR) m_graphicContext->SetAntialiasMode(wxANTIALIAS_NONE); else @@ -506,7 +512,7 @@ void wxGCDCImpl::SetLogicalFunction( wxRasterOperationMode function ) } bool wxGCDCImpl::DoFloodFill(wxCoord WXUNUSED(x), wxCoord WXUNUSED(y), - const wxColour& WXUNUSED(col), + const wxColour& WXUNUSED(col), wxFloodFillStyle WXUNUSED(style)) { return false; @@ -845,7 +851,7 @@ bool wxGCDCImpl::CanDrawBitmap() const bool wxGCDCImpl::DoBlit( wxCoord xdest, wxCoord ydest, wxCoord width, wxCoord height, - wxDC *source, wxCoord xsrc, wxCoord ysrc, + wxDC *source, wxCoord xsrc, wxCoord ysrc, wxRasterOperationMode logical_func , bool useMask, wxCoord xsrcMask, wxCoord ysrcMask ) { @@ -865,7 +871,7 @@ bool wxGCDCImpl::DoStretchBlit( if ( logical_func == wxNO_OP ) return true; - + wxCompositionMode mode; if ( !TranslateRasterOp(logical_func, &mode) ) { @@ -874,7 +880,7 @@ bool wxGCDCImpl::DoStretchBlit( } bool retval = true; - + wxCompositionMode formerMode = m_graphicContext->GetCompositionMode(); if (m_graphicContext->SetCompositionMode(mode)) { @@ -883,7 +889,7 @@ bool wxGCDCImpl::DoStretchBlit( { m_graphicContext->SetAntialiasMode(wxANTIALIAS_NONE); } - + if (xsrcMask == -1 && ysrcMask == -1) { xsrcMask = xsrc; @@ -920,7 +926,7 @@ bool wxGCDCImpl::DoStretchBlit( wxFAIL_MSG( wxT("Cannot Blit. Unable to get contents of DC as bitmap.") ); retval = false; } - + if (mode == wxCOMPOSITION_XOR) { m_graphicContext->SetAntialiasMode(formerAa);