X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/5adad46628e545a6d4172ecf3a0cb848934f5cd0..b5435dccd098ae153c3b7b3b8fca8dd0d763986c:/src/msw/dcclient.cpp diff --git a/src/msw/dcclient.cpp b/src/msw/dcclient.cpp index 8cef83d45b..c03897cf2a 100644 --- a/src/msw/dcclient.cpp +++ b/src/msw/dcclient.cpp @@ -5,7 +5,7 @@ // Modified by: // Created: 01/02/97 // RCS-ID: $Id$ -// Copyright: (c) Julian Smart and Markus Holzem +// Copyright: (c) Julian Smart // Licence: wxWindows licence ///////////////////////////////////////////////////////////////////////////// @@ -113,6 +113,18 @@ void wxWindowDC::InitDC() // default bg colour is pne of the window SetBackground(wxBrush(m_canvas->GetBackgroundColour(), wxSOLID)); + + // since we are a window dc we need to grab the palette from the window +#if wxUSE_PALETTE + InitializePalette(); +#endif +} + +void wxWindowDC::DoGetSize(int *width, int *height) const +{ + wxCHECK_RET( m_canvas, _T("wxWindowDC without a window?") ); + + m_canvas->GetSize(width, height); } // ---------------------------------------------------------------------------- @@ -160,6 +172,13 @@ wxClientDC::~wxClientDC() { } +void wxClientDC::DoGetSize(int *width, int *height) const +{ + wxCHECK_RET( m_canvas, _T("wxClientDC without a window?") ); + + m_canvas->GetClientSize(width, height); +} + // ---------------------------------------------------------------------------- // wxPaintDC // ---------------------------------------------------------------------------- @@ -237,7 +256,7 @@ wxPaintDC::~wxPaintDC() { ::EndPaint(GetHwndOf(m_canvas), &g_paintStruct); - ms_cache.Remove(index); + ms_cache.RemoveAt(index); // Reduce the number of bogus reports of non-freed memory // at app exit @@ -257,9 +276,10 @@ wxPaintDCInfo *wxPaintDC::FindInCache(size_t *index) const size_t nCache = ms_cache.GetCount(); for ( size_t n = 0; n < nCache; n++ ) { - info = &ms_cache[n]; - if ( info->hwnd == m_canvas->GetHWND() ) + wxPaintDCInfo *info1 = &ms_cache[n]; + if ( info1->hwnd == m_canvas->GetHWND() ) { + info = info1; if ( index ) *index = n; break;