1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768 |
- //
- // YYTextRunDelegate.h
- // YYText <https://github.com/ibireme/YYText>
- //
- // 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
|