private void RenderCollapsedBefore(RenderContext context)
{
Rectangle drawRect = ClientRectangle;
IPaletteRibbonBack paletteBack;
IPaletteRibbonBack paletteBorder;
if (_collapsedController.HasFocus)
ElementState = PaletteState.Tracking;
else
{
// Are we a group inside a context tab?
if ((_ribbon.SelectedTab != null) && !string.IsNullOrEmpty(_ribbon.SelectedTab.ContextName))
ElementState = Tracking ? PaletteState.ContextTracking : PaletteState.ContextNormal;
else
ElementState = Tracking ? PaletteState.Tracking : PaletteState.Normal;
}
// Decide on the palette to use
switch (State)
{
case PaletteState.ContextNormal:
paletteBack = _ribbon.StateContextNormal.RibbonGroupCollapsedBack;
paletteBorder = _ribbon.StateContextNormal.RibbonGroupCollapsedBorder;
break;
case PaletteState.ContextTracking:
paletteBack = _ribbon.StateContextTracking.RibbonGroupCollapsedBack;
paletteBorder = _ribbon.StateContextTracking.RibbonGroupCollapsedBorder;
break;
case PaletteState.Tracking:
paletteBack = _ribbon.StateTracking.RibbonGroupCollapsedBack;
paletteBorder = _ribbon.StateTracking.RibbonGroupCollapsedBorder;
break;
case PaletteState.Normal:
default:
paletteBack = _ribbon.StateNormal.RibbonGroupCollapsedBack;
paletteBorder = _ribbon.StateNormal.RibbonGroupCollapsedBorder;
break;
}
// Draw the group border
_paletteContextBack.SetInherit(paletteBorder);
_mementoRibbonBack1 = context.Renderer.RenderRibbon.DrawRibbonBack(_ribbon.RibbonShape, context, drawRect, State, _paletteContextBack, VisualOrientation.Top, false, _mementoRibbonBack1);
Rectangle backRect = drawRect;
backRect.Inflate(-2, -2);
// Draw the inside background
_mementoRibbonBack2 = context.Renderer.RenderRibbon.DrawRibbonBack(_ribbon.RibbonShape, context, backRect, State, paletteBack, VisualOrientation.Top, false, _mementoRibbonBack2);
}