Cleanup of previous fix

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@55171 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
Julian Smart
2008-08-22 11:32:23 +00:00
parent b331ca89b2
commit 44bcee116e
2 changed files with 15 additions and 31 deletions

View File

@@ -70,7 +70,7 @@ protected:
void Refresh(); void Refresh();
// draw the caret on the given DC // draw the caret on the given DC
void DoDraw(wxDC *dc); void DoDraw(wxDC *dc, wxWindow* win);
private: private:
// GTK specific initialization // GTK specific initialization

View File

@@ -225,7 +225,7 @@ void wxCaret::Refresh()
} }
else else
{ {
DoDraw( &dcWin ); DoDraw( &dcWin, GetWindow() );
} }
#else #else
wxMemoryDC dcMem; wxMemoryDC dcMem;
@@ -261,24 +261,15 @@ void wxCaret::Refresh()
// more // more
// and draw the caret there // and draw the caret there
DoDraw(&dcWin); DoDraw(&dcWin, GetWindow());
} }
#endif #endif
} }
void wxCaret::DoDraw(wxDC *dc) void wxCaret::DoDraw(wxDC *dc, wxWindow* win)
{
#if defined(__WXGTK__) || defined(__WXMAC__)
wxClientDC* clientDC = wxDynamicCast(dc, wxClientDC);
if (clientDC)
{ {
wxPen pen(*wxBLACK_PEN); wxPen pen(*wxBLACK_PEN);
wxBrush brush(*wxBLACK_BRUSH); wxBrush brush(*wxBLACK_BRUSH);
#ifdef __WXGTK__
wxWindow* win = clientDC->m_owner;
#else
wxWindow* win = clientDC->GetWindow();
#endif
if (win) if (win)
{ {
wxColour backgroundColour(win->GetBackgroundColour()); wxColour backgroundColour(win->GetBackgroundColour());
@@ -292,13 +283,6 @@ void wxCaret::DoDraw(wxDC *dc)
} }
dc->SetPen( pen ); dc->SetPen( pen );
dc->SetBrush(m_hasFocus ? brush : *wxTRANSPARENT_BRUSH); dc->SetBrush(m_hasFocus ? brush : *wxTRANSPARENT_BRUSH);
}
else
#endif
{
dc->SetBrush(*(m_hasFocus ? wxBLACK_BRUSH : wxTRANSPARENT_BRUSH));
dc->SetPen(*wxBLACK_PEN);
}
// VZ: unfortunately, the rectangle comes out a pixel smaller when this is // VZ: unfortunately, the rectangle comes out a pixel smaller when this is
// done under wxGTK - no idea why // done under wxGTK - no idea why