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();
// draw the caret on the given DC
void DoDraw(wxDC *dc);
void DoDraw(wxDC *dc, wxWindow* win);
private:
// GTK specific initialization

View File

@@ -225,7 +225,7 @@ void wxCaret::Refresh()
}
else
{
DoDraw( &dcWin );
DoDraw( &dcWin, GetWindow() );
}
#else
wxMemoryDC dcMem;
@@ -261,24 +261,15 @@ void wxCaret::Refresh()
// more
// and draw the caret there
DoDraw(&dcWin);
DoDraw(&dcWin, GetWindow());
}
#endif
}
void wxCaret::DoDraw(wxDC *dc)
{
#if defined(__WXGTK__) || defined(__WXMAC__)
wxClientDC* clientDC = wxDynamicCast(dc, wxClientDC);
if (clientDC)
void wxCaret::DoDraw(wxDC *dc, wxWindow* win)
{
wxPen pen(*wxBLACK_PEN);
wxBrush brush(*wxBLACK_BRUSH);
#ifdef __WXGTK__
wxWindow* win = clientDC->m_owner;
#else
wxWindow* win = clientDC->GetWindow();
#endif
if (win)
{
wxColour backgroundColour(win->GetBackgroundColour());
@@ -292,13 +283,6 @@ void wxCaret::DoDraw(wxDC *dc)
}
dc->SetPen( pen );
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
// done under wxGTK - no idea why