Allow creating wxGraphicsContext from memory DC with Cairo renderer (wxMSW).

Not only paint DC but also memory DC can be used as a source to create wxGraphicsContext with Cairo renderer.
This commit is contained in:
Artur Wieczorek
2016-03-14 21:01:09 +01:00
parent 46df3a1794
commit 07274d7925

View File

@@ -2539,11 +2539,14 @@ wxGraphicsContext * wxCairoRenderer::CreateContextFromNativeContext(void * conte
{
ENSURE_LOADED_OR_RETURN(NULL);
#ifdef __WXMSW__
if (::GetObjectType((HGDIOBJ)context) == OBJ_DC)
{
DWORD objType = ::GetObjectType((HGDIOBJ)context);
if (objType == 0)
return new wxCairoContext(this, (cairo_t*)context);
if (objType == OBJ_DC || objType == OBJ_MEMDC)
return new wxCairoContext(this, (HDC)context);
}
return new wxCairoContext(this, (cairo_t*)context);
return NULL;
#else
return new wxCairoContext(this,(cairo_t*)context);
#endif