123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869 |
- //
- // YYTextRunDelegate.h
- // YYKit <https://github.com/ibireme/YYKit>
- //
- // Created by ibireme on 14/10/14.
- // Copyright (c) 2015 ibireme.
- //
- // This source code is licensed under the MIT-style license found in the
- // LICENSE file in the root directory of this source tree.
- //
- #import <UIKit/UIKit.h>
- #import <CoreText/CoreText.h>
- NS_ASSUME_NONNULL_BEGIN
- /**
- Wrapper for CTRunDelegateRef.
-
- Example:
-
- YYTextRunDelegate *delegate = [YYTextRunDelegate new];
- delegate.ascent = 20;
- delegate.descent = 4;
- delegate.width = 20;
- CTRunDelegateRef ctRunDelegate = delegate.CTRunDelegate;
- if (ctRunDelegate) {
- /// add to attributed string
- CFRelease(ctRunDelegate);
- }
-
- */
- @interface YYTextRunDelegate : NSObject <NSCopying, NSCoding>
- /**
- Creates and returns the CTRunDelegate.
-
- @discussion You need call CFRelease() after used.
- The CTRunDelegateRef has a strong reference to this YYTextRunDelegate object.
- In CoreText, use CTRunDelegateGetRefCon() to get this YYTextRunDelegate object.
-
- @return The CTRunDelegate object.
- */
- - (nullable CTRunDelegateRef)CTRunDelegate CF_RETURNS_RETAINED;
- /**
- Additional information about the the run delegate.
- */
- @property (nullable, nonatomic, strong) NSDictionary *userInfo;
- /**
- The typographic ascent of glyphs in the run.
- */
- @property (nonatomic) CGFloat ascent;
- /**
- The typographic descent of glyphs in the run.
- */
- @property (nonatomic) CGFloat descent;
- /**
- The typographic width of glyphs in the run.
- */
- @property (nonatomic) CGFloat width;
- @end
- NS_ASSUME_NONNULL_END
|