return Arrow_Down;
default:
- wxFAIL_MSG(_T("unknown arrow direction"));
+ wxFAIL_MSG(wxT("unknown arrow direction"));
}
return Arrow_Max;
// ----------------------------------------------------------------------------
void
-wxStdRenderer::DrawFocusRect(wxDC& dc, const wxRect& rect, int WXUNUSED(flags))
+wxStdRenderer::DrawFocusRect(wxWindow* WXUNUSED(win), wxDC& dc, const wxRect& rect, int WXUNUSED(flags))
{
// draw the pixels manually because the "dots" in wxPen with wxDOT style
// may be short traits and not really dots
int indexAccel,
wxRect *rectBounds)
{
+ wxDCTextColourChanger clrChanger(dc);
+
wxRect rectLabel = rect;
if ( !label.empty() && (flags & wxCONTROL_DISABLED) )
{
}
// draw shadow of the text
- dc.SetTextForeground(m_penHighlight.GetColour());
+ clrChanger.Set(m_penHighlight.GetColour());
wxRect rectShadow = rect;
rectShadow.Offset(1, 1);
dc.DrawLabel(label, rectShadow, alignment, indexAccel);
// make the main label text grey
- dc.SetTextForeground(m_penDarkGrey.GetColour());
+ clrChanger.Set(m_penDarkGrey.GetColour());
if ( flags & wxCONTROL_FOCUSED )
{
{
rectLabel.Inflate(-1);
- DrawFocusRect(dc, rectLabel);
+ DrawFocusRect(NULL, dc, rectLabel);
}
}
switch ( border )
{
case wxBORDER_SUNKEN:
+ case wxBORDER_THEME:
DrawSunkenBorder(dc, &rect);
break;
+ // wxBORDER_DOUBLE and wxBORDER_THEME are currently the same value.
+#if 0
case wxBORDER_DOUBLE:
DrawAntiSunkenBorder(dc, &rect);
DrawExtraBorder(dc, &rect);
break;
+#endif
case wxBORDER_STATIC:
DrawStaticBorder(dc, &rect);
break;
default:
- wxFAIL_MSG(_T("unknown border type"));
+ wxFAIL_MSG(wxT("unknown border type"));
// fall through
case wxBORDER_DEFAULT:
case wxBORDER_RAISED:
case wxBORDER_SUNKEN:
+ case wxBORDER_THEME:
width = 2;
break;
-
+#if 0
case wxBORDER_DOUBLE:
width = 3;
break;
-
+#endif
default:
- wxFAIL_MSG(_T("unknown border type"));
+ wxFAIL_MSG(wxT("unknown border type"));
// fall through
case wxBORDER_DEFAULT:
if ( flags & wxCONTROL_FOCUSED )
{
- DrawFocusRect(dc, rect, flags);
+ DrawFocusRect(NULL, dc, rect, flags);
}
}
wxAlignment align,
int indexAccel)
{
- wxBitmap bmp(bitmap.Ok() ? bitmap : GetCheckBitmap(flags));
-
- DrawCheckOrRadioButton(dc, label, bmp, rect, flags, align, indexAccel);
+ if (bitmap.Ok())
+ DrawCheckOrRadioButton(dc, label, bitmap, rect, flags, align, indexAccel);
+ else
+ DrawCheckOrRadioButton(dc, label, GetCheckBitmap(flags), rect, flags, align, indexAccel);
}
void wxStdRenderer::DrawRadioButton(wxDC& dc,
wxAlignment align,
int indexAccel)
{
- wxBitmap bmp(bitmap.Ok() ? bitmap : GetRadioBitmap(flags));
+ if (bitmap.Ok())
+ DrawCheckOrRadioButton(dc, label, bitmap, rect, flags, align, indexAccel);
+ else
+ DrawCheckOrRadioButton(dc, label, GetRadioBitmap(flags), rect, flags, align, indexAccel);
- DrawCheckOrRadioButton(dc, label, bmp, rect, flags, align, indexAccel);
}
void wxStdRenderer::DrawCheckOrRadioButton(wxDC& dc,
wxRect flat = GetBorderDimensions(wxBORDER_STATIC);
wxASSERT_MSG( raised.x == raised.width && raised.y == raised.height &&
flat.x == flat.width && flat.y == flat.height,
- _T("this code expects uniform borders, you must override GetStatusBarBorders") );
+ wxT("this code expects uniform borders, you must override GetStatusBarBorders") );
// take the larger of flat/raised values:
wxSize border(wxMax(raised.x, flat.x), wxMax(raised.y, flat.y));
DrawBorder(dc, wxBORDER_RAISED, rect, flags, &rectIn);
else if ( style != wxSB_FLAT )
DrawBorder(dc, wxBORDER_STATIC, rect, flags, &rectIn);
+ else
+ rectIn = rect;
rectIn.Deflate(GetStatusBarFieldMargins());