X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/2bc1aa1174ee3ddd68615827c3531549cf204918..4f430439851ee7893cdf3d375106cd58390ba18a:/src/msw/dcclient.cpp diff --git a/src/msw/dcclient.cpp b/src/msw/dcclient.cpp index c675ce039f..46642e078f 100644 --- a/src/msw/dcclient.cpp +++ b/src/msw/dcclient.cpp @@ -62,11 +62,9 @@ WX_DEFINE_OBJARRAY(wxArrayDCInfo); // macros // ---------------------------------------------------------------------------- -#if !USE_SHARED_LIBRARY IMPLEMENT_DYNAMIC_CLASS(wxWindowDC, wxDC) IMPLEMENT_DYNAMIC_CLASS(wxClientDC, wxWindowDC) IMPLEMENT_DYNAMIC_CLASS(wxPaintDC, wxWindowDC) -#endif // ---------------------------------------------------------------------------- // global variables @@ -112,7 +110,7 @@ wxWindowDC::~wxWindowDC() if ( !::ReleaseDC(GetWinHwnd(m_canvas), GetHdc()) ) { - wxLogLastError("ReleaseDC"); + wxLogLastError(wxT("ReleaseDC")); } m_hDC = 0; @@ -264,3 +262,20 @@ wxPaintDCInfo *wxPaintDC::FindInCache(size_t *index) const return info; } + +// find the entry for this DC in the cache (keyed by the window) +WXHDC wxPaintDC::FindDCInCache(wxWindow* win) +{ + wxPaintDCInfo *info = NULL; + size_t nCache = ms_cache.GetCount(); + for ( size_t n = 0; n < nCache; n++ ) + { + info = &ms_cache[n]; + if ( info->hwnd == win->GetHWND() ) + { + return info->hdc; + } + } + return 0; +} +