30 lines
867 B
C#
30 lines
867 B
C#
namespace NexusReader.UI.Shared.Services;
|
|
|
|
public sealed class ReaderInteractionService : IReaderInteractionService
|
|
{
|
|
public event Action<string>? OnNodeSelected;
|
|
public event Action<string>? OnScrollToBlockRequested;
|
|
public event Action<string>? OnHighlightBlockRequested;
|
|
public event Action<string, string, SelectionCoordinates>? OnTextSelected;
|
|
|
|
public void NotifyNodeSelected(string nodeId)
|
|
{
|
|
OnNodeSelected?.Invoke(nodeId);
|
|
}
|
|
|
|
public void RequestScrollToBlock(string blockId)
|
|
{
|
|
OnScrollToBlockRequested?.Invoke(blockId);
|
|
}
|
|
|
|
public void RequestHighlightBlock(string blockId)
|
|
{
|
|
OnHighlightBlockRequested?.Invoke(blockId);
|
|
}
|
|
|
|
public void NotifyTextSelected(string text, string blockId, SelectionCoordinates coords)
|
|
{
|
|
OnTextSelected?.Invoke(text, blockId, coords);
|
|
}
|
|
}
|