ComponentFactory.Krypton.Ribbon.ViewDrawRibbonGroup.RenderCollapsedBefore C# (CSharp) Method

RenderCollapsedBefore() private method

private RenderCollapsedBefore ( RenderContext context ) : void
context ComponentFactory.Krypton.Toolkit.RenderContext
return void
        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);
        }