virtual public object Clone(CloneOptions options) { var display = options?.Display; if (display == null) { return(this.Clone()); } float fac = 1; if (options.ApplyRefScale) { fac = ReferenceScaleHelper.RefscaleFactor( (float)(display.refScale / display.mapScale), _font.Size, MinFontSize, MaxFontSize); fac = options.LabelRefScaleFactor(fac); } fac *= options.DpiFactor; SimpleTextSymbol tSym = new SimpleTextSymbol(Current.Engine.CreateFont(_font.Name, Math.Max(_font.Size * fac / display.Screen.LargeFontsFactor, 2), _font.Style), _brush.Color); tSym.HorizontalOffset = HorizontalOffset * fac; tSym.VerticalOffset = VerticalOffset * fac; tSym.Angle = Angle; tSym._align = _align; tSym.Smoothingmode = this.Smoothingmode; tSym.IncludesSuperScript = this.IncludesSuperScript; tSym.SecondaryTextSymbolAlignments = this.SecondaryTextSymbolAlignments; return(tSym); }
virtual public object Clone(IDisplay display) { if (display == null) { return(this.Clone()); } float fac = 1; if (display.refScale > 1) { fac = ReferenceScaleHelper.RefscaleFactor( (float)(display.refScale / display.mapScale), _font.Size, MinFontSize, MaxFontSize); } if (display.dpi != 96.0) { fac *= (float)(display.dpi / 96.0); } SimpleTextSymbol tSym = new SimpleTextSymbol(new Font(_font.Name, Math.Max(_font.Size * fac, 2), _font.Style), _brush.Color); tSym.HorizontalOffset = HorizontalOffset * fac; tSym.VerticalOffset = VerticalOffset * fac; tSym.Angle = Angle; tSym._align = _align; tSym.Smoothingmode = this.Smoothingmode; return(tSym); }
public override object Clone() { SimpleTextSymbol tSym = _font != null && _brush != null ? new SimpleTextSymbol(Current.Engine.CreateFont(_font.Name, _font.Size, _font.Style), _brush.Color) : new SimpleTextSymbol(); tSym.HorizontalOffset = HorizontalOffset; tSym.VerticalOffset = VerticalOffset; tSym.Angle = Angle; tSym._align = _align; tSym.Smoothingmode = this.Smoothingmode; tSym.IncludesSuperScript = this.IncludesSuperScript; tSym.SecondaryTextSymbolAlignments = this.SecondaryTextSymbolAlignments; return(tSym); }