コード例 #1
0
        static CGRect GetCharacterBounds(NSRange characterRange, NSLayoutManager layoutManager, NSTextContainer textContainer)
        {
            var glyphRange = new NSRange();

#if __MOBILE__
            layoutManager.CharacterRangeForGlyphRange(characterRange, ref glyphRange);
#else
            layoutManager.CharacterRangeForGlyphRange(characterRange, out glyphRange);
#endif
            return(layoutManager.BoundingRectForGlyphRange(glyphRange, textContainer));
        }
コード例 #2
0
ファイル: LabelExtensions.cs プロジェクト: hevey/maui
        static CGRect GetCharacterBounds(NSRange characterRange, NSLayoutManager layoutManager, NSTextContainer textContainer)
        {
            var glyphRange = new NSRange();

#if __MOBILE__
            layoutManager.CharacterRangeForGlyphRange(characterRange, ref glyphRange);
#else
#pragma warning disable CS0618 // Type or member is obsolete
            layoutManager.CharacterRangeForGlyphRange(characterRange, out glyphRange);
#pragma warning restore CS0618 // Type or member is obsolete
#endif
            return(layoutManager.BoundingRectForGlyphRange(glyphRange, textContainer));
        }
コード例 #3
0
        public void NSLayoutManager_CharacterRangeForGlyphRange()
        {
            NSRange pnt;
            NSRange range = manager.CharacterRangeForGlyphRange(new NSRange(0, 4), out pnt);

            Assert.IsNotNull(range);
        }
コード例 #4
0
        public void NSLayoutManager_CharacterRangeForGlyphRange()
        {
            NSRange pnt;

#if NET
            NSRange range = manager.GetCharacterRange(new NSRange(0, 4), out pnt);
#else
            NSRange range = manager.CharacterRangeForGlyphRange(new NSRange(0, 4), out pnt);
#endif
            Assert.IsNotNull(range);
        }
コード例 #5
0
        public CGRect boundingRectForCharacter(NSRange range)
        {
            NSTextStorage textStorage = new NSTextStorage();

            textStorage.SetString(this.AttributedText);

            NSLayoutManager layoutManager = new NSLayoutManager();

            textStorage.AddLayoutManager(layoutManager);

            NSTextContainer textContainer = new NSTextContainer(this.Bounds.Size);

            textContainer.LineFragmentPadding = 0f;

            layoutManager.AddTextContainer(textContainer);

            NSRange glyphRange;

            glyphRange = layoutManager.CharacterRangeForGlyphRange(range);

            return(layoutManager.BoundingRectForGlyphRange(glyphRange, textContainer));
        }
コード例 #6
0
 public static NSRange CharacterRangeForGlyphRange(this NSLayoutManager layoutManager, NSRange glyphRange) => layoutManager.CharacterRangeForGlyphRange(glyphRange, out var _);