Пример #1
0
        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);
        }
Пример #2
0
        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);
        }
Пример #3
0
        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);
        }