ComponentFactory.Krypton.Toolkit.ViewDrawSplitCanvas.RenderBackground C# (CSharp) Method

RenderBackground() private method

private RenderBackground ( RenderContext context, Rectangle rect ) : void
context RenderContext
rect System.Drawing.Rectangle
return void
        private void RenderBackground(RenderContext context, Rectangle rect)
        {
            // Do we need to draw the background?
            if (_drawCanvas && (_paletteBack.GetBackDraw(State) == InheritBool.True))
            {
                if (Splitter)
                {
                    bool mouseInSplit = MouseInSplit;
                    switch (State)
                    {
                        case PaletteState.Tracking:
                            using (Clipping clipToSplitter = new Clipping(context.Graphics, _nonSplitRectangle))
                            {
                                if (SplitWithFading)
                                    DrawBackground(context, rect, (mouseInSplit ? _paletteBackLight : _paletteBack), _paletteBorder, PaletteState.Tracking);
                                else
                                    DrawBackground(context, rect, (mouseInSplit ? _paletteBackDraw : _paletteBack), _paletteBorder, (mouseInSplit ? PaletteState.Normal : PaletteState.Tracking));
                            }

                            using (Clipping clipToSplitter = new Clipping(context.Graphics, _splitRectangle))
                            {
                                if (SplitWithFading)
                                    DrawBackground(context, rect, (mouseInSplit ? _paletteBack : _paletteBackLight), _paletteBorder, PaletteState.Tracking);
                                else
                                    DrawBackground(context, rect, (mouseInSplit ? _paletteBack : _paletteBackDraw), _paletteBorder, (mouseInSplit ? PaletteState.Tracking : PaletteState.Normal));
                            }
                            break;
                        case PaletteState.Pressed:
                            using (Clipping clipToSplitter = new Clipping(context.Graphics, _splitRectangle))
                            {
                                if (SplitWithFading)
                                    DrawBackground(context, rect, (mouseInSplit ? _paletteBack : _paletteBackLight),
                                                   _paletteBorder, (mouseInSplit ? PaletteState.Pressed : PaletteState.Tracking));
                                else
                                    DrawBackground(context, rect, (mouseInSplit ? _paletteBack : _paletteBackDraw),
                                                   _paletteBorder, (mouseInSplit ? PaletteState.Pressed : PaletteState.Normal));
                            }

                            using (Clipping clipToSplitter = new Clipping(context.Graphics, _nonSplitRectangle))
                            {
                                if (SplitWithFading)
                                    DrawBackground(context, rect, (mouseInSplit ? _paletteBackLight : _paletteBack),
                                                  _paletteBorder, (mouseInSplit ? PaletteState.Tracking : PaletteState.Pressed));
                                else
                                    DrawBackground(context, rect, (mouseInSplit ? _paletteBackDraw : _paletteBack),
                                                   _paletteBorder, (mouseInSplit ? PaletteState.Normal : PaletteState.Pressed));
                            }
                            break;
                        default:
                            DrawBackground(context, rect, _paletteBack, _paletteBorder, State);
                            break;
                    }
                }
                else
                    DrawBackground(context, rect, _paletteBack, _paletteBorder, State);
            }
        }