internal StyleReset Apply(TextWriter output, KonsoleThemeStyle style, ref int invisibleCharacterCount, ConcurrentWriter concurrentWriter) { invisibleCharacterCount += Set(output, style, concurrentWriter); invisibleCharacterCount += ResetCharCount; return(new StyleReset(this, output, concurrentWriter)); }
/// <inheritdoc/> public override int Set(TextWriter output, KonsoleThemeStyle style, ConcurrentWriter concurrentWriter) { if (Styles.TryGetValue(style, out var wcts)) { if (wcts.Foreground.HasValue) { concurrentWriter.ForegroundColor = wcts.Foreground.Value; } if (wcts.Background.HasValue) { concurrentWriter.BackgroundColor = wcts.Background.Value; } } return(0); }
/// <summary> /// Begin a span of text in the specified <paramref name="style"/>. /// </summary> /// <param name="output">Output destination.</param> /// <param name="style">Style to apply.</param> /// <param name="concurrentWriter"></param> /// <returns> The number of characters written to <paramref name="output"/>. </returns> public abstract int Set(TextWriter output, KonsoleThemeStyle style, ConcurrentWriter concurrentWriter);
protected StyleReset ApplyStyle(TextWriter output, KonsoleThemeStyle style, ref int invisibleCharacterCount) { return(_theme.Apply(output, style, ref invisibleCharacterCount, _concurrentWriter)); }
public override int Set(TextWriter output, KonsoleThemeStyle style, ConcurrentWriter concurrentWriter) => 0;