// RichTextKit
// Copyright © 2019-2020 Topten Software. All Rights Reserved.
//
// Licensed under the Apache License, Version 2.0 (the "License"); you may
// not use this product except in compliance with the License. You may obtain
// a copy of the License at
//
// http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
// WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
// License for the specific language governing permissions and limitations
// under the License.
using SkiaSharp;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace Topten.RichTextKit
{
///
/// Provides styling information for a run of text.
///
public interface IStyle
{
///
/// The font family for text this text run.
///
string FontFamily { get; }
///
/// The font size for text in this run.
///
float FontSize { get; }
///
/// The font weight for text in this run.
///
int FontWeight { get; }
///
/// The font weight for text in this run.
///
SKFontStyleWidth FontWidth { get; }
///
/// True if the text in this run should be displayed in an italic
/// font; otherwise False.
///
bool FontItalic { get; }
///
/// The underline style for text in this run.
///
UnderlineStyle Underline { get; }
///
/// The strike through style for the text in this run
///
StrikeThroughStyle StrikeThrough { get; }
///
/// The line height for text in this run as a multiplier (defaults to 1)
///
float LineHeight { get; }
///
/// The text color for text in this run.
///
SKColor TextColor { get; }
///
/// The background color of this run.
///
SKColor BackgroundColor { get; }
///
/// Color of the halo
///
SKColor HaloColor { get; }
///
/// Width of halo
///
float HaloWidth { get; }
///
/// Blur of halo
///
float HaloBlur { get; }
///
/// Extra spacing between each character
///
float LetterSpacing { get; }
///
/// The font variant (ie: super/sub-script) for text in this run.
///
FontVariant FontVariant { get; }
///
/// Text direction override for this span
///
TextDirection TextDirection { get; }
///
/// Specifies a replacement character to be displayed (password mode)
///
char ReplacementCharacter { get; }
}
}