net9.0-macos14.2
namespace AppKit
{
    [Protocol(Name = "NSTextSelectionDataSource", WrapperType = typeof(NSTextSelectionDataSourceWrapper))]
    [ProtocolMember(IsProperty = false, IsRequired = true, IsStatic = false, Name = "EnumerateSubstrings", ParameterBlockProxy = new[] { null, null, typeof(NIDNSTextSelectionDataSourceEnumerateSubstringsDelegate) }, ParameterByRef = new[] { false, false, false }, ParameterType = new[] { typeof(INSTextLocation), typeof(NSStringEnumerationOptions), typeof(NSTextSelectionDataSourceEnumerateSubstringsDelegate) }, Selector = "enumerateSubstringsFromLocation:options:usingBlock:")]
    [ProtocolMember(IsProperty = false, IsRequired = true, IsStatic = false, Name = "GetTextRange", ParameterByRef = new[] { false, false }, ParameterType = new[] { typeof(NSTextSelectionGranularity), typeof(INSTextLocation) }, ReturnType = typeof(NSTextRange), Selector = "textRangeForSelectionGranularity:enclosingLocation:")]
    [ProtocolMember(IsProperty = false, IsRequired = true, IsStatic = false, Name = "GetLocation", ParameterByRef = new[] { false, false }, ParameterType = new[] { typeof(INSTextLocation), typeof(IntPtr) }, ReturnType = typeof(INSTextLocation), Selector = "locationFromLocation:withOffset:")]
    [ProtocolMember(IsProperty = false, IsRequired = true, IsStatic = false, Name = "GetOffsetFromLocation", ParameterByRef = new[] { false, false }, ParameterType = new[] { typeof(INSTextLocation), typeof(INSTextLocation) }, ReturnType = typeof(IntPtr), Selector = "offsetFromLocation:toLocation:")]
    [ProtocolMember(IsProperty = false, IsRequired = true, IsStatic = false, Name = "GetBaseWritingDirection", ParameterByRef = new[] { false }, ParameterType = new[] { typeof(INSTextLocation) }, ReturnType = typeof(NSTextSelectionNavigationWritingDirection), Selector = "baseWritingDirectionAtLocation:")]
    [ProtocolMember(IsProperty = false, IsRequired = true, IsStatic = false, Name = "EnumerateCaretOffsets", ParameterBlockProxy = new[] { null, typeof(NIDNSTextSelectionDataSourceEnumerateCaretOffsetsDelegate) }, ParameterByRef = new[] { false, false }, ParameterType = new[] { typeof(INSTextLocation), typeof(NSTextSelectionDataSourceEnumerateCaretOffsetsDelegate) }, Selector = "enumerateCaretOffsetsInLineFragmentAtLocation:usingBlock:")]
    [ProtocolMember(IsProperty = false, IsRequired = true, IsStatic = false, Name = "GetLineFragmentRange", ParameterByRef = new[] { false, false }, ParameterType = new[] { typeof(CGPoint), typeof(INSTextLocation) }, ReturnType = typeof(NSTextRange), Selector = "lineFragmentRangeForPoint:inContainerAtLocation:")]
    [ProtocolMember(IsProperty = false, IsRequired = false, IsStatic = false, Name = "EnumerateContainerBoundaries", ParameterBlockProxy = new[] { null, null, typeof(NIDNSTextSelectionDataSourceEnumerateContainerBoundariesDelegate) }, ParameterByRef = new[] { false, false, false }, ParameterType = new[] { typeof(INSTextLocation), typeof(bool), typeof(NSTextSelectionDataSourceEnumerateContainerBoundariesDelegate) }, Selector = "enumerateContainerBoundariesFromLocation:reverse:usingBlock:")]
    [ProtocolMember(IsProperty = false, IsRequired = false, IsStatic = false, Name = "GetTextLayoutOrientation", ParameterByRef = new[] { false }, ParameterType = new[] { typeof(INSTextLocation) }, ReturnType = typeof(NSTextSelectionNavigationLayoutOrientation), Selector = "textLayoutOrientationAtLocation:")]
    [ProtocolMember(ArgumentSemantic = ArgumentSemantic.Retain, GetterSelector = "documentRange", IsProperty = true, IsRequired = true, IsStatic = false, Name = "DocumentRange", PropertyType = typeof(NSTextRange), Selector = "documentRange")]
    [SupportedOSPlatform("macos12.0")]
    [SupportedOSPlatform("maccatalyst15.0")]
    [UnsupportedOSPlatform("tvos")]
    [UnsupportedOSPlatform("ios")]
    public interface INSTextSelectionDataSource : INativeObject, IDisposable
    {
        [BindingImpl(BindingImplOptions.GeneratedCode | BindingImplOptions.Optimizable)]
        [Export("offsetFromLocation:toLocation:")]
        [Preserve(Conditional = true)]
        IntPtr GetOffsetFromLocation(INSTextLocation! from, INSTextLocation! to);
    }
}
.NET 6.07.08.09.0
Information specific to net9.0
Platforms This API is only available when you target a specific platform:
macOS 10.1410.1510.1611.011.111.211.312.012.112.313.013.113.314.014.2
Information specific to net9.0-macos14.2
Assembly

Microsoft.macOS , Version=14.2.0.0, PublicKeyToken=84e04ff9cfb79065

Referencing

The API is automatically referenced.

Platform Restrictions

This API is only supported on the following platforms:

  • iOS
  • Mac Catalyst 0 - 15
  • macOS >= 12
  • tvOS
  • Built-in API
  • Package-provided API

11/13/2024
An error has occurred. This application may no longer respond until reloaded. Reload 🗙