public ViewDrawRibbonCaptionArea(KryptonRibbon ribbon,
PaletteRedirect redirect,
ViewDrawRibbonComposition compositionArea,
NeedPaintHandler needPaintDelegate)
{
Debug.Assert(ribbon != null);
Debug.Assert(redirect != null);
Debug.Assert(compositionArea != null);
Debug.Assert(needPaintDelegate != null);
// Remember incoming references
_ribbon = ribbon;
_compositionArea = compositionArea;
_needPaintDelegate = needPaintDelegate;
_needIntegratedDelegate = new NeedPaintHandler(OnIntegratedNeedPaint);
// Create a special redirector for overriding the border setting
_redirect = new PaletteCaptionRedirect(redirect);
CreateViewElements();
SetupParentMonitoring();
}