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)
wxDCImpl( owner )
{
Init();
- SetGraphicsContext( wxGraphicsContext::Create(dc) );
+ wxGraphicsContext* context;
+#if wxUSE_CAIRO
+ wxGraphicsRenderer* renderer = wxGraphicsRenderer::GetCairoRenderer();
+ context = renderer->CreateContext(dc);
+#else
+ context = wxGraphicsContext::Create(dc);
+#endif
+
+ SetGraphicsContext( context );
}
#if wxUSE_PRINTING_ARCHITECTURE
void wxGCDCImpl::Flush()
{
-#ifdef __WXOSX_OR_COCOA__
- CGContextFlush( (CGContextRef) m_graphicContext->GetNativeContext() );
-#endif
+ m_graphicContext->Flush();
}
void wxGCDCImpl::DoSetClippingRegion( wxCoord x, wxCoord y, wxCoord w, wxCoord h )
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
}
bool wxGCDCImpl::DoFloodFill(wxCoord WXUNUSED(x), wxCoord WXUNUSED(y),
- const wxColour& WXUNUSED(col),
+ const wxColour& WXUNUSED(col),
wxFloodFillStyle WXUNUSED(style))
{
return false;
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 )
{
if ( logical_func == wxNO_OP )
return true;
-
+
wxCompositionMode mode;
if ( !TranslateRasterOp(logical_func, &mode) )
{
}
bool retval = true;
-
+
wxCompositionMode formerMode = m_graphicContext->GetCompositionMode();
if (m_graphicContext->SetCompositionMode(mode))
{
{
m_graphicContext->SetAntialiasMode(wxANTIALIAS_NONE);
}
-
+
if (xsrcMask == -1 && ysrcMask == -1)
{
xsrcMask = xsrc;
wxFAIL_MSG( wxT("Cannot Blit. Unable to get contents of DC as bitmap.") );
retval = false;
}
-
+
if (mode == wxCOMPOSITION_XOR)
{
m_graphicContext->SetAntialiasMode(formerAa);