private void PaintErrorInvalidLayerType(Graphics g, object obj) { string errorMsg = "FloatingScale:Error: Invalid layer type"; var font = GdiFontManager.ToGdi(GdiFontManager.GetFontXGenericSansSerif(10, FontXStyle.Regular)); var size = g.MeasureString(errorMsg, font); if (obj is HostLayer) { var destSizeX = 0.2 * ((HostLayer)obj).Size.X; var factor = destSizeX / size.Width; font = GdiFontManager.ToGdi(GdiFontManager.GetFontXGenericSansSerif(font.Size * factor, FontXStyle.Regular)); } g.DrawString(errorMsg, font, Brushes.Red, (PointF)Position); size = g.MeasureString(errorMsg, font); _cachedPath = new GraphicsPath(); _cachedPath.AddRectangle(new RectangleF((PointF)Position, size)); ((ItemLocationDirectAutoSize)_location).SetSizeInAutoSizeMode(size); }