/// <summary>This method draws a rectangular background around a group of elements</summary> /// <param name="dc">The drawing context.</param> /// <param name="info">Render info</param> /// <param name="scale">The scale.</param> /// <param name="offset">The offset.</param> public virtual void RenderBackground(DrawingContext dc, GroupBackgroundRenderInfo info, double scale, Point offset) { dc.PushTransform(new TranslateTransform(offset.X, offset.Y)); dc.PushTransform(new ScaleTransform(scale, scale)); dc.DrawRectangle(info.Background, null, info.RenderRect); if (info.Border != null && info.BorderWidth > 0) { var rect2 = new Rect(info.RenderRect.X + (info.BorderWidth / 2), info.RenderRect.Y + (info.BorderWidth / 2), info.RenderRect.Width + info.BorderWidth, info.RenderRect.Height + info.BorderWidth); dc.DrawRectangle(null, new Pen(info.Border, info.BorderWidth), rect2); } dc.Pop(); dc.Pop(); }
/// <summary>This method draws a rectangular background around a group of elements</summary> /// <param name="dc">The drawing context.</param> /// <param name="info">Render info</param> /// <param name="scale">The scale.</param> /// <param name="offset">The offset.</param> public virtual void RenderBackground(DrawingContext dc, GroupBackgroundRenderInfo info, double scale, Point offset) { dc.PushTransform(new TranslateTransform(offset.X, offset.Y)); dc.PushTransform(new ScaleTransform(scale, scale)); dc.DrawRectangle(info.Background, null, info.RenderRect); if (info.Border != null && info.BorderWidth > 0) { var rect2 = new Rect(info.RenderRect.X + (info.BorderWidth/2), info.RenderRect.Y + (info.BorderWidth/2), info.RenderRect.Width + info.BorderWidth, info.RenderRect.Height + info.BorderWidth); dc.DrawRectangle(null, new Pen(info.Border, info.BorderWidth), rect2); } dc.Pop(); dc.Pop(); }