private void AddControlGlyphs(Control c, GlyphSelectionType selType) { ControlDesigner designer = (ControlDesigner)this.componentToDesigner[c]; if (designer != null) { ControlBodyGlyph controlGlyphInternal = designer.GetControlGlyphInternal(selType); if (controlGlyphInternal != null) { this.bodyAdorner.Glyphs.Add(controlGlyphInternal); if ((selType == GlyphSelectionType.SelectedPrimary) || (selType == GlyphSelectionType.Selected)) { if (this.curSelectionBounds[this.curCompIndex] == Rectangle.Empty) { this.curSelectionBounds[this.curCompIndex] = controlGlyphInternal.Bounds; } else { this.curSelectionBounds[this.curCompIndex] = Rectangle.Union(this.curSelectionBounds[this.curCompIndex], controlGlyphInternal.Bounds); } } } GlyphCollection glyphs = designer.GetGlyphs(selType); if (glyphs != null) { this.selectionAdorner.Glyphs.AddRange(glyphs); if ((selType == GlyphSelectionType.SelectedPrimary) || (selType == GlyphSelectionType.Selected)) { foreach (Glyph glyph2 in glyphs) { this.curSelectionBounds[this.curCompIndex] = Rectangle.Union(this.curSelectionBounds[this.curCompIndex], glyph2.Bounds); } } } } if ((selType == GlyphSelectionType.SelectedPrimary) || (selType == GlyphSelectionType.Selected)) { this.curCompIndex++; } }