示例#1
0
        /// <summary>
        /// Constructing a textrun info
        /// </summary>
        /// <param name="charBufferRange">characte buffer range for the run</param>
        /// <param name="textRunLength">textrun length</param>
        /// <param name="offsetToFirstCp">character offset to run first cp</param>
        /// <param name="textRun">text run</param>
        /// <param name="lsRunType">the internal LS run type </param>
        /// <param name="charFlags">character attribute flags</param>
        /// <param name="digitCulture">digit culture for the run</param>
        /// <param name="contextualSubstitution">contextual number substitution for the run</param>
        /// <param name="symbolTypeface">if true, indicates a text run in a symbol (i.e., non-Unicode) font</param>
        /// <param name="modifierScope">The current TextModifier scope for this TextRunInfo</param>
        internal TextRunInfo(
            CharacterBufferRange charBufferRange,
            int textRunLength,
            int offsetToFirstCp,
            TextRun textRun,
            Plsrun lsRunType,
            ushort charFlags,
            CultureInfo digitCulture,
            bool contextualSubstitution,
            bool symbolTypeface,
            TextModifierScope modifierScope
            )
        {
            _charBufferRange = charBufferRange;
            _textRunLength   = textRunLength;
            _offsetToFirstCp = offsetToFirstCp;
            _textRun         = textRun;
            _plsrun          = lsRunType;
            _charFlags       = charFlags;
            _digitCulture    = digitCulture;
            _runFlags        = 0;
            _modifierScope   = modifierScope;

            if (contextualSubstitution)
            {
                _runFlags |= (ushort)RunFlags.ContextualSubstitution;
            }

            if (symbolTypeface)
            {
                _runFlags |= (ushort)RunFlags.IsSymbol;
            }
        }
        public TextModifierScope(TextModifierScope <TTextModifier> parent, TTextModifier textModifier)
        {
            this.Parent       = parent;
            this.TextModifier = new TTextModifier();

            if (textModifier != null)
            {
                this.Apply(textModifier);
            }
        }
 public UnityTextModifierScope(TextModifierScope <UnityTextModifier> parent, UnityTextModifier textModifier) : base(parent, textModifier)
 {
 }
示例#4
0
 public override TextModifierScope CreateTextModifierScope(TextModifierScope parent, TextModifier textModifier)
 {
     return(new ConsoleTextModifierScope((ConsoleTextModifierScope)parent, (ConsoleTextModifier)textModifier));
 }
示例#5
0
 public override TextModifierScope CreateTextModifierScope(TextModifierScope parent, TextModifier textModifier)
 {
     return(new UnityTextModifierScope((UnityTextModifierScope)parent, (UnityTextModifier)(textModifier ?? this.CreateDefaultTextModifier())));
 }