m_indent = 15;
m_spacing = 18;
-#ifdef __WXMAC__
- // OS X sel item highlight color differs from text highlight color, which is
- // what wxSYS_COLOUR_HIGHLIGHT returns.
- RGBColor hilight;
- GetThemeBrushAsColor(kThemeBrushAlternatePrimaryHighlightColor, 32, true, &hilight);
- m_hilightBrush = new wxBrush( wxColour(hilight.red, hilight.green, hilight.blue ), wxSOLID );
-#else
m_hilightBrush = new wxBrush
(
wxSystemSettings::GetColour
),
wxSOLID
);
-#endif
-#ifdef __WXMAC__
- // on Mac, this color also differs from the wxSYS_COLOUR_BTNSHADOW, enough to be noticable.
- // I don't know if BTNSHADOW is appropriate in other contexts, so I'm just changing it here.
- GetThemeBrushAsColor(kThemeBrushSecondaryHighlightColor, 32, true, &hilight);
- m_hilightUnfocusedBrush = new wxBrush( wxColour(hilight.red, hilight.green, hilight.blue ), wxSOLID );
-#else
m_hilightUnfocusedBrush = new wxBrush
(
wxSystemSettings::GetColour
),
wxSOLID
);
-#endif
+
m_imageListButtons = NULL;
m_ownsImageListButtons = false;
x=0;
GetVirtualSize(&w, &h);
wxRect rect( x, item->GetY()+offset, w, total_h-offset);
-#ifndef __WXGTK20__
+#if !defined(__WXGTK20__) && !defined(__WXMAC__)
dc.DrawRectangle(rect);
#else
if (!item->IsSelected())
// background colour.
wxRect rect( item->GetX() + image_w - 2, item->GetY()+offset,
item->GetWidth() - image_w + 2, total_h-offset );
-#ifndef __WXGTK20__
+#if !defined(__WXGTK20__) && !defined(__WXMAC__)
dc.DrawRectangle( rect );
#else
rect.x -= 1;
{
wxRect rect( item->GetX()-2, item->GetY()+offset,
item->GetWidth()+2, total_h-offset );
-#ifndef __WXGTK20__
+#if !defined(__WXGTK20__) && !defined(__WXMAC__)
dc.DrawRectangle( rect );
#else
if ( attr && attr->HasBackgroundColour() )
wxCoord position,
wxOrientation orient,
int flags = 0 );
+
+ virtual void DrawItemSelectionRect(wxWindow *win,
+ wxDC& dc,
+ const wxRect& rect,
+ int flags = 0);
private:
// the tree buttons
#endif
}
}
+
+void
+wxRendererMac::DrawItemSelectionRect(wxWindow *win,
+ wxDC& dc,
+ const wxRect& rect,
+ int flags )
+{
+ RGBColor selColor;
+ if (flags & wxCONTROL_SELECTED)
+ {
+ if (flags & wxCONTROL_FOCUSED)
+ GetThemeBrushAsColor(kThemeBrushAlternatePrimaryHighlightColor, 32, true, &selColor);
+ else
+ GetThemeBrushAsColor(kThemeBrushSecondaryHighlightColor, 32, true, &selColor);
+ }
+
+ wxBrush selBrush = wxBrush( wxColour( selColor.red, selColor.green, selColor.blue ), wxSOLID );
+
+ dc.SetPen( *wxTRANSPARENT_PEN );
+ dc.SetBrush( selBrush );
+ dc.DrawRectangle( rect );
+}