public void Render(Cairo.Context c,Control control)
        {
            TextBlock textBlock = control as TextBlock;
            Rectangle borderRect;
            c.Save();
            borderRect = new Rectangle (textBlock.Location.X * unitMulitipier , textBlock.Location.Y  * unitMulitipier, textBlock.Width  * unitMulitipier, textBlock.Height  * unitMulitipier);
            if(!textBlock.CanGrow || DesignMode)
                c.ClipRectangle(borderRect);

            var rect = c.DrawTextBlock (textBlock,false);
            if(!DesignMode && (textBlock.CanGrow && rect.Height > textBlock.Height  || textBlock.CanShrink && rect.Height < textBlock.Height )){
                borderRect = new Rectangle (textBlock.Location.X, textBlock.Location.Y, textBlock.Width, rect.Height);
            } else {
                borderRect = new Rectangle (textBlock.Location.X, textBlock.Location.Y, textBlock.Width, textBlock.Height);

            }

            c.FillRectangleInUnit(borderRect,textBlock.BackgroundColor.ToCairoColor());
            if(DesignMode){
                c.DrawInsideSelectorInUnits  (borderRect, new Border(1),4);
            }
            c.DrawTextBlock (textBlock,true);
            c.DrawInsideBorderInUnit  (borderRect, textBlock.Border,true);
            c.Restore();
            if(MonoreportsSettings.debugMode)
                c.DrawDebug( string.Format(Catalog.GetString("bottom: {0}"),textBlock.Bottom.ToUnitString()),borderRect.X,textBlock.Bottom);
        }