Generic carent no longer invisible on a dark background
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@55169 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
@@ -268,10 +268,37 @@ void wxCaret::Refresh()
|
||||
|
||||
void wxCaret::DoDraw(wxDC *dc)
|
||||
{
|
||||
dc->SetPen( *wxBLACK_PEN );
|
||||
|
||||
dc->SetBrush(*(m_hasFocus ? wxBLACK_BRUSH : wxTRANSPARENT_BRUSH));
|
||||
dc->SetPen(*wxBLACK_PEN);
|
||||
#if defined(__WXGTK__) || defined(__WXMAC__)
|
||||
wxClientDC* clientDC = wxDynamicCast(dc, wxClientDC);
|
||||
if (clientDC)
|
||||
{
|
||||
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)
|
||||
{
|
||||
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);
|
||||
}
|
||||
|
||||
// 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