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:
@@ -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
|
||||
|
@@ -225,7 +225,7 @@ void wxCaret::Refresh()
|
||||
}
|
||||
else
|
||||
{
|
||||
DoDraw( &dcWin );
|
||||
DoDraw( &dcWin, GetWindow() );
|
||||
}
|
||||
#else
|
||||
wxMemoryDC dcMem;
|
||||
@@ -261,44 +261,28 @@ void wxCaret::Refresh()
|
||||
// more
|
||||
|
||||
// and draw the caret there
|
||||
DoDraw(&dcWin);
|
||||
DoDraw(&dcWin, GetWindow());
|
||||
}
|
||||
#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);
|
||||
wxBrush brush(*wxBLACK_BRUSH);
|
||||
if (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());
|
||||
if (backgroundColour.Red() < 100 &&
|
||||
backgroundColour.Green() < 100 &&
|
||||
backgroundColour.Blue() < 100)
|
||||
{
|
||||
wxColour backgroundColour(win->GetBackgroundColour());
|
||||
if (backgroundColour.Red() < 100 &&
|
||||
backgroundColour.Green() < 100 &&
|
||||
backgroundColour.Blue() < 100)
|
||||
{
|
||||
pen = *wxWHITE_PEN;
|
||||
brush = *wxWHITE_BRUSH;
|
||||
}
|
||||
pen = *wxWHITE_PEN;
|
||||
brush = *wxWHITE_BRUSH;
|
||||
}
|
||||
dc->SetPen( pen );
|
||||
dc->SetBrush(m_hasFocus ? brush : *wxTRANSPARENT_BRUSH);
|
||||
}
|
||||
else
|
||||
#endif
|
||||
{
|
||||
dc->SetBrush(*(m_hasFocus ? wxBLACK_BRUSH : wxTRANSPARENT_BRUSH));
|
||||
dc->SetPen(*wxBLACK_PEN);
|
||||
}
|
||||
dc->SetPen( pen );
|
||||
dc->SetBrush(m_hasFocus ? brush : *wxTRANSPARENT_BRUSH);
|
||||
|
||||
// VZ: unfortunately, the rectangle comes out a pixel smaller when this is
|
||||
// done under wxGTK - no idea why
|
||||
|
Reference in New Issue
Block a user