/*
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;
using System.Windows;
using System.Windows.Media;
using VSTF = Microsoft.VisualStudio.Text.Formatting;
namespace dnSpy.Contracts.Hex.Formatting {
///
/// A formatted line
///
public abstract class HexFormattedLine : WpfHexViewLine, IDisposable {
///
/// Constructor
///
protected HexFormattedLine() { }
///
/// true if there's at least one adornment
///
public abstract bool HasAdornments { get; }
///
/// Gets or creates the visual
///
///
public abstract Visual GetOrCreateVisual();
///
/// Removes the visual
///
public abstract void RemoveVisual();
///
/// Sets the change
///
/// New value
public abstract void SetChange(VSTF.TextViewLineChange change);
///
/// Sets a new delta Y
///
/// New delta Y
public abstract void SetDeltaY(double deltaY);
///
/// Sets a new line transform
///
/// New line transform
public abstract void SetLineTransform(VSTF.LineTransform transform);
///
/// Sets a new top
///
/// New value
public abstract void SetTop(double top);
///
/// Sets the visible area
///
/// Visible area
public abstract void SetVisibleArea(Rect visibleArea);
///
/// Disposes this instance
///
public void Dispose() => DisposeCore();
///
/// Disposes this instance
///
protected virtual void DisposeCore() { }
}
}