private void DrawHeaderText(Graphics g) { if (!(Entity is TypeBase)) { return; } TypeBase type = (TypeBase)Entity; ContentAlignment alignment = Style.CurrentStyle.HeaderAlignment; RectangleF textArea; string name = type.Name; textArea = new RectangleF(MarginSize, MarginSize, Width - MarginSize * 2, HeaderHeight - MarginSize * 2 + 1); if (HasIdentifier) { string identifier = (Style.CurrentStyle.ShowSignature) ? type.Signature : type.Stereotype; float nameHeight = NameFont.GetHeight(); float identifierHeight = IdentifierFont.GetHeight(); float textHeight = nameHeight + identifierHeight; textArea.Y = GetHeaderTextTop(textArea, textHeight, Style.CurrentStyle.HeaderAlignment); textArea.Height = textHeight; // Drawing signature if (Style.CurrentStyle.ShowSignature) { stringFormat.LineAlignment = StringAlignment.Near; g.DrawString(name, NameFont, nameBrush, textArea, stringFormat); stringFormat.LineAlignment = StringAlignment.Far; g.DrawString(identifier, IdentifierFont, identifierBrush, textArea, stringFormat); } // Drawing stereotype else { stringFormat.LineAlignment = StringAlignment.Near; g.DrawString(type.Stereotype, IdentifierFont, identifierBrush, textArea, stringFormat); stringFormat.LineAlignment = StringAlignment.Far; g.DrawString(name, NameFont, nameBrush, textArea, stringFormat); } } else { stringFormat.LineAlignment = GetVerticalAlignment(alignment); g.DrawString(name, NameFont, nameBrush, textArea, stringFormat); } DrawLine(g, HeaderHeight); }
public Style Clone( ) { Style newStyle = ( Style )MemberwiseClone( ); newStyle.nameFont = ( Font )NameFont.Clone( ); newStyle.abstractNameFont = ( Font )AbstractNameFont.Clone( ); newStyle.identifierFont = ( Font )IdentifierFont.Clone( ); newStyle.memberFont = ( Font )MemberFont.Clone( ); newStyle.staticMemberFont = ( Font )StaticMemberFont.Clone( ); newStyle.abstractMemberFont = ( Font )AbstractMemberFont.Clone( ); newStyle.commentFont = ( Font )CommentFont.Clone( ); newStyle.relationshipTextFont = ( Font )RelationshipTextFont.Clone( ); return(newStyle); }