/* Copyright (C) 2014-2019 de4dot@gmail.com This file is part of dnSpy dnSpy is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. dnSpy is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with dnSpy. If not, see . */ using System.Windows.Media; using System.Windows.Media.TextFormatting; namespace dnSpy.Contracts.Hex.Formatting { /// /// Formatted line source /// public abstract class HexFormattedLineSource { /// /// Constructor /// protected HexFormattedLineSource() { } /// /// Gets the default text properties /// public abstract TextRunProperties DefaultTextProperties { get; } /// /// Gets the sequencer /// public abstract HexAndAdornmentSequencer HexAndAdornmentSequencer { get; } /// /// Gets the base indentation /// public abstract double BaseIndentation { get; } /// /// Gets the width of a column /// public abstract double ColumnWidth { get; } /// /// Gets the nominal line height /// public abstract double LineHeight { get; } /// /// Gets the nominal height of the text above the baseline /// public abstract double TextHeightAboveBaseline { get; } /// /// Gets the nominal height of the text below the baseline /// public abstract double TextHeightBelowBaseline { get; } /// /// true to use mode, false to use /// mode /// public abstract bool UseDisplayMode { get; } /// /// Formats a line /// /// Buffer line /// public abstract HexFormattedLine FormatLineInVisualBuffer(HexBufferLine line); } }