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